/* * Here we postprocess autoconf generated prefix-config.h entries. * This is generally for things like "off_t" which is left undefined * in plain config.h if the host system does already have it but we do * need the prefix variant - so we add here a #define _zzip_off_t off_t * * This file is supposed to only carry '#define's. * See for definitions that might be seen by the compiler. * * Author: * Guido Draheim * * Copyright: (c) Guido Draheim, use under copyleft (LGPL,MPL) */ #ifndef _ZZIP_CONF_H #define _ZZIP_CONF_H 1 #if ! defined ZZIP_OMIT_CONFIG_H #if defined _MSC_VER || defined __BORLANDC__ || defined __WATCOMC__ #include #elif defined ZZIP_1_H #include "zzip-1.h" #elif defined ZZIP_2_H #include "zzip-2.h" #elif defined ZZIP_3_H #include "zzip-3.h" #elif defined ZZIP_4_H #include "zzip-4.h" #elif defined ZZIP_5_H #include "zzip-5.h" #else /* autoconf generated */ #include #endif #endif /* especially win32 platforms do not declare off_t so far - see zzip-msvc.h */ #ifndef _zzip_off_t #ifdef ZZIP_off_t #define _zzip_off_t ZZIP_off_t #else #define _zzip_off_t off_t #endif #endif #ifndef _zzip_off64_t #ifdef ZZIP_off64_t #define _zzip_off64_t ZZIP_off64_t #else #define _zzip_off64_t off64_t #endif #endif /* currently unused, all current zziplib-users do have ansi-C94 compilers. */ #ifndef _zzip_const #ifdef ZZIP_const #define _zzip_const ZZIP_const #else #define _zzip_const const #endif #endif #ifndef _zzip_inline #ifdef ZZIP_inline #define _zzip_inline ZZIP_inline #else #define _zzip_inline inline #endif #endif #ifndef _zzip_restrict #ifdef ZZIP_restrict #define _zzip_restrict ZZIP_restrict #else #define _zzip_restrict restrict #endif #endif #if defined __linux__ && __GNUC__ + 0 >= 4 #define zzip__new__ __attribute__((malloc)) #elif defined __linux__ && __GNUC__ + 0 >= 3 && __GNUC_MINOR__ + 0 >= 3 #define zzip__new__ __attribute__((malloc)) #else #define zzip__new__ #endif #ifndef _zzip_size_t #ifdef ZZIP_size_t #define _zzip_size_t ZZIP_size_t #else #define _zzip_size_t size_t #endif #endif #ifndef _zzip_ssize_t #ifdef ZZIP_ssize_t #define _zzip_ssize_t ZZIP_ssize_t #else #define _zzip_ssize_t ssize_t #endif #endif #ifndef _zzip___int64 #ifdef ZZIP___int64 #define _zzip___int64 ZZIP___int64 #else #define _zzip___int64 long long #endif #endif /* whether this library shall use a 64bit off_t largefile variant in 64on32: */ /* (some exported names must be renamed to avoid bad calls after linking) */ #if defined ZZIP_LARGEFILE_SENSITIVE #if _FILE_OFFSET_BITS + 0 == 64 #define ZZIP_LARGEFILE_RENAME #elif defined _LARGE_FILES /* used on older AIX to get at 64bit off_t */ #define ZZIP_LARGEFILE_RENAME #elif defined _ZZIP_LARGEFILE /* or simply use this one for zzip64 runs */ #define ZZIP_LARGEFILE_RENAME #endif #endif /* if the environment did not setup these for 64bit off_t largefile... */ #ifdef ZZIP_LARGEFILE_RENAME #ifndef _FILE_OFFSET_BITS #ifdef ZZIP__FILE_OFFSET_BITS /* == 64 */ #define _FILE_OFFSET_BITS ZZIP__FILE_OFFSET_BITS #endif #endif #ifndef _LARGE_FILES #ifdef ZZIP__LARGE_FILES /* == 1 */ #define _LARGE_FILES ZZIP__LARGE_FILES #endif #endif #ifndef _LARGEFILE_SOURCE #ifdef ZZIP__LARGEFILE_SOURCE /* == 1 */ #define _LARGEFILE_SOURCE ZZIP__LARGEFILE_SOURCE #endif #endif #endif #include /* mingw32msvc errno : would be in winsock.h */ #ifndef EREMOTE #define EREMOTE ESPIPE #endif #ifndef ELOOP #if defined EILSEQ #define ELOOP EILSEQ #else #define ELOOP ENOEXEC #endif #endif #if defined __WATCOMC__ #undef _zzip_inline #define _zzip_inline static #endif #if defined _MSC_VER || defined __WATCOMC__ #include #endif #ifdef _MSC_VER #if ! __STDC__ #ifndef _zzip_lseek #define _zzip_lseek _lseek #endif #ifndef _zzip_read #define _zzip_read _read #endif #ifndef _zzip_write #define _zzip_write _write #endif #if 0 #ifndef _zzip_stat #define _zzip_stat _stat #endif #endif #endif /* !__STDC__ */ #endif /*MSVC*/ #if defined _MSC_VER || defined __WATCOMC__ #ifndef strcasecmp #define strcasecmp _stricmp #endif #endif #ifndef _zzip_lseek #define _zzip_lseek lseek #endif #ifndef _zzip_read #define _zzip_read read #endif #ifndef _zzip_write #define _zzip_write write #endif #if 0 #ifndef _zzip_stat #define _zzip_stat stat #endif #endif /* libzzip_EXPORTS comes from CMake export defines */ #if defined ZZIP_EXPORTS || defined ZZIPLIB_EXPORTS || defined libzzip_EXPORTS #undef ZZIP_DLL #define ZZIP_DLL 1 #endif /* based on zconf.h : */ /* compile with -DZZIP_DLL for Windows DLL support */ #if defined ZZIP_DLL #if defined _WINDOWS || defined WINDOWS || defined _WIN32 /*# include */ #endif #if ! defined _zzip_export && defined _MSC_VER && (defined WIN32 || defined _WIN32) #define _zzip_export __declspec(dllexport) /*WINAPI*/ #endif #if ! defined _zzip_export && defined __BORLANDC__ #if __BORLANDC__ >= 0x0500 && defined WIN32 #include #define _zzip_export __declspec(dllexport) /*WINAPI*/ #else #if defined _Windows && defined __DLL__ #define _zzip_export _export #endif #endif #endif #if ! defined _zzip_export && defined __GNUC__ #if defined __declspec #define _zzip_export extern __declspec(dllexport) #else #define _zzip_export extern #endif #endif #if ! defined _zzip_export && defined __BEOS__ #define _zzip_export extern __declspec(export) #endif #if ! defined _zzip_export && defined __WATCOMC__ #define _zzip_export extern __declspec(dllexport) #define ZEXPORT __syscall #define ZEXTERN extern #endif #endif #if ! defined _zzip_export #if defined __GNUC__ /* || !defined HAVE_LIBZZIP */ #define _zzip_export extern #elif defined __declspec || (defined _MSC_VER && defined ZZIP_DLL) #define _zzip_export extern __declspec(dllimport) #else #define _zzip_export extern #endif #endif #endif