Commit Graph

118 Commits

Author SHA1 Message Date
Brad King 8b7ee30bf4 libarchive: Do not use ST_NOATIME if not defined
Use the same pattern already used elsewhere in archive_read_disk_posix.c
to use ST_NOATIME only when defined.
2011-12-23 16:04:59 -05:00
Brad King 680fc0eda8 libarchive: Fix var decl after statement in archive_string.c
When HAVE_MBRTOWC is true we declare an extra local variable.  Move the
unused argument cast to the end of the invalid_mbs function.
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 297d9f2032 libarchive: Cast mode constants to mode_t in case it is signed
At least one compiler (Borland) defines mode_t as just "short" which is
signed.  This breaks code like

  switch(archive_entry_filetype(e)) {
    case AE_IFREG:
    ...
  }

if AE_IFREG and other constants have a longer signed type (int) because
sign extension of the mode_t return type from archive_entry_filetype
changes its value.  Avoid the problem by ensuring the type of the
constants matches mode_t.

This change was originally made in commit a73acfbe (Fix for mode_t with
signed types, 2009-11-07).  Port it to the new libarchive snapshot.
2011-12-23 16:04:58 -05:00
Brad King b5dd9aa482 libarchive: Workaround case-insensitive symbols on Borland
Mangle the open_FILE symbols to avoid conflict with open_file:

 Warning: public '_archive_read_open_file'
          in module 'archive_read_open_filename.c' clashes with
	  prior module 'archive_read_open_file.c'
 Warning: public '_archive_write_open_file'
          in module 'archive_write_open_filename.c' clashes with
	  prior module 'archive_write_open_file.c'

This workaround should not go upstream because it will break when
mixing compilers.
2011-12-23 16:04:58 -05:00
Brad King 3b9eaec738 libarchive: Cast constants to int64_t instead of using LL suffix
The LL suffix is not portable.  Use an explicit cast instead.
2011-12-23 16:04:58 -05:00
Brad King 53da4b3028 libarchive: Declare mbstate_t and wcrtomb for Borland
The Borland C++ 5.81 runtime library provides wcrtomb but only the
C++ header <cwchar> actually declares the API.
2011-12-23 16:04:58 -05:00
Brad King ec48f10656 libarchive: Implement custom lseek for Borland
Restore Windows 64-bit lseek removed by upstream svn revision 3826
(Cast away __la_lseek(), use _lseeki64() instead, 2011-11-21).  We
need it on Borland.
2011-12-23 16:04:58 -05:00
Brad King 7dba0d668f libarchive: Port to OSF operating system
Make changes equivalent to those originally made by commits

  bd56626a (Fixes for the OSF operating system build, 2010-09-08)
  92c082b1 (Add a fix for the inline keyword on the osf os, 2010-09-10)

but based on the updated libarchive snapshot.
2011-12-23 16:04:58 -05:00
Brad King ffa6faa40d libarchive: Include cm_zlib.h to get zlib used by CMake 2011-12-22 10:38:37 -05:00
Brad King 25a5e7cbc1 libarchive: Build one static cmlibarchive for CMake
CMake needs only a single static libarchive library and not a shared
one.  Call it cmlibarchive to avoid confusion.
2011-12-22 10:38:36 -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 8dfe74c358 libarchive: Fix ssize_t detection with mingwrt 3.20
This version of MinGW defines _SSIZE_T_ for ssize_t.  This patch is
based on upstream libarchive SVN commit 3649 (Fix build with mingwrt
3.20, 2011-08-27).

