diff options
author | Martin Schröder <martin@oneiros.de> | 2008-03-24 15:47:15 +0000 |
---|---|---|
committer | Martin Schröder <martin@oneiros.de> | 2008-03-24 15:47:15 +0000 |
commit | 0b5550c241229764120d133af80a0cbab5937ddd (patch) | |
tree | 81309c18d6f0deba7407813cf15b9add2db375d1 /Build/source/libs/zziplib/m4 | |
parent | 51f55df6a36ce376952a1f2b30bdb4dd0e06548d (diff) |
First step of importing luatex (up to r1121)
git-svn-id: svn://tug.org/texlive/trunk@7124 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/libs/zziplib/m4')
22 files changed, 2457 insertions, 0 deletions
diff --git a/Build/source/libs/zziplib/m4/ac_compile_check_sizeof.m4 b/Build/source/libs/zziplib/m4/ac_compile_check_sizeof.m4 new file mode 100644 index 00000000000..fbdb534b41f --- /dev/null +++ b/Build/source/libs/zziplib/m4/ac_compile_check_sizeof.m4 @@ -0,0 +1,78 @@ +dnl @synopsis AC_COMPILE_CHECK_SIZEOF(TYPE [, HEADERS [, EXTRA_SIZES...]]) +dnl +dnl This macro checks for the size of TYPE using compile checks, not +dnl run checks. You can supply extra HEADERS to look into. the check +dnl will cycle through 1 2 4 8 16 and any EXTRA_SIZES the user +dnl supplies. If a match is found, it will #define SIZEOF_`TYPE' to +dnl that value. Otherwise it will emit a configure time error +dnl indicating the size of the type could not be determined. +dnl +dnl The trick is that C will not allow duplicate case labels. While +dnl this is valid C code: +dnl +dnl switch (0) case 0: case 1:; +dnl +dnl The following is not: +dnl +dnl switch (0) case 0: case 0:; +dnl +dnl Thus, the AC_TRY_COMPILE will fail if the currently tried size does +dnl not match. +dnl +dnl Here is an example skeleton configure.in script, demonstrating the +dnl macro's usage: +dnl +dnl AC_PROG_CC +dnl AC_CHECK_HEADERS(stddef.h unistd.h) +dnl AC_TYPE_SIZE_T +dnl AC_CHECK_TYPE(ssize_t, int) +dnl +dnl headers='#ifdef HAVE_STDDEF_H +dnl #include <stddef.h> +dnl #endif +dnl #ifdef HAVE_UNISTD_H +dnl #include <unistd.h> +dnl #endif +dnl ' +dnl +dnl AC_COMPILE_CHECK_SIZEOF(char) +dnl AC_COMPILE_CHECK_SIZEOF(short) +dnl AC_COMPILE_CHECK_SIZEOF(int) +dnl AC_COMPILE_CHECK_SIZEOF(long) +dnl AC_COMPILE_CHECK_SIZEOF(unsigned char *) +dnl AC_COMPILE_CHECK_SIZEOF(void *) +dnl AC_COMPILE_CHECK_SIZEOF(size_t, $headers) +dnl AC_COMPILE_CHECK_SIZEOF(ssize_t, $headers) +dnl AC_COMPILE_CHECK_SIZEOF(ptrdiff_t, $headers) +dnl AC_COMPILE_CHECK_SIZEOF(off_t, $headers) +dnl +dnl @category Misc +dnl @author Kaveh Ghazi <ghazi@caip.rutgers.edu> +dnl @version 2000-07-19 +dnl @license GPLWithACException + +AC_DEFUN([AC_COMPILE_CHECK_SIZEOF], +[changequote(<<, >>)dnl +dnl The name to #define. +define(<<AC_TYPE_NAME>>, translit(sizeof_$1, [a-z *], [A-Z_P]))dnl +dnl The cache variable name. +define(<<AC_CV_NAME>>, translit(ac_cv_sizeof_$1, [ *], [_p]))dnl +changequote([, ])dnl +AC_MSG_CHECKING(size of $1) +AC_CACHE_VAL(AC_CV_NAME, +[for ac_size in 4 8 1 2 16 $2 ; do # List sizes in rough order of prevalence. + AC_TRY_COMPILE([#include "confdefs.h" +#include <sys/types.h> +$2 +], [switch (0) case 0: case (sizeof ($1) == $ac_size):;], AC_CV_NAME=$ac_size) + if test x$AC_CV_NAME != x ; then break; fi +done +]) +if test x$AC_CV_NAME = x ; then + AC_MSG_ERROR([cannot determine a size for $1]) +fi +AC_MSG_RESULT($AC_CV_NAME) +AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME, [The number of bytes in type $1]) +undefine([AC_TYPE_NAME])dnl +undefine([AC_CV_NAME])dnl +]) diff --git a/Build/source/libs/zziplib/m4/ac_set_default_paths_system.m4 b/Build/source/libs/zziplib/m4/ac_set_default_paths_system.m4 new file mode 100644 index 00000000000..6c201488ec2 --- /dev/null +++ b/Build/source/libs/zziplib/m4/ac_set_default_paths_system.m4 @@ -0,0 +1,104 @@ +dnl @synopsis AC_SET_DEFAULT_PATHS_SYSTEM +dnl +dnl the most interesting changes go about windows-targets - where the +dnl default_prefix is set to /programs, and quite some directories are +dnl aliased: sbindir := libdir := bindir and the docprefix-defaults are +dnl also a bit different, even on FHS2-compliant systems where the +dnl mandir is going to $prefix/man only if prefix=/usr, otherwise they +dnl shall go to $datadir/man. We use an extra docprefix to express it +dnl which is either defined as being prefix or datadir. not SUBSTed +dnl here. +dnl +dnl @category Misc +dnl @author Guido Draheim <guidod@gmx.de> +dnl @version 2001-08-25 +dnl @license GPLWithACException + +AC_DEFUN([AC_SET_DEFAULT_PATHS_SYSTEM], +[AC_REQUIRE([AC_CANONICAL_HOST]) # -------------------------------------------- +case "$prefix:$ac_default_prefix" in + NONE:/usr/local) + result="" + AC_MSG_CHECKING(default prefix path) + case "${target_os}" in + *cygwin* | *mingw* | *uwin* | *djgpp | *emx* ) + if test "${host_os}" = "${target_os}" ; then + ac_default_prefix="/programs" + result="(win/dos target)" + else + case "$PATH" in + *:/usr/local/cross-tools/$target_alias/bin:*) + ac_default_prefix="/usr/local/cross-tools/$target_alias" ;; + *:/usr/local/$target_alias/bin:*) + ac_default_prefix="/usr/local/$target_alias" ;; + *:/usr/local/$target_cpu-$target_os/bin:*) + ac_default_prefix="/usr/local/$target_cpu-$target_os" ;; + *) + ac_default_prefix="/programs" ;; + esac + result="(win/dos cross-compiler)" + fi + ;; + esac + AC_MSG_RESULT($ac_default_prefix $result) + ;; +esac +AC_MSG_CHECKING(default prefix system) +result="$prefix" ; test "$result" = "NONE" && result="$ac_default_prefix" +case ${result} in + /programs | /programs/*) result="is win-/programs" + # on win/dos, .exe .dll and .cfg live in the same directory + libdir=`echo $libdir |sed -e 's:^..exec_prefix./lib$:${bindir}:'` + sbindir=`echo $sbindir |sed -e 's:^..exec_prefix./sbin$:${libdir}:'` + sysconfdir=`echo $sysconfdir |sed -e 's:^..prefix./etc$:${sbindir}:'` + libexecdir=`echo $libexecdir |sed -e 's:/libexec$:/system:'` + # help-files shall be set with --infodir, docprefix is datadir + docprefix="${datadir}" + mandir=`echo $mandir \ + |sed -e 's:^..prefix./man$:${datadir}/info:'` + includedir=`echo $includedir \ + |sed -e 's:^..prefix./include$:${datadir}/include:'` + # other state files (but /etc) are moved to datadir + sharedstatedir=`echo $sharedstatedir \ + |sed -e 's:^..prefix./com$:${datadir}/default:'` + localstatedir=`echo $localstatedir \ + |sed -e 's:^..prefix./var$:${datadir}/current:'` + ;; + /usr) result="is /usr-shipped" + # doc files are left at prefix + docprefix="${prefix}" + # state files go under /top + sysconfdir=`echo $sysconfdir |sed -e 's:^..prefix./etc$:/etc:'` + sharedstatedir=`echo $sharedstatedir \ + |sed -e 's:^..prefix./com$:/etc/default:'` + # $prefix/var is going to end up in /var/lib + localstatedir=`echo $localstatedir \ + |sed -e 's:^..prefix./var$:/var/lib:'` + ;; + /opt | /opt/*) result="is /opt-package" + # state files go under /top/prefix + sysconfdir=`echo $sysconfdir \ + |sed -e 's:^..prefix./etc$:/etc${prefix}:'` + sharedstatedir=`echo $sharedstatedir \ + |sed -e 's:^..prefix./com$:/etc/default${prefix}:'` + # $prefix/var is going to to be /var$prefix... once again + localstatedir=`echo $localstatedir \ + |sed -e 's:^..prefix./var$:/var${prefix}:'` + # doc files are left at prefix + docprefix="${prefix}" + ;; + *) result="is /local-package" + # doc files are moved from prefix down to datadir + docprefix="${datadir}" + mandir=`echo $mandir \ + |sed -e 's:^..prefix./man$:${datadir}/man:'` + infodir=`echo $infodir \ + |sed -e 's:^..prefix./infodir$:${datadir}/info:'` + # never use $prefix/com - that is no good idea + sharedstatedir=`echo $sharedstatedir \ + |sed -e 's:^..prefix./com$:${sysconfdir}/default:'` + ;; +esac +AC_MSG_RESULT($result) +# -------------------------------------------------------- +]) diff --git a/Build/source/libs/zziplib/m4/ac_sys_largefile_sensitive.m4 b/Build/source/libs/zziplib/m4/ac_sys_largefile_sensitive.m4 new file mode 100644 index 00000000000..6116b827deb --- /dev/null +++ b/Build/source/libs/zziplib/m4/ac_sys_largefile_sensitive.m4 @@ -0,0 +1,46 @@ +dnl @synopsis AC_SYS_LARGEFILE_SENSITIVE +dnl +dnl checker whether the current system is sensitive to -Ddefines making +dnl off_t having different types/sizes. Automatically define a config.h +dnl symbol LARGEFILE_SENSITIVE if that is the case, otherwise leave +dnl everything as is. +dnl +dnl This macro builds on top of AC_SYS_LARGEFILE to detect whether +dnl special options are neede to make the code use 64bit off_t - in +dnl many setups this will also make the code use 64bit off_t +dnl immediatly. +dnl +dnl The common use of a LARGEFILE_SENSITIVE config.h-define is to +dnl rename exported functions, usually adding a 64 to the original +dnl function name. Such renamings are only needed on systems being both +dnl (a) 32bit off_t by default and (b) implementing large.file +dnl extensions (as for unix98). +dnl +dnl a renaming section could look like this: +dnl +dnl #if defined LARGEFILE_SENSITIVE && _FILE_OFFSET_BITS+0 == 64 +dnl #define zzip_open zzip_open64 +dnl #define zzip_seek zzip_seek64 +dnl #endif +dnl +dnl for libraries, it is best to take advantage of the prefix-config.h +dnl macro, otherwise you want to export a renamed LARGEFILE_SENSITIVE +dnl in an installed header file. -> see AX_PREFIX_CONFIG_H +dnl +dnl @category Misc +dnl @author Guido Draheim <guidod@gmx.de> +dnl @version 2003-02-02 +dnl @license GPLWithACException + +AC_DEFUN([AC_SYS_LARGEFILE_SENSITIVE],[dnl +AC_REQUIRE([AC_SYS_LARGEFILE])dnl +# we know about some internals of ac_sys_largefile here... +AC_MSG_CHECKING(whether system differentiates 64bit off_t by defines) +ac_cv_sys_largefile_sensitive="no" +if test ".$ac_cv_sys_file_offset_bits$ac_cv_sys_large_files" != ".nono" +then ac_cv_sys_largefile_sensitive="yes" + AC_DEFINE(LARGEFILE_SENSITIVE, 1, + [whether the system defaults to 32bit off_t but can do 64bit when requested]) +fi +AC_MSG_RESULT([$ac_cv_sys_largefile_sensitive]) +]) diff --git a/Build/source/libs/zziplib/m4/acx_restrict.m4 b/Build/source/libs/zziplib/m4/acx_restrict.m4 new file mode 100644 index 00000000000..333f2592df4 --- /dev/null +++ b/Build/source/libs/zziplib/m4/acx_restrict.m4 @@ -0,0 +1,32 @@ +dnl @synopsis ACX_C_RESTRICT +dnl +dnl This macro determines whether the C compiler supports the "restrict" +dnl keyword introduced in ANSI C99, or an equivalent. Does nothing if +dnl the compiler accepts the keyword. Otherwise, if the compiler supports +dnl an equivalent (like gcc's __restrict__) defines "restrict" to be that. +dnl Otherwise, defines "restrict" to be empty. +dnl +dnl @version $Id: acx_restrict.m4,v 1.1 2005/12/09 07:47:34 guidod Exp $ +dnl @author Steven G. Johnson <stevenj@alum.mit.edu> + +AC_DEFUN([ACX_C_RESTRICT], +[AC_CACHE_CHECK([for C restrict keyword], acx_cv_c_restrict, +[acx_cv_c_restrict=unsupported + AC_LANG_SAVE + AC_LANG_C + # Try the official restrict keyword, then gcc's __restrict__, then + # SGI's __restrict. __restrict has slightly different semantics than + # restrict (it's a bit stronger, in that __restrict pointers can't + # overlap even with non __restrict pointers), but I think it should be + # okay under the circumstances where restrict is normally used. + for acx_kw in restrict __restrict__ __restrict; do + AC_TRY_COMPILE([], [float * $acx_kw x;], [acx_cv_c_restrict=$acx_kw; break]) + done + AC_LANG_RESTORE +]) + if test "$acx_cv_c_restrict" != "restrict"; then + acx_kw="$acx_cv_c_restrict" + if test "$acx_kw" = unsupported; then acx_kw=""; fi + AC_DEFINE_UNQUOTED(restrict, $acx_kw, [Define to equivalent of C99 restrict keyword, or to nothing if this is not supported. Do not define if restrict is supported directly.]) + fi +]) diff --git a/Build/source/libs/zziplib/m4/ax_cflags_gcc_option.m4 b/Build/source/libs/zziplib/m4/ax_cflags_gcc_option.m4 new file mode 100644 index 00000000000..dcd85797e54 --- /dev/null +++ b/Build/source/libs/zziplib/m4/ax_cflags_gcc_option.m4 @@ -0,0 +1,187 @@ +dnl @synopsis AX_CFLAGS_GCC_OPTION (optionflag [,[shellvar][,[A][,[NA]]]) +dnl +dnl AX_CFLAGS_GCC_OPTION(-fvomit-frame) would show a message as like +dnl "checking CFLAGS for gcc -fvomit-frame ... yes" and adds the +dnl optionflag to CFLAGS if it is understood. You can override the +dnl shellvar-default of CFLAGS of course. The order of arguments stems +dnl from the explicit macros like AX_CFLAGS_WARN_ALL. +dnl +dnl The cousin AX_CXXFLAGS_GCC_OPTION would check for an option to add +dnl to CXXFLAGS - and it uses the autoconf setup for C++ instead of C +dnl (since it is possible to use different compilers for C and C++). +dnl +dnl The macro is a lot simpler than any special AX_CFLAGS_* macro (or +dnl ac_cxx_rtti.m4 macro) but allows to check for arbitrary options. +dnl However, if you use this macro in a few places, it would be great +dnl if you would make up a new function-macro and submit it to the +dnl ac-archive. +dnl +dnl - $1 option-to-check-for : required ("-option" as non-value) +dnl - $2 shell-variable-to-add-to : CFLAGS (or CXXFLAGS in the other case) +dnl - $3 action-if-found : add value to shellvariable +dnl - $4 action-if-not-found : nothing +dnl +dnl note: in earlier versions, $1-$2 were swapped. We try to detect the +dnl situation and accept a $2=~/-/ as being the old +dnl option-to-check-for. +dnl +dnl also: there are other variants that emerged from the original macro +dnl variant which did just test an option to be possibly added. +dnl However, some compilers accept an option silently, or possibly for +dnl just another option that was not intended. Therefore, we have to do +dnl a generic test for a compiler family. For gcc we check "-pedantic" +dnl being accepted which is also understood by compilers who just want +dnl to be compatible with gcc even when not being made from gcc +dnl sources. +dnl +dnl see also: +dnl +dnl AX_CFLAGS_SUN_OPTION AX_CFLAGS_HPUX_OPTION +dnl AX_CFLAGS_AIX_OPTION AX_CFLAGS_IRIX_OPTION +dnl +dnl @category C +dnl @author Guido Draheim <guidod@gmx.de> +dnl @version 2003-11-04 +dnl @license GPLWithACException + +AC_DEFUN([AX_CFLAGS_GCC_OPTION_OLD], [dnl +AS_VAR_PUSHDEF([FLAGS],[CFLAGS])dnl +AS_VAR_PUSHDEF([VAR],[ac_cv_cflags_gcc_option_$2])dnl +AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for gcc m4_ifval($2,$2,-option)], +VAR,[VAR="no, unknown" + AC_LANG_SAVE + AC_LANG_C + ac_save_[]FLAGS="$[]FLAGS" +for ac_arg dnl +in "-pedantic % m4_ifval($2,$2,-option)" dnl GCC + # +do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` + AC_TRY_COMPILE([],[return 0;], + [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break]) +done + FLAGS="$ac_save_[]FLAGS" + AC_LANG_RESTORE +]) +case ".$VAR" in + .ok|.ok,*) m4_ifvaln($3,$3) ;; + .|.no|.no,*) m4_ifvaln($4,$4) ;; + *) m4_ifvaln($3,$3,[ + if echo " $[]m4_ifval($1,$1,FLAGS) " | grep " $VAR " 2>&1 >/dev/null + then AC_RUN_LOG([: m4_ifval($1,$1,FLAGS) does contain $VAR]) + else AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"]) + m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR" + fi ]) ;; +esac +AS_VAR_POPDEF([VAR])dnl +AS_VAR_POPDEF([FLAGS])dnl +]) + + +dnl the only difference - the LANG selection... and the default FLAGS + +AC_DEFUN([AX_CXXFLAGS_GCC_OPTION_OLD], [dnl +AS_VAR_PUSHDEF([FLAGS],[CXXFLAGS])dnl +AS_VAR_PUSHDEF([VAR],[ac_cv_cxxflags_gcc_option_$2])dnl +AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for gcc m4_ifval($2,$2,-option)], +VAR,[VAR="no, unknown" + AC_LANG_SAVE + AC_LANG_CXX + ac_save_[]FLAGS="$[]FLAGS" +for ac_arg dnl +in "-pedantic % m4_ifval($2,$2,-option)" dnl GCC + # +do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` + AC_TRY_COMPILE([],[return 0;], + [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break]) +done + FLAGS="$ac_save_[]FLAGS" + AC_LANG_RESTORE +]) +case ".$VAR" in + .ok|.ok,*) m4_ifvaln($3,$3) ;; + .|.no|.no,*) m4_ifvaln($4,$4) ;; + *) m4_ifvaln($3,$3,[ + if echo " $[]m4_ifval($1,$1,FLAGS) " | grep " $VAR " 2>&1 >/dev/null + then AC_RUN_LOG([: m4_ifval($1,$1,FLAGS) does contain $VAR]) + else AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"]) + m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR" + fi ]) ;; +esac +AS_VAR_POPDEF([VAR])dnl +AS_VAR_POPDEF([FLAGS])dnl +]) + +dnl ------------------------------------------------------------------------- + +AC_DEFUN([AX_CFLAGS_GCC_OPTION_NEW], [dnl +AS_VAR_PUSHDEF([FLAGS],[CFLAGS])dnl +AS_VAR_PUSHDEF([VAR],[ac_cv_cflags_gcc_option_$1])dnl +AC_CACHE_CHECK([m4_ifval($2,$2,FLAGS) for gcc m4_ifval($1,$1,-option)], +VAR,[VAR="no, unknown" + AC_LANG_SAVE + AC_LANG_C + ac_save_[]FLAGS="$[]FLAGS" +for ac_arg dnl +in "-pedantic % m4_ifval($1,$1,-option)" dnl GCC + # +do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` + AC_TRY_COMPILE([],[return 0;], + [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break]) +done + FLAGS="$ac_save_[]FLAGS" + AC_LANG_RESTORE +]) +case ".$VAR" in + .ok|.ok,*) m4_ifvaln($3,$3) ;; + .|.no|.no,*) m4_ifvaln($4,$4) ;; + *) m4_ifvaln($3,$3,[ + if echo " $[]m4_ifval($2,$2,FLAGS) " | grep " $VAR " 2>&1 >/dev/null + then AC_RUN_LOG([: m4_ifval($2,$2,FLAGS) does contain $VAR]) + else AC_RUN_LOG([: m4_ifval($2,$2,FLAGS)="$m4_ifval($2,$2,FLAGS) $VAR"]) + m4_ifval($2,$2,FLAGS)="$m4_ifval($2,$2,FLAGS) $VAR" + fi ]) ;; +esac +AS_VAR_POPDEF([VAR])dnl +AS_VAR_POPDEF([FLAGS])dnl +]) + + +dnl the only difference - the LANG selection... and the default FLAGS + +AC_DEFUN([AX_CXXFLAGS_GCC_OPTION_NEW], [dnl +AS_VAR_PUSHDEF([FLAGS],[CXXFLAGS])dnl +AS_VAR_PUSHDEF([VAR],[ac_cv_cxxflags_gcc_option_$1])dnl +AC_CACHE_CHECK([m4_ifval($2,$2,FLAGS) for gcc m4_ifval($1,$1,-option)], +VAR,[VAR="no, unknown" + AC_LANG_SAVE + AC_LANG_CXX + ac_save_[]FLAGS="$[]FLAGS" +for ac_arg dnl +in "-pedantic % m4_ifval($1,$1,-option)" dnl GCC + # +do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` + AC_TRY_COMPILE([],[return 0;], + [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break]) +done + FLAGS="$ac_save_[]FLAGS" + AC_LANG_RESTORE +]) +case ".$VAR" in + .ok|.ok,*) m4_ifvaln($3,$3) ;; + .|.no|.no,*) m4_ifvaln($4,$4) ;; + *) m4_ifvaln($3,$3,[ + if echo " $[]m4_ifval($2,$2,FLAGS) " | grep " $VAR " 2>&1 >/dev/null + then AC_RUN_LOG([: m4_ifval($2,$2,FLAGS) does contain $VAR]) + else AC_RUN_LOG([: m4_ifval($2,$2,FLAGS)="$m4_ifval($2,$2,FLAGS) $VAR"]) + m4_ifval($2,$2,FLAGS)="$m4_ifval($2,$2,FLAGS) $VAR" + fi ]) ;; +esac +AS_VAR_POPDEF([VAR])dnl +AS_VAR_POPDEF([FLAGS])dnl +]) + +AC_DEFUN([AX_CFLAGS_GCC_OPTION],[ifelse(m4_bregexp([$2],[-]),-1, +[AX_CFLAGS_GCC_OPTION_NEW($@)],[AX_CFLAGS_GCC_OPTION_OLD($@)])]) + +AC_DEFUN([AX_CXXFLAGS_GCC_OPTION],[ifelse(m4_bregexp([$2],[-]),-1, +[AX_CXXFLAGS_GCC_OPTION_NEW($@)],[AX_CXXFLAGS_GCC_OPTION_OLD($@)])]) diff --git a/Build/source/libs/zziplib/m4/ax_cflags_no_writable_strings.m4 b/Build/source/libs/zziplib/m4/ax_cflags_no_writable_strings.m4 new file mode 100644 index 00000000000..e13ec09c278 --- /dev/null +++ b/Build/source/libs/zziplib/m4/ax_cflags_no_writable_strings.m4 @@ -0,0 +1,140 @@ +dnl @synopsis AX_CFLAGS_NO_WRITABLE_STRINGS [(shellvar [,default, [A/NA]])] +dnl +dnl Try to find a compiler option that makes all stringliteral +dnl readonly. +dnl +dnl The sanity check is done by looking at string.h which has a set of +dnl strcpy definitions that should be defined with const-modifiers to +dnl not emit a warning in all so many places. +dnl +dnl For the GNU CC compiler it will be -fno-writable-strings +dnl -Wwrite-strings The result is added to the shellvar being CFLAGS by +dnl default. +dnl +dnl DEFAULTS: +dnl +dnl - $1 shell-variable-to-add-to : CFLAGS +dnl - $2 add-value-if-not-found : nothing +dnl - $3 action-if-found : add value to shellvariable +dnl - $4 action-if-not-found : nothing +dnl +dnl @category C +dnl @author Guido Draheim <guidod@gmx.de> +dnl @version 2003-05-21 +dnl @license GPLWithACException + +AC_DEFUN([AX_CFLAGS_NO_WRITABLE_STRINGS],[dnl +AS_VAR_PUSHDEF([FLAGS],[CFLAGS])dnl +AS_VAR_PUSHDEF([VAR],[ac_cv_cflags_no_writable_strings])dnl +AC_CACHE_CHECK([m4_ifval([$1],[$1],FLAGS) making strings readonly], +VAR,[VAR="no, unknown" + AC_LANG_SAVE + AC_LANG_C + ac_save_[]FLAGS="$[]FLAGS" +# IRIX C compiler: +# -use_readonly_const is the default for IRIX C, +# puts them into .rodata, but they are copied later. +# need to be "-G0 -rdatashared" for strictmode but +# I am not sure what effect that has really. - guidod +for ac_arg dnl +in "-Wall % -fno-writable-strings -Wwrite-strings" dnl GCC + "-v -Xc % -xstrconst" dnl Solaris C - strings go into readonly segment + "+w1 -Aa % +ESlit" dnl HP-UX C - strings go into readonly segment + "-w0 -std1 % -readonly_strings" dnl Digital Unix - again readonly segment + "-fullwarn -use_readonly_const %% ok, its the default" dnl IRIX C + # +do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` + AC_TRY_COMPILE([],[return 0;], + [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break]) +done +case ".$VAR" in + .|.no|.no,*) ;; + *) # sanity check - testing strcpy() from string.h + cp config.log config.tmp + AC_TRY_COMPILE([#include <string.h>],[ + char test[16]; + if (strcpy (test, "test")) return 1;], + dnl the original did use test -n `$CC testprogram.c` + [if test `diff config.log config.tmp | grep -i warning | wc -l` != 0 + then VAR="no, suppressed, string.h," ; fi], + [VAR="no, suppressed, string.h"]) + rm config.tmp + ;; +esac + FLAGS="$ac_save_[]FLAGS" + AC_LANG_RESTORE +]) +case ".$VAR" in + .ok|.ok,*) m4_ifvaln($3,$3) ;; + .|.no|.no,*) m4_ifvaln($4,$4,[m4_ifval($2,[ + AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $2"]) + m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $2"])]) ;; + *) m4_ifvaln($3,$3,[ + if echo " $[]m4_ifval($1,$1,FLAGS) " | grep " $VAR " 2>&1 >/dev/null + then AC_RUN_LOG([: m4_ifval($1,$1,FLAGS) does contain $VAR]) + else AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"]) + m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR" + fi ]) ;; +esac +AS_VAR_POPDEF([VAR])dnl +AS_VAR_POPDEF([FLAGS])dnl +]) + +dnl the only difference - the LANG selection... and the default FLAGS + +AC_DEFUN([AX_CXXFLAGS_NO_WRITABLE_STRINGS],[dnl +AS_VAR_PUSHDEF([FLAGS],[CXXFLAGS])dnl +AS_VAR_PUSHDEF([VAR],[ac_cv_cxxflags_no_writable_strings])dnl +AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) making strings readonly], +VAR,[VAR="no, unknown" + AC_LANG_SAVE + AC_LANG_CXX + ac_save_[]FLAGS="$[]FLAGS" +# IRIX C compiler: +# -use_readonly_const is the default for IRIX C, +# puts them into .rodata, but they are copied later. +# need to be "-G0 -rdatashared" for strictmode but +# I am not sure what effect that has really. - guidod +for ac_arg dnl +in "-Wall % -fno-writable-strings -Wwrite-strings" dnl GCC + "-v -Xc % -xstrconst" dnl Solaris C - strings go into readonly segment + "+w1 -Aa % +ESlit" dnl HP-UX C - strings go into readonly segment + "-w0 -std1 % -readonly_strings" dnl Digital Unix - again readonly segment + "-fullwarn -use_readonly_const %% ok, its the default" dnl IRIX C + # +do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` + AC_TRY_COMPILE([],[return 0;], + [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break]) +done +case ".$VAR" in + .|.no|.no,*) ;; + *) # sanity check - testing strcpy() from string.h + cp config.log config.tmp + AC_TRY_COMPILE([#include <string.h>],[[ + char test[16]; + if (strcpy (test, "test")) return 1;]], + dnl the original did use test -n `$CC testprogram.c` + [if test `diff config.log config.tmp | grep -i warning | wc -l` != 0 + then VAR="no, suppressed, string.h," ; fi], + [VAR="no, suppressed, string.h"]) + rm config.tmp + ;; +esac + FLAGS="$ac_save_[]FLAGS" + AC_LANG_RESTORE +]) +case ".$VAR" in + .ok|.ok,*) m4_ifvaln($3,$3) ;; + .|.no|.no,*) m4_ifvaln($4,$4,[m4_ifval($2,[ + AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"]) + m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $2"])]) ;; + *) m4_ifvaln($3,$3,[ + if echo " $[]m4_ifval($1,$1,FLAGS) " | grep " $VAR " 2>&1 >/dev/null + then AC_RUN_LOG([: m4_ifval($1,$1,FLAGS) does contain $VAR]) + else AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"]) + m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR" + fi ]) ;; +esac +AS_VAR_POPDEF([VAR])dnl +AS_VAR_POPDEF([FLAGS])dnl +]) diff --git a/Build/source/libs/zziplib/m4/ax_cflags_strict_prototypes.m4 b/Build/source/libs/zziplib/m4/ax_cflags_strict_prototypes.m4 new file mode 100644 index 00000000000..518c247e8fd --- /dev/null +++ b/Build/source/libs/zziplib/m4/ax_cflags_strict_prototypes.m4 @@ -0,0 +1,127 @@ +dnl @synopsis AX_CFLAGS_STRICT_PROTOTYPES [(shellvar [,default, [A/NA]] +dnl +dnl Try to find a compiler option that requires strict prototypes. +dnl +dnl The sanity check is done by looking at sys/signal.h which has a set +dnl of macro-definitions SIG_DFL and SIG_IGN that are cast to the local +dnl signal-handler type. If that signal-handler type is not fully +dnl qualified then the system headers are not seen as strictly +dnl prototype clean. +dnl +dnl For the GNU CC compiler it will be -fstrict-prototypes +dnl -Wstrict-prototypes The result is added to the shellvar being +dnl CFLAGS by default. +dnl +dnl DEFAULTS: +dnl +dnl - $1 shell-variable-to-add-to : CFLAGS +dnl - $2 add-value-if-not-found : nothing +dnl - $3 action-if-found : add value to shellvariable +dnl - $4 action-if-not-found : nothing +dnl +dnl @category C +dnl @author Guido Draheim <guidod@gmx.de> +dnl @version 2003-05-21 +dnl @license GPLWithACException + +AC_DEFUN([AX_CFLAGS_STRICT_PROTOTYPES],[dnl +AS_VAR_PUSHDEF([FLAGS],[CFLAGS])dnl +AS_VAR_PUSHDEF([VAR],[ac_cv_cflags_strict_prototypes])dnl +AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for strict prototypes], +VAR,[VAR="no, unknown" + AC_LANG_SAVE + AC_LANG_C + ac_save_[]FLAGS="$[]FLAGS" +for ac_arg dnl +in "-Wall % -fstrict-prototypes -Wstrict-prototypes" dnl GCC + "-Wall % -Wstrict-prototypes" dnl try to warn atleast + # +do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` + AC_TRY_COMPILE([],[return 0;], + [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break]) +done +case ".$VAR" in + .|.no|.no,*) ;; + *) # sanity check with signal() from sys/signal.h + cp config.log config.tmp + AC_TRY_COMPILE([#include <signal.h>],[ + if (signal (SIGINT, SIG_IGN) == SIG_DFL) return 1; + if (signal (SIGINT, SIG_IGN) != SIG_DFL) return 2;], + dnl the original did use test -n `$CC testprogram.c` + [if test `diff config.log config.tmp | grep -i warning | wc -l` != 0 +then if test `diff config.log config.tmp | grep -i warning | wc -l` != 1 +then VAR="no, suppressed, signal.h," ; fi ; fi], + [VAR="no, suppressed, signal.h"]) + rm config.tmp + ;; +esac + FLAGS="$ac_save_[]FLAGS" + AC_LANG_RESTORE +]) +case ".$VAR" in + .ok|.ok,*) m4_ifvaln($3,$3) ;; + .|.no|.no,*) m4_ifvaln($4,$4,[m4_ifval($2,[ + AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $2"]) + m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $2"])]) ;; + *) m4_ifvaln($3,$3,[ + if echo " $[]m4_ifval($1,$1,FLAGS) " | grep " $VAR " 2>&1 >/dev/null + then AC_RUN_LOG([: m4_ifval($1,$1,FLAGS) does contain $VAR]) + else AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"]) + m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR" + fi ]) ;; +esac +AS_VAR_POPDEF([VAR])dnl +AS_VAR_POPDEF([FLAGS])dnl +]) + +dnl the only difference - the LANG selection... and the default FLAGS + +AC_DEFUN([AX_CXXFLAGS_STRICT_PROTOTYPES],[dnl +AS_VAR_PUSHDEF([FLAGS],[CXXFLAGS])dnl +AS_VAR_PUSHDEF([VAR],[ac_cv_cxxflags_strict_prototypes])dnl +AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for strict prototypes], +VAR,[VAR="no, unknown" + AC_LANG_SAVE + AC_LANG_CXX + ac_save_[]FLAGS="$[]FLAGS" +for ac_arg dnl +in "-Wall % -fstrict-prototypes -Wstrict-prototypes" dnl GCC + "-Wall % -Wstrict-prototypes" dnl try to warn atleast + # +do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` + AC_TRY_COMPILE([],[return 0;], + [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break]) +done +case ".$VAR" in + .|.no|.no,*) ;; + *) # sanity check with signal() from sys/signal.h + cp config.log config.tmp + AC_TRY_COMPILE([#include <signal.h>],[ + if (signal (SIGINT, SIG_IGN) == SIG_DFL) return 1; + if (signal (SIGINT, SIG_IGN) != SIG_DFL) return 2;], + dnl the original did use test -n `$CC testprogram.c` + [if test `diff config.log config.tmp | grep -i warning | wc -l` != 0 +then if test `diff config.log config.tmp | grep -i warning | wc -l` != 1 +then VAR="no, suppressed, signal.h," ; fi ; fi], + [VAR="no, suppressed, signal.h"]) + rm config.tmp + ;; +esac + FLAGS="$ac_save_[]FLAGS" + AC_LANG_RESTORE +]) +case ".$VAR" in + .ok|.ok,*) m4_ifvaln($3,$3) ;; + .|.no|.no,*) m4_ifvaln($4,$4,[m4_ifval($2,[ + AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $2"]) + m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $2"])]) ;; + *) m4_ifvaln($3,$3,[ + if echo " $[]m4_ifval($1,$1,FLAGS) " | grep " $VAR " 2>&1 >/dev/null + then AC_RUN_LOG([: m4_ifval($1,$1,FLAGS) does contain $VAR]) + else AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"]) + m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR" + fi ]) ;; +esac +AS_VAR_POPDEF([VAR])dnl +AS_VAR_POPDEF([FLAGS])dnl +]) diff --git a/Build/source/libs/zziplib/m4/ax_cflags_warn_all.m4 b/Build/source/libs/zziplib/m4/ax_cflags_warn_all.m4 new file mode 100644 index 00000000000..fa9bf30e17f --- /dev/null +++ b/Build/source/libs/zziplib/m4/ax_cflags_warn_all.m4 @@ -0,0 +1,118 @@ +dnl @synopsis AX_CFLAGS_WARN_ALL [(shellvar [,default, [A/NA]])] +dnl +dnl Try to find a compiler option that enables most reasonable +dnl warnings. This macro is directly derived from VL_PROG_CC_WARNINGS +dnl which is split up into two AX_CFLAGS_WARN_ALL and +dnl AX_CFLAGS_WARN_ALL_ANSI +dnl +dnl For the GNU CC compiler it will be -Wall (and -ansi -pedantic) The +dnl result is added to the shellvar being CFLAGS by default. +dnl +dnl Currently this macro knows about GCC, Solaris C compiler, Digital +dnl Unix C compiler, C for AIX Compiler, HP-UX C compiler, IRIX C +dnl compiler, NEC SX-5 (Super-UX 10) C compiler, and Cray J90 (Unicos +dnl 10.0.0.8) C compiler. +dnl +dnl - $1 shell-variable-to-add-to : CFLAGS +dnl - $2 add-value-if-not-found : nothing +dnl - $3 action-if-found : add value to shellvariable +dnl - $4 action-if-not-found : nothing +dnl +dnl @category C +dnl @author Guido Draheim <guidod@gmx.de> +dnl @version 2003-01-06 +dnl @license GPLWithACException + +AC_DEFUN([AX_CFLAGS_WARN_ALL],[dnl +AS_VAR_PUSHDEF([FLAGS],[CFLAGS])dnl +AS_VAR_PUSHDEF([VAR],[ac_cv_cflags_warn_all])dnl +AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for maximum warnings], +VAR,[VAR="no, unknown" + AC_LANG_SAVE + AC_LANG_C + ac_save_[]FLAGS="$[]FLAGS" +for ac_arg dnl +in "-pedantic % -Wall" dnl GCC + "-xstrconst % -v" dnl Solaris C + "-std1 % -verbose -w0 -warnprotos" dnl Digital Unix + "-qlanglvl=ansi % -qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd" dnl AIX + "-ansi -ansiE % -fullwarn" dnl IRIX + "+ESlit % +w1" dnl HP-UX C + "-Xc % -pvctl[,]fullmsg" dnl NEC SX-5 (Super-UX 10) + "-h conform % -h msglevel 2" dnl Cray C (Unicos) + # +do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` + AC_TRY_COMPILE([],[return 0;], + [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break]) +done + FLAGS="$ac_save_[]FLAGS" + AC_LANG_RESTORE +]) +case ".$VAR" in + .ok|.ok,*) m4_ifvaln($3,$3) ;; + .|.no|.no,*) m4_ifvaln($4,$4,[m4_ifval($2,[ + AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $2"]) + m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $2"])]) ;; + *) m4_ifvaln($3,$3,[ + if echo " $[]m4_ifval($1,$1,FLAGS) " | grep " $VAR " 2>&1 >/dev/null + then AC_RUN_LOG([: m4_ifval($1,$1,FLAGS) does contain $VAR]) + else AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"]) + m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR" + fi ]) ;; +esac +AS_VAR_POPDEF([VAR])dnl +AS_VAR_POPDEF([FLAGS])dnl +]) + +dnl the only difference - the LANG selection... and the default FLAGS + +AC_DEFUN([AX_CXXFLAGS_WARN_ALL],[dnl +AS_VAR_PUSHDEF([FLAGS],[CXXFLAGS])dnl +AS_VAR_PUSHDEF([VAR],[ac_cv_cxxflags_warn_all])dnl +AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for maximum warnings], +VAR,[VAR="no, unknown" + AC_LANG_SAVE + AC_LANG_CXX + ac_save_[]FLAGS="$[]FLAGS" +for ac_arg dnl +in "-pedantic % -Wall" dnl GCC + "-xstrconst % -v" dnl Solaris C + "-std1 % -verbose -w0 -warnprotos" dnl Digital Unix + "-qlanglvl=ansi % -qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd" dnl AIX + "-ansi -ansiE % -fullwarn" dnl IRIX + "+ESlit % +w1" dnl HP-UX C + "-Xc % -pvctl[,]fullmsg" dnl NEC SX-5 (Super-UX 10) + "-h conform % -h msglevel 2" dnl Cray C (Unicos) + # +do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` + AC_TRY_COMPILE([],[return 0;], + [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break]) +done + FLAGS="$ac_save_[]FLAGS" + AC_LANG_RESTORE +]) +case ".$VAR" in + .ok|.ok,*) m4_ifvaln($3,$3) ;; + .|.no|.no,*) m4_ifvaln($4,$4,[m4_ifval($2,[ + AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $2"]) + m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $2"])]) ;; + *) m4_ifvaln($3,$3,[ + if echo " $[]m4_ifval($1,$1,FLAGS) " | grep " $VAR " 2>&1 >/dev/null + then AC_RUN_LOG([: m4_ifval($1,$1,FLAGS) does contain $VAR]) + else AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"]) + m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR" + fi ]) ;; +esac +AS_VAR_POPDEF([VAR])dnl +AS_VAR_POPDEF([FLAGS])dnl +]) + +dnl implementation tactics: +dnl the for-argument contains a list of options. The first part of +dnl these does only exist to detect the compiler - usually it is +dnl a global option to enable -ansi or -extrawarnings. All other +dnl compilers will fail about it. That was needed since a lot of +dnl compilers will give false positives for some option-syntax +dnl like -Woption or -Xoption as they think of it is a pass-through +dnl to later compile stages or something. The "%" is used as a +dnl delimimiter. A non-option comment can be given after "%%" marks. diff --git a/Build/source/libs/zziplib/m4/ax_create_pkgconfig_info.m4 b/Build/source/libs/zziplib/m4/ax_create_pkgconfig_info.m4 new file mode 100644 index 00000000000..7cf6c2c6ca3 --- /dev/null +++ b/Build/source/libs/zziplib/m4/ax_create_pkgconfig_info.m4 @@ -0,0 +1,312 @@ +dnl @synopsis AX_CREATE_PKGCONFIG_INFO [(outputfile, [requires [,libs [,summary [,cflags [, ldflags]]]]])] +dnl +dnl defaults: +dnl +dnl $1 = $PACKAGE_NAME.pc +dnl $2 = (empty) +dnl $3 = $PACKAGE_LIBS $LIBS (as set at that point in configure.ac) +dnl $4 = $PACKAGE_SUMMARY (or $1 Library) +dnl $5 = $CPPFLAGS $PACKAGE_CFLAGS (as set at the point in configure.ac) +dnl $6 = $LDFLAGS $PACKAGE_LDFLAGS (as set at the point in configure.ac) +dnl +dnl PACKAGE_NAME defaults to $PACKAGE if not set. +dnl PACKAGE_LIBS defaults to -l$PACKAGE_NAME if not set. +dnl +dnl the resulting file is called $PACKAGE.pc.in / $PACKAGE.pc +dnl +dnl You will find this macro most useful in conjunction with +dnl ax_spec_defaults that can read good initializers from the .spec +dnl file. In consequencd, most of the generatable installable stuff can +dnl be made from information being updated in a single place for the +dnl whole project. +dnl +dnl @category InstalledPackages +dnl @author Sven Verdoolaege <skimo*liacs.nl> +dnl @author Guido Draheim <guidod@gmx.de> +dnl @version 2003-10-19 +dnl @license GPLWithACException + +AC_DEFUN([AX_CREATE_PKGCONFIG_INFO],[dnl +AS_VAR_PUSHDEF([PKGCONFIG_suffix],[ax_create_pkgconfig_suffix])dnl +AS_VAR_PUSHDEF([PKGCONFIG_libdir],[ax_create_pkgconfig_libdir])dnl +AS_VAR_PUSHDEF([PKGCONFIG_libfile],[ax_create_pkgconfig_libfile])dnl +AS_VAR_PUSHDEF([PKGCONFIG_libname],[ax_create_pkgconfig_libname])dnl +AS_VAR_PUSHDEF([PKGCONFIG_version],[ax_create_pkgconfig_version])dnl +AS_VAR_PUSHDEF([PKGCONFIG_description],[ax_create_pkgconfig_description])dnl +AS_VAR_PUSHDEF([PKGCONFIG_requires],[ax_create_pkgconfig_requires])dnl +AS_VAR_PUSHDEF([PKGCONFIG_pkglibs],[ax_create_pkgconfig_pkglibs])dnl +AS_VAR_PUSHDEF([PKGCONFIG_libs],[ax_create_pkgconfig_libs])dnl +AS_VAR_PUSHDEF([PKGCONFIG_ldflags],[ax_create_pkgconfig_ldflags])dnl +AS_VAR_PUSHDEF([PKGCONFIG_cppflags],[ax_create_pkgconfig_cppflags])dnl +AS_VAR_PUSHDEF([PKGCONFIG_generate],[ax_create_pkgconfig_generate])dnl +AS_VAR_PUSHDEF([PKGCONFIG_src_libdir],[ax_create_pkgconfig_src_libdir])dnl +AS_VAR_PUSHDEF([PKGCONFIG_src_headers],[ax_create_pkgconfig_src_headers])dnl + +# we need the expanded forms... +test "x$prefix" = xNONE && prefix=$ac_default_prefix +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +AC_MSG_CHECKING(our pkgconfig libname) +test ".$PKGCONFIG_libname" != "." || \ +PKGCONFIG_libname="ifelse($1,,${PACKAGE_NAME},`basename $1 .pc`)" +test ".$PKGCONFIG_libname" != "." || \ +PKGCONFIG_libname="$PACKAGE" +PKGCONFIG_libname=`eval echo "$PKGCONFIG_libname"` +PKGCONFIG_libname=`eval echo "$PKGCONFIG_libname"` +AC_MSG_RESULT($PKGCONFIG_libname) + +AC_MSG_CHECKING(our pkgconfig version) +test ".$PKGCONFIG_version" != "." || \ +PKGCONFIG_version="${PACKAGE_VERSION}" +test ".$PKGCONFIG_version" != "." || \ +PKGCONFIG_version="$VERSION" +PKGCONFIG_version=`eval echo "$PKGCONFIG_version"` +PKGCONFIG_version=`eval echo "$PKGCONFIG_version"` +AC_MSG_RESULT($PKGCONFIG_version) + +AC_MSG_CHECKING(our pkgconfig_libdir) +test ".$pkgconfig_libdir" = "." && \ +pkgconfig_libdir='${libdir}/pkgconfig' +PKGCONFIG_libdir=`eval echo "$pkgconfig_libdir"` +PKGCONFIG_libdir=`eval echo "$PKGCONFIG_libdir"` +PKGCONFIG_libdir=`eval echo "$PKGCONFIG_libdir"` +AC_MSG_RESULT($pkgconfig_libdir) +test "$pkgconfig_libdir" != "$PKGCONFIG_libdir" && ( +AC_MSG_RESULT(expanded our pkgconfig_libdir... $PKGCONFIG_libdir)) +AC_SUBST([pkgconfig_libdir]) + +AC_MSG_CHECKING(our pkgconfig_libfile) +test ".$pkgconfig_libfile" != "." || \ +pkgconfig_libfile="ifelse($1,,$PKGCONFIG_libname.pc,`basename $1`)" +PKGCONFIG_libfile=`eval echo "$pkgconfig_libfile"` +PKGCONFIG_libfile=`eval echo "$PKGCONFIG_libfile"` +AC_MSG_RESULT($pkgconfig_libfile) +test "$pkgconfig_libfile" != "$PKGCONFIG_libfile" && ( +AC_MSG_RESULT(expanded our pkgconfig_libfile... $PKGCONFIG_libfile)) +AC_SUBST([pkgconfig_libfile]) + +AC_MSG_CHECKING(our package / suffix) +PKGCONFIG_suffix="$program_suffix" +test ".$PKGCONFIG_suffix" != .NONE || PKGCONFIG_suffix="" +AC_MSG_RESULT(${PACKAGE_NAME} / ${PKGCONFIG_suffix}) + +AC_MSG_CHECKING(our pkgconfig description) +PKGCONFIG_description="ifelse($4,,$PACKAGE_SUMMARY,$4)" +test ".$PKGCONFIG_description" != "." || \ +PKGCONFIG_description="$PKGCONFIG_libname Library" +PKGCONFIG_description=`eval echo "$PKGCONFIG_description"` +PKGCONFIG_description=`eval echo "$PKGCONFIG_description"` +AC_MSG_RESULT($PKGCONFIG_description) + +AC_MSG_CHECKING(our pkgconfig requires) +PKGCONFIG_requires="ifelse($2,,$PACKAGE_REQUIRES,$2)" +PKGCONFIG_requires=`eval echo "$PKGCONFIG_requires"` +PKGCONFIG_requires=`eval echo "$PKGCONFIG_requires"` +AC_MSG_RESULT($PKGCONFIG_requires) + +AC_MSG_CHECKING(our pkgconfig ext libs) +PKGCONFIG_pkglibs="$PACKAGE_LIBS" +test ".$PKGCONFIG_pkglibs" != "." || PKGCONFIG_pkglibs="-l$PKGCONFIG_libname" +PKGCONFIG_libs="ifelse($3,,$PKGCONFIG_pkglibs $LIBS,$3)" +PKGCONFIG_libs=`eval echo "$PKGCONFIG_libs"` +PKGCONFIG_libs=`eval echo "$PKGCONFIG_libs"` +AC_MSG_RESULT($PKGCONFIG_libs) + +AC_MSG_CHECKING(our pkgconfig cppflags) +PKGCONFIG_cppflags="ifelse($5,,$CPPFLAGS $PACKAGE_CFLAGS,$5)" +PKGCONFIG_cppflags=`eval echo "$PKGCONFIG_cppflags"` +PKGCONFIG_cppflags=`eval echo "$PKGCONFIG_cppflags"` +AC_MSG_RESULT($PKGCONFIG_cppflags) + +AC_MSG_CHECKING(our pkgconfig ldflags) +PKGCONFIG_ldflags="ifelse($6,,$LDFLAGS $PACKAGE_LDFLAGS,$5)" +PKGCONFIG_ldflags=`eval echo "$PKGCONFIG_ldflags"` +PKGCONFIG_ldflags=`eval echo "$PKGCONFIG_ldflags"` +AC_MSG_RESULT($PKGCONFIG_ldflags) + +test ".$PKGCONFIG_generate" != "." || \ +PKGCONFIG_generate="ifelse($1,,$PKGCONFIG_libname.pc,$1)" +PKGCONFIG_generate=`eval echo "$PKGCONFIG_generate"` +PKGCONFIG_generate=`eval echo "$PKGCONFIG_generate"` +test "$pkgconfig_libfile" != "$PKGCONFIG_generate" && ( +AC_MSG_RESULT(generate the pkgconfig later... $PKGCONFIG_generate)) + +if test ".$PKGCONFIG_src_libdir" = "." ; then +PKGCONFIG_src_libdir=`pwd` +PKGCONFIG_src_libdir=`AS_DIRNAME("$PKGCONFIG_src_libdir/$PKGCONFIG_generate")` +test ! -d $PKGCONFIG_src_libdir/src || \ +PKGCONFIG_src_libdir="$PKGCONFIG_src_libdir/src" +case ".$objdir" in +*libs) PKGCONFIG_src_libdir="$PKGCONFIG_src_libdir/$objdir" ;; esac +AC_MSG_RESULT(noninstalled pkgconfig -L $PKGCONFIG_src_libdir) +fi + +if test ".$PKGCONFIG_src_headers" = "." ; then +PKGCONFIG_src_headers=`pwd` +v="$ac_top_srcdir" ; +test ".$v" != "." || v="$ax_spec_dir" +test ".$v" != "." || v="$srcdir" +case "$v" in /*) PKG_CONFIG_src_headers="" ;; esac +PKGCONFIG_src_headers=`AS_DIRNAME("$PKGCONFIG_src_headers/$v/x")` +test ! -d $PKGCONFIG_src_headers/incl[]ude || \ +PKGCONFIG_src_headers="$PKGCONFIG_src_headers/incl[]ude" +AC_MSG_RESULT(noninstalled pkgconfig -I $PKGCONFIG_src_headers) +fi + + +dnl AC_CONFIG_COMMANDS crap disallows to use $PKGCONFIG_libfile here... +AC_CONFIG_COMMANDS([$ax_create_pkgconfig_generate],[ +pkgconfig_generate="$ax_create_pkgconfig_generate" +if test ! -f "$pkgconfig_generate.in" +then generate="true" +elif grep ' generated by configure ' $pkgconfig_generate.in >/dev/null +then generate="true" +else generate="false"; +fi +if $generate ; then +AC_MSG_NOTICE(creating $pkgconfig_generate.in) +cat > $pkgconfig_generate.in <<AXEOF +# generated by configure / remove this line to disable regeneration +prefix=@prefix@ +exec_prefix=@exec_prefix@ +bindir=@bindir@ +libdir=@libdir@ +datadir=@datadir@ +sysconfdir=@sysconfdir@ +includedir=@includedir@ +package=@PACKAGE@ +suffix=@suffix@ + +Name: @PACKAGE_NAME@ +Description: @PACKAGE_DESCRIPTION@ +Version: @PACKAGE_VERSION@ +Requires: @PACKAGE_REQUIRES@ +Libs: -L\${libdir} @LDFLAGS@ @LIBS@ +Cflags: -I\${includedir} @CPPFLAGS@ +AXEOF +fi # DONE generate $pkgconfig_generate.in +AC_MSG_NOTICE(creating $pkgconfig_generate) +cat >conftest.sed <<AXEOF +s|@prefix@|${pkgconfig_prefix}| +s|@exec_prefix@|${pkgconfig_execprefix}| +s|@bindir@|${pkgconfig_bindir}| +s|@libdir@|${pkgconfig_libdir}| +s|@datadir@|${pkgconfig_datadir}| +s|@sysconfdir@|${pkgconfig_sysconfdir}| +s|@includedir@|${pkgconfig_includedir}| +s|@suffix@|${pkgconfig_suffix}| +s|@PACKAGE@|${pkgconfig_package}| +s|@PACKAGE_NAME@|${pkgconfig_libname}| +s|@PACKAGE_DESCRIPTION@|${pkgconfig_description}| +s|@PACKAGE_VERSION@|${pkgconfig_version}| +s|@PACKAGE_REQUIRES@|${pkgconfig_requires}| +s|@LIBS@|${pkgconfig_libs}| +s|@LDFLAGS@|${pkgconfig_ldflags}| +s|@CPPFLAGS@|${pkgconfig_cppflags}| +AXEOF +sed -f conftest.sed $pkgconfig_generate.in > $pkgconfig_generate +if test ! -s $pkgconfig_generate ; then + AC_MSG_ERROR([$pkgconfig_generate is empty]) +fi ; rm conftest.sed # DONE generate $pkgconfig_generate +pkgconfig_uninstalled=`echo $pkgconfig_generate |sed 's/.pc$/-uninstalled.pc/'` +AC_MSG_NOTICE(creating $pkgconfig_uninstalled) +cat >conftest.sed <<AXEOF +s|@prefix@|${pkgconfig_prefix}| +s|@exec_prefix@|${pkgconfig_execprefix}| +s|@bindir@|${pkgconfig_bindir}| +s|@libdir@|${pkgconfig_src_libdir}| +s|@datadir@|${pkgconfig_datadir}| +s|@sysconfdir@|${pkgconfig_sysconfdir}| +s|@includedir@|${pkgconfig_src_headers}| +s|@suffix@|${pkgconfig_suffix}| +s|@PACKAGE@|${pkgconfig_package}| +s|@PACKAGE_NAME@|${pkgconfig_libname}| +s|@PACKAGE_DESCRIPTION@|${pkgconfig_description}| +s|@PACKAGE_VERSION@|${pkgconfig_version}| +s|@PACKAGE_REQUIRES@|${pkgconfig_requires}| +s|@LIBS@|${pkgconfig_libs}| +s|@LDFLAGS@|${pkgconfig_ldflags}| +s|@CPPFLAGS@|${pkgconfig_cppflags}| +AXEOF +sed -f conftest.sed $pkgconfig_generate.in > $pkgconfig_uninstalled +if test ! -s $pkgconfig_uninstalled ; then + AC_MSG_ERROR([$pkgconfig_uninstalled is empty]) +fi ; rm conftest.sed # DONE generate $pkgconfig_uninstalled + pkgconfig_requires_add=`echo ${pkgconfig_requires}` +if test ".$pkgconfig_requires_add" != "." ; then + pkgconfig_requires_add="pkg-config $pkgconfig_requires_add" + else pkgconfig_requires_add=":" ; fi +pkgconfig_uninstalled=`echo $pkgconfig_generate |sed 's/.pc$/-uninstalled.sh/'` +AC_MSG_NOTICE(creating $pkgconfig_uninstalled) +cat >conftest.sed <<AXEOF +s|@prefix@|\"${pkgconfig_prefix}\"| +s|@exec_prefix@|\"${pkgconfig_execprefix}\"| +s|@bindir@|\"${pkgconfig_bindir}\"| +s|@libdir@|\"${pkgconfig_src_libdir}\"| +s|@datadir@|\"${pkgconfig_datadir}\"| +s|@sysconfdir@|\"${pkgconfig_sysconfdir}\"| +s|@includedir@|\"${pkgconfig_src_headers}\"| +s|@suffix@|\"${pkgconfig_suffix}\"| +s|@PACKAGE@|\"${pkgconfig_package}\"| +s|@PACKAGE_NAME@|\"${pkgconfig_libname}\"| +s|@PACKAGE_DESCRIPTION@|\"${pkgconfig_description}\"| +s|@PACKAGE_VERSION@|\"${pkgconfig_version}\"| +s|@PACKAGE_REQUIRES@|\"${pkgconfig_requires}\"| +s|@LIBS@|\"${pkgconfig_libs}\"| +s|@LDFLAGS@|\"${pkgconfig_ldflags}\"| +s|@CPPFLAGS@|\"${pkgconfig_cppflags}\"| +s>Name:>for option\\; do case \"\$option\" in --list-all|--name) echo > +s>Description: *>\\;\\; --help) pkg-config --help \\; echo Buildscript Of > +s>Version: *>\\;\\; --modversion|--version) echo > +s>Requires:>\\;\\; --requires) echo $pkgconfig_requires_add> +s>Libs: *>\\;\\; --libs) echo > +s>Cflags: *>\\;\\; --cflags) echo > +/--libs)/a\\ + $pkgconfig_requires_add +/--cflags)/a\\ + $pkgconfig_requires_add\\ +;; --variable=*) eval echo '\$'\`echo \$option | sed -e 's/.*=//'\`\\ +;; --uninstalled) exit 0 \\ +;; *) ;; esac done +AXEOF +sed -f conftest.sed $pkgconfig_generate.in > $pkgconfig_uninstalled +if test ! -s $pkgconfig_uninstalled ; then + AC_MSG_ERROR([$pkgconfig_uninstalled is empty]) +fi ; rm conftest.sed # DONE generate $pkgconfig_uninstalled +],[ +dnl AC_CONFIG_COMMANDS crap, the AS_PUSHVAR defines are invalid here... +ax_create_pkgconfig_generate="$ax_create_pkgconfig_generate" +pkgconfig_prefix='$prefix' +pkgconfig_execprefix='$exec_prefix' +pkgconfig_bindir='$bindir' +pkgconfig_libdir='$libdir' +pkgconfig_includedir='$includedir' +pkgconfig_datadir='$datadir' +pkgconfig_sysconfdir='$sysconfdir' +pkgconfig_suffix='$ax_create_pkgconfig_suffix' +pkgconfig_package='$PACKAGE_NAME' +pkgconfig_libname='$ax_create_pkgconfig_libname' +pkgconfig_description='$ax_create_pkgconfig_description' +pkgconfig_version='$ax_create_pkgconfig_version' +pkgconfig_requires='$ax_create_pkgconfig_requires' +pkgconfig_libs='$ax_create_pkgconfig_libs' +pkgconfig_ldflags='$ax_create_pkgconfig_ldflags' +pkgconfig_cppflags='$ax_create_pkgconfig_cppflags' +pkgconfig_src_libdir='$ax_create_pkgconfig_src_libdir' +pkgconfig_src_headers='$ax_create_pkgconfig_src_headers' +])dnl +AS_VAR_POPDEF([PKGCONFIG_suffix])dnl +AS_VAR_POPDEF([PKGCONFIG_libdir])dnl +AS_VAR_POPDEF([PKGCONFIG_libfile])dnl +AS_VAR_POPDEF([PKGCONFIG_libname])dnl +AS_VAR_POPDEF([PKGCONFIG_version])dnl +AS_VAR_POPDEF([PKGCONFIG_description])dnl +AS_VAR_POPDEF([PKGCONFIG_requires])dnl +AS_VAR_POPDEF([PKGCONFIG_pkglibs])dnl +AS_VAR_POPDEF([PKGCONFIG_libs])dnl +AS_VAR_POPDEF([PKGCONFIG_ldflags])dnl +AS_VAR_POPDEF([PKGCONFIG_cppflags])dnl +AS_VAR_POPDEF([PKGCONFIG_generate])dnl +AS_VAR_POPDEF([PKGCONFIG_src_libdir])dnl +AS_VAR_POPDEF([PKGCONFIG_src_headers])dnl +]) diff --git a/Build/source/libs/zziplib/m4/ax_enable_builddir_uname.m4 b/Build/source/libs/zziplib/m4/ax_enable_builddir_uname.m4 new file mode 100644 index 00000000000..4e795fc8274 --- /dev/null +++ b/Build/source/libs/zziplib/m4/ax_enable_builddir_uname.m4 @@ -0,0 +1,160 @@ +dnl @synopsis AX_ENABLE_BUILDDIR_UNAME [(dirstring-or-command [,Makefile.mk])] +dnl +dnl if the current configure was run within the srcdir then we move all +dnl configure-files into a subdir and let the configure steps continue +dnl there. We provide an option --disable-builddir to suppress the move +dnl into a separate builddir. +dnl +dnl Defaults: +dnl +dnl $1 = $build (defaults to `uname -msr`.d) +dnl $2 = Makefile.mk +dnl $3 = -all +dnl +dnl This macro must be called before AM_INIT_AUTOMAKE. +dnl +dnl it creates a default toplevel srcdir Makefile from the information +dnl found in the created toplevel builddir Makefile. It just copies the +dnl variables and rule-targets, each extended with a default +dnl rule-execution that recurses into the build directory of the +dnl current "BUILD". You can override the auto-dection through +dnl `uname -msr | tr " /" "__"`.d at build-time of course, as in +dnl +dnl make BUILD=i386-mingw-cross +dnl +dnl After the default has been created, additional rules can be +dnl appended that will not just recurse into the subdirectories and +dnl only ever exist in the srcdir toplevel makefile - these parts are +dnl read from the $2 = Makefile.mk file +dnl +dnl The automatic rules are usually scanning the toplevel Makefile for +dnl lines like '#### $build |$builddir' to recognize the place where to +dnl recurse into. Usually, the last one is the only one used. However, +dnl almost all targets have an additional "*-all" rule which makes the +dnl script to recurse into _all_ variants of the current BUILD (!!) +dnl setting. The "-all" suffix can be overriden for the macro as well. +dnl +dnl a special rule is only given for things like "dist" that will copy +dnl the tarball from the builddir to the sourcedir (or $(PUB)) for +dnl reason of convenience. +dnl +dnl @category Misc +dnl @author Guido U. Draheim +dnl @version 2005-12-03 +dnl @license GPLWithACException + +AC_DEFUN([AX_ENABLE_BUILDDIR_UNAME],[AC_REQUIRE([AC_CANONICAL_HOST])[]dnl +AC_BEFORE([$0],[AM_INIT_AUTOMAKE])dnl +AS_VAR_PUSHDEF([SUB],[ax_enable_builddir])dnl +AS_VAR_PUSHDEF([SED],[ax_enable_builddir_sed])dnl +SUB="." +AC_ARG_ENABLE([builddir], AC_HELP_STRING( + [--disable-builddir],[disable automatic build in subdir of sources]) + ,[SUB="$enableval"], [SUB="yes"]) +if test ".$ac_srcdir_defaulted" != ".no" ; then +if test ".$srcdir" = ".." ; then + if test -f config.status ; then + AC_MSG_NOTICE(toplevel srcdir already configured... skipping subdir build) + else + test ".$SUB" = "." && SUB="." + test ".$SUB" = ".no" && SUB="." + test ".$BUILD" = "." && BUILD=`uname -msr | tr " /" "__"`.d + test ".$SUB" = ".yes" && SUB="m4_ifval([$1], [$1],[$BUILD])" + if test ".$SUB" != ".." ; then # we know where to go and + AS_MKDIR_P([$SUB]) + echo __.$SUB.__ > $SUB/conftest.tmp + cd $SUB + if grep __.$SUB.__ conftest.tmp >/dev/null 2>/dev/null ; then + rm conftest.tmp + AC_MSG_RESULT([continue configure in default builddir "./$SUB"]) + else + AC_MSG_ERROR([could not change to default builddir "./$SUB"]) + fi + srcdir=`echo "$SUB" | + sed -e 's,^\./,,;s,[[^/]]$,&/,;s,[[^/]]*/,../,g;s,[[/]]$,,;'` + # going to restart from subdirectory location + test -f $srcdir/config.log && mv $srcdir/config.log . + test -f $srcdir/confdefs.h && mv $srcdir/confdefs.h . + test -f $srcdir/conftest.log && mv $srcdir/conftest.log . + test -f $srcdir/$cache_file && mv $srcdir/$cache_file . + AC_MSG_RESULT(....exec $SHELL $srcdir/[$]0 "--srcdir=$srcdir" "--enable-builddir=$SUB" ${1+"[$]@"}) + case "[$]0" in # restart + [/\\]) exec $SHELL [$]0 "--srcdir=$srcdir" "--enable-builddir=$SUB" ${1+"[$]@"} ;; + *) exec $SHELL $srcdir/[$]0 "--srcdir=$srcdir" "--enable-builddir=$SUB" ${1+"[$]@"} ;; + esac + fi + fi +fi fi +dnl ac_path_prog uses "set dummy" to override $@ which would defeat the "exec" +AC_PATH_PROG(SED,gsed sed, sed) +AS_VAR_POPDEF([SED])dnl +AS_VAR_POPDEF([SUB])dnl +AC_CONFIG_COMMANDS([buildir],[dnl .............. config.status .............. +AS_VAR_PUSHDEF([SUB],[ax_enable_builddir])dnl +AS_VAR_PUSHDEF([TOP],[top_srcdir])dnl +AS_VAR_PUSHDEF([SRC],[ac_top_srcdir])dnl +AS_VAR_PUSHDEF([SED],[ax_enable_builddir_sed])dnl +pushdef([END],[Makefile.mk])dnl + SRC="$ax_enable_builddir_srcdir" + if test ".$SUB" = "." ; then + if test -f "$TOP/Makefile" ; then + AC_MSG_NOTICE([skipping TOP/Makefile - left untouched]) + else + AC_MSG_NOTICE([skipping TOP/Makefile - not created]) + fi + else + AC_MSG_NOTICE([create TOP/Makefile guessed from local Makefile]) + x='`' ; cat >$tmp/conftemp.sed <<_EOF +/^\$/n +x +/^\$/bS +x +/\\\\\$/{H;d;} +{H;s/.*//;x;} +bM +:S +x +/\\\\\$/{h;d;} +{h;s/.*//;x;} +:M +s/\\(\\n\\) /\\1 /g +/^ /d +/^[[ ]]*[[\\#]]/d +/^VPATH *=/d +s/^srcdir *=.*/srcdir = ./ +s/^top_srcdir *=.*/top_srcdir = ./ +/[[:=]]/!d +/^\\./d +s/:.*/:/ +/:\$/s/ / /g +/:\$/s/ / /g +/^.*[[=]]/!s%\$% ; (cd \$(BUILD) \\&\\& \$(ISNOTSRCDIR) \\&\\& \$(MAKE) "\$\@") || exit ; \$(MAKE) done "RULE=\$\@"% +_EOF + test ".$USE_MAINTAINER_MODE" = ".no" || \ + cp "$tmp/conftemp.sed" "$SRC/makefile.sed~" ## DEBUGGING + echo 'BUILD=`uname -msr | tr " /" "__"`.d' >$SRC/Makefile + echo 'ISNOTSRCDIR=test ! -f configure' >>$SRC/Makefile + $SED -f $tmp/conftemp.sed Makefile >>$SRC/Makefile + echo 'done: ;@ if grep "$(RULE)-done .*:" Makefile > /dev/null; then dnl + echo $(MAKE) $(RULE)-done ; $(MAKE) $(RULE)-done ; else true ; fi' dnl + >> $SRC/Makefile + if test -f "$SRC/m4_ifval([$2],[$2],[END])" ; then + AC_MSG_NOTICE([extend TOP/Makefile with TOP/m4_ifval([$2],[$2],[END])]) + cat $SRC/END >>$SRC/Makefile + fi + AC_MSG_NOTICE([make uses BUILD=$SUB (on $ax_enable_builddir_host:)]) + fi +popdef([END])dnl +AS_VAR_POPDEF([SED])dnl +AS_VAR_POPDEF([SRC])dnl +AS_VAR_POPDEF([TOP])dnl +AS_VAR_POPDEF([SUB])dnl +],[dnl +ax_enable_builddir_srcdir="$srcdir" # $srcdir +ax_enable_builddir_host="$HOST" # $HOST / $host +ax_enable_builddir_version="$VERSION" # $VERSION +ax_enable_builddir_package="$PACKAGE" # $PACKAGE +ax_enable_builddir_sed="$ax_enable_builddir_sed" # $SED +ax_enable_builddir="$ax_enable_builddir" # $SUB +])dnl +]) diff --git a/Build/source/libs/zziplib/m4/ax_expand_prefix.m4 b/Build/source/libs/zziplib/m4/ax_expand_prefix.m4 new file mode 100644 index 00000000000..95407ce99e2 --- /dev/null +++ b/Build/source/libs/zziplib/m4/ax_expand_prefix.m4 @@ -0,0 +1,33 @@ +dnl @synopsis AX_EXPAND_PREFIX +dnl +dnl when $prefix and $exec_prefix are still set to NONE then set them +dnl to the usual default values - being based on $ac_default_prefix. - +dnl this macro can be AC_REQUIREd by other macros that need to compute +dnl values for installation directories. It has been observed that it +dnl was done wrong over and over again, so this is a bit more safe to +dnl do. +dnl +dnl remember - setting exec_prefix='${prefix}' needs you interpolate +dnl directories multiple times, it is not sufficient to just say +dnl MYVAR="${datadir}/putter" but you do have to run `eval` a few +dnl times, sth. like MYVAR=`eval "echo \"$MYVAR\""` done atleast two +dnl times. +dnl +dnl The implementation of this macro simply picks up the lines that +dnl would be run at the start of AC_OUTPUT anyway to set the +dnl prefix/exec_prefix defaults. Between AC_INIT and the first command +dnl to AC_REQUIRE this macro you can set the two variables to something +dnl explicit instead. Probably, any command to compute installation +dnl directories should be run _after_ AM_INIT_AUTOMAKE +dnl +dnl @category Misc +dnl @author Guido Draheim <guidod@gmx.de> +dnl @version 2005-01-21 +dnl @license GPLWithACException + +AC_DEFUN([AX_EXPAND_PREFIX],[dnl + # The prefix default can be set in configure.ac (otherwise it is /usr/local) + test "x$prefix" = xNONE && prefix=$ac_default_prefix + # Let make expand exec_prefix. Allows to override the makevar 'prefix' later + test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' +]) diff --git a/Build/source/libs/zziplib/m4/ax_maintainer_mode_auto_silent.m4 b/Build/source/libs/zziplib/m4/ax_maintainer_mode_auto_silent.m4 new file mode 100644 index 00000000000..de6c41ec04c --- /dev/null +++ b/Build/source/libs/zziplib/m4/ax_maintainer_mode_auto_silent.m4 @@ -0,0 +1,38 @@ +dnl @synopsis AX_MAINTAINER_MODE_AUTO_SILENT +dnl +dnl Set autotools to error/sleep settings so that they are not run when +dnl being errornously triggered. Likewise make libtool-silent when +dnl libtool has been used. +dnl +dnl I am using the macro quite a lot since some automake versions had +dnl the tendency to try to rerun some autotools on a mere make even +dnl when not quite in --maintainer-mode. That is very annoying. +dnl Likewise, a user who installs from source does not want to see +dnl doubled compiler messages. +dnl +dnl I did not put an AC-REQUIRE(MAINTAINER_MODE) in here - should I? +dnl +dnl @category Misc +dnl @category Automake +dnl @author Guido Draheim <guidod@gmx.de> +dnl @version 2005-01-21 +dnl @license GPLWithACException + +AC_DEFUN([AX_MAINTAINER_MODE_AUTO_SILENT],[dnl +dnl ac_REQUIRE([am_MAINTAINER_MODE])dn +AC_MSG_CHECKING(auto silent in maintainer mode) +if test "$USE_MAINTAINER_MODE" = "no" ; then + test ".$TIMEOUT" = "." && TIMEOUT="9" + AUTOHEADER="sleep $TIMEOUT ; true || autoheader || skipped" + AUTOMAKE="sleep $TIMEOUT ; true || automake || skipped" + AUTOCONF="sleep $TIMEOUT ; true || autoconf || skipped" + if test ".$LIBTOOL" != "." ; then + LIBTOOL="$LIBTOOL --silent" + AC_MSG_RESULT([libtool-silent, auto-sleep-9]) + else + AC_MSG_RESULT([auto-sleep-9]) + fi +else + AC_MSG_RESULT([no]) +fi +]) diff --git a/Build/source/libs/zziplib/m4/ax_not_enable_frame_pointer.m4 b/Build/source/libs/zziplib/m4/ax_not_enable_frame_pointer.m4 new file mode 100644 index 00000000000..94be736537b --- /dev/null +++ b/Build/source/libs/zziplib/m4/ax_not_enable_frame_pointer.m4 @@ -0,0 +1,31 @@ + +dnl ______ /usr/share/aclocal/guidod/ax_not_enable_frame_pointer.m4 ______ +dnl @synopsis AX_NOT_ENABLE_FRAME_POINTER ([shellvar]) +dnl +dnl add --enable-frame-pointer option, the default will add the gcc +dnl --fomit-frame-pointer option to the shellvar (per default CFLAGS) +dnl and remove the " -g " debuginfo option from it. In other words, +dnl the default is "--disable-frame-pointer" +dnl +dnl @author guidod@gmx.de +dnl @version 2004-11-30 + +AC_DEFUN([AX_NOT_ENABLE_FRAME_POINTER],[dnl +AS_VAR_PUSHDEF([VAR],[enable_frame_pointer])dnl +AC_MSG_CHECKING([m4_ifval($1,$1,CFLAGS) frame-pointer]) +AC_ARG_ENABLE([frame-pointer], AC_HELP_STRING( + [--enable-frame-pointer],[enable callframe generation for debugging])) +case ".$VAR" in + .|.no|.no,*) test ".$VAR" = "." && VAR="no" + m4_ifval($1,$1,CFLAGS)=`echo dnl + " $m4_ifval($1,$1,CFLAGS) " | sed -e 's/ -g / /'` + if test ".$GCC" = ".yes" ; then + m4_ifval($1,$1,CFLAGS)="$m4_ifval($1,$1,CFLAGS) -fomit-frame-pointer" + AC_MSG_RESULT([$VAR, -fomit-frame-pointer added]) + else + AC_MSG_RESULT([$VAR, -g removed]) + fi ;; + *) AC_MSG_RESULT([$VAR, kept]) ;; +esac +AS_VAR_POPDEF([VAR])dnl +]) diff --git a/Build/source/libs/zziplib/m4/ax_prefix_config_h.m4 b/Build/source/libs/zziplib/m4/ax_prefix_config_h.m4 new file mode 100644 index 00000000000..efd8bad52f8 --- /dev/null +++ b/Build/source/libs/zziplib/m4/ax_prefix_config_h.m4 @@ -0,0 +1,171 @@ +dnl @synopsis AX_PREFIX_CONFIG_H [(OUTPUT-HEADER [,PREFIX [,ORIG-HEADER]])] +dnl +dnl This is a new variant from ac_prefix_config_ this one will use a +dnl lowercase-prefix if the config-define was starting with a +dnl lowercase-char, e.g. "#define const", "#define restrict", or +dnl "#define off_t", (and this one can live in another directory, e.g. +dnl testpkg/config.h therefore I decided to move the output-header to +dnl be the first arg) +dnl +dnl takes the usual config.h generated header file; looks for each of +dnl the generated "#define SOMEDEF" lines, and prefixes the defined +dnl name (ie. makes it "#define PREFIX_SOMEDEF". The result is written +dnl to the output config.header file. The PREFIX is converted to +dnl uppercase for the conversions. +dnl +dnl Defaults: +dnl +dnl OUTPUT-HEADER = $PACKAGE-config.h +dnl PREFIX = $PACKAGE +dnl ORIG-HEADER, from AM_CONFIG_HEADER(config.h) +dnl +dnl Your configure.ac script should contain both macros in this order, +dnl and unlike the earlier variations of this prefix-macro it is okay +dnl to place the AX_PREFIX_CONFIG_H call before the AC_OUTPUT +dnl invokation. +dnl +dnl Example: +dnl +dnl AC_INIT(config.h.in) # config.h.in as created by "autoheader" +dnl AM_INIT_AUTOMAKE(testpkg, 0.1.1) # makes #undef VERSION and PACKAGE +dnl AM_CONFIG_HEADER(config.h) # prep config.h from config.h.in +dnl AX_PREFIX_CONFIG_H(mylib/_config.h) # prep mylib/_config.h from it.. +dnl AC_MEMORY_H # makes "#undef NEED_MEMORY_H" +dnl AC_C_CONST_H # makes "#undef const" +dnl AC_OUTPUT(Makefile) # creates the "config.h" now +dnl # and also mylib/_config.h +dnl +dnl if the argument to AX_PREFIX_CONFIG_H would have been omitted then +dnl the default outputfile would have been called simply +dnl "testpkg-config.h", but even under the name "mylib/_config.h" it +dnl contains prefix-defines like +dnl +dnl #ifndef TESTPKG_VERSION +dnl #define TESTPKG_VERSION "0.1.1" +dnl #endif +dnl #ifndef TESTPKG_NEED_MEMORY_H +dnl #define TESTPKG_NEED_MEMORY_H 1 +dnl #endif +dnl #ifndef _testpkg_const +dnl #define _testpkg_const _const +dnl #endif +dnl +dnl and this "mylib/_config.h" can be installed along with other +dnl header-files, which is most convenient when creating a shared +dnl library (that has some headers) where some functionality is +dnl dependent on the OS-features detected at compile-time. No need to +dnl invent some "mylib-confdefs.h.in" manually. :-) +dnl +dnl Note that some AC_DEFINEs that end up in the config.h file are +dnl actually self-referential - e.g. AC_C_INLINE, AC_C_CONST, and the +dnl AC_TYPE_OFF_T say that they "will define inline|const|off_t if the +dnl system does not do it by itself". You might want to clean up about +dnl these - consider an extra mylib/conf.h that reads something like: +dnl +dnl #include <mylib/_config.h> +dnl #ifndef _testpkg_const +dnl #define _testpkg_const const +dnl #endif +dnl +dnl and then start using _testpkg_const in the header files. That is +dnl also a good thing to differentiate whether some library-user has +dnl starting to take up with a different compiler, so perhaps it could +dnl read something like this: +dnl +dnl #ifdef _MSC_VER +dnl #include <mylib/_msvc.h> +dnl #else +dnl #include <mylib/_config.h> +dnl #endif +dnl #ifndef _testpkg_const +dnl #define _testpkg_const const +dnl #endif +dnl +dnl @category Misc +dnl @author Guido Draheim <guidod@gmx.de> +dnl @version 2003-07-03 +dnl @license GPLWithACException +AC_DEFUN([AX_PREFIX_CONFIG_H],[AC_REQUIRE([AC_CONFIG_HEADER]) +AC_CONFIG_COMMANDS([ifelse($1,,$PACKAGE-config.h,$1)],[dnl +AS_VAR_PUSHDEF([_OUT],[ac_prefix_conf_OUT])dnl +AS_VAR_PUSHDEF([_DEF],[ac_prefix_conf_DEF])dnl +AS_VAR_PUSHDEF([_PKG],[ac_prefix_conf_PKG])dnl +AS_VAR_PUSHDEF([_LOW],[ac_prefix_conf_LOW])dnl +AS_VAR_PUSHDEF([_UPP],[ac_prefix_conf_UPP])dnl +AS_VAR_PUSHDEF([_INP],[ac_prefix_conf_INP])dnl +m4_pushdef([_script],[conftest.prefix])dnl +m4_pushdef([_symbol],[m4_cr_Letters[]m4_cr_digits[]_])dnl +_OUT=`echo ifelse($1, , $PACKAGE-config.h, $1)` +_DEF=`echo _$_OUT | sed -e "y:m4_cr_letters:m4_cr_LETTERS[]:" -e "s/@<:@^m4_cr_Letters@:>@/_/g"` +_PKG=`echo ifelse($2, , $PACKAGE, $2)` +_LOW=`echo _$_PKG | sed -e "y:m4_cr_LETTERS-:m4_cr_letters[]_:"` +_UPP=`echo $_PKG | sed -e "y:m4_cr_letters-:m4_cr_LETTERS[]_:" -e "/^@<:@m4_cr_digits@:>@/s/^/_/"` +_INP=`echo "ifelse($3,,,$3)" | sed -e 's/ *//'` +if test ".$_INP" = "."; then + for ac_file in : $CONFIG_HEADERS; do test "_$ac_file" = _: && continue + case "$ac_file" in + *.h) _INP=$ac_file ;; + *) + esac + test ".$_INP" != "." && break + done +fi +if test ".$_INP" = "."; then + case "$_OUT" in + */*) _INP=`basename "$_OUT"` + ;; + *-*) _INP=`echo "$_OUT" | sed -e "s/@<:@_symbol@:>@*-//"` + ;; + *) _INP=config.h + ;; + esac +fi +if test -z "$_PKG" ; then + AC_MSG_ERROR([no prefix for _PREFIX_PKG_CONFIG_H]) +else + if test ! -f "$_INP" ; then if test -f "$srcdir/$_INP" ; then + _INP="$srcdir/$_INP" + fi fi + AC_MSG_NOTICE(creating $_OUT - prefix $_UPP for $_INP defines) + if test -f $_INP ; then + echo "s/@%:@undef *\\(@<:@m4_cr_LETTERS[]_@:>@\\)/@%:@undef $_UPP""_\\1/" > _script + echo "s/@%:@undef *\\(@<:@m4_cr_letters@:>@\\)/@%:@undef $_LOW""_\\1/" >> _script + echo "s/@%:@def[]ine *\\(@<:@m4_cr_LETTERS[]_@:>@@<:@_symbol@:>@*\\)\\(.*\\)/@%:@ifndef $_UPP""_\\1 \\" >> _script + echo "@%:@def[]ine $_UPP""_\\1 \\2 \\" >> _script + echo "@%:@endif/" >>_script + echo "s/@%:@def[]ine *\\(@<:@m4_cr_letters@:>@@<:@_symbol@:>@*\\)\\(.*\\)/@%:@ifndef $_LOW""_\\1 \\" >> _script + echo "@%:@define $_LOW""_\\1 \\2 \\" >> _script + echo "@%:@endif/" >> _script + # now executing _script on _DEF input to create _OUT output file + echo "@%:@ifndef $_DEF" >$tmp/pconfig.h + echo "@%:@def[]ine $_DEF 1" >>$tmp/pconfig.h + echo ' ' >>$tmp/pconfig.h + echo /'*' $_OUT. Generated automatically at end of configure. '*'/ >>$tmp/pconfig.h + + sed -f _script $_INP >>$tmp/pconfig.h + echo ' ' >>$tmp/pconfig.h + echo '/* once:' $_DEF '*/' >>$tmp/pconfig.h + echo "@%:@endif" >>$tmp/pconfig.h + if cmp -s $_OUT $tmp/pconfig.h 2>/dev/null; then + AC_MSG_NOTICE([$_OUT is unchanged]) + else + ac_dir=`AS_DIRNAME(["$_OUT"])` + AS_MKDIR_P(["$ac_dir"]) + rm -f "$_OUT" + mv $tmp/pconfig.h "$_OUT" + fi + cp _script _configs.sed + else + AC_MSG_ERROR([input file $_INP does not exist - skip generating $_OUT]) + fi + rm -f conftest.* +fi +m4_popdef([_symbol])dnl +m4_popdef([_script])dnl +AS_VAR_POPDEF([_INP])dnl +AS_VAR_POPDEF([_UPP])dnl +AS_VAR_POPDEF([_LOW])dnl +AS_VAR_POPDEF([_PKG])dnl +AS_VAR_POPDEF([_DEF])dnl +AS_VAR_POPDEF([_OUT])dnl +],[PACKAGE="$PACKAGE"])]) diff --git a/Build/source/libs/zziplib/m4/ax_set_version_info.m4 b/Build/source/libs/zziplib/m4/ax_set_version_info.m4 new file mode 100644 index 00000000000..742b6c19772 --- /dev/null +++ b/Build/source/libs/zziplib/m4/ax_set_version_info.m4 @@ -0,0 +1,178 @@ +dnl @synopsis AX_SET_VERSION_INFO [(VERSION [,PREFIX])] +dnl @synopsis default $1 = $PACKAGE_VERSION +dnl @synopsis default $2 = <none> +dnl +dnl This macro is the successor of AC_SET_RELEASEINFO_VERSIONINFO but +dnl it can be used in parallel because it uses all different variables. +dnl +dnl check the $VERSION number and cut the two last digit-sequences off +dnl which will form a -version-info in a @VERSION_INFO@ ac_subst while +dnl the rest is going to the -release name in a @RELEASE_INFO@ +dnl ac_subst. +dnl +dnl you should keep these two seperate - the release-name may contain +dnl alpha-characters and can be modified later with extra release-hints +dnl e.g. RELEASE_INFO="$RELEASE_INFO-debug" for a debug version of your +dnl lib. The $VERSION_INFO however should not be touched. +dnl +dnl example: a VERSION="2.4.18" will be transformed into +dnl +dnl RELEASE_INFO = -release 2 +dnl VERSION_INFO = -versioninfo 4:18 +dnl +dnl then use these two variables and push them to your libtool linker +dnl +dnl libtest_la_LIBADD = @RELEASE_INFO@ @VERSION_INFO@ +dnl +dnl and for a linux-target this will tell libtool to install the lib as +dnl +dnl libmy.so libmy.la libmy.a libmy-2.so.4 libmy-2.so.4.0.18 +dnl +dnl and executables will get link-resolve-infos for libmy-2.so.4 - +dnl therefore the patch-level is ignored during ldso linking, and ldso +dnl will use the one with the highest patchlevel. Using just "-release +dnl $(VERSION)" during libtool-linking would not do that - omitting the +dnl -version-info will libtool install libmy.so libmy.la libmy.a +dnl libmy-2.4.18.so and executables would get hardlinked with the +dnl 2.4.18 version of your lib. +dnl +dnl This background does also explain the default dll name for a win32 +dnl target : libtool will choose to make up libmy-2-4.dll for this +dnl version spec. +dnl +dnl this macro does also set the usual three parts of a version spec +dnl $MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION but does not ac_subst +dnl for the plain AX_SET_VERSION_INFO macro. Use instead one of the +dnl numbered macros AX_SET_VERSION_INFO1 (use first number for release +dnl part) or that AX_SET_VERSION_INFO2 (use the first two numbers for +dnl release part). +dnl +dnl You may add sublevel parts like "1.4.2-ac5" where the sublevel is +dnl just killed from these version/release substvars. That allows to +dnl grab the version off a .spec file like with AX_SPEC_PACKAGE_VERSION +dnl where the $VERSION is used to name a tarball or distpack like +dnl mylib-2.2.9pre4 +dnl +dnl Unlike earlier macros, you can use this one to break up different +dnl VERSIONs and put them into different variables, just hint with +dnl PREFIX-setting - i.e. _VERSION(2.4.5,TEST) will set variables named +dnl TEST_MAJOR_VERSION=2... and of course $TEST_RELEASE_INFO etc. (for +dnl the moment, it needs to be a literal prefix *sigh*) +dnl +dnl @category Misc +dnl @author Guido Draheim <guidod@gmx.de> +dnl @version 2005-01-21 +dnl @license GPLWithACException + +AC_DEFUN([AX_SET_VERSION_INFO1],[dnl +AS_VAR_PUSHDEF([MAJOR],ifelse($2,,[MAJOR_VERSION],[$2_MAJOR_VERSION]))dnl +AS_VAR_PUSHDEF([MINOR],ifelse($2,,[MINOR_VERSION],[$2_MINOR_VERSION]))dnl +AS_VAR_PUSHDEF([MICRO],ifelse($2,,[MICRO_VERSION],[$2_MICRO_VERSION]))dnl +AS_VAR_PUSHDEF([PATCH],ifelse($2,,[PATCH_VERSION],[$2_PATCH_VERSION]))dnl +AS_VAR_PUSHDEF([LTREL],ifelse($2,,[RELEASE_INFO],[$2_RELEASE_INFO]))dnl +AS_VAR_PUSHDEF([LTVER],ifelse($2,,[VERSION_INFO],[$2_VERSION_INFO]))dnl +test ".$PACKAGE_VERSION" = "." && PACKAGE_VERSION="$VERSION" +AC_MSG_CHECKING(ifelse($2,,,[$2 ])out linker version info dnl +ifelse($1,,$PACKAGE_VERSION,$1) ) + MINOR=`echo ifelse( $1, , $PACKAGE_VERSION, $1 )` + MAJOR=`echo "$MINOR" | sed -e 's/[[.]].*//'` + MINOR=`echo "$MINOR" | sed -e "s/^$MAJOR//" -e 's/^.//'` + MICRO="$MINOR" + MINOR=`echo "$MICRO" | sed -e 's/[[.]].*//'` + MICRO=`echo "$MICRO" | sed -e "s/^$MINOR//" -e 's/^.//'` + PATCH="$MICRO" + MICRO=`echo "$PATCH" | sed -e 's/[[^0-9]].*//'` + PATCH=`echo "$PATCH" | sed -e "s/^$MICRO//" -e 's/^[[-.]]//'` + if test "_$MICRO" = "_" ; then MICRO="0" ; fi + if test "_$MINOR" = "_" ; then MINOR="$MAJOR" ; MAJOR="0" ; fi + MINOR=`echo "$MINOR" | sed -e 's/[[^0-9]].*//'` + LTREL="-release $MAJOR" + LTVER="-version-info $MINOR:$MICRO" +AC_MSG_RESULT([/$MAJOR/$MINOR:$MICRO (-$MAJOR.so.$MINOR.0.$MICRO)]) +AC_SUBST(MAJOR) +AC_SUBST(MINOR) +AC_SUBST(MICRO) +AC_SUBST(PATCH) +AC_SUBST(LTREL) +AC_SUBST(LTVER) +AS_VAR_POPDEF([LTVER])dnl +AS_VAR_POPDEF([LTREL])dnl +AS_VAR_POPDEF([PATCH])dnl +AS_VAR_POPDEF([MICRO])dnl +AS_VAR_POPDEF([MINOR])dnl +AS_VAR_POPDEF([MAJOR])dnl +]) + +AC_DEFUN([AX_SET_VERSION_INFO2],[dnl +AS_VAR_PUSHDEF([MAJOR],ifelse($2,,[MAJOR_VERSION],[$2_MAJOR_VERSION]))dnl +AS_VAR_PUSHDEF([MINOR],ifelse($2,,[MINOR_VERSION],[$2_MINOR_VERSION]))dnl +AS_VAR_PUSHDEF([MICRO],ifelse($2,,[MICRO_VERSION],[$2_MICRO_VERSION]))dnl +AS_VAR_PUSHDEF([PATCH],ifelse($2,,[PATCH_VERSION],[$2_PATCH_VERSION]))dnl +AS_VAR_PUSHDEF([LTREL],ifelse($2,,[RELEASE_INFO],[$2_RELEASE_INFO]))dnl +AS_VAR_PUSHDEF([LTVER],ifelse($2,,[VERSION_INFO],[$2_VERSION_INFO]))dnl +test ".$PACKAGE_VERSION" = "." && PACKAGE_VERSION="$VERSION" +AC_MSG_CHECKING(ifelse($2,,,[$2 ])out linker version info dnl +ifelse($1,,$PACKAGE_VERSION,$1) ) + MINOR=`echo ifelse( $1, , $PACKAGE_VERSION, $1 )` + MAJOR=`echo "$MINOR" | sed -e 's/[[.]].*//'` + MINOR=`echo "$MINOR" | sed -e "s/^$MAJOR//" -e 's/^.//'` + MICRO="$MINOR" + MINOR=`echo "$MICRO" | sed -e 's/[[.]].*//'` + MICRO=`echo "$MICRO" | sed -e "s/^$MINOR//" -e 's/^.//'` + PATCH="$MICRO" + MICRO=`echo "$PATCH" | sed -e 's/[[^0-9]].*//'` + PATCH=`echo "$PATCH" | sed -e "s/^$MICRO//" -e 's/^[[-.]]//'` + test "_$MICRO" != "_" || MICRO="0" + if test "_$MINOR" != "_" ; then MINOR="$MAJOR" ; MAJOR="0" ; fi + MINOR=`echo "$MINOR" | sed -e 's/[[^0-9]].*//'` + LTREL="-release $MAJOR.$MINOR" + LTVER="-version-info 0:$MICRO" +AC_MSG_RESULT([/$MAJOR/$MINOR:$MICRO (-$MAJOR.so.$MINOR.0.$MICRO)]) +AC_SUBST(MAJOR) +AC_SUBST(MINOR) +AC_SUBST(MICRO) +AC_SUBST(PATCH) +AC_SUBST(LTREL) +AC_SUBST(LTVER) +AS_VAR_POPDEF([LTVER])dnl +AS_VAR_POPDEF([LTREL])dnl +AS_VAR_POPDEF([PATCH])dnl +AS_VAR_POPDEF([MICRO])dnl +AS_VAR_POPDEF([MINOR])dnl +AS_VAR_POPDEF([MAJOR])dnl +]) + +AC_DEFUN([AX_SET_VERSION_INFO],[dnl +AS_VAR_PUSHDEF([MAJOR],ifelse($2,,[MAJOR_VERSION],[$2_MAJOR_VERSION]))dnl +AS_VAR_PUSHDEF([MINOR],ifelse($2,,[MINOR_VERSION],[$2_MINOR_VERSION]))dnl +AS_VAR_PUSHDEF([MICRO],ifelse($2,,[MICRO_VERSION],[$2_MICRO_VERSION]))dnl +AS_VAR_PUSHDEF([PATCH],ifelse($2,,[PATCH_VERSION],[$2_PATCH_VERSION]))dnl +AS_VAR_PUSHDEF([LTREL],ifelse($2,,[RELEASE_INFO],[$2_RELEASE_INFO]))dnl +AS_VAR_PUSHDEF([LTVER],ifelse($2,,[VERSION_INFO],[$2_VERSION_INFO]))dnl +test ".$PACKAGE_VERSION" = "." && PACKAGE_VERSION="$VERSION" +AC_MSG_CHECKING(ifelse($2,,,[$2 ])out linker version info dnl +ifelse($1,,$PACKAGE_VERSION,$1) ) + MINOR=`echo ifelse( $1, , $PACKAGE_VERSION, $1 )` + MAJOR=`echo "$MINOR" | sed -e 's/[[.]].*//'` + MINOR=`echo "$MINOR" | sed -e "s/^$MAJOR//" -e 's/^.//'` + MICRO="$MINOR" + MINOR=`echo "$MICRO" | sed -e 's/[[.]].*//'` + MICRO=`echo "$MICRO" | sed -e "s/^$MINOR//" -e 's/^.//'` + PATCH="$MICRO" + MICRO=`echo "$PATCH" | sed -e 's/[[^0-9]].*//'` + PATCH=`echo "$PATCH" | sed -e "s/^$MICRO//" -e 's/[[-.]]//'` + if test "_$MICRO" = "_" ; then MICRO="0" ; fi + if test "_$MINOR" = "_" ; then MINOR="$MAJOR" ; MAJOR="0" ; fi + MINOR=`echo "$MINOR" | sed -e 's/[[^0-9]].*//'` + LTREL="-release $MAJOR" + LTVER="-version-info $MINOR:$MICRO" +AC_MSG_RESULT([/$MAJOR/$MINOR:$MICRO (-$MAJOR.so.$MINOR.0.$MICRO)]) +AC_SUBST(LTREL) +AC_SUBST(LTVER) +AS_VAR_POPDEF([LTVER])dnl +AS_VAR_POPDEF([LTREL])dnl +AS_VAR_POPDEF([PATCH])dnl +AS_VAR_POPDEF([MICRO])dnl +AS_VAR_POPDEF([MINOR])dnl +AS_VAR_POPDEF([MAJOR])dnl +]) diff --git a/Build/source/libs/zziplib/m4/ax_spec_file.m4 b/Build/source/libs/zziplib/m4/ax_spec_file.m4 new file mode 100644 index 00000000000..a12955db3dd --- /dev/null +++ b/Build/source/libs/zziplib/m4/ax_spec_file.m4 @@ -0,0 +1,98 @@ +dnl @synopsis AX_SPEC_FILE [(rpmspecfile [,subdirpath])] +dnl +dnl set the specfile - if no argument has been given then check whether +dnl the ac_unique_file looks like a .spec file and use it. This macro +dnl is ac_REQUIRED by many AX_SPEC_ routines. +dnl +dnl the AX_SPEC_EXTRACT macro is a helper used by many AX_SPEC_ +dnl routines and therefore placed here to be automatically included in +dnl the macro set of (older) aclocal/acinclude. +dnl +dnl AX_SPEC_EXTRACT(shellvar [,specvar [,defaultvalue]]) +dnl +dnl @category Misc +dnl @author Guido Draheim <guidod@gmx.de> +dnl @version 2005-01-21 +dnl @license GPLWithACException + +AC_DEFUN([AX_SPEC_FILE], +[ AC_MSG_CHECKING([rpm spec file]) + if test ".$1" != "." ; then + ax_spec_file_="$1" + ax_spec_file=`basename $1` + else + case ".$ac_unique_file" in + *.spec) ax_spec_file="$ac_unique_file" + ax_spec_file_="$ac_unique_file" ;; + *) ax_spec_file="TODO" + if test ".$PACKAGE" != "." + then ax_spec_file_="$PACKAGE.spec" + else ax_spec_file_="README" + fi + cat m4_ifset([AS_MESSAGE_LOG_FD],[>&AS_MESSAGE_LOG_FD],[>>config.log]) <<EOF + no ax_spec_file argument has been given, using defaults of + (1) $ax_spec_file_ + (2) $ax_spec_file +EOF + ;; + esac + fi + # find specfile + for i in ifelse($2,,,$2) . $srcdir $srcdir/.. .. ; do + if test -f "$i/$ax_spec_file_" ; then + ax_spec_dir="$i" + ax_spec_file="$ax_spec_dir/$ax_spec_file_" + break + fi + if test -f "$i/$ax_spec_file" ; then + ax_spec_dir="$i" + ax_spec_file="$ax_spec_dir/$ax_spec_file" + break + fi + done + case "$ax_spec_file" in + ./*) if test "$ax_spec_file" = "./$ax_spec_file_" ; then + ax_spec_file="$ax_spec_file_" + fi + AC_MSG_RESULT([$ax_spec_file]) ;; + */*) AC_MSG_RESULT([$ax_spec_file]) ;; + *) AC_MSG_ERROR([no rpm spec file found]) ;; + esac + m4_define([m4_ax_spec_file],[ax_spec_file]) +]) + +dnl AX_SPEC_EXTRACT(shellvar [,specvar [,defaultvalue]]) + +AC_DEFUN([AX_SPEC_EXTRACT], +[ + if test ".$[]$1" = "." ; then + $1=`grep -i '^[[ ]]*m4_ifval([$2],[$2],[$1])[[ ]]*:' dnl + "$ax_spec_file" | sed -e 's/.*:[[ ]]*//' dnl + -e 's/[[ ]][[ ]]*/ /g' -e 's/^ //' -e 's/ $[]//' -e 'q'` + if test ".$[]$1" = "." ; then + for $1 in $2 $1 m4_tolower([$1]) ; do + $1=`echo "$[]$1" | sed -e 's/^%//g'` + $1=`sed dnl + -e "/^%[[ ]]*def[]ine[[ ]][[ ]]*$[]$1[[ ]]/!d" dnl + -e "s/^%[[ ]]*def[]ine[[ ]][[ ]]*$[]$1[[ ]]*//" dnl + -e 's/[[ ]][[ ]]*/ /' -e 's/ $[]//' -e 'q' $ax_spec_file` + test ".$1" != "." && break + done + fi + case ".$[]$1" in + .%{*) + $1=`echo "$[]$1" | sed -e 's/%{//' -e 's/}$[]//'` + $1=`sed dnl + -e "/^%[[ ]]*def[]ine[[ ]][[ ]]*$[]$1[[ ]]/!d" dnl + -e "s/^%[[ ]]*def[]ine[[ ]][[ ]]*$[]$1[[ ]]*//" dnl + -e 's/[[ ]][[ ]]*/ /' -e 's/ $[]//' -e 'q' $ax_spec_file` ;; + .%*) + $1=`echo "$[]$1" | sed -e 's/%//'` + $1=`sed dnl + -e "/^%[[ ]]*def[]ine[[ ]][[ ]]*$[]$1[[ ]]/!d" dnl + -e "s/^%[[ ]]*def[]ine[[ ]][[ ]]*$[]$1[[ ]]*//" dnl + -e 's/[[ ]][[ ]]*/ /' -e 's/ $[]//' -e 'q' $ax_spec_file` ;; + esac + m4_ifval([$3],[test ".$[]$1" = "." && $1="$3"]) + fi # test ".$[]$1" = "." +]) diff --git a/Build/source/libs/zziplib/m4/ax_spec_package_version.m4 b/Build/source/libs/zziplib/m4/ax_spec_package_version.m4 new file mode 100644 index 00000000000..39766d96091 --- /dev/null +++ b/Build/source/libs/zziplib/m4/ax_spec_package_version.m4 @@ -0,0 +1,227 @@ +dnl @synopsis AX_SPEC_PACKAGE_AND_VERSION ([specfile]) +dnl @synopsis AX_SPEC_PACKAGE_NAME ([shellvar],[defaultvalue]) +dnl @synopsis AX_SPEC_PACKAGE_VERSION ([shellvar],[defaultvalue]) +dnl @synopsis AX_SPEC_PACKAGE_SUMMARY ([shellvar],[defaultvalue]) +dnl @synopsis AX_SPEC_PACKAGE_LICENSE ([shellvar],[defaultvalue]) +dnl @synopsis AX_SPEC_PACKAGE_CATEGORY ([shellvar],[defaultvalue]) +dnl @synopsis AX_SPEC_PACKAGE_ICON ([shellvar],[defaultvalue]) +dnl @synopsis AX_SPEC_DEFAULTS([specfile]) +dnl +dnl set PACKAGE from the given specfile - default to basename of the +dnl rpmspecfile if no "name:" could be found in the spec file. +dnl +dnl set VERSION from the given specfile - default to a date-derived +dnl value if no "version:" could be found in the spec file. +dnl +dnl this macro builds on top of AX_SPEC_FILE / AX_SPEC_EXTRACT +dnl +dnl more specific: if not "name:" or "%define name" was found in the +dnl myproject.spec file then the PACKAGE var is set to the basename +dnl "myproject". When no spec file was present then it will usually +dnl default to "TODO". +dnl +dnl The version spec looks for "version:" or "%define version" in the +dnl spec file. When no such value was seen or no spec file had been +dnl present then the value is set to `date +0.%y.%W%w`. +dnl +dnl the version value itself is sanitized somewhat with making it to +dnl always carry atleast three digits (1.2.3) and clensing superflous +dnl "0" chars around from generating numbers elsewhere. +dnl +dnl additional macros are provided that extract a specific value from +dnl the spec file, among these: +dnl +dnl set PACKAGE_SUMMARY from the given specfile - default to package +dnl and try to detect a type suffix if "summary:" was not in the spec +dnl file +dnl +dnl set PACKAGE_LICENSE from the given specfile - if no "license:" tag +dnl was given in the spec file then various COPYING files are grepped +dnl to have a guess and the final fallback will be GNU GPL (or GNU +dnl LGPL). +dnl +dnl set PACKAGE_ICON from the given specfile - if no "icon:" tag was +dnl given in the spec file then we default to $PACKAGE-icon.png +dnl +dnl the final AX_SPEC_INIT(specfile) will initialize all variables to +dnl its defaults according to the spec file given. +dnl +dnl @category Misc +dnl @author Guido Draheim <guidod@gmx.de> +dnl @version 2005-01-21 +dnl @license GPLWithACException + +AC_DEFUN([AX_SPEC_PACKAGE_LICENSE],[AC_REQUIRE([AX_SPEC_FILE])dnl + AS_VAR_PUSHDEF([VAR],[PACKAGE_LICENSE])dnl + AC_MSG_CHECKING([for spec license type]) + if test ".$VAR" = "." ; then if test ! -f $ax_spec_file + then k="(w/o spec)" + else k="" + AX_SPEC_EXTRACT(VAR,[license],m4_ifval($1,$1)) + VAR=`echo $VAR | sed -e 's/ *License//g'` + fi fi + test ".$VAR" = "." && k="(fallback)" + ifelse($2,,[dnl here the defaults for LICENSE / COPYRIGHT + if test ".$VAR" = "." ; then + for ac_file in "$srcdir/COPYING" "$srcdir/COPYING" "$srcdir/LICENSE" ; do + test -f "$ac_file" || continue +dnl http://www.ibiblio.org/osrt/omf/omf_elements "16. Rights" + if grep "GNU LESSER GENERAL PUBLIC LICENSE" "$ac_file" >/dev/null + then VAR="GNU LGPL" ; break + elif grep "GNU GENERAL PUBLIC LICENSE" "$ac_file" >/dev/null + then VAR="GNU GPL" ; break + elif grep "MOZILLA PUBLIC LICENSE" "$ac_file" >/dev/null + then VAR="MPL" ; break + elif grep "Mozilla Public License" "$ac_file" >/dev/null + then VAR="MPL" ; break + elif grep -i "artistic license" "$ac_file" >/dev/null + then VAR="Artistic" ; break + elif grep -i "artistic control" "$ac_file" >/dev/null + then VAR="Artistic" ; break + elif grep -i "semblance of artistic" "$ac_file" >/dev/null + then VAR="Artistic" ; break + elif grep -i "above copyright notice" "$ac_file" >/dev/null + then VAR="BSD" ; break + fi + done + if test ".$VAR" = "." ; then + if test "$srcdir/COPYING.LIB" ; then VAR="GNU LGPL" + elif test ".$ltmain" != "." ; then VAR="GNU LGPL" + else VAR="GNU GPL" + fi + fi + fi + ],[test ".$VAR" = "." && VAR="$2"]) + test "$VAR" = "GPL" && VAR="GNU GPL" + test "$VAR" = "LGPL" && VAR="GNU LGPL" + AC_MSG_RESULT([m4_ifval([$1],[$1 = ])$VAR $k]) + AS_VAR_POPDEF([VAR])dnl +]) + +AC_DEFUN([AX_SPEC_PACKAGE_SUMMARY],[AC_REQUIRE([AX_SPEC_FILE])dnl + AS_VAR_PUSHDEF([VAR],[PACKAGE_SUMMARY])dnl + AC_MSG_CHECKING([for spec summary]) + if test ".$VAR" = "." ; then if test ! -f $ax_spec_file + then k="(w/o spec)" + else k="" + AX_SPEC_EXTRACT(VAR,[summary],m4_ifval($1,$1)) + fi fi + test ".$VAR" = "." && k="(fallback)" + ifelse($2,,[dnl here the defaults for SUMMARY + if test ".$VAR" = "." ; then VAR="$PACKAGE" + test ".$VAR" = "." && VAR="foo" + test ".$ltmain" != "." && VAR="$VAR library" + fi + ],[test ".$VAR" = "." && VAR="$2"]) + AC_MSG_RESULT([m4_ifval([$1],[$1 = ])$VAR $k]) + AS_VAR_POPDEF([VAR])dnl +]) + +AC_DEFUN([AX_SPEC_PACKAGE_ICON],[AC_REQUIRE([AX_SPEC_FILE])dnl + AS_VAR_PUSHDEF([VAR],[PACKAGE_ICON])dnl + AC_MSG_CHECKING([for spec icon]) + if test ".$VAR" = "." ; then if test ! -f $ax_spec_file + then k="(w/o spec)" + else k="" + AX_SPEC_EXTRACT(VAR,[icon],m4_ifval($1,$1)) + fi fi + test ".$VAR" = "." && k="(fallback)" + ifelse($2,,[dnl here the defaults for ICON + if test ".$VAR" = "." ; then VAR="$PACKAGE-icon.png" ; fi + ],[test ".$VAR" = "." && VAR="$2"]) + AC_MSG_RESULT([m4_ifval([$1],[$1 = ])$VAR $k]) + AS_VAR_POPDEF([VAR])dnl +]) + +AC_DEFUN([AX_SPEC_PACKAGE_CATEGORY],[AC_REQUIRE([AX_SPEC_FILE])dnl + AS_VAR_PUSHDEF([VAR],[PACKAGE_CATEGORY])dnl + AC_MSG_CHECKING([for spec category]) + if test ".$VAR" = "." ; then if test ! -f $ax_spec_file + then k="(w/o spec)" + else k="" + AX_SPEC_EXTRACT(VAR,[group],m4_ifval($1,$1)) + VAR=`echo $VAR | sed -e 's/ /-/g'` + fi fi + test ".$VAR" = "." && k="(fallback)" + ifelse($2,,[dnl here the defaults for CATEGORY + if test ".$VAR" = "." ; then if test ".$ltmain" != "." + then VAR="Development/Library" + else VAR="Development/Other" + fi fi + ],[test ".$VAR" = "." && VAR="$2"]) + AC_MSG_RESULT([m4_ifval([$1],[$1 = ])$VAR $k]) + AS_VAR_POPDEF([VAR])dnl +]) + +AC_DEFUN([AX_SPEC_PACKAGE_NAME],[AC_REQUIRE([AX_SPEC_FILE])dnl + AS_VAR_PUSHDEF([VAR],[PACKAGE_NAME])dnl + AC_MSG_CHECKING([for spec package]) + if test ".$VAR" = "." ; then if test ! -f $ax_spec_file + then k="(w/o spec)" + else k="" + AX_SPEC_EXTRACT(VAR,[name],m4_ifval($1,$1)) + VAR=`echo $VAR | sed -e 's/ /-/g'` + fi fi + test ".$VAR" = "." && k="(fallback)" + ifelse($2,,[dnl here the defaults for PACKAGE + test ".$VAR" = "." && VAR=`basename $ax_spec_file .spec` + test ".$VAR" = ".README" && VAR="TODO" + test ".$VAR" = ".TODO" && VAR="foo" + ],[test ".$VAR" = "." && VAR="$2"]) + test "VAR" = "PACKAGE_NAME" && test ".$PACKAGE" = "." && PACKAGE="$VAR" + AC_MSG_RESULT([m4_ifval([$1],[$1 = ])$VAR $k]) + AS_VAR_POPDEF([VAR])dnl +]) + +AC_DEFUN([AX_SPEC_PACKAGE_VERSION_],[AC_REQUIRE([AX_SPEC_FILE])dnl + AS_VAR_PUSHDEF([VAR],[PACKAGE_VERSION])dnl + AC_MSG_CHECKING([for spec version]) + if test ".$VAR" = "." ; then if test ! -f $ax_spec_file + then k="(w/o spec)" + else k="" + AX_SPEC_EXTRACT(VAR,[version],m4_ifval($1,$1)) + VAR=`echo $VAR | sed -e 's/ /-/g'` + fi fi + test ".$VAR" = "." && k="(fallback)" + ifelse($2,,[dnl here the defaults for VERSION + test ".$VAR" = "." && VAR=`date +0.%y.%W%w` + ],[test ".$VAR" = "." && VAR="$2"]) + test "VAR" = "PACKAGE_VERSION" && test ".$VERSION" = "." && VERSION="$VAR" + case "$VAR" in # note we set traditional VERSION before cleaning things up + *.*.) VAR="$VAR"`date +%W%w` ;; + *.*.*) ;; + *.) VAR="$VAR"`date +%y.%W%w` ;; + *.*) VAR="$VAR.0" ;; + *) VAR=AS_TR_SH([$VAR]) ; VAR="$VAR.`date +%y.%W%w`" ;; + esac + VAR=`echo $VAR | sed -e "s/[[.]][0]\\([0-9]\\)/.\\1/g"` + AC_MSG_RESULT([m4_ifval([$1],[$1 = ])$VAR $k]) + AS_VAR_POPDEF([VAR])dnl +]) + +dnl for compatibility, we define ax_spec_package_version +dnl to do all of ax_spec_package_name as well. +AC_DEFUN([AX_SPEC_PACKAGE_VERSION],[AC_REQUIRE([AX_SPEC_FILE])dnl + ifelse($1,, + AC_MSG_WARN([please use ax_spec_package_AND_version now!]), + AC_MSG_ERROR([please use ax_spec_package_AND_version now!])) + AX_SPEC_PACKAGE_NAME + AX_SPEC_PACKAGE_VERSION_ + +]) + +AC_DEFUN([AX_SPEC_PACKAGE_AND_VERSION],[ + m4_ifset([m4_ax_spec_file],,[AX_SPEC_FILE($1)]) + AX_SPEC_PACKAGE_NAME + AX_SPEC_PACKAGE_VERSION_ +]) + +AC_DEFUN([AX_SPEC_DEFAULTS],[ + m4_ifset([m4_ax_spec_file],,[AX_SPEC_FILE($1)]) + AX_SPEC_PACKAGE_NAME + AX_SPEC_PACKAGE_VERSION_ + AX_SPEC_PACKAGE_LICENSE + AX_SPEC_PACKAGE_SUMMARY + AX_SPEC_PACKAGE_CATEGORY + AX_SPEC_PACKAGE_ICON +]) diff --git a/Build/source/libs/zziplib/m4/ax_warning_default_aclocaldir.m4 b/Build/source/libs/zziplib/m4/ax_warning_default_aclocaldir.m4 new file mode 100644 index 00000000000..c53576fd83f --- /dev/null +++ b/Build/source/libs/zziplib/m4/ax_warning_default_aclocaldir.m4 @@ -0,0 +1,113 @@ +dnl @synopsis AX_WARNING_DEFAULT_ACLOCALDIR [(dirvariable [,[defsetting][,[A][,[N/A]]]])] +dnl @synopsis AX_ENABLE_DEFAULT_ACLOCALDIR [(dirvariable [,defsetting])] +dnl +dnl print a warning message if the $(datadir)/aclocal directory is not +dnl in the dirlist searched by the aclocal tool. This macro is useful +dnl if some `make install` would target $(datadir)/aclocal to install +dnl an autoconf m4 file of your project to be picked up by other +dnl projects. +dnl +dnl default $1 dirvariable = aclocaldir +dnl default $2 defsetting = ${datadir}/aclocal +dnl default $3 action = nothing to do +dnl default $4 action = warn the user about mismatch +dnl +dnl In the _WARNING_ variant, the defsetting is not placed in +dnl dirvariable nor is it ac_subst'ed in any way. The default +dnl fail-action $4 is to send a warning message to the user, and the +dnl default accept-action $3 is nothing. It is expected that a Makefile +dnl is generated with aclocaldir=${datadir}/aclocal +dnl +dnl The _ENABLE_ variant however will set not only the $aclocaldir +dnl shell var of the script, but it is also AC-SUBST'ed on default - +dnl and furthermore a configure option "--enable-default-aclocaldir" is +dnl provided. Only if that option is set then $2 default is not set to +dnl the canonic default in the a $prefix subpath but instead $2 default +dnl is set to the primary path where `aclocal` looks for macros. The +dnl user may also override the default on the command line. +dnl +dnl @category Misc +dnl @category Automake +dnl @author Guido Draheim <guidod@gmx.de> +dnl @version 2005-01-21 +dnl @license GPLWithACException + +AC_DEFUN([AX_WARNING_DEFAULT_ACLOCALDIR],[dnl +AC_REQUIRE([AX_EXPAND_PREFIX])dnl +AS_VAR_PUSHDEF([DIR],[ax_warning_default_aclocal_dir])dnl +AS_VAR_PUSHDEF([BIN],[ax_warning_default_aclocal_bin])dnl +AS_VAR_PUSHDEF([LOC],[ax_warning_default_aclocal_loc])dnl +LOC='m4_if([$2],,[${datadir}/aclocal],[$2])' +m4_ifval([$1],[test ".$[]$1" != "." && LOC="$[]$1"]) + if test ".$ACLOCAL" = "." ; then + AC_PATH_PROG([ACLOCAL],[aclocal],[:]) + fi + BIN="$ACLOCAL" + test ".$BIN" = "." && BIN="aclocal" + DIR=`test ".$SHELL" = "." && SHELL="'sh'" ; eval "$BIN --print-ac-dir"` + test ".$DIR" = "." && test -d "/usr/share/aclocal" && DIR="/usr/share/aclocal" + test ".$DIR" = "." && DIR="/tmp" +DIR=`eval "echo $DIR"` # we need to expand +DIR=`eval "echo $DIR"` +LOC=`eval "echo $LOC"` +LOC=`eval "echo $LOC"` +LOC=`eval "echo $LOC"` +LOC=`eval "echo $LOC"` +AC_RUN_LOG([: test "$LOC" = "$DIR"]) +if test "$LOC" != "$DIR" ; then + if test -f "$DIR/dirlist" ; then + for DIR in `cat $DIR/dirlist` $DIR ; do + AC_RUN_LOG([: test "$LOC" = "$DIR"]) + test "$LOC" = "$DIR" && break + done + fi + if test "$LOC" != "$DIR" ; then + m4_ifval([$4],[$4],[dnl + AC_MSG_NOTICE([warning: m4_if([$1],,[aclocaldir],[$1])=$LOC dnl +(see config.log)]) + AC_MSG_NOTICE([perhaps: make install m4_if([$1],,[aclocaldir],[$1])=$DIR]) + cat m4_ifset([AS_MESSAGE_LOG_FD],[>&AS_MESSAGE_LOG_FD],[>>config.log]) <<EOF + aclocaldir: the m4_if([$1],,[default aclocaldir],[$1 value]) of $LOC + aclocaldir: is not listed in the dirlist where aclocal will look + aclocaldir: for macros - you can override the install-path using + aclocaldir: make install aclocaldir=$DIR + aclocaldir: or append the directory to aclocal reconfigures later as + aclocaldir: aclocal -I $LOC + aclocaldir: when an autoconf macro is needed from that directory +EOF + m4_ifvaln([$5],[$5])])dnl + m4_ifvaln([$3],[else $3])dnl + fi +fi +AS_VAR_POPDEF([LOC])dnl +AS_VAR_POPDEF([BIN])dnl +AS_VAR_POPDEF([DIR])dnl +]) + +AC_DEFUN([AX_ENABLE_DEFAULT_ACLOCALDIR],[dnl +AS_VAR_PUSHDEF([BIN],[ax_warning_default_aclocal_bin])dnl +AS_VAR_PUSHDEF([DIR],[ax_warning_default_aclocal_def])dnl +AS_VAR_PUSHDEF([DEF],[ax_warning_default_aclocal_def])dnl +AC_ARG_ENABLE([enable-default-aclocaldir], +[ --enable-default-aclocaldir(=PATH) override the datadir/aclocal default]) +test ".$enable_default_aclocaldir" = "." && enable_default_aclocaldir="no" +case ".$enable_default_aclocaldir" in + .no) DIR='m4_if([$2],,[${datadir}/aclocal],[$2])' ;; + .yes) # autodetect + if test ".$ACLOCAL" = "." ; then + AC_PATH_PROG([ACLOCAL],[aclocal],[:]) + fi + BIN="$ACLOCAL" + test ".$BIN" = "." && BIN="aclocal" + DIR=`test ".$SHELL" = "." && SHELL="'sh'" ; eval "$BIN --print-ac-dir"` + test ".$DIR" = "." && test -d "/usr/share/aclocal" && DIR="/usr/share/aclocal" + test ".$DIR" = "." && DIR="/tmp" ;; + *) DIR="$enable_default_aclocaldir" ;; +esac +AX_WARNING_DEFAULT_ACLOCALDIR([$1],[$DEF],[$3],[$4],[$5]) +m4_if([$1],,[aclocaldir],[$1])="$ax_warning_default_aclocal_dir" +AC_SUBST(m4_if([$1],,[aclocaldir],[$1])) +AS_VAR_POPDEF([DEF])dnl +AS_VAR_POPDEF([DIR])dnl +AS_VAR_POPDEF([BIN])dnl +]) diff --git a/Build/source/libs/zziplib/m4/ax_warning_default_pkgconfig.m4 b/Build/source/libs/zziplib/m4/ax_warning_default_pkgconfig.m4 new file mode 100644 index 00000000000..557588e0c17 --- /dev/null +++ b/Build/source/libs/zziplib/m4/ax_warning_default_pkgconfig.m4 @@ -0,0 +1,127 @@ +dnl @synopsis AX_WARNING_DEFAULT_PKGCONFIGDIR [(dirvariable [,[defsetting][,[A][,[N/A]]]])] +dnl @synopsis AX_ENABLE_DEFAULT_PKGCONFIGDIR [(dirvariable [,defsetting])] +dnl +dnl print a warning message if the $(datadir)/aclocal directory is not +dnl in the dirlist searched by the aclocal tool. This macro is useful +dnl if some `make install` would target $(datadir)/aclocal to install +dnl an autoconf m4 file of your project to be picked up by other +dnl projects. +dnl +dnl default $1 dirvariable = pkgconfigdir +dnl default $2 defsetting = ${libdir}/pkgconfig +dnl default $3 action = nothing to do +dnl default $4 action = warn the user about mismatch +dnl +dnl In the _WARNING_ variant, the defsetting is not placed in +dnl dirvariable nor is it ac_subst'ed in any way. The default +dnl fail-action $4 is to send a warning message to the user, and the +dnl default accept-action $3 is nothing. It is expected that a Makefile +dnl is generated with pkgconfigdir=${libdir}/pkgconfig +dnl +dnl The _ENABLE_ variant however will set not only the $pkgconfigdir +dnl shell var of the script, but it is also AC-SUBST'ed on default - +dnl and furthermore a configure option "--enable-default-pkgconfigdir" +dnl is provided. Only if that option is set then $2 default is not set +dnl to the canonic default in the a $prefix subpath but instead $2 +dnl default is set to the primary path where `pkg-config` looks for .pc +dnl files. The user may also override the default on the command line. +dnl +dnl @category Misc +dnl @author Guido Draheim <guidod@gmx.de> +dnl @version 2005-01-21 +dnl @license GPLWithACException + +AC_DEFUN([AX_WARNING_DEFAULT_PKGCONFIGDIR],[dnl +AC_REQUIRE([AX_EXPAND_PREFIX])dnl +AS_VAR_PUSHDEF([DIR],[ax_warning_default_pkgconfig_dir])dnl +AS_VAR_PUSHDEF([BIN],[ax_warning_default_pkgconfig_bin])dnl +AS_VAR_PUSHDEF([LOC],[ax_warning_default_pkgconfig_loc])dnl +LOC='m4_if([$2],,[${libdir}/pkgconfig],[$2])' +m4_ifval([$1],[test ".$[]$1" != "." && LOC="$[]$1"]) + if test ".$PKG_CONFIG" = "." ; then # we use the same default as in pkg.m4 + AC_PATH_PROG([PKG_CONFIG],[pkg-config],[no]) + fi + if test "$PKG_CONFIG" = "no" + then DIR="/" ; test -d "/usr/lib/pkgconfig" && DIR="/usr/lib/pkgconfig" + else BIN=`AS_DIRNAME(["$DIR"])` ; + if test -d "$BIN/lib/pkgconfig" ; then + DIR="$BIN/lib/pkgconfig" + else BIN=`AS_DIRNAME(["$DIR"])` + if test -d "$BIN/lib/pkgconfig" ; then + DIR="$BIN/lib/pkgconfig" + else + if test -d "/usr/lib/pkgconfig" ; then + DIR="/usr/lib/pkgconfig" + else + DIR="/" + fi fi fi + fi +AC_RUN_LOG([: last pkgconfig dir is assumed as "$DIR"]) +DIR=`eval "echo $DIR"` +DIR=`eval "echo $DIR"` +LOC=`eval "echo $LOC"` +LOC=`eval "echo $LOC"` +LOC=`eval "echo $LOC"` +LOC=`eval "echo $LOC"` +for DIR in `echo "$PKG_CONFIG_PATH:$DIR" | sed -e 's,:, ,g'` ; do + AC_RUN_LOG([: test ".$LOC" = ".$DIR"]) + test ".$LOC" = ".$DIR" && break +done +if test "$LOC" != "$DIR" ; then + m4_ifval([$4],[$4],[dnl + AC_MSG_NOTICE([warning: m4_if([$1],,[pkgconfigdir],[$1])=$LOC dnl +(see config.log)]) + AC_MSG_NOTICE([perhaps: make install m4_if([$1],,[pkgconfigdir],[$1])=$DIR]) + cat m4_ifset([AS_MESSAGE_LOG_FD],[>&AS_MESSAGE_LOG_FD],[>>config.log]) <<EOF + pkgconfigdir: the m4_if([$1],,[default pkgconfigdir],[$1 value]) of $LOC + pkgconfigdir: is not listed in the dirlist where pkg-config will look for + pkgconfigdir: package-configs - you can override the install-path using + pkgconfigdir: make install m4_if([$1],,[pkgconfigdir],[$1])=$DIR + pkgconfigdir: or set/append the directory to the environment variable + pkgconfigdir: PKG_CONFIG_PATH="$LOC" +EOF + m4_ifvaln([$5],[$5])])dnl + m4_ifvaln([$3],[else $3])dnl +fi +AS_VAR_POPDEF([LOC])dnl +AS_VAR_POPDEF([BIN])dnl +AS_VAR_POPDEF([DIR])dnl +]) + +AC_DEFUN([AX_ENABLE_DEFAULT_PKGCONFIGDIR],[dnl +AS_VAR_PUSHDEF([BIN],[ax_warning_default_pkgconfig_bin])dnl +AS_VAR_PUSHDEF([DIR],[ax_warning_default_pkgconfig_def])dnl +AS_VAR_PUSHDEF([DEF],[ax_warning_default_pkgconfig_def])dnl +AC_ARG_ENABLE([enable-default-pkgconfigdir], +[ --enable-default-pkgconfigdir(=PATH) override the libdir/pkgconfig default]) +test ".$enable_default_pkgconfigdir" = "." && enable_default_pkgconfigdir="no" +case ".$enable_default_pkgconfigdir" in + .no) DIR='m4_if([$2],,[${libdir}/pkgconfig],[$2])' ;; + .yes) # autodetect + if test ".$PKG_CONFIG" = "." ; then # we use the same default as in pkg.m4 + AC_PATH_PROG([PKG_CONFIG],[pkg-config],[no]) + fi + if test "$PKG_CONFIG" = "no" + then DIR="/tmp" ; test -d "/usr/lib/pkgconfig" && DIR="/usr/lib/pkgconfig" + else BIN=`AS_DIRNAME(["$DIR"])` ; + if test -d "$BIN/lib/pkgconfig" ; then + DIR="$BIN/lib/pkgconfig" + else BIN=`AS_DIRNAME(["$DIR"])` + if test -d "$BIN/lib/pkgconfig" ; then + DIR="$BIN/lib/pkgconfig" + else + if test -d "/usr/lib/pkgconfig" ; then + DIR="/usr/lib/pkgconfig" + else + DIR="/tmp" + fi fi fi + fi ;; + *) DIR="$enable_default_pkgconfigdir" ;; +esac +AX_WARNING_DEFAULT_PKGCONFIGDIR([$1],[$DEF],[$3],[$4],[$5]) +m4_if([$1],,[pkgconfigdir],[$1])="$ax_warning_default_pkgconfig_dir" +AC_SUBST(m4_if([$1],,[pkgconfigdir],[$1])) +AS_VAR_POPDEF([DEF])dnl +AS_VAR_POPDEF([DIR])dnl +AS_VAR_POPDEF([BIN])dnl +]) diff --git a/Build/source/libs/zziplib/m4/patch_libtool_on_darwin_zsh_overquoting.m4 b/Build/source/libs/zziplib/m4/patch_libtool_on_darwin_zsh_overquoting.m4 new file mode 100644 index 00000000000..99100148e0f --- /dev/null +++ b/Build/source/libs/zziplib/m4/patch_libtool_on_darwin_zsh_overquoting.m4 @@ -0,0 +1,36 @@ +dnl @synopsis PATCH_LIBTOOL_ON_DARWIN_ZSH_OVERQUOTING +dnl +dnl libtool 1.4.x has a bug on darwin where the "zsh" is installed as +dnl the bourne shell replacement. Of course, the zsh is called in a +dnl compatibility mode but there is a common problem with it, probably +dnl a bug of zsh. Newer darwin systems have a "bash" installed now, but +dnl the configure-default will be "zsh" in most systems still. +dnl +dnl The bug revelas itself as an overquoted statement in the libtool +dnl cmds-spec for sharedlib creation on testing for "module" builds. +dnl Later libtool has gone rid of it by simply removing the quotes at +dnl that point . Here we maintain the original style and simply remove +dnl the extra escape character, i.e. we look for "archive_cmds" and +dnl replace a sequence of triple-backslash-and-doublequote with +dnl single-backslash-and-doublequote. +dnl +dnl @category Misc +dnl @author Guido Draheim <guidod@gmx.de> +dnl @version 2003-03-23 +dnl @license GPLWithACException + +AC_DEFUN([PATCH_LIBTOOL_ON_DARWIN_ZSH_OVERQUOTING], +[# libtool-1.4 specific, on zsh target the final requoting does one too much +case "$host_os" in + darwin*) + if grep "1.92" libtool >/dev/null ; then +AC_MSG_RESULT(patching libtool on .so-sharedlib creation (zsh overquoting)) + test -f libtool.old || (mv libtool libtool.old && cp libtool.old libtool) + sed -e '/archive_cmds=/s:[[\\]][[\\]][[\\]]*":\\":g' libtool >libtool.new + (test -s libtool.new || rm libtool.new) 2>/dev/null + test -f libtool.new && mv libtool.new libtool # not 2>/dev/null !! + test -f libtool || mv libtool.old libtool + fi + ;; +esac +]) diff --git a/Build/source/libs/zziplib/m4/patch_libtool_sys_lib_search_path_spec.m4 b/Build/source/libs/zziplib/m4/patch_libtool_sys_lib_search_path_spec.m4 new file mode 100644 index 00000000000..1310373291c --- /dev/null +++ b/Build/source/libs/zziplib/m4/patch_libtool_sys_lib_search_path_spec.m4 @@ -0,0 +1,37 @@ +dnl @synopsis PATCH_LIBTOOL_SYS_LIB_SEARCH_PATH_SPEC +dnl +dnl Cross-compiling to win32 from a unix system reveals a bug - the +dnl path-separator has been set to ";" depending on the target system. +dnl However, the crossgcc search_path_spec works in a unix-environment +dnl with unix-style directories and unix-stylish path_separator. The +dnl result: the search_path_spec is a single word still containing the +dnl ":" separators. +dnl +dnl This macro fixes the situation: when we see the libtool PATH_SEP to +dnl be ":" and search_path_spec to contain ":" characters, then these +dnl are replaced with spaces to let the resulting string work as a +dnl for-loop argument in libtool scripts that resolve -no-undefined +dnl libraries. +dnl +dnl Later libtool generations have fixed the situation with using +dnl $PATH_SEPARATOR in the first place as the original path delimiter +dnl that will be scanned for and replaced into spaces. +dnl +dnl @category Misc +dnl @author Guido Draheim <guidod@gmx.de> +dnl @version 2005-01-21 +dnl @license GPLWithACException + +AC_DEFUN([PATCH_LIBTOOL_SYS_LIB_SEARCH_PATH_SPEC], +[# patch libtool to fix sys_lib_search_path (e.g. crosscompiling a win32 dll) +if test "_$PATH_SEPARATOR" = "_:" ; then + if grep "^sys_lib_search_path_spec.*:" libtool >/dev/null ; then +AC_MSG_RESULT(patching libtool to fix sys_lib_search_path_spec) + test -f libtool.old || (mv libtool libtool.old && cp libtool.old libtool) + sed -e "/^sys_lib_search_path_spec/s/:/ /g" libtool >libtool.new + (test -s libtool.new || rm libtool.new) 2>/dev/null + test -f libtool.new && mv libtool.new libtool # not 2>/dev/null !! + test -f libtool || mv libtool.old libtool + fi +fi +]) diff --git a/Build/source/libs/zziplib/m4/patch_libtool_to_add_host_cc.m4 b/Build/source/libs/zziplib/m4/patch_libtool_to_add_host_cc.m4 new file mode 100644 index 00000000000..22b45ca8396 --- /dev/null +++ b/Build/source/libs/zziplib/m4/patch_libtool_to_add_host_cc.m4 @@ -0,0 +1,64 @@ +dnl @synopsis PATCH_LIBTOOL_TO_ADD_HOST_CC +dnl +dnl The libtool 1.4.x processing (and patched 1.3.5) uses a little +dnl "impgen" tool to turn a "*.dll" into an import "*.lib" as it is +dnl needed for win32 targets. However, this little tool is not shipped +dnl by binutils, it is not even a command option of dlltool or dllwrap. +dnl It happens to be a C source snippet implanted into the libtool +dnl sources - it gets written to ".libs", compiled into a binary +dnl on-the-fly, and executed right away on the "dll" file to create the +dnl import-lib (dll.a files in gcc-speak). +dnl +dnl This mode works fine for a native build within mingw or cygwin, but +dnl it does not work in cross-compile mode since CC is a crosscompiler +dnl - it will create an .exe file on a non-win32 system, and as a +dnl result an impgen.exe is created on-the-fly that can not be executed +dnl on-the-fly. Luckily, the actual libtool snippet uses HOST_CC to +dnl compile the sources which has a fallback to CC when the HOST_CC +dnl variable was not set. +dnl +dnl this ac-macro is trying to detect a valid HOST_CC which is not a +dnl cross-compiler. This is done by looking into the $PATH for a "cc" +dnl and the result is patched into libtool a HOST_CC, iow it adds +dnl another configured variable at the top of the libtool script. +dnl +dnl In discussions on the libtool mailinglist it occurred that later +dnl gcc/binutils generations are able to link with dlls directly, i.e. +dnl there is no import-lib needed anymore. The import-table is created +dnl within the linker itself (in-memory) and bound to the .exe/.dll +dnl currently in the making. The whole stuff of impgen exe and +dnl compiling it on-the-fly, well, it is superflouos then. +dnl +dnl Since mingw crosscompilers tend to be quite a fresh development it +dnl was agreed to remove the impgen stuff completly from libtool +dnl sources. Still however, this macro does not hurt since it does not +dnl patch impgen cmds but it just adds HOST_CC which might be useful in +dnl other cross-compiling cases as well. Therefore, you can leave it in +dnl for maximum compatibility and portability. +dnl +dnl @category Misc +dnl @category C +dnl @author Guido Draheim <guidod@gmx.de> +dnl @version 2005-01-21 +dnl @license GPLWithACException + +AC_DEFUN([PATCH_LIBTOOL_TO_ADD_HOST_CC], +[# patch libtool to add HOST_CC sometimes needed in crosscompiling a win32 dll +if grep "HOST_CC" libtool >/dev/null; then + if test "$build" != "$host" ; then + if test "_$HOST_CC" = "_" ; then + HOST_CC="false" + for i in `echo $PATH | sed 's,:, ,g'` ; do + test -x $i/cc && HOST_CC=$i/cc + done + fi +AC_MSG_RESULT(patching libtool to add HOST_CC=$HOST_CC) + test -f libtool.old || (mv libtool libtool.old && cp libtool.old libtool) + sed -e "/BEGIN.*LIBTOOL.*CONFIG/a\\ +HOST_CC=$HOST_CC" libtool >libtool.new + (test -s libtool.new || rm libtool.new) 2>/dev/null + test -f libtool.new && mv libtool.new libtool # not 2>/dev/null !! + test -f libtool || mv libtool.old libtool + fi +fi +]) |