Commit Graph

51 Commits

Author SHA1 Message Date
Daniel Pfeifer 8436d18115 CMake: Enable use of liblzma in libarchive (#14504)
Build liblzma as part of CMake or find one on the system.  Modify our
port of libarchive to use the liblzma configured for use with CMake.
2014-07-29 08:45:36 -04:00
Brad King fe27c993ff Merge topic 'update-libarchive'
67f5f0a9 libarchive: Use _snprintf on Windows, not snprintf
fcfbb0a9 libarchive: Drop LIBARCHIVE_ADDITIONAL_LIBS, CMake does not need it
61a649d9 libarchive: Update README-CMake.txt for new snapshot
4533560c Merge branch 'libarchive-upstream' into update-libarchive
44d6b82f libarchive: Disable all whitespace checks in third-party code
37f225b7 libarchive 3.1.2-246-ga5a5d28b (reduced)
6ab7c326 libarchive: Avoid left-shift overflow of signed integer
2014-04-17 09:11:06 -04:00
Brad King fcfbb0a924 libarchive: Drop LIBARCHIVE_ADDITIONAL_LIBS, CMake does not need it 2014-04-15 16:37:52 -04:00
Brad King 4533560c23 Merge branch 'libarchive-upstream' into update-libarchive
Resolve conflicts in Utilities/cmlibarchive/CMakeLists.txt as
appropriate.
2014-04-15 16:34:50 -04:00
Mike Crowe d9b591790e libarchive: Skip finding libacl.h when ENABLE_ACL is OFF (#14866) 2014-04-14 09:34:12 -04:00
Brad King debe4decce libarchive: Drop options not present in reduced version
Drop ENABLE_TAR and ENABLE_CPIO related options because we do not build
these command-line tools.  Drop ENABLE_TEST and ENABLE_COVERAGE options
because we do not build the tests.
2014-04-03 15:03:48 -04:00
Brad King 66b0c4fa19 libarchive: Do not generate a pkg-config file
CMake does not install the headers or libraries so skip the .pc file
too.
2014-04-03 15:03:43 -04:00
Brad King 2f1978632b Merge branch 'libarchive-upstream' into update-libarchive
Resolve conflicts in favor of the upstream side where possible.
Resolve a logical conflict in archive_windows.h where the upstream
port to Watcom was done slightly differently from ours.
2014-04-03 15:02:49 -04:00
Brad King ab65862417 Clang: Add separate "AppleClang" compiler id
Apple distributes their own Clang build with their own version numbers
that differ from upstream Clang.  Use the __apple_build_version__ symbol
to identify the Apple Clang compiler and report the Apple Build Version
as the fourth version component in CMAKE_<LANG>_COMPILER_VERSION.  Add
Compiler/AppleClang-<lang> and Platform/Darwin-AppleClang-<lang> modules
that simply include the upstream equivalents.

Fix comparisons of CMAKE_<LANG>_COMPILER_ID to Clang in CMake's own
source and tests to account for AppleClang.
2013-10-07 20:12:46 -04:00
Brad King df62f64db7 Clean up install rules of CMake itself (#14371)
Ensure CMAKE_DATA_DIR, CMAKE_DOC_DIR, and CMAKE_MAN_DIR are always
relative paths in CMake code, and set defaults accordingly.  Use the
install() command instead of install_files() and install_targets().
This is more modern and also avoids stripping of the first character
from user-specified destinations.

While at it, fix the default destinations reported in the bootstrap
help.
2013-08-26 11:54:07 -04:00
Brad King 26fe7e3adf libarchive: Backport to CMake 2.8.2
Avoid requiring CMake 2.8.6 for CMakePushCheckState or CMake 2.8.8 for
CMakeExpandImportedTargets.  Drop the custom versions of CMake modules
CheckCSource(Compiles|Runs) because we do not use the SAFESEH option
anyway.
2013-07-31 08:22:15 -04:00
Brad King b81a4e1568 libarchive: Remove build options not used by CMake
Drop options POSIX_REGEX_LIB and ENABLE_SAFESEH that we do not want for
the CMake build of libarchive.
2013-07-31 08:21:20 -04:00
Brad King 102071f80c Merge branch 'libarchive-upstream' into update-libarchive
Conflicts:
	Utilities/cmlibarchive/CMakeLists.txt
	Utilities/cmlibarchive/libarchive/archive.h
	Utilities/cmlibarchive/libarchive/archive_entry.h
	Utilities/cmlibarchive/libarchive/archive_read_disk_posix.c
	Utilities/cmlibarchive/libarchive/archive_read_support_format_iso9660.c
	Utilities/cmlibarchive/libarchive/archive_windows.h
	Utilities/cmlibarchive/libarchive/archive_write_set_format_iso9660.c
2013-07-31 08:19:13 -04:00
Brad King d960de2f54 Require CMake 2.8.2 or higher to build CMake
Update the requirement specified in the top-level CMakeLists.txt file.
Drop the special-case minimum required version of 2.8.0 because the new
minimum subsumes it.

Revert commit 6c611c6b (libarchive: Restore CMake 2.6.3 as minimum
version, 2012-01-05) since our requirement now subsumes libarchive's.
2012-04-26 16:39:54 -04:00
Brad King 6c611c6b94 libarchive: Restore CMake 2.6.3 as minimum version
Upstream libarchive now requires CMake 2.8 to get the newer add_test
functionality.  Since we do not build libarchive's tests we do not
need the requirement.
2012-01-05 09:09:31 -05:00
Brad King 156cb3bbf2 Merge branch 'libarchive-upstream' into update-libarchive
Conflicts:
	Utilities/cmlibarchive/CMakeLists.txt
	Utilities/cmlibarchive/libarchive/archive_windows.c
2012-01-05 09:02:58 -05:00
Brad King 9ccaeb10f9 libarchive: Suppress PathScale compiler warnings
We are not developing libarchive so we do not care about warnings.
2012-01-04 09:57:46 -05:00
Brad King b6ca96ec95 libarchive: Include linux/types.h before linux/fiemap.h
Some Linux API versions do not perform this inclusion automatically,
so types like __u64 needed by the latter are not available.
2012-01-04 09:39:28 -05:00
Brad King f293b73d71 libarchive: Define _XOPEN_SOURCE=500 on HP-UX
The HP-UX <wchar.h> header provides 'mbstate_t' in C89/C90 mode only if
_XOPEN_SOURCE is defined to exactly 500.  Type 'mbstate_t' was
introduced in C89/C90 Normative Amendment 1, aka C94/C95, adding support
international character sets.  It is part of C99 but not C89/C90.
2012-01-04 08:46:49 -05:00
Brad King 6781a09940 libarchive: Cleanup after ZLIB_WINAPI check
Clear CMAKE_REQUIRED_(INCLUDES|LIBRARIES) so that the rest of the checks
after this one do not try to link zlib.
2012-01-03 18:34:19 -05:00
Brad King f15d75760f libarchive: Remove hard-coded build configuration
Do not set CMAKE_BUILD_TYPE to Debug.  Use the configuration specified by
the user.
2012-01-03 11:37:32 -05:00
Brad King 02d5e40572 libarchive: Check for 'struct statvfs' member 'f_iosize'
Configure the result as definition HAVE_STRUCT_STATVFS_F_IOSIZE and use
the member only if it exists.  At least one platform (IRIX) provides
struct statvfs without this member.
2011-12-23 16:04:59 -05:00
Brad King e1afd072bc libarchive: Suppress compiler warnings
We are not developing libarchive so we do not care about warnings.
2011-12-23 16:04:59 -05:00
Brad King e2dc5561bb libarchive: Fix Windows NT API usage in VS 6
VS 6 warns verbosely when WINVER >= 0x0500.  Avoid defining WINVER and
_WIN32_WINNT to higher than 0x0400 on VS 6.  Provide missing API
declarations in archive_windows.h when we do not get them from
<windows.h>.  Provide GetVolumePathNameW because VS 6 does not declare
it regardless of the API version.
2011-12-23 16:04:58 -05:00
Brad King e00dbe86d9 libarchive: Clean up configuration within CMake build
Require ZLIB but skip LZMA and XML support.  Mark ZLIB and ICONV cache
variables advanced.
2011-12-23 16:04:58 -05:00
Brad King 0f7a85349a libarchive: Install COPYING with CMake documentation
Replay commit d39aee48 (Install COPYING with CMake documentation,
2011-06-16) after import of new libarchive snapshot.
2011-12-23 16:04:58 -05:00
Brad King bbdb75c5ff libarchive: Remove -Wall -Werror from build with GNU
We are not developing new libarchive features.  Furthermore -Werror can
break some try_compile cases.
2011-12-22 10:38:35 -05:00
Brad King 1d7ea8b629 libarchive: Do not build subdirectories not in reduced snapshot
Remove add_subdirectory() calls for directories not included in the
reduced libarchive snapshot.  Remove options that configure settings in
the missing directories.
2011-12-22 10:38:34 -05:00
Brad King 3e5a80f063 Merge branch 'libarchive-upstream' into update-libarchive
Add Utilities/cmlibarchive using upstream libarchive 3.0.0-r3950
snapshot.
2011-12-20 11:54:25 -05:00
Brad King f6ac86d70e libarchive: Remove our copy to make room for new import 2011-12-20 11:47:27 -05:00
Brad King d39aee483e libarchive: Install COPYING with CMake documentation 2011-06-20 09:54:08 -04:00
Brad King c3e452e944 Require at least CMake 2.6.3 to build current CMake
Remove some cruft left for supporting builds with CMake 2.4.
2011-02-24 15:14:08 -05:00
Brad King ee55a4f709 libarchive: Use OpenSSL only if CMAKE_USE_OPENSSL (#11815)
OpenSSL is not part of the Linux Standard Base but its headers and
libraries may still be found at build time even though they may not be
available at runtime.  Use it only if explicitly allowed.
2011-02-08 15:22:50 -05:00
Brad King cf5ad18340 libarchive: Fix major() check for LSB 4.0 (#11648)
The LSB header files define major() as a macro but if it is ever called
the macro references symbols not available at link time.  Improve the
test for major() to actually call the macro and try to link.  This
approach is based on upstream libarchive SVN commit 2866 which fixed
libarchive issue 125, submitted in response to CMake issue #11648.

Inspired-by: Tim Kientzle <kientzle@freebsd.org>
2011-01-12 13:52:14 -05:00
Bill Hoffman bd56626a4a Fixes for the OSF operating system build. 2010-09-08 14:50:14 -04:00
Brad King 68374fe078 libarchive: Drop unused %jd and %lld checks
The libarchive source does not use HAVE_PRINTF_JD or HAVE_PRINTF_LLD, so
we do not need to test for them at configuration time.
2009-12-14 17:26:47 -05:00
Brad King 8b2f6dbfa2 libarchive: Remove unused STDC_HEADERS try_run
This was the only try_run() in libarchive, and the result was not used
in the source code.  We remove it to allow cross-compiling to work.
2009-11-30 17:22:24 -05:00
Brad King 9e852190b3 libarchive: Use one architecture for try-compiles
We use CHECK_TYPE_SIZE in libarchive to check for the existence of some
types.  For universal binary builds on the Mac, the size check can fail
if it is inconsistent across architectures.  However, we do not actually
need the size so it is safe to do the checks for only one architecture.

See issue #9913.
2009-11-23 11:30:58 -05:00
Bill Hoffman f8b9a2681b for the Cmake build we do not want to have -Werror or force -Wall 2009-11-13 22:48:31 -05:00
Bill Hoffman 0106b490de keep libarchive from using a system zlib unless cmake uses one 2009-11-09 14:42:23 -05:00
Brad King 665ac8d4a4 libarchive: Put local include dir first
In libarchive we configure an internal header file called 'config.h'.
This commits moves the include directory containing the file to the
beginning of the include path to avoid conflicts from system headers.
2009-11-09 13:38:29 -05:00
Brad King db05eb1b3c libarchive: Fix try-compile for SIZE_MAX
This constant may be defined in one of a few headers.  We teach the
try-compile for it to test all the headers together instead of only one
header.
2009-11-05 16:29:30 -05:00
Brad King d7ef7e9416 libarchive: Add try-compile for 'major'
The commit "Fix libarchive linker errors on SunOS for mkdev/major/minor"
hard-coded #include lines for getting mkdev/major/minor on the Sun.
Instead we add missing try-compile tests to make sure the proper headers
get included through the standard mechanism.
2009-11-05 16:29:21 -05:00
Bill Hoffman 7eac77605d Do not use external lzma library as it causes link errors on several machines and we don't need it. 2009-11-05 15:54:19 -05:00
Brad King 4c6f63a409 libarchive: Fix integer type defaults for Windows
Most of the integer type defaults needed for MSVC and Borland actually
work with all Windows compilers.  This commit generalizes the defaults
to avoid compiler-specific tests.
2009-11-04 17:17:57 -05:00
Brad King 9bc63eb30f libarchive: Fix intptr_t and uintptr_t configuration 2009-11-04 16:06:26 -05:00
Bill Hoffman 2733f4f8e7 Fix for dash17 ACL requires linking to a library acl that we don't want to depend on. 2009-11-03 17:40:44 -05:00
Bill Hoffman 8ba2a40404 Fixes for borland, compiles with lots of warnings, but compiles, might fix vs70 again too. 2009-11-01 12:41:17 -05:00
Bill Hoffman 53082a4f34 Try to fix old hpux 2009-10-30 18:07:45 -04:00
David Cole cfa5932321 Fix compile issues on Mac OSX 10.3 on midworld dashboard. 2009-10-30 16:22:08 -04:00