Inspired-by: Tim Kientzle <kientzle@freebsd.org>
2011-09-16 16:44:44 -04:00
Brad King 41b7b3efa4 libarchive: Define major/minor/makedev only where needed (#11648)
If neither MAJOR_IN_MKDEV or MAJOR_IN_SYSMACROS is defined then provide
our own implementation of these macros locally.  This complements the
change in commit cf5ad183 (Fix major() check for LSB 4.0, 2011-01-12).
This patch is based on upstream libarchive SVN commit 1553 (Shuffle the
major/minor/makedev support a bit; this should work on both Windows and
Haiku, 2009-10-31).

Inspired-by: Tim Kientzle <kientzle@freebsd.org>
2011-02-07 10:06:50 -05:00
David Cole 745671441d Merge topic 'fix_osf_build'
92c082b Add a fix for the inline keyword on the osf os.
bd56626 Fixes for the OSF operating system build.
2010-11-09 15:53:55 -05:00
Bill Hoffman 92c082b1c9 Add a fix for the inline keyword on the osf os. 2010-09-10 13:37:02 -04:00
Brad King b9c41813d2 libarchive: Fix purposeful crash
Dereferencing a 0-pointer is undefined behavior, not a deterministic
crash.  Use a 1-pointer instead.  This also avoids a warning by Clang
about the undefined behavior.
2010-09-10 09:00:48 -04:00
Bill Hoffman bd56626a4a Fixes for the OSF operating system build. 2010-09-08 14:50:14 -04:00
Brad King e87b6bbddb libarchive: Remove SCHILY dev,ino,nlink attributes (#11176)
At least one version of GNU tar (1.15.1 with Fedora patches) does not
recognize these attributes and exits with error.  Do not generate them.
Patch from upstream libarchive svn r2563.
2010-08-27 09:15:29 -04:00
Bill Hoffman aa1450bda1 Fix build on borland windows, by adding back typedef for pid_t. 2010-05-06 08:48:14 -04:00
Ruben Van Boxem 7883f952b0 Win64 fixes for mingw-w64 compilation 2010-05-05 17:13:21 -04:00
Bill Hoffman 1c13ced6eb Fix prototype to match header, for bug # 10543. 2010-05-05 09:34:57 -04:00
Bill Hoffman d6a6eadcfe For HP, preprocessor if on multiple lines not allowed, make a long line. 2010-05-04 15:52:00 -04:00
Bill Hoffman a18612429d Fixes for bug # 10543, build on older sunpro now works. 2010-05-04 14:52:22 -04:00
Bill Hoffman 38524ec8d1 Remove another c++ comment from the c code. 2010-04-27 21:27:26 -04:00
Bill Hoffman 2e188ef1ff Get rid of c++ style comments in C code. 2010-04-27 17:45:40 -04: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 8cb1f4b0a4 libarchive: Include integer types very early
In libarchive/archive_platform.h we should include <stdint.h> or
<inttypes.h> immediately after "config.h" to define integer types
referenced by configuration results.  For example, on a non-conformant
platform ssize_t might default to int64_t, so int64_t must be defined
before ssize_t is used (and ssize_t is used in archive_windows.h).
2009-11-18 15:50:24 -05:00
Bill Hoffman bd60a2469a remove the last of the windows W4 warnings 2009-11-12 10:17:55 -05:00
Bill Hoffman d91d04a47a Remove a few more warnings 2009-11-12 07:42:21 -05:00
Brad King 8cf5af0645 libarchive: Borland provides umask, not _umask 2009-11-10 16:27:42 -05:00
Bill Hoffman 739d692e72 try to get rid of some warnings on hpux 2009-11-08 17:39:39 -05:00
Bill Hoffman f5ff79e8bd remove a few more windows warnings 2009-11-08 15:10:34 -05:00
Bill Hoffman a73acfbeb9 Fix for mode_t with signed types 2009-11-07 19:34:24 -05:00
Bill Hoffman bc701c59de link in additional libraries that the configure step finds 2009-11-07 10:52:40 -05:00
Bill Hoffman 8111b06078 Fix hpux build on heart 2009-11-06 12:13:36 -05:00
Brad King 5a509ab6ae libarchive: Fix get(pw|gr)name_r comment
The commit "libarchive: Define _XOPEN_SOURCE for get(pwu|grg)id_r"
introduced a comment referring to get(pwu|grg)id_r in a source file that
actually uses the functions get(pw|gr)name_r.  We fix the comment.
2009-11-06 10:54:25 -05:00
Brad King 76f8504596 libarchive: Initialize passwd/group lookup result
The "result" argument to functions get(pwu|grg)id_r and get(pw|gr)name_r
does not appear in the signatures provided on older platforms.  We set
the pointer to the result memory in case the function ignores it, thus
ensuring initialization.
2009-11-06 10:54:10 -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
Brad King fe598550aa libarchive: Define _XOPEN_SOURCE for get(pwu|grg)id_r
The commit "Fixed a few of the SunOS build errors in libarchive" changed
the call to these functions to use the old signatures.  Instead we now
define _XOPEN_SOURCE to get the improved modern signatures.
2009-11-05 16:29:10 -05:00
Zach Mullen ac3f37e0b6 Fix linker errors for libarchive in AIX as well. 2009-11-05 15:48:50 -05:00
Zach Mullen a01badcc7a Fix statement not reached warning for libarchive. 2009-11-05 14:15:28 -05:00
Zach Mullen 557a42a9dd Fix libarchive linker errors on SunOS for mkdev/major/minor 2009-11-05 14:06:45 -05:00
Zach Mullen 5a6cb44e96 Fixed a few of the SunOS build errors in libarchive. 2009-11-05 13:40:06 -05:00
Brad King 593bb64d16 libarchive: Use consistent function storage class
Functions declared 'static' should be defined 'static' too.
2009-11-04 17:25:35 -05:00
Brad King f4b70b6323 libarchive: Provide SetFilePointerEx for VS 6 2009-11-04 16:31:40 -05:00
Brad King e5075bb8e8 libarchive: Fix unconfigured header logic
The commit "libarchive: Fix Borland integer constants" introduced use of
HAVE_* configured macros into archive.h and archive_entry.h where they
are not allowed.  This commit replaces the logic with something that
does not depend on the configured macros.
2009-11-04 16:06:44 -05:00
Brad King d785cb0021 libarchive: Fix wincrypt.h inclusion on VS 6
The VS 6 version of wincrypt.h only works if _WIN32_WINNT >= 0x0400.
We block its inclusion through windows.h by defining NOCRYPT, and then
define _WIN32_WINNT and include it only when necessary.
2009-11-04 16:06:17 -05:00
Brad King c9a9c88634 libarchive: Fix Borland integer constants
Some versions of Borland provide <stdint.h>, so we use it when possible.
However, the 64-bit signed and unsigned integer min/max constants cause
overflow warnings from Borland itself!  For these constants we fall back
on our default definitions.
2009-11-04 13:10:11 -05:00
Brad King 12baf7b7f1 libarchive: Disable Borland warnings
We disable warnings to silence them while making minimal changes to
third-party code.
2009-11-04 13:09:59 -05:00
Brad King ccd831c559 libarchive: Disable MSVC warnings
We disable warnings to silence them while making minimal changes to
third-party code.
2009-11-04 13:09:41 -05:00
Bill Hoffman 7fba9849f9 Fix for warning on dash8 that caused a build failure because of -WError 2009-11-04 10:45:52 -05:00
Bill Hoffman b9e88cd4c8 remove makefiles as they cause the in source build test of cmake to fail 2009-11-03 10:21:50 -05:00
Bill Hoffman ca73562e54 borland builds, but still has some link errors 2009-11-02 10:51:29 -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 1db02b4d4e Fix for haiku 2009-10-31 09:39:58 -04:00
Bill Hoffman a533cc6093 Try to fix borland 2009-10-30 22:29:08 -04:00
Bill Hoffman 53082a4f34 Try to fix old hpux 2009-10-30 18:07:45 -04:00
Bill Hoffman 7ff27819de Remove unused variable to fix warning 2009-10-30 17:10:09 -04:00
Bill Hoffman 7b22ab1990 Remove unused variable to fix warning 2009-10-30 17:05:57 -04:00
Bill Hoffman 7a35b9ba3a only use archive_entry_copy_bhfi.c on windows so we don't get empty .o file warnings 2009-10-30 17:01:49 -04:00
Bill Hoffman 4e123ec1b1 Fix for VS 7 or lower not having ULL postfix for types 2009-10-30 16:36:46 -04:00
David Cole cfa5932321 Fix compile issues on Mac OSX 10.3 on midworld dashboard. 2009-10-30 16:22:08 -04:00
Bill Hoffman fb51d98562 Switch to using libarchive from libtar for cpack and cmake -E tar
This allows for a built in bzip and zip capability, so external tools
will not be needed for these packagers.  The cmake -E tar xf should be
able to handle all compression types now as well.
2009-10-30 13:10:56 -04:00