Updated cURL version.
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
# | (__| |_| | _ <| |___
|
||||
# \___|\___/|_| \_\_____|
|
||||
#
|
||||
# Copyright (C) 1998 - 2008, Daniel Stenberg, <[email protected]>, et al.
|
||||
# Copyright (C) 1998 - 2013, Daniel Stenberg, <[email protected]>, et al.
|
||||
#
|
||||
# This software is licensed as described in the file COPYING, which
|
||||
# you should have received as part of this distribution. The terms
|
||||
@@ -18,11 +18,10 @@
|
||||
# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
# KIND, either express or implied.
|
||||
#
|
||||
# $Id: curl-compilers.m4,v 1.44 2008-10-25 04:18:49 yangtse Exp $
|
||||
#***************************************************************************
|
||||
|
||||
# File version for 'aclocal' use. Keep it a single number.
|
||||
# serial 44
|
||||
# serial 65
|
||||
|
||||
|
||||
dnl CURL_CHECK_COMPILER
|
||||
@@ -41,10 +40,13 @@ AC_DEFUN([CURL_CHECK_COMPILER], [
|
||||
flags_opt_yes="unknown"
|
||||
flags_opt_off="unknown"
|
||||
#
|
||||
flags_prefer_cppflags="no"
|
||||
#
|
||||
CURL_CHECK_COMPILER_DEC_C
|
||||
CURL_CHECK_COMPILER_HPUX_C
|
||||
CURL_CHECK_COMPILER_IBM_C
|
||||
CURL_CHECK_COMPILER_INTEL_C
|
||||
CURL_CHECK_COMPILER_CLANG
|
||||
CURL_CHECK_COMPILER_GNU_C
|
||||
CURL_CHECK_COMPILER_LCC
|
||||
CURL_CHECK_COMPILER_SGI_MIPSPRO_C
|
||||
@@ -71,6 +73,40 @@ _EOF
|
||||
])
|
||||
|
||||
|
||||
dnl CURL_CHECK_COMPILER_CLANG
|
||||
dnl -------------------------------------------------
|
||||
dnl Verify if compiler being used is clang.
|
||||
|
||||
AC_DEFUN([CURL_CHECK_COMPILER_CLANG], [
|
||||
AC_BEFORE([$0],[CURL_CHECK_COMPILER_GNU_C])dnl
|
||||
AC_MSG_CHECKING([if compiler is clang])
|
||||
CURL_CHECK_DEF([__clang__], [], [silent])
|
||||
if test "$curl_cv_have_def___clang__" = "yes"; then
|
||||
AC_MSG_RESULT([yes])
|
||||
compiler_id="CLANG"
|
||||
clangver=`$CC -dumpversion`
|
||||
clangvhi=`echo $clangver | cut -d . -f1`
|
||||
clangvlo=`echo $clangver | cut -d . -f2`
|
||||
compiler_num=`(expr $clangvhi "*" 100 + $clangvlo) 2>/dev/null`
|
||||
flags_dbg_all="-g -g0 -g1 -g2 -g3"
|
||||
flags_dbg_all="$flags_dbg_all -ggdb"
|
||||
flags_dbg_all="$flags_dbg_all -gstabs"
|
||||
flags_dbg_all="$flags_dbg_all -gstabs+"
|
||||
flags_dbg_all="$flags_dbg_all -gcoff"
|
||||
flags_dbg_all="$flags_dbg_all -gxcoff"
|
||||
flags_dbg_all="$flags_dbg_all -gdwarf-2"
|
||||
flags_dbg_all="$flags_dbg_all -gvms"
|
||||
flags_dbg_yes="-g"
|
||||
flags_dbg_off=""
|
||||
flags_opt_all="-O -O0 -O1 -O2 -Os -O3 -O4"
|
||||
flags_opt_yes="-Os"
|
||||
flags_opt_off="-O0"
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
dnl CURL_CHECK_COMPILER_DEC_C
|
||||
dnl -------------------------------------------------
|
||||
dnl Verify if compiler being used is DEC C.
|
||||
@@ -85,7 +121,7 @@ AC_DEFUN([CURL_CHECK_COMPILER_DEC_C], [
|
||||
compiler_id="DEC_C"
|
||||
flags_dbg_all="-g -g0 -g1 -g2 -g3"
|
||||
flags_dbg_yes="-g2"
|
||||
flags_dbg_off="-g0"
|
||||
flags_dbg_off=""
|
||||
flags_opt_all="-O -O0 -O1 -O2 -O3 -O4"
|
||||
flags_opt_yes="-O1"
|
||||
flags_opt_off="-O0"
|
||||
@@ -101,6 +137,7 @@ dnl Verify if compiler being used is GNU C.
|
||||
|
||||
AC_DEFUN([CURL_CHECK_COMPILER_GNU_C], [
|
||||
AC_REQUIRE([CURL_CHECK_COMPILER_INTEL_C])dnl
|
||||
AC_REQUIRE([CURL_CHECK_COMPILER_CLANG])dnl
|
||||
AC_MSG_CHECKING([if compiler is GNU C])
|
||||
CURL_CHECK_DEF([__GNUC__], [], [silent])
|
||||
if test "$curl_cv_have_def___GNUC__" = "yes" &&
|
||||
@@ -120,10 +157,11 @@ AC_DEFUN([CURL_CHECK_COMPILER_GNU_C], [
|
||||
flags_dbg_all="$flags_dbg_all -gdwarf-2"
|
||||
flags_dbg_all="$flags_dbg_all -gvms"
|
||||
flags_dbg_yes="-g"
|
||||
flags_dbg_off="-g0"
|
||||
flags_dbg_off=""
|
||||
flags_opt_all="-O -O0 -O1 -O2 -O3 -Os"
|
||||
flags_opt_yes="-O2"
|
||||
flags_opt_off="-O0"
|
||||
CURL_CHECK_DEF([_WIN32], [], [silent])
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
@@ -175,6 +213,7 @@ AC_DEFUN([CURL_CHECK_COMPILER_IBM_C], [
|
||||
flags_opt_all="$flags_opt_all -qoptimize=5"
|
||||
flags_opt_yes="-O2"
|
||||
flags_opt_off="-qnooptimize"
|
||||
flags_prefer_cppflags="yes"
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
@@ -192,23 +231,15 @@ AC_DEFUN([CURL_CHECK_COMPILER_INTEL_C], [
|
||||
if test "$curl_cv_have_def___INTEL_COMPILER" = "yes"; then
|
||||
AC_MSG_RESULT([yes])
|
||||
compiler_num="$curl_cv_def___INTEL_COMPILER"
|
||||
CURL_CHECK_DEF([__i386__], [], [silent])
|
||||
CURL_CHECK_DEF([__unix__], [], [silent])
|
||||
if test "$curl_cv_have_def___unix__" = "yes"; then
|
||||
compiler_id="INTEL_UNIX_C"
|
||||
flags_dbg_all="-g -g0"
|
||||
flags_dbg_yes="-g"
|
||||
flags_dbg_off="-g0"
|
||||
flags_dbg_off=""
|
||||
flags_opt_all="-O -O0 -O1 -O2 -O3 -Os"
|
||||
flags_opt_yes="-O2"
|
||||
flags_opt_off="-O0"
|
||||
dnl icc 9.1 optimization on IA32 triggers SIGSEGV
|
||||
if test "$curl_cv_have_def___i386__" = "yes" &&
|
||||
test "$compiler_num" -eq "910"; then
|
||||
INTEL_UNIX_C_OPT_SIGSEGV="yes"
|
||||
else
|
||||
INTEL_UNIX_C_OPT_SIGSEGV="no"
|
||||
fi
|
||||
else
|
||||
compiler_id="INTEL_WINDOWS_C"
|
||||
flags_dbg_all="/ZI /Zi /zI /zi /ZD /Zd /zD /zd /Z7 /z7 /Oy /Oy-"
|
||||
@@ -269,7 +300,7 @@ AC_DEFUN([CURL_CHECK_COMPILER_SGI_MIPS_C], [
|
||||
compiler_id="SGI_MIPS_C"
|
||||
flags_dbg_all="-g -g0 -g1 -g2 -g3"
|
||||
flags_dbg_yes="-g"
|
||||
flags_dbg_off="-g0"
|
||||
flags_dbg_off=""
|
||||
flags_opt_all="-O -O0 -O1 -O2 -O3 -Ofast"
|
||||
flags_opt_yes="-O2"
|
||||
flags_opt_off="-O0"
|
||||
@@ -296,7 +327,7 @@ AC_DEFUN([CURL_CHECK_COMPILER_SGI_MIPSPRO_C], [
|
||||
compiler_id="SGI_MIPSPRO_C"
|
||||
flags_dbg_all="-g -g0 -g1 -g2 -g3"
|
||||
flags_dbg_yes="-g"
|
||||
flags_dbg_off="-g0"
|
||||
flags_dbg_off=""
|
||||
flags_opt_all="-O -O0 -O1 -O2 -O3 -Ofast"
|
||||
flags_opt_yes="-O2"
|
||||
flags_opt_off="-O0"
|
||||
@@ -388,40 +419,44 @@ dnl -------------------------------------------------
|
||||
dnl Changes standard include paths present in CFLAGS
|
||||
dnl and CPPFLAGS into isystem include paths. This is
|
||||
dnl done to prevent GNUC from generating warnings on
|
||||
dnl headers from these locations, even though this is
|
||||
dnl not reliable on ancient GNUC versions.
|
||||
dnl headers from these locations, although on ancient
|
||||
dnl GNUC versions these warnings are not silenced.
|
||||
|
||||
AC_DEFUN([CURL_CONVERT_INCLUDE_TO_ISYSTEM], [
|
||||
AC_REQUIRE([CURL_SHFUNC_SQUEEZE])dnl
|
||||
tmp_has_include="no"
|
||||
tmp_chg_FLAGS="$CFLAGS"
|
||||
for word1 in $tmp_chg_FLAGS; do
|
||||
case "$word1" in
|
||||
-I*)
|
||||
tmp_has_include="yes"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
if test "$tmp_has_include" = "yes"; then
|
||||
tmp_chg_FLAGS=`echo "$tmp_chg_FLAGS" | "$SED" 's/^-I/ -isystem /g'`
|
||||
tmp_chg_FLAGS=`echo "$tmp_chg_FLAGS" | "$SED" 's/ -I/ -isystem /g'`
|
||||
CFLAGS="$tmp_chg_FLAGS"
|
||||
squeeze CFLAGS
|
||||
fi
|
||||
tmp_has_include="no"
|
||||
tmp_chg_FLAGS="$CPPFLAGS"
|
||||
for word1 in $tmp_chg_FLAGS; do
|
||||
case "$word1" in
|
||||
-I*)
|
||||
tmp_has_include="yes"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
if test "$tmp_has_include" = "yes"; then
|
||||
tmp_chg_FLAGS=`echo "$tmp_chg_FLAGS" | "$SED" 's/^-I/ -isystem /g'`
|
||||
tmp_chg_FLAGS=`echo "$tmp_chg_FLAGS" | "$SED" 's/ -I/ -isystem /g'`
|
||||
CPPFLAGS="$tmp_chg_FLAGS"
|
||||
squeeze CPPFLAGS
|
||||
AC_REQUIRE([CURL_CHECK_COMPILER])dnl
|
||||
if test "$compiler_id" = "GNU_C" ||
|
||||
test "$compiler_id" = "CLANG"; then
|
||||
tmp_has_include="no"
|
||||
tmp_chg_FLAGS="$CFLAGS"
|
||||
for word1 in $tmp_chg_FLAGS; do
|
||||
case "$word1" in
|
||||
-I*)
|
||||
tmp_has_include="yes"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
if test "$tmp_has_include" = "yes"; then
|
||||
tmp_chg_FLAGS=`echo "$tmp_chg_FLAGS" | "$SED" 's/^-I/ -isystem /g'`
|
||||
tmp_chg_FLAGS=`echo "$tmp_chg_FLAGS" | "$SED" 's/ -I/ -isystem /g'`
|
||||
CFLAGS="$tmp_chg_FLAGS"
|
||||
squeeze CFLAGS
|
||||
fi
|
||||
tmp_has_include="no"
|
||||
tmp_chg_FLAGS="$CPPFLAGS"
|
||||
for word1 in $tmp_chg_FLAGS; do
|
||||
case "$word1" in
|
||||
-I*)
|
||||
tmp_has_include="yes"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
if test "$tmp_has_include" = "yes"; then
|
||||
tmp_chg_FLAGS=`echo "$tmp_chg_FLAGS" | "$SED" 's/^-I/ -isystem /g'`
|
||||
tmp_chg_FLAGS=`echo "$tmp_chg_FLAGS" | "$SED" 's/ -I/ -isystem /g'`
|
||||
CPPFLAGS="$tmp_chg_FLAGS"
|
||||
squeeze CPPFLAGS
|
||||
fi
|
||||
fi
|
||||
])
|
||||
|
||||
@@ -508,7 +543,8 @@ AC_DEFUN([CURL_SET_COMPILER_BASIC_OPTS], [
|
||||
#
|
||||
if test "$compiler_id" != "unknown"; then
|
||||
#
|
||||
if test "$compiler_id" = "GNU_C"; then
|
||||
if test "$compiler_id" = "GNU_C" ||
|
||||
test "$compiler_id" = "CLANG"; then
|
||||
CURL_CONVERT_INCLUDE_TO_ISYSTEM
|
||||
fi
|
||||
#
|
||||
@@ -519,6 +555,14 @@ AC_DEFUN([CURL_SET_COMPILER_BASIC_OPTS], [
|
||||
#
|
||||
case "$compiler_id" in
|
||||
#
|
||||
CLANG)
|
||||
#
|
||||
dnl Disable warnings for unused arguments, otherwise clang will
|
||||
dnl warn about compile-time arguments used during link-time, like
|
||||
dnl -O and -g and -pedantic.
|
||||
tmp_CFLAGS="$tmp_CFLAGS -Qunused-arguments"
|
||||
;;
|
||||
#
|
||||
DEC_C)
|
||||
#
|
||||
dnl Select strict ANSI C compiler mode
|
||||
@@ -550,15 +594,15 @@ AC_DEFUN([CURL_SET_COMPILER_BASIC_OPTS], [
|
||||
IBM_C)
|
||||
#
|
||||
dnl Ensure that compiler optimizations are always thread-safe.
|
||||
tmp_CFLAGS="$tmp_CFLAGS -qthreaded"
|
||||
tmp_CPPFLAGS="$tmp_CPPFLAGS -qthreaded"
|
||||
dnl Disable type based strict aliasing optimizations, using worst
|
||||
dnl case aliasing assumptions when compiling. Type based aliasing
|
||||
dnl would restrict the lvalues that could be safely used to access
|
||||
dnl a data object.
|
||||
tmp_CFLAGS="$tmp_CFLAGS -qnoansialias"
|
||||
tmp_CPPFLAGS="$tmp_CPPFLAGS -qnoansialias"
|
||||
dnl Force compiler to stop after the compilation phase, without
|
||||
dnl generating an object code file when compilation has errors.
|
||||
tmp_CFLAGS="$tmp_CFLAGS -qhalt=e"
|
||||
tmp_CPPFLAGS="$tmp_CPPFLAGS -qhalt=e"
|
||||
;;
|
||||
#
|
||||
INTEL_UNIX_C)
|
||||
@@ -684,8 +728,13 @@ AC_DEFUN([CURL_SET_COMPILER_DEBUG_OPTS], [
|
||||
tmp_options="$flags_dbg_off"
|
||||
fi
|
||||
#
|
||||
CPPFLAGS="$tmp_CPPFLAGS"
|
||||
CFLAGS="$tmp_CFLAGS $tmp_options"
|
||||
if test "$flags_prefer_cppflags" = "yes"; then
|
||||
CPPFLAGS="$tmp_CPPFLAGS $tmp_options"
|
||||
CFLAGS="$tmp_CFLAGS"
|
||||
else
|
||||
CPPFLAGS="$tmp_CPPFLAGS"
|
||||
CFLAGS="$tmp_CFLAGS $tmp_options"
|
||||
fi
|
||||
squeeze CPPFLAGS
|
||||
squeeze CFLAGS
|
||||
CURL_COMPILER_WORKS_IFELSE([
|
||||
@@ -760,8 +809,13 @@ AC_DEFUN([CURL_SET_COMPILER_OPTIMIZE_OPTS], [
|
||||
AC_MSG_CHECKING([if compiler accepts optimizer disabling options])
|
||||
tmp_options="$flags_opt_off"
|
||||
fi
|
||||
CPPFLAGS="$tmp_CPPFLAGS"
|
||||
CFLAGS="$tmp_CFLAGS $tmp_options"
|
||||
if test "$flags_prefer_cppflags" = "yes"; then
|
||||
CPPFLAGS="$tmp_CPPFLAGS $tmp_options"
|
||||
CFLAGS="$tmp_CFLAGS"
|
||||
else
|
||||
CPPFLAGS="$tmp_CPPFLAGS"
|
||||
CFLAGS="$tmp_CFLAGS $tmp_options"
|
||||
fi
|
||||
squeeze CPPFLAGS
|
||||
squeeze CFLAGS
|
||||
CURL_COMPILER_WORKS_IFELSE([
|
||||
@@ -799,6 +853,34 @@ AC_DEFUN([CURL_SET_COMPILER_WARNING_OPTS], [
|
||||
#
|
||||
case "$compiler_id" in
|
||||
#
|
||||
CLANG)
|
||||
#
|
||||
if test "$want_warnings" = "yes"; then
|
||||
tmp_CFLAGS="$tmp_CFLAGS -pedantic"
|
||||
tmp_CFLAGS="$tmp_CFLAGS -Wall -Wextra"
|
||||
tmp_CFLAGS="$tmp_CFLAGS -Wpointer-arith -Wwrite-strings"
|
||||
tmp_CFLAGS="$tmp_CFLAGS -Wshadow"
|
||||
tmp_CFLAGS="$tmp_CFLAGS -Winline -Wnested-externs"
|
||||
tmp_CFLAGS="$tmp_CFLAGS -Wmissing-declarations"
|
||||
tmp_CFLAGS="$tmp_CFLAGS -Wmissing-prototypes"
|
||||
tmp_CFLAGS="$tmp_CFLAGS -Wno-long-long"
|
||||
tmp_CFLAGS="$tmp_CFLAGS -Wfloat-equal"
|
||||
tmp_CFLAGS="$tmp_CFLAGS -Wno-multichar -Wsign-compare"
|
||||
tmp_CFLAGS="$tmp_CFLAGS -Wundef"
|
||||
tmp_CFLAGS="$tmp_CFLAGS -Wno-format-nonliteral"
|
||||
tmp_CFLAGS="$tmp_CFLAGS -Wendif-labels -Wstrict-prototypes"
|
||||
tmp_CFLAGS="$tmp_CFLAGS -Wdeclaration-after-statement"
|
||||
tmp_CFLAGS="$tmp_CFLAGS -Wcast-align"
|
||||
tmp_CFLAGS="$tmp_CFLAGS -Wno-system-headers"
|
||||
tmp_CFLAGS="$tmp_CFLAGS -Wshorten-64-to-32"
|
||||
#
|
||||
dnl Only clang 1.1 or later
|
||||
if test "$compiler_num" -ge "101"; then
|
||||
tmp_CFLAGS="$tmp_CFLAGS -Wunused"
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
#
|
||||
DEC_C)
|
||||
#
|
||||
if test "$want_warnings" = "yes"; then
|
||||
@@ -881,6 +963,32 @@ AC_DEFUN([CURL_SET_COMPILER_WARNING_OPTS], [
|
||||
tmp_CFLAGS="$tmp_CFLAGS -Wdeclaration-after-statement"
|
||||
fi
|
||||
#
|
||||
dnl Only gcc 4.0 or later
|
||||
if test "$compiler_num" -ge "400"; then
|
||||
tmp_CFLAGS="$tmp_CFLAGS -Wstrict-aliasing=3"
|
||||
fi
|
||||
#
|
||||
dnl Only gcc 4.2 or later
|
||||
if test "$compiler_num" -ge "402"; then
|
||||
tmp_CFLAGS="$tmp_CFLAGS -Wcast-align"
|
||||
fi
|
||||
#
|
||||
dnl Only gcc 4.3 or later
|
||||
if test "$compiler_num" -ge "403"; then
|
||||
tmp_CFLAGS="$tmp_CFLAGS -Wtype-limits -Wold-style-declaration"
|
||||
tmp_CFLAGS="$tmp_CFLAGS -Wmissing-parameter-type -Wempty-body"
|
||||
tmp_CFLAGS="$tmp_CFLAGS -Wclobbered -Wignored-qualifiers"
|
||||
tmp_CFLAGS="$tmp_CFLAGS -Wconversion -Wno-sign-conversion -Wvla"
|
||||
fi
|
||||
#
|
||||
dnl Only gcc 4.5 or later
|
||||
if test "$compiler_num" -ge "405"; then
|
||||
dnl Only windows targets
|
||||
if test "$curl_cv_have_def__WIN32" = "yes"; then
|
||||
tmp_CFLAGS="$tmp_CFLAGS -Wno-pedantic-ms-format"
|
||||
fi
|
||||
fi
|
||||
#
|
||||
fi
|
||||
#
|
||||
dnl Do not issue warnings for code in system include paths.
|
||||
@@ -907,11 +1015,7 @@ AC_DEFUN([CURL_SET_COMPILER_WARNING_OPTS], [
|
||||
#
|
||||
if test "$want_warnings" = "yes"; then
|
||||
dnl Issue all warnings
|
||||
dnl tmp_CFLAGS="$tmp_CFLAGS +w1"
|
||||
dnl Due to the HP-UX socklen_t issue it is insane to use the +w1
|
||||
dnl warning level. Until the issue is somehow fixed we will just
|
||||
dnl use the +w2 warning level.
|
||||
tmp_CFLAGS="$tmp_CFLAGS +w2"
|
||||
tmp_CFLAGS="$tmp_CFLAGS +w1"
|
||||
fi
|
||||
;;
|
||||
#
|
||||
@@ -952,7 +1056,7 @@ AC_DEFUN([CURL_SET_COMPILER_WARNING_OPTS], [
|
||||
dnl Disable using EBP register in optimizations
|
||||
tmp_CFLAGS="$tmp_CFLAGS -fno-omit-frame-pointer"
|
||||
dnl Disable use of ANSI C aliasing rules in optimizations
|
||||
tmp_CFLAGS="$tmp_CFLAGS -no-ansi-alias"
|
||||
tmp_CFLAGS="$tmp_CFLAGS -fno-strict-aliasing"
|
||||
dnl Value-safe optimizations on floating-point data
|
||||
tmp_CFLAGS="$tmp_CFLAGS -fp-model precise"
|
||||
dnl Only icc 10.0 or later
|
||||
@@ -960,39 +1064,6 @@ AC_DEFUN([CURL_SET_COMPILER_WARNING_OPTS], [
|
||||
dnl Disable vectorizer diagnostic information
|
||||
tmp_CFLAGS="$tmp_CFLAGS -vec-report0"
|
||||
fi
|
||||
dnl Disable some optimizations to debug icc 9.1 SIGSEGV
|
||||
if test "$INTEL_UNIX_C_OPT_SIGSEGV" = "yes"; then
|
||||
dnl Disable interprocedural optimizations
|
||||
tmp_CFLAGS="$tmp_CFLAGS -no-ip -no-ipo"
|
||||
dnl Separate functions for the linker
|
||||
tmp_CFLAGS="$tmp_CFLAGS -ffunction-sections"
|
||||
dnl Disable inlining of user-defined functions
|
||||
tmp_CFLAGS="$tmp_CFLAGS -Ob0"
|
||||
dnl Disable inline expansion of intrinsic functions
|
||||
tmp_CFLAGS="$tmp_CFLAGS -fno-builtin"
|
||||
dnl Disable inlining of functions
|
||||
tmp_CFLAGS="$tmp_CFLAGS -fno-inline"
|
||||
dnl Disable some IPO for single file optimizations
|
||||
tmp_CFLAGS="$tmp_CFLAGS -fno-inline-functions"
|
||||
dnl Disable inlining of standard library functions
|
||||
tmp_CFLAGS="$tmp_CFLAGS -nolib-inline"
|
||||
dnl Disable full and partial inlining when IPO
|
||||
tmp_CFLAGS="$tmp_CFLAGS -ip-no-inlining"
|
||||
dnl Enable floating-point stack integrity checks
|
||||
tmp_CFLAGS="$tmp_CFLAGS -fpstkchk"
|
||||
dnl Enable run-time detection of buffer overruns.
|
||||
tmp_CFLAGS="$tmp_CFLAGS -fstack-security-check"
|
||||
dnl Assume aliasing in the program.
|
||||
tmp_CFLAGS="$tmp_CFLAGS -falias"
|
||||
dnl Assume that arguments may be aliased.
|
||||
tmp_CFLAGS="$tmp_CFLAGS -alias-args"
|
||||
dnl Assume aliasing within functions
|
||||
tmp_CFLAGS="$tmp_CFLAGS -ffnalias"
|
||||
dnl Disable prefetch insertion optimization
|
||||
tmp_CFLAGS="$tmp_CFLAGS -no-prefetch"
|
||||
dnl Disable loop unrolling optimization
|
||||
tmp_CFLAGS="$tmp_CFLAGS -unroll0"
|
||||
fi
|
||||
;;
|
||||
#
|
||||
INTEL_WINDOWS_C)
|
||||
@@ -1114,36 +1185,335 @@ squeeze() {
|
||||
])
|
||||
|
||||
|
||||
dnl CURL_PROCESS_DEBUG_BUILD_OPTS
|
||||
dnl CURL_CHECK_CURLDEBUG
|
||||
dnl -------------------------------------------------
|
||||
dnl Settings which depend on configure's debug given
|
||||
dnl option, and further configure the build process.
|
||||
dnl Don't use this macro for compiler dependant stuff.
|
||||
dnl Settings which depend on configure's curldebug given
|
||||
dnl option, and other additional configure pre-requisites.
|
||||
dnl Actually the curl debug memory tracking feature can
|
||||
dnl only be used/enabled when libcurl is built as a static
|
||||
dnl library or as a shared one on those systems on which
|
||||
dnl shared libraries support undefined symbols.
|
||||
|
||||
AC_DEFUN([CURL_PROCESS_DEBUG_BUILD_OPTS], [
|
||||
AC_REQUIRE([CURL_CHECK_OPTION_DEBUG])dnl
|
||||
AC_DEFUN([CURL_CHECK_CURLDEBUG], [
|
||||
AC_REQUIRE([CURL_SHFUNC_SQUEEZE])dnl
|
||||
AC_BEFORE([$0],[AC_PROG_LIBTOOL])dnl
|
||||
#
|
||||
if test "$want_debug" = "yes"; then
|
||||
CPPFLAGS="$CPPFLAGS -DCURLDEBUG"
|
||||
squeeze CPPFLAGS
|
||||
supports_curldebug="unknown"
|
||||
if test "$want_curldebug" = "yes"; then
|
||||
if test "x$enable_shared" != "xno" &&
|
||||
test "x$enable_shared" != "xyes"; then
|
||||
AC_MSG_WARN([unknown enable_shared setting.])
|
||||
supports_curldebug="no"
|
||||
fi
|
||||
if test "x$enable_static" != "xno" &&
|
||||
test "x$enable_static" != "xyes"; then
|
||||
AC_MSG_WARN([unknown enable_static setting.])
|
||||
supports_curldebug="no"
|
||||
fi
|
||||
if test "$supports_curldebug" != "no"; then
|
||||
if test "$enable_shared" = "yes" &&
|
||||
test "$need_no_undefined" = "yes"; then
|
||||
supports_curldebug="no"
|
||||
AC_MSG_WARN([shared library does not support undefined symbols.])
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
#
|
||||
if test "$want_curldebug" = "yes"; then
|
||||
AC_MSG_CHECKING([if curl debug memory tracking can be enabled])
|
||||
test "$supports_curldebug" = "no" || supports_curldebug="yes"
|
||||
AC_MSG_RESULT([$supports_curldebug])
|
||||
if test "$supports_curldebug" = "no"; then
|
||||
AC_MSG_WARN([cannot enable curl debug memory tracking.])
|
||||
want_curldebug="no"
|
||||
fi
|
||||
fi
|
||||
#
|
||||
if test "$want_curldebug" = "yes"; then
|
||||
CPPFLAGS="-DCURLDEBUG $CPPFLAGS"
|
||||
squeeze CPPFLAGS
|
||||
fi
|
||||
if test "$want_debug" = "yes"; then
|
||||
CPPFLAGS="-DDEBUGBUILD $CPPFLAGS"
|
||||
squeeze CPPFLAGS
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
dnl CURL_CHECK_PROG_CC
|
||||
dnl CURL_CHECK_NO_UNDEFINED
|
||||
dnl -------------------------------------------------
|
||||
dnl Check for compiler program, preventing CFLAGS and
|
||||
dnl CPPFLAGS from being unexpectedly changed.
|
||||
dnl Checks if the -no-undefined flag must be used when
|
||||
dnl building shared libraries. This is required on all
|
||||
dnl systems on which shared libraries should not have
|
||||
dnl references to undefined symbols. This check should
|
||||
dnl not be done before AC-PROG-LIBTOOL.
|
||||
|
||||
AC_DEFUN([CURL_CHECK_PROG_CC], [
|
||||
ac_save_CFLAGS="$CFLAGS"
|
||||
ac_save_CPPFLAGS="$CPPFLAGS"
|
||||
AC_PROG_CC
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
CPPFLAGS="$ac_save_CPPFLAGS"
|
||||
AC_DEFUN([CURL_CHECK_NO_UNDEFINED], [
|
||||
AC_BEFORE([$0],[CURL_CHECK_CURLDEBUG])dnl
|
||||
AC_MSG_CHECKING([if shared libraries need -no-undefined])
|
||||
need_no_undefined="no"
|
||||
case $host in
|
||||
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc* | *-*-aix*)
|
||||
need_no_undefined="yes"
|
||||
;;
|
||||
esac
|
||||
if test "x$allow_undefined" = "xno"; then
|
||||
need_no_undefined="yes"
|
||||
elif test "x$allow_undefined_flag" = "xunsupported"; then
|
||||
need_no_undefined="yes"
|
||||
fi
|
||||
AC_MSG_RESULT($need_no_undefined)
|
||||
])
|
||||
|
||||
|
||||
dnl CURL_CHECK_COMPILER_HALT_ON_ERROR
|
||||
dnl -------------------------------------------------
|
||||
dnl Verifies if the compiler actually halts after the
|
||||
dnl compilation phase without generating any object
|
||||
dnl code file, when the source compiles with errors.
|
||||
|
||||
AC_DEFUN([CURL_CHECK_COMPILER_HALT_ON_ERROR], [
|
||||
AC_MSG_CHECKING([if compiler halts on compilation errors])
|
||||
AC_COMPILE_IFELSE([
|
||||
AC_LANG_PROGRAM([[
|
||||
]],[[
|
||||
force compilation error
|
||||
]])
|
||||
],[
|
||||
AC_MSG_RESULT([no])
|
||||
AC_MSG_ERROR([compiler does not halt on compilation errors.])
|
||||
],[
|
||||
AC_MSG_RESULT([yes])
|
||||
])
|
||||
])
|
||||
|
||||
|
||||
dnl CURL_CHECK_COMPILER_ARRAY_SIZE_NEGATIVE
|
||||
dnl -------------------------------------------------
|
||||
dnl Verifies if the compiler actually halts after the
|
||||
dnl compilation phase without generating any object
|
||||
dnl code file, when the source code tries to define a
|
||||
dnl type for a constant array with negative dimension.
|
||||
|
||||
AC_DEFUN([CURL_CHECK_COMPILER_ARRAY_SIZE_NEGATIVE], [
|
||||
AC_REQUIRE([CURL_CHECK_COMPILER_HALT_ON_ERROR])dnl
|
||||
AC_MSG_CHECKING([if compiler halts on negative sized arrays])
|
||||
AC_COMPILE_IFELSE([
|
||||
AC_LANG_PROGRAM([[
|
||||
typedef char bad_t[sizeof(char) == sizeof(int) ? -1 : -1 ];
|
||||
]],[[
|
||||
bad_t dummy;
|
||||
]])
|
||||
],[
|
||||
AC_MSG_RESULT([no])
|
||||
AC_MSG_ERROR([compiler does not halt on negative sized arrays.])
|
||||
],[
|
||||
AC_MSG_RESULT([yes])
|
||||
])
|
||||
])
|
||||
|
||||
|
||||
dnl CURL_CHECK_COMPILER_STRUCT_MEMBER_SIZE
|
||||
dnl -------------------------------------------------
|
||||
dnl Verifies if the compiler is capable of handling the
|
||||
dnl size of a struct member, struct which is a function
|
||||
dnl result, as a compilation-time condition inside the
|
||||
dnl type definition of a constant array.
|
||||
|
||||
AC_DEFUN([CURL_CHECK_COMPILER_STRUCT_MEMBER_SIZE], [
|
||||
AC_REQUIRE([CURL_CHECK_COMPILER_ARRAY_SIZE_NEGATIVE])dnl
|
||||
AC_MSG_CHECKING([if compiler struct member size checking works])
|
||||
tst_compiler_check_one_works="unknown"
|
||||
AC_COMPILE_IFELSE([
|
||||
AC_LANG_PROGRAM([[
|
||||
struct mystruct {
|
||||
int mi;
|
||||
char mc;
|
||||
struct mystruct *next;
|
||||
};
|
||||
struct mystruct myfunc();
|
||||
typedef char good_t1[sizeof(myfunc().mi) == sizeof(int) ? 1 : -1 ];
|
||||
typedef char good_t2[sizeof(myfunc().mc) == sizeof(char) ? 1 : -1 ];
|
||||
]],[[
|
||||
good_t1 dummy1;
|
||||
good_t2 dummy2;
|
||||
]])
|
||||
],[
|
||||
tst_compiler_check_one_works="yes"
|
||||
],[
|
||||
tst_compiler_check_one_works="no"
|
||||
sed 's/^/cc-src: /' conftest.$ac_ext >&6
|
||||
sed 's/^/cc-err: /' conftest.err >&6
|
||||
])
|
||||
tst_compiler_check_two_works="unknown"
|
||||
AC_COMPILE_IFELSE([
|
||||
AC_LANG_PROGRAM([[
|
||||
struct mystruct {
|
||||
int mi;
|
||||
char mc;
|
||||
struct mystruct *next;
|
||||
};
|
||||
struct mystruct myfunc();
|
||||
typedef char bad_t1[sizeof(myfunc().mi) != sizeof(int) ? 1 : -1 ];
|
||||
typedef char bad_t2[sizeof(myfunc().mc) != sizeof(char) ? 1 : -1 ];
|
||||
]],[[
|
||||
bad_t1 dummy1;
|
||||
bad_t2 dummy2;
|
||||
]])
|
||||
],[
|
||||
tst_compiler_check_two_works="no"
|
||||
],[
|
||||
tst_compiler_check_two_works="yes"
|
||||
])
|
||||
if test "$tst_compiler_check_one_works" = "yes" &&
|
||||
test "$tst_compiler_check_two_works" = "yes"; then
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
AC_MSG_ERROR([compiler fails struct member size checking.])
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
dnl CURL_CHECK_COMPILER_SYMBOL_HIDING
|
||||
dnl -------------------------------------------------
|
||||
dnl Verify if compiler supports hiding library internal symbols, setting
|
||||
dnl shell variable supports_symbol_hiding value as appropriate, as well as
|
||||
dnl variables symbol_hiding_CFLAGS and symbol_hiding_EXTERN when supported.
|
||||
|
||||
AC_DEFUN([CURL_CHECK_COMPILER_SYMBOL_HIDING], [
|
||||
AC_REQUIRE([CURL_CHECK_COMPILER])dnl
|
||||
AC_BEFORE([$0],[CURL_CONFIGURE_SYMBOL_HIDING])dnl
|
||||
AC_MSG_CHECKING([if compiler supports hiding library internal symbols])
|
||||
supports_symbol_hiding="no"
|
||||
symbol_hiding_CFLAGS=""
|
||||
symbol_hiding_EXTERN=""
|
||||
tmp_CFLAGS=""
|
||||
tmp_EXTERN=""
|
||||
case "$compiler_id" in
|
||||
CLANG)
|
||||
dnl All versions of clang support -fvisibility=
|
||||
tmp_EXTERN="__attribute__ ((__visibility__ (\"default\")))"
|
||||
tmp_CFLAGS="-fvisibility=hidden"
|
||||
supports_symbol_hiding="yes"
|
||||
;;
|
||||
GNU_C)
|
||||
dnl Only gcc 3.4 or later
|
||||
if test "$compiler_num" -ge "304"; then
|
||||
if $CC --help --verbose 2>&1 | grep fvisibility= > /dev/null ; then
|
||||
tmp_EXTERN="__attribute__ ((__visibility__ (\"default\")))"
|
||||
tmp_CFLAGS="-fvisibility=hidden"
|
||||
supports_symbol_hiding="yes"
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
INTEL_UNIX_C)
|
||||
dnl Only icc 9.0 or later
|
||||
if test "$compiler_num" -ge "900"; then
|
||||
if $CC --help --verbose 2>&1 | grep fvisibility= > /dev/null ; then
|
||||
tmp_save_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS -fvisibility=hidden"
|
||||
AC_LINK_IFELSE([
|
||||
AC_LANG_PROGRAM([[
|
||||
# include <stdio.h>
|
||||
]],[[
|
||||
printf("icc fvisibility bug test");
|
||||
]])
|
||||
],[
|
||||
tmp_EXTERN="__attribute__ ((__visibility__ (\"default\")))"
|
||||
tmp_CFLAGS="-fvisibility=hidden"
|
||||
supports_symbol_hiding="yes"
|
||||
])
|
||||
CFLAGS="$tmp_save_CFLAGS"
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
SUNPRO_C)
|
||||
if $CC 2>&1 | grep flags >/dev/null && $CC -flags | grep xldscope= >/dev/null ; then
|
||||
tmp_EXTERN="__global"
|
||||
tmp_CFLAGS="-xldscope=hidden"
|
||||
supports_symbol_hiding="yes"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
if test "$supports_symbol_hiding" = "yes"; then
|
||||
tmp_save_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$tmp_save_CFLAGS $tmp_CFLAGS"
|
||||
squeeze CFLAGS
|
||||
AC_COMPILE_IFELSE([
|
||||
AC_LANG_PROGRAM([[
|
||||
$tmp_EXTERN char *dummy(char *buff);
|
||||
char *dummy(char *buff)
|
||||
{
|
||||
if(buff)
|
||||
return ++buff;
|
||||
else
|
||||
return buff;
|
||||
}
|
||||
]],[[
|
||||
char b[16];
|
||||
char *r = dummy(&b[0]);
|
||||
if(r)
|
||||
return (int)*r;
|
||||
]])
|
||||
],[
|
||||
supports_symbol_hiding="yes"
|
||||
if test -f conftest.err; then
|
||||
grep 'visibility' conftest.err >/dev/null
|
||||
if test "$?" -eq "0"; then
|
||||
supports_symbol_hiding="no"
|
||||
fi
|
||||
fi
|
||||
],[
|
||||
supports_symbol_hiding="no"
|
||||
echo " " >&6
|
||||
sed 's/^/cc-src: /' conftest.$ac_ext >&6
|
||||
sed 's/^/cc-err: /' conftest.err >&6
|
||||
echo " " >&6
|
||||
])
|
||||
CFLAGS="$tmp_save_CFLAGS"
|
||||
fi
|
||||
if test "$supports_symbol_hiding" = "yes"; then
|
||||
AC_MSG_RESULT([yes])
|
||||
symbol_hiding_CFLAGS="$tmp_CFLAGS"
|
||||
symbol_hiding_EXTERN="$tmp_EXTERN"
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
dnl CURL_CHECK_COMPILER_PROTOTYPE_MISMATCH
|
||||
dnl -------------------------------------------------
|
||||
dnl Verifies if the compiler actually halts after the
|
||||
dnl compilation phase without generating any object
|
||||
dnl code file, when the source code tries to redefine
|
||||
dnl a prototype which does not match previous one.
|
||||
|
||||
AC_DEFUN([CURL_CHECK_COMPILER_PROTOTYPE_MISMATCH], [
|
||||
AC_REQUIRE([CURL_CHECK_COMPILER_HALT_ON_ERROR])dnl
|
||||
AC_MSG_CHECKING([if compiler halts on function prototype mismatch])
|
||||
AC_COMPILE_IFELSE([
|
||||
AC_LANG_PROGRAM([[
|
||||
# include <stdlib.h>
|
||||
int rand(int n);
|
||||
int rand(int n)
|
||||
{
|
||||
if(n)
|
||||
return ++n;
|
||||
else
|
||||
return n;
|
||||
}
|
||||
]],[[
|
||||
int i[2];
|
||||
int j = rand(i[0]);
|
||||
if(j)
|
||||
return j;
|
||||
]])
|
||||
],[
|
||||
AC_MSG_RESULT([no])
|
||||
AC_MSG_ERROR([compiler does not halt on function prototype mismatch.])
|
||||
],[
|
||||
AC_MSG_RESULT([yes])
|
||||
])
|
||||
])
|
||||
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
# | (__| |_| | _ <| |___
|
||||
# \___|\___/|_| \_\_____|
|
||||
#
|
||||
# Copyright (C) 1998 - 2008, Daniel Stenberg, <[email protected]>, et al.
|
||||
# Copyright (C) 1998 - 2013, Daniel Stenberg, <[email protected]>, et al.
|
||||
#
|
||||
# This software is licensed as described in the file COPYING, which
|
||||
# you should have received as part of this distribution. The terms
|
||||
@@ -18,11 +18,122 @@
|
||||
# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
# KIND, either express or implied.
|
||||
#
|
||||
# $Id: curl-confopts.m4,v 1.3 2008-10-07 13:13:34 yangtse Exp $
|
||||
#***************************************************************************
|
||||
|
||||
# File version for 'aclocal' use. Keep it a single number.
|
||||
# serial 3
|
||||
# serial 19
|
||||
|
||||
dnl CURL_CHECK_OPTION_THREADED_RESOLVER
|
||||
dnl -------------------------------------------------
|
||||
dnl Verify if configure has been invoked with option
|
||||
dnl --enable-threaded-resolver or --disable-threaded-resolver, and
|
||||
dnl set shell variable want_thres as appropriate.
|
||||
|
||||
AC_DEFUN([CURL_CHECK_OPTION_THREADED_RESOLVER], [
|
||||
AC_MSG_CHECKING([whether to enable the threaded resolver])
|
||||
OPT_THRES="default"
|
||||
AC_ARG_ENABLE(threaded_resolver,
|
||||
AC_HELP_STRING([--enable-threaded-resolver],[Enable threaded resolver])
|
||||
AC_HELP_STRING([--disable-threaded-resolver],[Disable threaded resolver]),
|
||||
OPT_THRES=$enableval)
|
||||
case "$OPT_THRES" in
|
||||
yes)
|
||||
dnl --enable-threaded-resolver option used
|
||||
want_thres="yes"
|
||||
;;
|
||||
*)
|
||||
dnl configure option not specified
|
||||
want_thres="no"
|
||||
;;
|
||||
esac
|
||||
AC_MSG_RESULT([$want_thres])
|
||||
])
|
||||
|
||||
dnl CURL_CHECK_OPTION_ARES
|
||||
dnl -------------------------------------------------
|
||||
dnl Verify if configure has been invoked with option
|
||||
dnl --enable-ares or --disable-ares, and
|
||||
dnl set shell variable want_ares as appropriate.
|
||||
|
||||
AC_DEFUN([CURL_CHECK_OPTION_ARES], [
|
||||
dnl AC_BEFORE([$0],[CURL_CHECK_OPTION_THREADS])dnl
|
||||
AC_BEFORE([$0],[CURL_CHECK_LIB_ARES])dnl
|
||||
AC_MSG_CHECKING([whether to enable c-ares for DNS lookups])
|
||||
OPT_ARES="default"
|
||||
AC_ARG_ENABLE(ares,
|
||||
AC_HELP_STRING([--enable-ares@<:@=PATH@:>@],[Enable c-ares for DNS lookups])
|
||||
AC_HELP_STRING([--disable-ares],[Disable c-ares for DNS lookups]),
|
||||
OPT_ARES=$enableval)
|
||||
case "$OPT_ARES" in
|
||||
no)
|
||||
dnl --disable-ares option used
|
||||
want_ares="no"
|
||||
;;
|
||||
default)
|
||||
dnl configure option not specified
|
||||
want_ares="no"
|
||||
;;
|
||||
*)
|
||||
dnl --enable-ares option used
|
||||
want_ares="yes"
|
||||
if test -n "$enableval" && test "$enableval" != "yes"; then
|
||||
want_ares_path="$enableval"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
AC_MSG_RESULT([$want_ares])
|
||||
])
|
||||
|
||||
|
||||
dnl CURL_CHECK_OPTION_CURLDEBUG
|
||||
dnl -------------------------------------------------
|
||||
dnl Verify if configure has been invoked with option
|
||||
dnl --enable-curldebug or --disable-curldebug, and set
|
||||
dnl shell variable want_curldebug value as appropriate.
|
||||
|
||||
AC_DEFUN([CURL_CHECK_OPTION_CURLDEBUG], [
|
||||
AC_BEFORE([$0],[CURL_CHECK_CURLDEBUG])dnl
|
||||
AC_MSG_CHECKING([whether to enable curl debug memory tracking])
|
||||
OPT_CURLDEBUG_BUILD="default"
|
||||
AC_ARG_ENABLE(curldebug,
|
||||
AC_HELP_STRING([--enable-curldebug],[Enable curl debug memory tracking])
|
||||
AC_HELP_STRING([--disable-curldebug],[Disable curl debug memory tracking]),
|
||||
OPT_CURLDEBUG_BUILD=$enableval)
|
||||
case "$OPT_CURLDEBUG_BUILD" in
|
||||
no)
|
||||
dnl --disable-curldebug option used
|
||||
want_curldebug="no"
|
||||
AC_MSG_RESULT([no])
|
||||
;;
|
||||
default)
|
||||
dnl configure's curldebug option not specified. Initially we will
|
||||
dnl handle this as a a request to use the same setting as option
|
||||
dnl --enable-debug. IOW, initially, for debug-enabled builds
|
||||
dnl this will be handled as a request to enable curldebug if
|
||||
dnl possible, and for debug-disabled builds this will be handled
|
||||
dnl as a request to disable curldebug.
|
||||
if test "$want_debug" = "yes"; then
|
||||
AC_MSG_RESULT([(assumed) yes])
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
want_curldebug_assumed="yes"
|
||||
want_curldebug="$want_debug"
|
||||
;;
|
||||
*)
|
||||
dnl --enable-curldebug option used.
|
||||
dnl The use of this option value is a request to enable curl's
|
||||
dnl debug memory tracking for the libcurl library. This can only
|
||||
dnl be done when some requisites are simultaneously satisfied.
|
||||
dnl Later on, these requisites are verified and if they are not
|
||||
dnl fully satisfied the option will be ignored and act as if
|
||||
dnl --disable-curldebug had been given setting shell variable
|
||||
dnl want_curldebug to 'no'.
|
||||
want_curldebug="yes"
|
||||
AC_MSG_RESULT([yes])
|
||||
;;
|
||||
esac
|
||||
])
|
||||
|
||||
|
||||
dnl CURL_CHECK_OPTION_DEBUG
|
||||
@@ -33,7 +144,8 @@ dnl variable want_debug value as appropriate.
|
||||
|
||||
AC_DEFUN([CURL_CHECK_OPTION_DEBUG], [
|
||||
AC_BEFORE([$0],[CURL_CHECK_OPTION_WARNINGS])dnl
|
||||
AC_BEFORE([$0],[CURL_CHECK_PROG_CC])dnl
|
||||
AC_BEFORE([$0],[CURL_CHECK_OPTION_CURLDEBUG])dnl
|
||||
AC_BEFORE([$0],[XC_CHECK_PROG_CC])dnl
|
||||
AC_MSG_CHECKING([whether to enable debug build options])
|
||||
OPT_DEBUG_BUILD="default"
|
||||
AC_ARG_ENABLE(debug,
|
||||
@@ -57,7 +169,6 @@ AC_HELP_STRING([--disable-debug],[Disable debug build options]),
|
||||
AC_MSG_RESULT([$want_debug])
|
||||
])
|
||||
|
||||
|
||||
dnl CURL_CHECK_OPTION_OPTIMIZE
|
||||
dnl -------------------------------------------------
|
||||
dnl Verify if configure has been invoked with option
|
||||
@@ -66,7 +177,7 @@ dnl shell variable want_optimize value as appropriate.
|
||||
|
||||
AC_DEFUN([CURL_CHECK_OPTION_OPTIMIZE], [
|
||||
AC_REQUIRE([CURL_CHECK_OPTION_DEBUG])dnl
|
||||
AC_BEFORE([$0],[CURL_CHECK_PROG_CC])dnl
|
||||
AC_BEFORE([$0],[XC_CHECK_PROG_CC])dnl
|
||||
AC_MSG_CHECKING([whether to enable compiler optimizer])
|
||||
OPT_COMPILER_OPTIMIZE="default"
|
||||
AC_ARG_ENABLE(optimize,
|
||||
@@ -96,10 +207,10 @@ AC_HELP_STRING([--disable-optimize],[Disable compiler optimizations]),
|
||||
dnl will always take precedence over any initial assumption.
|
||||
if test "$want_debug" = "yes"; then
|
||||
want_optimize="assume_no"
|
||||
AC_MSG_RESULT([not specified (assuming no)])
|
||||
AC_MSG_RESULT([(assumed) no])
|
||||
else
|
||||
want_optimize="assume_yes"
|
||||
AC_MSG_RESULT([not specified (assuming yes)])
|
||||
AC_MSG_RESULT([(assumed) yes])
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
@@ -114,6 +225,98 @@ AC_HELP_STRING([--disable-optimize],[Disable compiler optimizations]),
|
||||
])
|
||||
|
||||
|
||||
dnl CURL_CHECK_OPTION_SYMBOL_HIDING
|
||||
dnl -------------------------------------------------
|
||||
dnl Verify if configure has been invoked with option
|
||||
dnl --enable-symbol-hiding or --disable-symbol-hiding,
|
||||
dnl setting shell variable want_symbol_hiding value.
|
||||
|
||||
AC_DEFUN([CURL_CHECK_OPTION_SYMBOL_HIDING], [
|
||||
AC_BEFORE([$0],[CURL_CHECK_COMPILER_SYMBOL_HIDING])dnl
|
||||
AC_MSG_CHECKING([whether to enable hiding of library internal symbols])
|
||||
OPT_SYMBOL_HIDING="default"
|
||||
AC_ARG_ENABLE(symbol-hiding,
|
||||
AC_HELP_STRING([--enable-symbol-hiding],[Enable hiding of library internal symbols])
|
||||
AC_HELP_STRING([--disable-symbol-hiding],[Disable hiding of library internal symbols]),
|
||||
OPT_SYMBOL_HIDING=$enableval)
|
||||
AC_ARG_ENABLE(hidden-symbols,
|
||||
AC_HELP_STRING([--enable-hidden-symbols],[To be deprecated, use --enable-symbol-hiding])
|
||||
AC_HELP_STRING([--disable-hidden-symbols],[To be deprecated, use --disable-symbol-hiding]),
|
||||
OPT_SYMBOL_HIDING=$enableval)
|
||||
case "$OPT_SYMBOL_HIDING" in
|
||||
no)
|
||||
dnl --disable-symbol-hiding option used.
|
||||
dnl This is an indication to not attempt hiding of library internal
|
||||
dnl symbols. Default symbol visibility will be used, which normally
|
||||
dnl exposes all library internal symbols.
|
||||
want_symbol_hiding="no"
|
||||
AC_MSG_RESULT([no])
|
||||
;;
|
||||
default)
|
||||
dnl configure's symbol-hiding option not specified.
|
||||
dnl Handle this as if --enable-symbol-hiding option was given.
|
||||
want_symbol_hiding="yes"
|
||||
AC_MSG_RESULT([yes])
|
||||
;;
|
||||
*)
|
||||
dnl --enable-symbol-hiding option used.
|
||||
dnl This is an indication to attempt hiding of library internal
|
||||
dnl symbols. This is only supported on some compilers/linkers.
|
||||
want_symbol_hiding="yes"
|
||||
AC_MSG_RESULT([yes])
|
||||
;;
|
||||
esac
|
||||
])
|
||||
|
||||
|
||||
dnl CURL_CHECK_OPTION_THREADS
|
||||
dnl -------------------------------------------------
|
||||
dnl Verify if configure has been invoked with option
|
||||
dnl --enable-threads or --disable-threads, and
|
||||
dnl set shell variable want_threads as appropriate.
|
||||
|
||||
dnl AC_DEFUN([CURL_CHECK_OPTION_THREADS], [
|
||||
dnl AC_BEFORE([$0],[CURL_CHECK_LIB_THREADS])dnl
|
||||
dnl AC_MSG_CHECKING([whether to enable threads for DNS lookups])
|
||||
dnl OPT_THREADS="default"
|
||||
dnl AC_ARG_ENABLE(threads,
|
||||
dnl AC_HELP_STRING([--enable-threads@<:@=PATH@:>@],[Enable threads for DNS lookups])
|
||||
dnl AC_HELP_STRING([--disable-threads],[Disable threads for DNS lookups]),
|
||||
dnl OPT_THREADS=$enableval)
|
||||
dnl case "$OPT_THREADS" in
|
||||
dnl no)
|
||||
dnl dnl --disable-threads option used
|
||||
dnl want_threads="no"
|
||||
dnl AC_MSG_RESULT([no])
|
||||
dnl ;;
|
||||
dnl default)
|
||||
dnl dnl configure option not specified
|
||||
dnl want_threads="no"
|
||||
dnl AC_MSG_RESULT([(assumed) no])
|
||||
dnl ;;
|
||||
dnl *)
|
||||
dnl dnl --enable-threads option used
|
||||
dnl want_threads="yes"
|
||||
dnl want_threads_path="$enableval"
|
||||
dnl AC_MSG_RESULT([yes])
|
||||
dnl ;;
|
||||
dnl esac
|
||||
dnl #
|
||||
dnl if test "$want_ares" = "assume_yes"; then
|
||||
dnl if test "$want_threads" = "yes"; then
|
||||
dnl AC_MSG_CHECKING([whether to ignore c-ares enabling assumed setting])
|
||||
dnl AC_MSG_RESULT([yes])
|
||||
dnl want_ares="no"
|
||||
dnl else
|
||||
dnl want_ares="yes"
|
||||
dnl fi
|
||||
dnl fi
|
||||
dnl if test "$want_threads" = "yes" && test "$want_ares" = "yes"; then
|
||||
dnl AC_MSG_ERROR([options --enable-ares and --enable-threads are mutually exclusive, at most one may be enabled.])
|
||||
dnl fi
|
||||
dnl ])
|
||||
|
||||
|
||||
dnl CURL_CHECK_OPTION_WARNINGS
|
||||
dnl -------------------------------------------------
|
||||
dnl Verify if configure has been invoked with option
|
||||
@@ -122,7 +325,8 @@ dnl shell variable want_warnings as appropriate.
|
||||
|
||||
AC_DEFUN([CURL_CHECK_OPTION_WARNINGS], [
|
||||
AC_REQUIRE([CURL_CHECK_OPTION_DEBUG])dnl
|
||||
AC_BEFORE([$0],[CURL_CHECK_PROG_CC])dnl
|
||||
AC_BEFORE([$0],[CURL_CHECK_OPTION_WERROR])dnl
|
||||
AC_BEFORE([$0],[XC_CHECK_PROG_CC])dnl
|
||||
AC_MSG_CHECKING([whether to enable strict compiler warnings])
|
||||
OPT_COMPILER_WARNINGS="default"
|
||||
AC_ARG_ENABLE(warnings,
|
||||
@@ -147,3 +351,242 @@ AC_HELP_STRING([--disable-warnings],[Disable strict compiler warnings]),
|
||||
AC_MSG_RESULT([$want_warnings])
|
||||
])
|
||||
|
||||
dnl CURL_CHECK_OPTION_WERROR
|
||||
dnl -------------------------------------------------
|
||||
dnl Verify if configure has been invoked with option
|
||||
dnl --enable-werror or --disable-werror, and set
|
||||
dnl shell variable want_werror as appropriate.
|
||||
|
||||
AC_DEFUN([CURL_CHECK_OPTION_WERROR], [
|
||||
AC_BEFORE([$0],[CURL_CHECK_COMPILER])dnl
|
||||
AC_MSG_CHECKING([whether to enable compiler warnings as errors])
|
||||
OPT_COMPILER_WERROR="default"
|
||||
AC_ARG_ENABLE(werror,
|
||||
AC_HELP_STRING([--enable-werror],[Enable compiler warnings as errors])
|
||||
AC_HELP_STRING([--disable-werror],[Disable compiler warnings as errors]),
|
||||
OPT_COMPILER_WERROR=$enableval)
|
||||
case "$OPT_COMPILER_WERROR" in
|
||||
no)
|
||||
dnl --disable-werror option used
|
||||
want_werror="no"
|
||||
;;
|
||||
default)
|
||||
dnl configure option not specified
|
||||
want_werror="no"
|
||||
;;
|
||||
*)
|
||||
dnl --enable-werror option used
|
||||
want_werror="yes"
|
||||
;;
|
||||
esac
|
||||
AC_MSG_RESULT([$want_werror])
|
||||
])
|
||||
|
||||
|
||||
dnl CURL_CHECK_NONBLOCKING_SOCKET
|
||||
dnl -------------------------------------------------
|
||||
dnl Check for how to set a socket into non-blocking state.
|
||||
|
||||
AC_DEFUN([CURL_CHECK_NONBLOCKING_SOCKET], [
|
||||
AC_REQUIRE([CURL_CHECK_FUNC_FCNTL])dnl
|
||||
AC_REQUIRE([CURL_CHECK_FUNC_IOCTL])dnl
|
||||
AC_REQUIRE([CURL_CHECK_FUNC_IOCTLSOCKET])dnl
|
||||
AC_REQUIRE([CURL_CHECK_FUNC_IOCTLSOCKET_CAMEL])dnl
|
||||
AC_REQUIRE([CURL_CHECK_FUNC_SETSOCKOPT])dnl
|
||||
#
|
||||
tst_method="unknown"
|
||||
|
||||
AC_MSG_CHECKING([how to set a socket into non-blocking mode])
|
||||
if test "x$ac_cv_func_fcntl_o_nonblock" = "xyes"; then
|
||||
tst_method="fcntl O_NONBLOCK"
|
||||
elif test "x$ac_cv_func_ioctl_fionbio" = "xyes"; then
|
||||
tst_method="ioctl FIONBIO"
|
||||
elif test "x$ac_cv_func_ioctlsocket_fionbio" = "xyes"; then
|
||||
tst_method="ioctlsocket FIONBIO"
|
||||
elif test "x$ac_cv_func_ioctlsocket_camel_fionbio" = "xyes"; then
|
||||
tst_method="IoctlSocket FIONBIO"
|
||||
elif test "x$ac_cv_func_setsockopt_so_nonblock" = "xyes"; then
|
||||
tst_method="setsockopt SO_NONBLOCK"
|
||||
fi
|
||||
AC_MSG_RESULT([$tst_method])
|
||||
if test "$tst_method" = "unknown"; then
|
||||
AC_MSG_WARN([cannot determine non-blocking socket method.])
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
dnl CURL_CONFIGURE_SYMBOL_HIDING
|
||||
dnl -------------------------------------------------
|
||||
dnl Depending on --enable-symbol-hiding or --disable-symbol-hiding
|
||||
dnl configure option, and compiler capability to actually honor such
|
||||
dnl option, this will modify compiler flags as appropriate and also
|
||||
dnl provide needed definitions for configuration and Makefile.am files.
|
||||
dnl This macro should not be used until all compilation tests have
|
||||
dnl been done to prevent interferences on other tests.
|
||||
|
||||
AC_DEFUN([CURL_CONFIGURE_SYMBOL_HIDING], [
|
||||
AC_MSG_CHECKING([whether hiding of library internal symbols will actually happen])
|
||||
CFLAG_CURL_SYMBOL_HIDING=""
|
||||
doing_symbol_hiding="no"
|
||||
if test x"$ac_cv_native_windows" != "xyes" &&
|
||||
test "$want_symbol_hiding" = "yes" &&
|
||||
test "$supports_symbol_hiding" = "yes"; then
|
||||
doing_symbol_hiding="yes"
|
||||
CFLAG_CURL_SYMBOL_HIDING="$symbol_hiding_CFLAGS"
|
||||
AC_DEFINE_UNQUOTED(CURL_EXTERN_SYMBOL, $symbol_hiding_EXTERN,
|
||||
[Definition to make a library symbol externally visible.])
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
AM_CONDITIONAL(DOING_CURL_SYMBOL_HIDING, test x$doing_symbol_hiding = xyes)
|
||||
AC_SUBST(CFLAG_CURL_SYMBOL_HIDING)
|
||||
])
|
||||
|
||||
|
||||
dnl CURL_CHECK_LIB_ARES
|
||||
dnl -------------------------------------------------
|
||||
dnl When c-ares library support has been requested,
|
||||
dnl performs necessary checks and adjustsments needed
|
||||
dnl to enable support of this library.
|
||||
|
||||
AC_DEFUN([CURL_CHECK_LIB_ARES], [
|
||||
#
|
||||
if test "$want_ares" = "yes"; then
|
||||
dnl c-ares library support has been requested
|
||||
clean_CPPFLAGS="$CPPFLAGS"
|
||||
clean_LDFLAGS="$LDFLAGS"
|
||||
clean_LIBS="$LIBS"
|
||||
embedded_ares="unknown"
|
||||
configure_runpath=`pwd`
|
||||
embedded_ares_builddir="$configure_runpath/ares"
|
||||
if test -n "$want_ares_path"; then
|
||||
dnl c-ares library path has been specified
|
||||
ares_CPPFLAGS="-I$want_ares_path/include"
|
||||
ares_LDFLAGS="-L$want_ares_path/lib"
|
||||
ares_LIBS="-lcares"
|
||||
else
|
||||
dnl c-ares library path has not been given
|
||||
if test -d "$srcdir/ares"; then
|
||||
dnl c-ares sources embedded in curl tree
|
||||
embedded_ares="yes"
|
||||
AC_CONFIG_SUBDIRS(ares)
|
||||
dnl c-ares has installable configured header files, path
|
||||
dnl inclusion fully done in makefiles for in-tree builds.
|
||||
ares_CPPFLAGS=""
|
||||
ares_LDFLAGS="-L$embedded_ares_builddir"
|
||||
ares_LIBS="-lcares"
|
||||
else
|
||||
dnl c-ares path not specified, use defaults
|
||||
ares_CPPFLAGS=""
|
||||
ares_LDFLAGS=""
|
||||
ares_LIBS="-lcares"
|
||||
fi
|
||||
fi
|
||||
#
|
||||
CPPFLAGS="$ares_CPPFLAGS $clean_CPPFLAGS"
|
||||
LDFLAGS="$ares_LDFLAGS $clean_LDFLAGS"
|
||||
LIBS="$ares_LIBS $clean_LIBS"
|
||||
#
|
||||
if test "$embedded_ares" != "yes"; then
|
||||
dnl check if c-ares new enough when not using an embedded
|
||||
dnl source tree one which normally has not been built yet.
|
||||
AC_MSG_CHECKING([that c-ares is good and recent enough])
|
||||
AC_LINK_IFELSE([
|
||||
AC_LANG_PROGRAM([[
|
||||
#include <ares.h>
|
||||
/* set of dummy functions in case c-ares was built with debug */
|
||||
void curl_dofree() { }
|
||||
void curl_sclose() { }
|
||||
void curl_domalloc() { }
|
||||
void curl_docalloc() { }
|
||||
void curl_socket() { }
|
||||
]],[[
|
||||
ares_channel channel;
|
||||
ares_cancel(channel); /* added in 1.2.0 */
|
||||
ares_process_fd(channel, 0, 0); /* added in 1.4.0 */
|
||||
ares_dup(&channel, channel); /* added in 1.6.0 */
|
||||
]])
|
||||
],[
|
||||
AC_MSG_RESULT([yes])
|
||||
],[
|
||||
AC_MSG_RESULT([no])
|
||||
AC_MSG_ERROR([c-ares library defective or too old])
|
||||
dnl restore initial settings
|
||||
CPPFLAGS="$clean_CPPFLAGS"
|
||||
LDFLAGS="$clean_LDFLAGS"
|
||||
LIBS="$clean_LIBS"
|
||||
# prevent usage
|
||||
want_ares="no"
|
||||
])
|
||||
fi
|
||||
if test "$want_ares" = "yes"; then
|
||||
dnl finally c-ares will be used
|
||||
AC_DEFINE(USE_ARES, 1, [Define to enable c-ares support])
|
||||
AC_SUBST([USE_ARES], [1])
|
||||
curl_res_msg="c-ares"
|
||||
fi
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
dnl CURL_CHECK_OPTION_NTLM_WB
|
||||
dnl -------------------------------------------------
|
||||
dnl Verify if configure has been invoked with option
|
||||
dnl --enable-ntlm-wb or --disable-ntlm-wb, and set
|
||||
dnl shell variable want_ntlm_wb and want_ntlm_wb_file
|
||||
dnl as appropriate.
|
||||
|
||||
AC_DEFUN([CURL_CHECK_OPTION_NTLM_WB], [
|
||||
AC_BEFORE([$0],[CURL_CHECK_NTLM_WB])dnl
|
||||
OPT_NTLM_WB="default"
|
||||
AC_ARG_ENABLE(ntlm-wb,
|
||||
AC_HELP_STRING([--enable-ntlm-wb@<:@=FILE@:>@],[Enable NTLM delegation to winbind's ntlm_auth helper, where FILE is ntlm_auth's absolute filename (default: /usr/bin/ntlm_auth)])
|
||||
AC_HELP_STRING([--disable-ntlm-wb],[Disable NTLM delegation to winbind's ntlm_auth helper]),
|
||||
OPT_NTLM_WB=$enableval)
|
||||
want_ntlm_wb_file="/usr/bin/ntlm_auth"
|
||||
case "$OPT_NTLM_WB" in
|
||||
no)
|
||||
dnl --disable-ntlm-wb option used
|
||||
want_ntlm_wb="no"
|
||||
;;
|
||||
default)
|
||||
dnl configure option not specified
|
||||
want_ntlm_wb="yes"
|
||||
;;
|
||||
*)
|
||||
dnl --enable-ntlm-wb option used
|
||||
want_ntlm_wb="yes"
|
||||
if test -n "$enableval" && test "$enableval" != "yes"; then
|
||||
want_ntlm_wb_file="$enableval"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
])
|
||||
|
||||
|
||||
dnl CURL_CHECK_NTLM_WB
|
||||
dnl -------------------------------------------------
|
||||
dnl Check if support for NTLM delegation to winbind's
|
||||
dnl ntlm_auth helper will finally be enabled depending
|
||||
dnl on given configure options and target platform.
|
||||
|
||||
AC_DEFUN([CURL_CHECK_NTLM_WB], [
|
||||
AC_REQUIRE([CURL_CHECK_OPTION_NTLM_WB])dnl
|
||||
AC_REQUIRE([CURL_CHECK_NATIVE_WINDOWS])dnl
|
||||
AC_MSG_CHECKING([whether to enable NTLM delegation to winbind's helper])
|
||||
if test "$ac_cv_native_windows" = "yes" ||
|
||||
test "x$SSL_ENABLED" = "x"; then
|
||||
want_ntlm_wb_file=""
|
||||
want_ntlm_wb="no"
|
||||
fi
|
||||
AC_MSG_RESULT([$want_ntlm_wb])
|
||||
if test "$want_ntlm_wb" = "yes"; then
|
||||
AC_DEFINE(NTLM_WB_ENABLED, 1,
|
||||
[Define to enable NTLM delegation to winbind's ntlm_auth helper.])
|
||||
AC_DEFINE_UNQUOTED(NTLM_WB_FILE, "$want_ntlm_wb_file",
|
||||
[Define absolute filename for winbind's ntlm_auth helper.])
|
||||
NTLM_WB_ENABLED=1
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,260 @@
|
||||
#***************************************************************************
|
||||
# _ _ ____ _
|
||||
# Project ___| | | | _ \| |
|
||||
# / __| | | | |_) | |
|
||||
# | (__| |_| | _ <| |___
|
||||
# \___|\___/|_| \_\_____|
|
||||
#
|
||||
# Copyright (C) 1998 - 2011, Daniel Stenberg, <[email protected]>, et al.
|
||||
#
|
||||
# This software is licensed as described in the file COPYING, which
|
||||
# you should have received as part of this distribution. The terms
|
||||
# are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
#
|
||||
# You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
# copies of the Software, and permit persons to whom the Software is
|
||||
# furnished to do so, under the terms of the COPYING file.
|
||||
#
|
||||
# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
# KIND, either express or implied.
|
||||
#
|
||||
#***************************************************************************
|
||||
|
||||
# File version for 'aclocal' use. Keep it a single number.
|
||||
# serial 5
|
||||
|
||||
|
||||
dnl CURL_CHECK_OPENSSL_API_HEADERS
|
||||
dnl -------------------------------------------------
|
||||
dnl Find out OpenSSL headers API version, as reported
|
||||
dnl by OPENSSL_VERSION_NUMBER. No runtime checks
|
||||
dnl allowed here for cross-compilation support.
|
||||
dnl HAVE_OPENSSL_API_HEADERS is defined as apprpriate
|
||||
dnl only for systems which actually run the configure
|
||||
dnl script. Config files generated manually or in any
|
||||
dnl other way shall not define this.
|
||||
|
||||
AC_DEFUN([CURL_CHECK_OPENSSL_API_HEADERS], [
|
||||
#
|
||||
tst_api="unknown"
|
||||
#
|
||||
AC_MSG_CHECKING([for OpenSSL headers version])
|
||||
CURL_CHECK_DEF([OPENSSL_VERSION_NUMBER], [
|
||||
# ifdef USE_OPENSSL
|
||||
# include <openssl/crypto.h>
|
||||
# else
|
||||
# include <crypto.h>
|
||||
# endif
|
||||
], [silent])
|
||||
if test "$curl_cv_have_def_OPENSSL_VERSION_NUMBER" = "yes"; then
|
||||
tst_verlen=`expr "$curl_cv_def_OPENSSL_VERSION_NUMBER" : '.*'`
|
||||
case "x$tst_verlen" in
|
||||
x6)
|
||||
tst_vermaj=`echo $curl_cv_def_OPENSSL_VERSION_NUMBER | cut -c 3`
|
||||
tst_vermin=`echo $curl_cv_def_OPENSSL_VERSION_NUMBER | cut -c 4`
|
||||
tst_verfix=`echo $curl_cv_def_OPENSSL_VERSION_NUMBER | cut -c 5`
|
||||
tst_api=0x$tst_vermaj$tst_vermin$tst_verfix
|
||||
;;
|
||||
x11|x10)
|
||||
tst_vermaj=`echo $curl_cv_def_OPENSSL_VERSION_NUMBER | cut -c 3`
|
||||
tst_vermin=`echo $curl_cv_def_OPENSSL_VERSION_NUMBER | cut -c 5`
|
||||
tst_verfix=`echo $curl_cv_def_OPENSSL_VERSION_NUMBER | cut -c 7`
|
||||
tst_api=0x$tst_vermaj$tst_vermin$tst_verfix
|
||||
;;
|
||||
*)
|
||||
tst_api="unknown"
|
||||
;;
|
||||
esac
|
||||
case $tst_api in
|
||||
0x110) tst_show="1.1.0" ;;
|
||||
0x101) tst_show="1.0.1" ;;
|
||||
0x100) tst_show="1.0.0" ;;
|
||||
0x099) tst_show="0.9.9" ;;
|
||||
0x098) tst_show="0.9.8" ;;
|
||||
0x097) tst_show="0.9.7" ;;
|
||||
0x096) tst_show="0.9.6" ;;
|
||||
0x095) tst_show="0.9.5" ;;
|
||||
0x094) tst_show="0.9.4" ;;
|
||||
0x093) tst_show="0.9.3" ;;
|
||||
0x092) tst_show="0.9.2" ;;
|
||||
0x091) tst_show="0.9.1" ;;
|
||||
*) tst_show="unknown" ;;
|
||||
esac
|
||||
tst_show="$tst_show - $curl_cv_def_OPENSSL_VERSION_NUMBER"
|
||||
else
|
||||
tst_show="unknown"
|
||||
fi
|
||||
AC_MSG_RESULT([$tst_show])
|
||||
#
|
||||
dnl if test "$tst_api" != "unknown"; then
|
||||
dnl AC_DEFINE_UNQUOTED(HAVE_OPENSSL_API_HEADERS, $tst_api,
|
||||
dnl [OpenSSL headers configure time API. Defined only by configure script.
|
||||
dnl No matter what, do not ever define this manually or by any other means.])
|
||||
dnl fi
|
||||
curl_openssl_api_headers=$tst_api
|
||||
])
|
||||
|
||||
|
||||
dnl CURL_CHECK_OPENSSL_API_LIBRARY
|
||||
dnl -------------------------------------------------
|
||||
dnl Find out OpenSSL library API version, performing
|
||||
dnl only link tests in order to avoid getting fooled
|
||||
dnl by mismatched OpenSSL headers. No runtime checks
|
||||
dnl allowed here for cross-compilation support.
|
||||
dnl HAVE_OPENSSL_API_LIBRARY is defined as apprpriate
|
||||
dnl only for systems which actually run the configure
|
||||
dnl script. Config files generated manually or in any
|
||||
dnl other way shall not define this.
|
||||
dnl
|
||||
dnl Most probably we should not bother attempting to
|
||||
dnl detect OpenSSL library development API versions
|
||||
dnl 0.9.9 and 1.1.0. For our intended use, detecting
|
||||
dnl released versions should be good enough.
|
||||
dnl
|
||||
dnl Given that currently we are not using the result
|
||||
dnl of this check, except for informative purposes,
|
||||
dnl lets try to figure out everything.
|
||||
|
||||
AC_DEFUN([CURL_CHECK_OPENSSL_API_LIBRARY], [
|
||||
#
|
||||
tst_api="unknown"
|
||||
#
|
||||
AC_MSG_CHECKING([for OpenSSL library version])
|
||||
if test "$tst_api" = "unknown"; then
|
||||
case $host in
|
||||
*-*-vms*)
|
||||
AC_LINK_IFELSE([
|
||||
AC_LANG_FUNC_LINK_TRY([SSL_CTX_set_not_resumbl_sess_cb])
|
||||
],[
|
||||
tst_api="0x110"
|
||||
])
|
||||
;;
|
||||
*)
|
||||
AC_LINK_IFELSE([
|
||||
AC_LANG_FUNC_LINK_TRY([SSL_CTX_set_not_resumable_session_callback])
|
||||
],[
|
||||
tst_api="0x110"
|
||||
])
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
if test "$tst_api" = "unknown"; then
|
||||
AC_LINK_IFELSE([
|
||||
AC_LANG_FUNC_LINK_TRY([SSL_renegotiate_abbreviated])
|
||||
],[
|
||||
tst_api="0x101"
|
||||
])
|
||||
fi
|
||||
if test "$tst_api" = "unknown"; then
|
||||
AC_LINK_IFELSE([
|
||||
AC_LANG_FUNC_LINK_TRY([OBJ_add_sigid])
|
||||
],[
|
||||
tst_api="0x100"
|
||||
])
|
||||
fi
|
||||
if test "$tst_api" = "unknown"; then
|
||||
AC_LINK_IFELSE([
|
||||
AC_LANG_FUNC_LINK_TRY([ERR_set_mark])
|
||||
],[
|
||||
tst_api="0x098"
|
||||
])
|
||||
fi
|
||||
if test "$tst_api" = "unknown"; then
|
||||
AC_LINK_IFELSE([
|
||||
AC_LANG_FUNC_LINK_TRY([ERR_peek_last_error])
|
||||
],[
|
||||
tst_api="0x097"
|
||||
])
|
||||
fi
|
||||
if test "$tst_api" = "unknown"; then
|
||||
AC_LINK_IFELSE([
|
||||
AC_LANG_FUNC_LINK_TRY([c2i_ASN1_OBJECT])
|
||||
],[
|
||||
tst_api="0x096"
|
||||
])
|
||||
fi
|
||||
if test "$tst_api" = "unknown"; then
|
||||
AC_LINK_IFELSE([
|
||||
AC_LANG_FUNC_LINK_TRY([SSL_CTX_set_purpose])
|
||||
],[
|
||||
tst_api="0x095"
|
||||
])
|
||||
fi
|
||||
if test "$tst_api" = "unknown"; then
|
||||
AC_LINK_IFELSE([
|
||||
AC_LANG_FUNC_LINK_TRY([OBJ_obj2txt])
|
||||
],[
|
||||
tst_api="0x094"
|
||||
])
|
||||
fi
|
||||
if test "$tst_api" = "unknown"; then
|
||||
AC_LINK_IFELSE([
|
||||
AC_LANG_FUNC_LINK_TRY([SSL_get_verify_depth])
|
||||
],[
|
||||
tst_api="0x093"
|
||||
])
|
||||
fi
|
||||
if test "$tst_api" = "unknown"; then
|
||||
AC_LINK_IFELSE([
|
||||
AC_LANG_FUNC_LINK_TRY([SSL_library_init])
|
||||
],[
|
||||
tst_api="0x092"
|
||||
])
|
||||
fi
|
||||
if test "$tst_api" = "unknown"; then
|
||||
AC_LINK_IFELSE([
|
||||
AC_LANG_FUNC_LINK_TRY([SSL_CTX_set_cipher_list])
|
||||
],[
|
||||
tst_api="0x091"
|
||||
])
|
||||
fi
|
||||
case $tst_api in
|
||||
0x110) tst_show="1.1.0" ;;
|
||||
0x101) tst_show="1.0.1" ;;
|
||||
0x100) tst_show="1.0.0" ;;
|
||||
0x099) tst_show="0.9.9" ;;
|
||||
0x098) tst_show="0.9.8" ;;
|
||||
0x097) tst_show="0.9.7" ;;
|
||||
0x096) tst_show="0.9.6" ;;
|
||||
0x095) tst_show="0.9.5" ;;
|
||||
0x094) tst_show="0.9.4" ;;
|
||||
0x093) tst_show="0.9.3" ;;
|
||||
0x092) tst_show="0.9.2" ;;
|
||||
0x091) tst_show="0.9.1" ;;
|
||||
*) tst_show="unknown" ;;
|
||||
esac
|
||||
AC_MSG_RESULT([$tst_show])
|
||||
#
|
||||
dnl if test "$tst_api" != "unknown"; then
|
||||
dnl AC_DEFINE_UNQUOTED(HAVE_OPENSSL_API_LIBRARY, $tst_api,
|
||||
dnl [OpenSSL library link time API. Defined only by configure script.
|
||||
dnl No matter what, do not ever define this manually or by any other means.])
|
||||
dnl fi
|
||||
curl_openssl_api_library=$tst_api
|
||||
])
|
||||
|
||||
|
||||
dnl CURL_CHECK_OPENSSL_API
|
||||
dnl -------------------------------------------------
|
||||
|
||||
AC_DEFUN([CURL_CHECK_OPENSSL_API], [
|
||||
#
|
||||
CURL_CHECK_OPENSSL_API_HEADERS
|
||||
CURL_CHECK_OPENSSL_API_LIBRARY
|
||||
#
|
||||
tst_match="yes"
|
||||
#
|
||||
AC_MSG_CHECKING([for OpenSSL headers and library versions matching])
|
||||
if test "$curl_openssl_api_headers" = "unknown" ||
|
||||
test "$curl_openssl_api_library" = "unknown"; then
|
||||
tst_match="fail"
|
||||
tst_warns="Can not compare OpenSSL headers and library versions."
|
||||
elif test "$curl_openssl_api_headers" != "$curl_openssl_api_library"; then
|
||||
tst_match="no"
|
||||
tst_warns="OpenSSL headers and library versions do not match."
|
||||
fi
|
||||
AC_MSG_RESULT([$tst_match])
|
||||
if test "$tst_match" != "yes"; then
|
||||
AC_MSG_WARN([$tst_warns])
|
||||
fi
|
||||
])
|
||||
@@ -0,0 +1,76 @@
|
||||
#***************************************************************************
|
||||
#***************************************************************************
|
||||
|
||||
# File version for 'aclocal' use. Keep it a single number.
|
||||
# serial 7
|
||||
|
||||
dnl CURL_OVERRIDE_AUTOCONF
|
||||
dnl -------------------------------------------------
|
||||
dnl Placing a call to this macro in configure.ac after
|
||||
dnl the one to AC_INIT will make macros in this file
|
||||
dnl visible to the rest of the compilation overriding
|
||||
dnl those from Autoconf.
|
||||
|
||||
AC_DEFUN([CURL_OVERRIDE_AUTOCONF], [
|
||||
AC_BEFORE([$0],[AC_PROG_LIBTOOL])
|
||||
# using curl-override.m4
|
||||
])
|
||||
|
||||
dnl Override Autoconf's AC_LANG_PROGRAM (C)
|
||||
dnl -------------------------------------------------
|
||||
dnl This is done to prevent compiler warning
|
||||
dnl 'function declaration isn't a prototype'
|
||||
dnl in function main. This requires at least
|
||||
dnl a c89 compiler and does not suport K&R.
|
||||
|
||||
m4_define([AC_LANG_PROGRAM(C)],
|
||||
[$1
|
||||
int main (void)
|
||||
{
|
||||
$2
|
||||
;
|
||||
return 0;
|
||||
}])
|
||||
|
||||
dnl Override Autoconf's AC_LANG_CALL (C)
|
||||
dnl -------------------------------------------------
|
||||
dnl This is a backport of Autoconf's 2.60 with the
|
||||
dnl embedded comments that hit the resulting script
|
||||
dnl removed. This is done to reduce configure size
|
||||
dnl and use fixed macro across Autoconf versions.
|
||||
|
||||
m4_define([AC_LANG_CALL(C)],
|
||||
[AC_LANG_PROGRAM([$1
|
||||
m4_if([$2], [main], ,
|
||||
[
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
#endif
|
||||
char $2 ();])], [return $2 ();])])
|
||||
|
||||
dnl Override Autoconf's AC_LANG_FUNC_LINK_TRY (C)
|
||||
dnl -------------------------------------------------
|
||||
dnl This is a backport of Autoconf's 2.60 with the
|
||||
dnl embedded comments that hit the resulting script
|
||||
dnl removed. This is done to reduce configure size
|
||||
dnl and use fixed macro across Autoconf versions.
|
||||
|
||||
m4_define([AC_LANG_FUNC_LINK_TRY(C)],
|
||||
[AC_LANG_PROGRAM(
|
||||
[
|
||||
#define $1 innocuous_$1
|
||||
#ifdef __STDC__
|
||||
# include <limits.h>
|
||||
#else
|
||||
# include <assert.h>
|
||||
#endif
|
||||
#undef $1
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
#endif
|
||||
char $1 ();
|
||||
#if defined __stub_$1 || defined __stub___$1
|
||||
choke me
|
||||
#endif
|
||||
], [return $1 ();])])
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
# | (__| |_| | _ <| |___
|
||||
# \___|\___/|_| \_\_____|
|
||||
#
|
||||
# Copyright (C) 1998 - 2008, Daniel Stenberg, <[email protected]>, et al.
|
||||
# Copyright (C) 1998 - 2009, Daniel Stenberg, <[email protected]>, et al.
|
||||
#
|
||||
# This software is licensed as described in the file COPYING, which
|
||||
# you should have received as part of this distribution. The terms
|
||||
@@ -18,11 +18,10 @@
|
||||
# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
# KIND, either express or implied.
|
||||
#
|
||||
# $Id: curl-reentrant.m4,v 1.3 2008-10-14 18:44:27 yangtse Exp $
|
||||
#***************************************************************************
|
||||
|
||||
# File version for 'aclocal' use. Keep it a single number.
|
||||
# serial 3
|
||||
# serial 10
|
||||
|
||||
dnl Note 1
|
||||
dnl ------
|
||||
@@ -31,6 +30,58 @@ dnl conditionally include header files. These macros are used early in the
|
||||
dnl configure process much before header file availability is known.
|
||||
|
||||
|
||||
dnl CURL_CHECK_NEED_REENTRANT_ERRNO
|
||||
dnl -------------------------------------------------
|
||||
dnl Checks if the preprocessor _REENTRANT definition
|
||||
dnl makes errno available as a preprocessor macro.
|
||||
|
||||
AC_DEFUN([CURL_CHECK_NEED_REENTRANT_ERRNO], [
|
||||
AC_COMPILE_IFELSE([
|
||||
AC_LANG_PROGRAM([[
|
||||
#include <errno.h>
|
||||
]],[[
|
||||
if(0 != errno)
|
||||
return 1;
|
||||
]])
|
||||
],[
|
||||
tmp_errno="yes"
|
||||
],[
|
||||
tmp_errno="no"
|
||||
])
|
||||
if test "$tmp_errno" = "yes"; then
|
||||
AC_COMPILE_IFELSE([
|
||||
AC_LANG_PROGRAM([[
|
||||
#include <errno.h>
|
||||
]],[[
|
||||
#ifdef errno
|
||||
int dummy=1;
|
||||
#else
|
||||
force compilation error
|
||||
#endif
|
||||
]])
|
||||
],[
|
||||
tmp_errno="errno_macro_defined"
|
||||
],[
|
||||
AC_COMPILE_IFELSE([
|
||||
AC_LANG_PROGRAM([[
|
||||
#define _REENTRANT
|
||||
#include <errno.h>
|
||||
]],[[
|
||||
#ifdef errno
|
||||
int dummy=1;
|
||||
#else
|
||||
force compilation error
|
||||
#endif
|
||||
]])
|
||||
],[
|
||||
tmp_errno="errno_macro_needs_reentrant"
|
||||
tmp_need_reentrant="yes"
|
||||
])
|
||||
])
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
dnl CURL_CHECK_NEED_REENTRANT_GMTIME_R
|
||||
dnl -------------------------------------------------
|
||||
dnl Checks if the preprocessor _REENTRANT definition
|
||||
@@ -376,8 +427,8 @@ dnl must be unconditionally done for this platform.
|
||||
dnl Internal macro for CURL_CONFIGURE_REENTRANT.
|
||||
|
||||
AC_DEFUN([CURL_CHECK_NEED_REENTRANT_SYSTEM], [
|
||||
case $host in
|
||||
*-*-solaris*)
|
||||
case $host_os in
|
||||
solaris*)
|
||||
tmp_need_reentrant="yes"
|
||||
;;
|
||||
*)
|
||||
@@ -387,13 +438,36 @@ AC_DEFUN([CURL_CHECK_NEED_REENTRANT_SYSTEM], [
|
||||
])
|
||||
|
||||
|
||||
dnl CURL_CHECK_NEED_THREAD_SAFE_SYSTEM
|
||||
dnl -------------------------------------------------
|
||||
dnl Checks if the preprocessor _THREAD_SAFE definition
|
||||
dnl must be unconditionally done for this platform.
|
||||
dnl Internal macro for CURL_CONFIGURE_THREAD_SAFE.
|
||||
|
||||
AC_DEFUN([CURL_CHECK_NEED_THREAD_SAFE_SYSTEM], [
|
||||
case $host_os in
|
||||
aix[[123]].* | aix4.[[012]].*)
|
||||
dnl aix 4.2 and older
|
||||
tmp_need_thread_safe="no"
|
||||
;;
|
||||
aix*)
|
||||
dnl AIX 4.3 and newer
|
||||
tmp_need_thread_safe="yes"
|
||||
;;
|
||||
*)
|
||||
tmp_need_thread_safe="no"
|
||||
;;
|
||||
esac
|
||||
])
|
||||
|
||||
|
||||
dnl CURL_CONFIGURE_FROM_NOW_ON_WITH_REENTRANT
|
||||
dnl -------------------------------------------------
|
||||
dnl This macro ensures that configuration tests done
|
||||
dnl after this will execute with preprocessor symbol
|
||||
dnl _REENTRANT defined. This macro also ensures that
|
||||
dnl the generated config file defines NEED_REENTRANT
|
||||
dnl and that in turn setup.h will define _REENTRANT.
|
||||
dnl and that in turn curl_setup.h will define _REENTRANT.
|
||||
dnl Internal macro for CURL_CONFIGURE_REENTRANT.
|
||||
|
||||
AC_DEFUN([CURL_CONFIGURE_FROM_NOW_ON_WITH_REENTRANT], [
|
||||
@@ -407,6 +481,26 @@ _EOF
|
||||
])
|
||||
|
||||
|
||||
dnl CURL_CONFIGURE_FROM_NOW_ON_WITH_THREAD_SAFE
|
||||
dnl -------------------------------------------------
|
||||
dnl This macro ensures that configuration tests done
|
||||
dnl after this will execute with preprocessor symbol
|
||||
dnl _THREAD_SAFE defined. This macro also ensures that
|
||||
dnl the generated config file defines NEED_THREAD_SAFE
|
||||
dnl and that in turn curl_setup.h will define _THREAD_SAFE.
|
||||
dnl Internal macro for CURL_CONFIGURE_THREAD_SAFE.
|
||||
|
||||
AC_DEFUN([CURL_CONFIGURE_FROM_NOW_ON_WITH_THREAD_SAFE], [
|
||||
AC_DEFINE(NEED_THREAD_SAFE, 1,
|
||||
[Define to 1 if _THREAD_SAFE preprocessor symbol must be defined.])
|
||||
cat >>confdefs.h <<_EOF
|
||||
#ifndef _THREAD_SAFE
|
||||
# define _THREAD_SAFE
|
||||
#endif
|
||||
_EOF
|
||||
])
|
||||
|
||||
|
||||
dnl CURL_CONFIGURE_REENTRANT
|
||||
dnl -------------------------------------------------
|
||||
dnl This first checks if the preprocessor _REENTRANT
|
||||
@@ -443,6 +537,9 @@ AC_DEFUN([CURL_CONFIGURE_REENTRANT], [
|
||||
if test "$tmp_reentrant_initially_defined" = "no"; then
|
||||
AC_MSG_CHECKING([if _REENTRANT is actually needed])
|
||||
CURL_CHECK_NEED_REENTRANT_SYSTEM
|
||||
if test "$tmp_need_reentrant" = "no"; then
|
||||
CURL_CHECK_NEED_REENTRANT_ERRNO
|
||||
fi
|
||||
if test "$tmp_need_reentrant" = "no"; then
|
||||
CURL_CHECK_NEED_REENTRANT_FUNCTIONS_R
|
||||
fi
|
||||
@@ -464,3 +561,57 @@ AC_DEFUN([CURL_CONFIGURE_REENTRANT], [
|
||||
#
|
||||
])
|
||||
|
||||
|
||||
dnl CURL_CONFIGURE_THREAD_SAFE
|
||||
dnl -------------------------------------------------
|
||||
dnl This first checks if the preprocessor _THREAD_SAFE
|
||||
dnl symbol is already defined. If it isn't currently
|
||||
dnl defined a set of checks are performed to verify
|
||||
dnl if its definition is required. Finally, if
|
||||
dnl _THREAD_SAFE is already defined or needed it takes
|
||||
dnl care of making adjustments necessary to ensure
|
||||
dnl that it is defined equally for further configure
|
||||
dnl tests and generated config file.
|
||||
|
||||
AC_DEFUN([CURL_CONFIGURE_THREAD_SAFE], [
|
||||
AC_PREREQ([2.50])dnl
|
||||
#
|
||||
AC_MSG_CHECKING([if _THREAD_SAFE is already defined])
|
||||
AC_COMPILE_IFELSE([
|
||||
AC_LANG_PROGRAM([[
|
||||
]],[[
|
||||
#ifdef _THREAD_SAFE
|
||||
int dummy=1;
|
||||
#else
|
||||
force compilation error
|
||||
#endif
|
||||
]])
|
||||
],[
|
||||
AC_MSG_RESULT([yes])
|
||||
tmp_thread_safe_initially_defined="yes"
|
||||
],[
|
||||
AC_MSG_RESULT([no])
|
||||
tmp_thread_safe_initially_defined="no"
|
||||
])
|
||||
#
|
||||
if test "$tmp_thread_safe_initially_defined" = "no"; then
|
||||
AC_MSG_CHECKING([if _THREAD_SAFE is actually needed])
|
||||
CURL_CHECK_NEED_THREAD_SAFE_SYSTEM
|
||||
if test "$tmp_need_thread_safe" = "yes"; then
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
fi
|
||||
#
|
||||
AC_MSG_CHECKING([if _THREAD_SAFE is onwards defined])
|
||||
if test "$tmp_thread_safe_initially_defined" = "yes" ||
|
||||
test "$tmp_need_thread_safe" = "yes"; then
|
||||
CURL_CONFIGURE_FROM_NOW_ON_WITH_THREAD_SAFE
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
#
|
||||
])
|
||||
|
||||
|
||||
+7991
File diff suppressed because it is too large
Load Diff
+384
@@ -0,0 +1,384 @@
|
||||
# Helper functions for option handling. -*- Autoconf -*-
|
||||
#
|
||||
# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
|
||||
# Inc.
|
||||
# Written by Gary V. Vaughan, 2004
|
||||
#
|
||||
# This file is free software; the Free Software Foundation gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
|
||||
# serial 7 ltoptions.m4
|
||||
|
||||
# This is to help aclocal find these macros, as it can't see m4_define.
|
||||
AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
|
||||
|
||||
|
||||
# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
|
||||
# ------------------------------------------
|
||||
m4_define([_LT_MANGLE_OPTION],
|
||||
[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
|
||||
|
||||
|
||||
# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
|
||||
# ---------------------------------------
|
||||
# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
|
||||
# matching handler defined, dispatch to it. Other OPTION-NAMEs are
|
||||
# saved as a flag.
|
||||
m4_define([_LT_SET_OPTION],
|
||||
[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
|
||||
m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
|
||||
_LT_MANGLE_DEFUN([$1], [$2]),
|
||||
[m4_warning([Unknown $1 option `$2'])])[]dnl
|
||||
])
|
||||
|
||||
|
||||
# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
|
||||
# ------------------------------------------------------------
|
||||
# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
|
||||
m4_define([_LT_IF_OPTION],
|
||||
[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
|
||||
|
||||
|
||||
# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
|
||||
# -------------------------------------------------------
|
||||
# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
|
||||
# are set.
|
||||
m4_define([_LT_UNLESS_OPTIONS],
|
||||
[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
|
||||
[m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
|
||||
[m4_define([$0_found])])])[]dnl
|
||||
m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
|
||||
])[]dnl
|
||||
])
|
||||
|
||||
|
||||
# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
|
||||
# ----------------------------------------
|
||||
# OPTION-LIST is a space-separated list of Libtool options associated
|
||||
# with MACRO-NAME. If any OPTION has a matching handler declared with
|
||||
# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
|
||||
# the unknown option and exit.
|
||||
m4_defun([_LT_SET_OPTIONS],
|
||||
[# Set options
|
||||
m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
|
||||
[_LT_SET_OPTION([$1], _LT_Option)])
|
||||
|
||||
m4_if([$1],[LT_INIT],[
|
||||
dnl
|
||||
dnl Simply set some default values (i.e off) if boolean options were not
|
||||
dnl specified:
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
|
||||
])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
|
||||
])
|
||||
dnl
|
||||
dnl If no reference was made to various pairs of opposing options, then
|
||||
dnl we run the default mode handler for the pair. For example, if neither
|
||||
dnl `shared' nor `disable-shared' was passed, we enable building of shared
|
||||
dnl archives by default:
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
|
||||
[_LT_ENABLE_FAST_INSTALL])
|
||||
])
|
||||
])# _LT_SET_OPTIONS
|
||||
|
||||
|
||||
## --------------------------------- ##
|
||||
## Macros to handle LT_INIT options. ##
|
||||
## --------------------------------- ##
|
||||
|
||||
# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
|
||||
# -----------------------------------------
|
||||
m4_define([_LT_MANGLE_DEFUN],
|
||||
[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
|
||||
|
||||
|
||||
# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
|
||||
# -----------------------------------------------
|
||||
m4_define([LT_OPTION_DEFINE],
|
||||
[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
|
||||
])# LT_OPTION_DEFINE
|
||||
|
||||
|
||||
# dlopen
|
||||
# ------
|
||||
LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
|
||||
])
|
||||
|
||||
AU_DEFUN([AC_LIBTOOL_DLOPEN],
|
||||
[_LT_SET_OPTION([LT_INIT], [dlopen])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you
|
||||
put the `dlopen' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
|
||||
|
||||
|
||||
# win32-dll
|
||||
# ---------
|
||||
# Declare package support for building win32 dll's.
|
||||
LT_OPTION_DEFINE([LT_INIT], [win32-dll],
|
||||
[enable_win32_dll=yes
|
||||
|
||||
case $host in
|
||||
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
|
||||
AC_CHECK_TOOL(AS, as, false)
|
||||
AC_CHECK_TOOL(DLLTOOL, dlltool, false)
|
||||
AC_CHECK_TOOL(OBJDUMP, objdump, false)
|
||||
;;
|
||||
esac
|
||||
|
||||
test -z "$AS" && AS=as
|
||||
_LT_DECL([], [AS], [1], [Assembler program])dnl
|
||||
|
||||
test -z "$DLLTOOL" && DLLTOOL=dlltool
|
||||
_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
|
||||
|
||||
test -z "$OBJDUMP" && OBJDUMP=objdump
|
||||
_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
|
||||
])# win32-dll
|
||||
|
||||
AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
|
||||
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
||||
_LT_SET_OPTION([LT_INIT], [win32-dll])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you
|
||||
put the `win32-dll' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
|
||||
|
||||
|
||||
# _LT_ENABLE_SHARED([DEFAULT])
|
||||
# ----------------------------
|
||||
# implement the --enable-shared flag, and supports the `shared' and
|
||||
# `disable-shared' LT_INIT options.
|
||||
# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
|
||||
m4_define([_LT_ENABLE_SHARED],
|
||||
[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
|
||||
AC_ARG_ENABLE([shared],
|
||||
[AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
|
||||
[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
|
||||
[p=${PACKAGE-default}
|
||||
case $enableval in
|
||||
yes) enable_shared=yes ;;
|
||||
no) enable_shared=no ;;
|
||||
*)
|
||||
enable_shared=no
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
|
||||
for pkg in $enableval; do
|
||||
IFS="$lt_save_ifs"
|
||||
if test "X$pkg" = "X$p"; then
|
||||
enable_shared=yes
|
||||
fi
|
||||
done
|
||||
IFS="$lt_save_ifs"
|
||||
;;
|
||||
esac],
|
||||
[enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
|
||||
|
||||
_LT_DECL([build_libtool_libs], [enable_shared], [0],
|
||||
[Whether or not to build shared libraries])
|
||||
])# _LT_ENABLE_SHARED
|
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
|
||||
|
||||
# Old names:
|
||||
AC_DEFUN([AC_ENABLE_SHARED],
|
||||
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
|
||||
])
|
||||
|
||||
AC_DEFUN([AC_DISABLE_SHARED],
|
||||
[_LT_SET_OPTION([LT_INIT], [disable-shared])
|
||||
])
|
||||
|
||||
AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
|
||||
AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AM_ENABLE_SHARED], [])
|
||||
dnl AC_DEFUN([AM_DISABLE_SHARED], [])
|
||||
|
||||
|
||||
|
||||
# _LT_ENABLE_STATIC([DEFAULT])
|
||||
# ----------------------------
|
||||
# implement the --enable-static flag, and support the `static' and
|
||||
# `disable-static' LT_INIT options.
|
||||
# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
|
||||
m4_define([_LT_ENABLE_STATIC],
|
||||
[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
|
||||
AC_ARG_ENABLE([static],
|
||||
[AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
|
||||
[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
|
||||
[p=${PACKAGE-default}
|
||||
case $enableval in
|
||||
yes) enable_static=yes ;;
|
||||
no) enable_static=no ;;
|
||||
*)
|
||||
enable_static=no
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
|
||||
for pkg in $enableval; do
|
||||
IFS="$lt_save_ifs"
|
||||
if test "X$pkg" = "X$p"; then
|
||||
enable_static=yes
|
||||
fi
|
||||
done
|
||||
IFS="$lt_save_ifs"
|
||||
;;
|
||||
esac],
|
||||
[enable_static=]_LT_ENABLE_STATIC_DEFAULT)
|
||||
|
||||
_LT_DECL([build_old_libs], [enable_static], [0],
|
||||
[Whether or not to build static libraries])
|
||||
])# _LT_ENABLE_STATIC
|
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
|
||||
|
||||
# Old names:
|
||||
AC_DEFUN([AC_ENABLE_STATIC],
|
||||
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
|
||||
])
|
||||
|
||||
AC_DEFUN([AC_DISABLE_STATIC],
|
||||
[_LT_SET_OPTION([LT_INIT], [disable-static])
|
||||
])
|
||||
|
||||
AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
|
||||
AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AM_ENABLE_STATIC], [])
|
||||
dnl AC_DEFUN([AM_DISABLE_STATIC], [])
|
||||
|
||||
|
||||
|
||||
# _LT_ENABLE_FAST_INSTALL([DEFAULT])
|
||||
# ----------------------------------
|
||||
# implement the --enable-fast-install flag, and support the `fast-install'
|
||||
# and `disable-fast-install' LT_INIT options.
|
||||
# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
|
||||
m4_define([_LT_ENABLE_FAST_INSTALL],
|
||||
[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
|
||||
AC_ARG_ENABLE([fast-install],
|
||||
[AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
|
||||
[optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
|
||||
[p=${PACKAGE-default}
|
||||
case $enableval in
|
||||
yes) enable_fast_install=yes ;;
|
||||
no) enable_fast_install=no ;;
|
||||
*)
|
||||
enable_fast_install=no
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
|
||||
for pkg in $enableval; do
|
||||
IFS="$lt_save_ifs"
|
||||
if test "X$pkg" = "X$p"; then
|
||||
enable_fast_install=yes
|
||||
fi
|
||||
done
|
||||
IFS="$lt_save_ifs"
|
||||
;;
|
||||
esac],
|
||||
[enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
|
||||
|
||||
_LT_DECL([fast_install], [enable_fast_install], [0],
|
||||
[Whether or not to optimize for fast installation])dnl
|
||||
])# _LT_ENABLE_FAST_INSTALL
|
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
|
||||
|
||||
# Old names:
|
||||
AU_DEFUN([AC_ENABLE_FAST_INSTALL],
|
||||
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you put
|
||||
the `fast-install' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
AU_DEFUN([AC_DISABLE_FAST_INSTALL],
|
||||
[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you put
|
||||
the `disable-fast-install' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
|
||||
dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
|
||||
|
||||
|
||||
# _LT_WITH_PIC([MODE])
|
||||
# --------------------
|
||||
# implement the --with-pic flag, and support the `pic-only' and `no-pic'
|
||||
# LT_INIT options.
|
||||
# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
|
||||
m4_define([_LT_WITH_PIC],
|
||||
[AC_ARG_WITH([pic],
|
||||
[AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
|
||||
[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
|
||||
[lt_p=${PACKAGE-default}
|
||||
case $withval in
|
||||
yes|no) pic_mode=$withval ;;
|
||||
*)
|
||||
pic_mode=default
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
|
||||
for lt_pkg in $withval; do
|
||||
IFS="$lt_save_ifs"
|
||||
if test "X$lt_pkg" = "X$lt_p"; then
|
||||
pic_mode=yes
|
||||
fi
|
||||
done
|
||||
IFS="$lt_save_ifs"
|
||||
;;
|
||||
esac],
|
||||
[pic_mode=default])
|
||||
|
||||
test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
|
||||
|
||||
_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
|
||||
])# _LT_WITH_PIC
|
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
|
||||
|
||||
# Old name:
|
||||
AU_DEFUN([AC_LIBTOOL_PICMODE],
|
||||
[_LT_SET_OPTION([LT_INIT], [pic-only])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you
|
||||
put the `pic-only' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
|
||||
|
||||
## ----------------- ##
|
||||
## LTDL_INIT Options ##
|
||||
## ----------------- ##
|
||||
|
||||
m4_define([_LTDL_MODE], [])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
|
||||
[m4_define([_LTDL_MODE], [nonrecursive])])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [recursive],
|
||||
[m4_define([_LTDL_MODE], [recursive])])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [subproject],
|
||||
[m4_define([_LTDL_MODE], [subproject])])
|
||||
|
||||
m4_define([_LTDL_TYPE], [])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [installable],
|
||||
[m4_define([_LTDL_TYPE], [installable])])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [convenience],
|
||||
[m4_define([_LTDL_TYPE], [convenience])])
|
||||
+123
@@ -0,0 +1,123 @@
|
||||
# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
|
||||
#
|
||||
# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
|
||||
# Written by Gary V. Vaughan, 2004
|
||||
#
|
||||
# This file is free software; the Free Software Foundation gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
|
||||
# serial 6 ltsugar.m4
|
||||
|
||||
# This is to help aclocal find these macros, as it can't see m4_define.
|
||||
AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
|
||||
|
||||
|
||||
# lt_join(SEP, ARG1, [ARG2...])
|
||||
# -----------------------------
|
||||
# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
|
||||
# associated separator.
|
||||
# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
|
||||
# versions in m4sugar had bugs.
|
||||
m4_define([lt_join],
|
||||
[m4_if([$#], [1], [],
|
||||
[$#], [2], [[$2]],
|
||||
[m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
|
||||
m4_define([_lt_join],
|
||||
[m4_if([$#$2], [2], [],
|
||||
[m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
|
||||
|
||||
|
||||
# lt_car(LIST)
|
||||
# lt_cdr(LIST)
|
||||
# ------------
|
||||
# Manipulate m4 lists.
|
||||
# These macros are necessary as long as will still need to support
|
||||
# Autoconf-2.59 which quotes differently.
|
||||
m4_define([lt_car], [[$1]])
|
||||
m4_define([lt_cdr],
|
||||
[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
|
||||
[$#], 1, [],
|
||||
[m4_dquote(m4_shift($@))])])
|
||||
m4_define([lt_unquote], $1)
|
||||
|
||||
|
||||
# lt_append(MACRO-NAME, STRING, [SEPARATOR])
|
||||
# ------------------------------------------
|
||||
# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
|
||||
# Note that neither SEPARATOR nor STRING are expanded; they are appended
|
||||
# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
|
||||
# No SEPARATOR is output if MACRO-NAME was previously undefined (different
|
||||
# than defined and empty).
|
||||
#
|
||||
# This macro is needed until we can rely on Autoconf 2.62, since earlier
|
||||
# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
|
||||
m4_define([lt_append],
|
||||
[m4_define([$1],
|
||||
m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
|
||||
|
||||
|
||||
|
||||
# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
|
||||
# ----------------------------------------------------------
|
||||
# Produce a SEP delimited list of all paired combinations of elements of
|
||||
# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
|
||||
# has the form PREFIXmINFIXSUFFIXn.
|
||||
# Needed until we can rely on m4_combine added in Autoconf 2.62.
|
||||
m4_define([lt_combine],
|
||||
[m4_if(m4_eval([$# > 3]), [1],
|
||||
[m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
|
||||
[[m4_foreach([_Lt_prefix], [$2],
|
||||
[m4_foreach([_Lt_suffix],
|
||||
]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
|
||||
[_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
|
||||
|
||||
|
||||
# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
|
||||
# -----------------------------------------------------------------------
|
||||
# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
|
||||
# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
|
||||
m4_define([lt_if_append_uniq],
|
||||
[m4_ifdef([$1],
|
||||
[m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
|
||||
[lt_append([$1], [$2], [$3])$4],
|
||||
[$5])],
|
||||
[lt_append([$1], [$2], [$3])$4])])
|
||||
|
||||
|
||||
# lt_dict_add(DICT, KEY, VALUE)
|
||||
# -----------------------------
|
||||
m4_define([lt_dict_add],
|
||||
[m4_define([$1($2)], [$3])])
|
||||
|
||||
|
||||
# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
|
||||
# --------------------------------------------
|
||||
m4_define([lt_dict_add_subkey],
|
||||
[m4_define([$1($2:$3)], [$4])])
|
||||
|
||||
|
||||
# lt_dict_fetch(DICT, KEY, [SUBKEY])
|
||||
# ----------------------------------
|
||||
m4_define([lt_dict_fetch],
|
||||
[m4_ifval([$3],
|
||||
m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
|
||||
m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
|
||||
|
||||
|
||||
# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
|
||||
# -----------------------------------------------------------------
|
||||
m4_define([lt_if_dict_fetch],
|
||||
[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
|
||||
[$5],
|
||||
[$6])])
|
||||
|
||||
|
||||
# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
|
||||
# --------------------------------------------------------------
|
||||
m4_define([lt_dict_filter],
|
||||
[m4_if([$5], [], [],
|
||||
[lt_join(m4_quote(m4_default([$4], [[, ]])),
|
||||
lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
|
||||
[lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
|
||||
])
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
# ltversion.m4 -- version numbers -*- Autoconf -*-
|
||||
#
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
# Written by Scott James Remnant, 2004
|
||||
#
|
||||
# This file is free software; the Free Software Foundation gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
|
||||
# @configure_input@
|
||||
|
||||
# serial 3337 ltversion.m4
|
||||
# This file is part of GNU Libtool
|
||||
|
||||
m4_define([LT_PACKAGE_VERSION], [2.4.2])
|
||||
m4_define([LT_PACKAGE_REVISION], [1.3337])
|
||||
|
||||
AC_DEFUN([LTVERSION_VERSION],
|
||||
[macro_version='2.4.2'
|
||||
macro_revision='1.3337'
|
||||
_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
|
||||
_LT_DECL(, macro_revision, 0)
|
||||
])
|
||||
+98
@@ -0,0 +1,98 @@
|
||||
# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
|
||||
#
|
||||
# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
|
||||
# Written by Scott James Remnant, 2004.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
|
||||
# serial 5 lt~obsolete.m4
|
||||
|
||||
# These exist entirely to fool aclocal when bootstrapping libtool.
|
||||
#
|
||||
# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
|
||||
# which have later been changed to m4_define as they aren't part of the
|
||||
# exported API, or moved to Autoconf or Automake where they belong.
|
||||
#
|
||||
# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
|
||||
# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
|
||||
# using a macro with the same name in our local m4/libtool.m4 it'll
|
||||
# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
|
||||
# and doesn't know about Autoconf macros at all.)
|
||||
#
|
||||
# So we provide this file, which has a silly filename so it's always
|
||||
# included after everything else. This provides aclocal with the
|
||||
# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
|
||||
# because those macros already exist, or will be overwritten later.
|
||||
# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
|
||||
#
|
||||
# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
|
||||
# Yes, that means every name once taken will need to remain here until
|
||||
# we give up compatibility with versions before 1.7, at which point
|
||||
# we need to keep only those names which we still refer to.
|
||||
|
||||
# This is to help aclocal find these macros, as it can't see m4_define.
|
||||
AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
|
||||
|
||||
m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
|
||||
m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
|
||||
m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
|
||||
m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
|
||||
m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
|
||||
m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
|
||||
m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
|
||||
m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
|
||||
m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
|
||||
m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
|
||||
m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
|
||||
m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
|
||||
m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
|
||||
m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
|
||||
m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
|
||||
m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
|
||||
m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
|
||||
m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
|
||||
m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
|
||||
m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
|
||||
m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
|
||||
m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
|
||||
m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
|
||||
m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
|
||||
m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
|
||||
m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
|
||||
m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
|
||||
m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
|
||||
m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
|
||||
m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
|
||||
m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
|
||||
m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
|
||||
m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
|
||||
m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
|
||||
m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])])
|
||||
m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
|
||||
m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
|
||||
m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])])
|
||||
m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])])
|
||||
m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])])
|
||||
@@ -0,0 +1,96 @@
|
||||
#---------------------------------------------------------------------------
|
||||
#
|
||||
# xc-cc-check.m4
|
||||
#
|
||||
# Copyright (c) 2013 Daniel Stenberg <[email protected]>
|
||||
#
|
||||
# Permission to use, copy, modify, and distribute this software for any
|
||||
# purpose with or without fee is hereby granted, provided that the above
|
||||
# copyright notice and this permission notice appear in all copies.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
# serial 1
|
||||
|
||||
|
||||
dnl _XC_PROG_CC_PREAMBLE
|
||||
dnl -------------------------------------------------
|
||||
dnl Private macro.
|
||||
|
||||
AC_DEFUN([_XC_PROG_CC_PREAMBLE], [
|
||||
xc_prog_cc_prev_IFS=$IFS
|
||||
xc_prog_cc_prev_LIBS=$LIBS
|
||||
xc_prog_cc_prev_CFLAGS=$CFLAGS
|
||||
xc_prog_cc_prev_LDFLAGS=$LDFLAGS
|
||||
xc_prog_cc_prev_CPPFLAGS=$CPPFLAGS
|
||||
])
|
||||
|
||||
|
||||
dnl _XC_PROG_CC_POSTLUDE
|
||||
dnl -------------------------------------------------
|
||||
dnl Private macro.
|
||||
|
||||
AC_DEFUN([_XC_PROG_CC_POSTLUDE], [
|
||||
IFS=$xc_prog_cc_prev_IFS
|
||||
LIBS=$xc_prog_cc_prev_LIBS
|
||||
CFLAGS=$xc_prog_cc_prev_CFLAGS
|
||||
LDFLAGS=$xc_prog_cc_prev_LDFLAGS
|
||||
CPPFLAGS=$xc_prog_cc_prev_CPPFLAGS
|
||||
AC_SUBST([CC])dnl
|
||||
AC_SUBST([CPP])dnl
|
||||
AC_SUBST([LIBS])dnl
|
||||
AC_SUBST([CFLAGS])dnl
|
||||
AC_SUBST([LDFLAGS])dnl
|
||||
AC_SUBST([CPPFLAGS])dnl
|
||||
])
|
||||
|
||||
|
||||
dnl _XC_PROG_CC
|
||||
dnl -------------------------------------------------
|
||||
dnl Private macro.
|
||||
|
||||
AC_DEFUN([_XC_PROG_CC], [
|
||||
AC_REQUIRE([_XC_PROG_CC_PREAMBLE])dnl
|
||||
AC_REQUIRE([XC_CHECK_USER_FLAGS])dnl
|
||||
AC_REQUIRE([AC_PROG_INSTALL])dnl
|
||||
AC_REQUIRE([AC_PROG_CC])dnl
|
||||
AC_REQUIRE([AM_PROG_CC_C_O])dnl
|
||||
AC_REQUIRE([AC_PROG_CPP])dnl
|
||||
AC_REQUIRE([_XC_PROG_CC_POSTLUDE])dnl
|
||||
])
|
||||
|
||||
|
||||
dnl XC_CHECK_PROG_CC
|
||||
dnl -------------------------------------------------
|
||||
dnl Public macro.
|
||||
dnl
|
||||
dnl Checks for C compiler and C preprocessor programs,
|
||||
dnl while doing some previous sanity validation on user
|
||||
dnl provided LIBS, LDFLAGS, CPPFLAGS and CFLAGS values
|
||||
dnl that must succeed in order to continue execution.
|
||||
dnl
|
||||
dnl This sets variables CC and CPP, while preventing
|
||||
dnl LIBS, LDFLAGS, CFLAGS, CPPFLAGS and IFS from being
|
||||
dnl unexpectedly changed by underlying macros.
|
||||
|
||||
AC_DEFUN([XC_CHECK_PROG_CC], [
|
||||
AC_PREREQ([2.50])dnl
|
||||
AC_BEFORE([$0],[_XC_PROG_CC_PREAMBLE])dnl
|
||||
AC_BEFORE([$0],[AC_PROG_INSTALL])dnl
|
||||
AC_BEFORE([$0],[AC_PROG_CC])dnl
|
||||
AC_BEFORE([$0],[AM_PROG_CC_C_O])dnl
|
||||
AC_BEFORE([$0],[AC_PROG_CPP])dnl
|
||||
AC_BEFORE([$0],[AC_PROG_LIBTOOL])dnl
|
||||
AC_BEFORE([$0],[AM_INIT_AUTOMAKE])dnl
|
||||
AC_BEFORE([$0],[_XC_PROG_CC_POSTLUDE])dnl
|
||||
AC_REQUIRE([_XC_PROG_CC])dnl
|
||||
])
|
||||
|
||||
@@ -0,0 +1,164 @@
|
||||
#---------------------------------------------------------------------------
|
||||
#
|
||||
# xc-translit.m4
|
||||
#
|
||||
# Copyright (c) 2011 Daniel Stenberg <[email protected]>
|
||||
#
|
||||
# Permission to use, copy, modify, and distribute this software for any
|
||||
# purpose with or without fee is hereby granted, provided that the above
|
||||
# copyright notice and this permission notice appear in all copies.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
# File version for 'aclocal' use. Keep it a single number.
|
||||
# serial 2
|
||||
|
||||
|
||||
dnl XC_SH_TR_SH (expression)
|
||||
dnl -------------------------------------------------
|
||||
dnl Shell execution time transliteration of 'expression'
|
||||
dnl argument, where all non-alfanumeric characters are
|
||||
dnl converted to the underscore '_' character.
|
||||
dnl Normal shell expansion and substitution takes place
|
||||
dnl for given 'expression' at shell execution time before
|
||||
dnl transliteration is applied to it.
|
||||
|
||||
AC_DEFUN([XC_SH_TR_SH],
|
||||
[`echo "$1" | sed 's/[[^a-zA-Z0-9_]]/_/g'`])
|
||||
|
||||
|
||||
dnl XC_SH_TR_SH_EX (expression, [extra])
|
||||
dnl -------------------------------------------------
|
||||
dnl Like XC_SH_TR_SH but transliterating characters
|
||||
dnl given in 'extra' argument to lowercase 'p'. For
|
||||
dnl example [*+], [*], and [+] are valid 'extra' args.
|
||||
|
||||
AC_DEFUN([XC_SH_TR_SH_EX],
|
||||
[ifelse([$2], [],
|
||||
[XC_SH_TR_SH([$1])],
|
||||
[`echo "$1" | sed 's/[[$2]]/p/g' | sed 's/[[^a-zA-Z0-9_]]/_/g'`])])
|
||||
|
||||
|
||||
dnl XC_M4_TR_SH (expression)
|
||||
dnl -------------------------------------------------
|
||||
dnl m4 execution time transliteration of 'expression'
|
||||
dnl argument, where all non-alfanumeric characters are
|
||||
dnl converted to the underscore '_' character.
|
||||
|
||||
AC_DEFUN([XC_M4_TR_SH],
|
||||
[patsubst(XC_QPATSUBST(XC_QUOTE($1),
|
||||
[[^a-zA-Z0-9_]], [_]),
|
||||
[\(_\(.*\)_\)], [\2])])
|
||||
|
||||
|
||||
dnl XC_M4_TR_SH_EX (expression, [extra])
|
||||
dnl -------------------------------------------------
|
||||
dnl Like XC_M4_TR_SH but transliterating characters
|
||||
dnl given in 'extra' argument to lowercase 'p'. For
|
||||
dnl example [*+], [*], and [+] are valid 'extra' args.
|
||||
|
||||
AC_DEFUN([XC_M4_TR_SH_EX],
|
||||
[ifelse([$2], [],
|
||||
[XC_M4_TR_SH([$1])],
|
||||
[patsubst(XC_QPATSUBST(XC_QPATSUBST(XC_QUOTE($1),
|
||||
[[$2]],
|
||||
[p]),
|
||||
[[^a-zA-Z0-9_]], [_]),
|
||||
[\(_\(.*\)_\)], [\2])])])
|
||||
|
||||
|
||||
dnl XC_SH_TR_CPP (expression)
|
||||
dnl -------------------------------------------------
|
||||
dnl Shell execution time transliteration of 'expression'
|
||||
dnl argument, where all non-alfanumeric characters are
|
||||
dnl converted to the underscore '_' character and alnum
|
||||
dnl characters are converted to uppercase.
|
||||
dnl Normal shell expansion and substitution takes place
|
||||
dnl for given 'expression' at shell execution time before
|
||||
dnl transliteration is applied to it.
|
||||
|
||||
AC_DEFUN([XC_SH_TR_CPP],
|
||||
[`echo "$1" | dnl
|
||||
sed 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' | dnl
|
||||
sed 's/[[^A-Z0-9_]]/_/g'`])
|
||||
|
||||
|
||||
dnl XC_SH_TR_CPP_EX (expression, [extra])
|
||||
dnl -------------------------------------------------
|
||||
dnl Like XC_SH_TR_CPP but transliterating characters
|
||||
dnl given in 'extra' argument to uppercase 'P'. For
|
||||
dnl example [*+], [*], and [+] are valid 'extra' args.
|
||||
|
||||
AC_DEFUN([XC_SH_TR_CPP_EX],
|
||||
[ifelse([$2], [],
|
||||
[XC_SH_TR_CPP([$1])],
|
||||
[`echo "$1" | dnl
|
||||
sed 's/[[$2]]/P/g' | dnl
|
||||
sed 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' | dnl
|
||||
sed 's/[[^A-Z0-9_]]/_/g'`])])
|
||||
|
||||
|
||||
dnl XC_M4_TR_CPP (expression)
|
||||
dnl -------------------------------------------------
|
||||
dnl m4 execution time transliteration of 'expression'
|
||||
dnl argument, where all non-alfanumeric characters are
|
||||
dnl converted to the underscore '_' character and alnum
|
||||
dnl characters are converted to uppercase.
|
||||
|
||||
AC_DEFUN([XC_M4_TR_CPP],
|
||||
[patsubst(XC_QPATSUBST(XC_QTRANSLIT(XC_QUOTE($1),
|
||||
[abcdefghijklmnopqrstuvwxyz],
|
||||
[ABCDEFGHIJKLMNOPQRSTUVWXYZ]),
|
||||
[[^A-Z0-9_]], [_]),
|
||||
[\(_\(.*\)_\)], [\2])])
|
||||
|
||||
|
||||
dnl XC_M4_TR_CPP_EX (expression, [extra])
|
||||
dnl -------------------------------------------------
|
||||
dnl Like XC_M4_TR_CPP but transliterating characters
|
||||
dnl given in 'extra' argument to uppercase 'P'. For
|
||||
dnl example [*+], [*], and [+] are valid 'extra' args.
|
||||
|
||||
AC_DEFUN([XC_M4_TR_CPP_EX],
|
||||
[ifelse([$2], [],
|
||||
[XC_M4_TR_CPP([$1])],
|
||||
[patsubst(XC_QPATSUBST(XC_QTRANSLIT(XC_QPATSUBST(XC_QUOTE($1),
|
||||
[[$2]],
|
||||
[P]),
|
||||
[abcdefghijklmnopqrstuvwxyz],
|
||||
[ABCDEFGHIJKLMNOPQRSTUVWXYZ]),
|
||||
[[^A-Z0-9_]], [_]),
|
||||
[\(_\(.*\)_\)], [\2])])])
|
||||
|
||||
|
||||
dnl XC_QUOTE (expression)
|
||||
dnl -------------------------------------------------
|
||||
dnl Expands to quoted result of 'expression' expansion.
|
||||
|
||||
AC_DEFUN([XC_QUOTE],
|
||||
[[$@]])
|
||||
|
||||
|
||||
dnl XC_QPATSUBST (string, regexp[, repl])
|
||||
dnl -------------------------------------------------
|
||||
dnl Expands to quoted result of 'patsubst' expansion.
|
||||
|
||||
AC_DEFUN([XC_QPATSUBST],
|
||||
[XC_QUOTE(patsubst([$1], [$2], [$3]))])
|
||||
|
||||
|
||||
dnl XC_QTRANSLIT (string, chars, repl)
|
||||
dnl -------------------------------------------------
|
||||
dnl Expands to quoted result of 'translit' expansion.
|
||||
|
||||
AC_DEFUN([XC_QTRANSLIT],
|
||||
[XC_QUOTE(translit([$1], [$2], [$3]))])
|
||||
|
||||
@@ -0,0 +1,243 @@
|
||||
#---------------------------------------------------------------------------
|
||||
#
|
||||
# xc-val-flgs.m4
|
||||
#
|
||||
# Copyright (c) 2013 Daniel Stenberg <[email protected]>
|
||||
#
|
||||
# Permission to use, copy, modify, and distribute this software for any
|
||||
# purpose with or without fee is hereby granted, provided that the above
|
||||
# copyright notice and this permission notice appear in all copies.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
# serial 1
|
||||
|
||||
|
||||
dnl _XC_CHECK_VAR_LIBS
|
||||
dnl -------------------------------------------------
|
||||
dnl Private macro.
|
||||
|
||||
AC_DEFUN([_XC_CHECK_VAR_LIBS], [
|
||||
xc_bad_var_libs=no
|
||||
for xc_word in $LIBS; do
|
||||
case "$xc_word" in
|
||||
-l* | --library=*)
|
||||
:
|
||||
;;
|
||||
*)
|
||||
xc_bad_var_libs=yes
|
||||
;;
|
||||
esac
|
||||
done
|
||||
if test $xc_bad_var_libs = yes; then
|
||||
AC_MSG_NOTICE([using LIBS: $LIBS])
|
||||
AC_MSG_NOTICE([LIBS error: LIBS may only be used to specify libraries (-lname).])
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
dnl _XC_CHECK_VAR_LDFLAGS
|
||||
dnl -------------------------------------------------
|
||||
dnl Private macro.
|
||||
|
||||
AC_DEFUN([_XC_CHECK_VAR_LDFLAGS], [
|
||||
xc_bad_var_ldflags=no
|
||||
for xc_word in $LDFLAGS; do
|
||||
case "$xc_word" in
|
||||
-D*)
|
||||
xc_bad_var_ldflags=yes
|
||||
;;
|
||||
-U*)
|
||||
xc_bad_var_ldflags=yes
|
||||
;;
|
||||
-I*)
|
||||
xc_bad_var_ldflags=yes
|
||||
;;
|
||||
-l* | --library=*)
|
||||
xc_bad_var_ldflags=yes
|
||||
;;
|
||||
esac
|
||||
done
|
||||
if test $xc_bad_var_ldflags = yes; then
|
||||
AC_MSG_NOTICE([using LDFLAGS: $LDFLAGS])
|
||||
xc_bad_var_msg="LDFLAGS error: LDFLAGS may only be used to specify linker flags, not"
|
||||
for xc_word in $LDFLAGS; do
|
||||
case "$xc_word" in
|
||||
-D*)
|
||||
AC_MSG_NOTICE([$xc_bad_var_msg macro definitions. Use CPPFLAGS for: $xc_word])
|
||||
;;
|
||||
-U*)
|
||||
AC_MSG_NOTICE([$xc_bad_var_msg macro suppressions. Use CPPFLAGS for: $xc_word])
|
||||
;;
|
||||
-I*)
|
||||
AC_MSG_NOTICE([$xc_bad_var_msg include directories. Use CPPFLAGS for: $xc_word])
|
||||
;;
|
||||
-l* | --library=*)
|
||||
AC_MSG_NOTICE([$xc_bad_var_msg libraries. Use LIBS for: $xc_word])
|
||||
;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
dnl _XC_CHECK_VAR_CPPFLAGS
|
||||
dnl -------------------------------------------------
|
||||
dnl Private macro.
|
||||
|
||||
AC_DEFUN([_XC_CHECK_VAR_CPPFLAGS], [
|
||||
xc_bad_var_cppflags=no
|
||||
for xc_word in $CPPFLAGS; do
|
||||
case "$xc_word" in
|
||||
-rpath*)
|
||||
xc_bad_var_cppflags=yes
|
||||
;;
|
||||
-L* | --library-path=*)
|
||||
xc_bad_var_cppflags=yes
|
||||
;;
|
||||
-l* | --library=*)
|
||||
xc_bad_var_cppflags=yes
|
||||
;;
|
||||
esac
|
||||
done
|
||||
if test $xc_bad_var_cppflags = yes; then
|
||||
AC_MSG_NOTICE([using CPPFLAGS: $CPPFLAGS])
|
||||
xc_bad_var_msg="CPPFLAGS error: CPPFLAGS may only be used to specify C preprocessor flags, not"
|
||||
for xc_word in $CPPFLAGS; do
|
||||
case "$xc_word" in
|
||||
-rpath*)
|
||||
AC_MSG_NOTICE([$xc_bad_var_msg library runtime directories. Use LDFLAGS for: $xc_word])
|
||||
;;
|
||||
-L* | --library-path=*)
|
||||
AC_MSG_NOTICE([$xc_bad_var_msg library directories. Use LDFLAGS for: $xc_word])
|
||||
;;
|
||||
-l* | --library=*)
|
||||
AC_MSG_NOTICE([$xc_bad_var_msg libraries. Use LIBS for: $xc_word])
|
||||
;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
dnl _XC_CHECK_VAR_CFLAGS
|
||||
dnl -------------------------------------------------
|
||||
dnl Private macro.
|
||||
|
||||
AC_DEFUN([_XC_CHECK_VAR_CFLAGS], [
|
||||
xc_bad_var_cflags=no
|
||||
for xc_word in $CFLAGS; do
|
||||
case "$xc_word" in
|
||||
-D*)
|
||||
xc_bad_var_cflags=yes
|
||||
;;
|
||||
-U*)
|
||||
xc_bad_var_cflags=yes
|
||||
;;
|
||||
-I*)
|
||||
xc_bad_var_cflags=yes
|
||||
;;
|
||||
-rpath*)
|
||||
xc_bad_var_cflags=yes
|
||||
;;
|
||||
-L* | --library-path=*)
|
||||
xc_bad_var_cflags=yes
|
||||
;;
|
||||
-l* | --library=*)
|
||||
xc_bad_var_cflags=yes
|
||||
;;
|
||||
esac
|
||||
done
|
||||
if test $xc_bad_var_cflags = yes; then
|
||||
AC_MSG_NOTICE([using CFLAGS: $CFLAGS])
|
||||
xc_bad_var_msg="CFLAGS error: CFLAGS may only be used to specify C compiler flags, not"
|
||||
for xc_word in $CFLAGS; do
|
||||
case "$xc_word" in
|
||||
-D*)
|
||||
AC_MSG_NOTICE([$xc_bad_var_msg macro definitions. Use CPPFLAGS for: $xc_word])
|
||||
;;
|
||||
-U*)
|
||||
AC_MSG_NOTICE([$xc_bad_var_msg macro suppressions. Use CPPFLAGS for: $xc_word])
|
||||
;;
|
||||
-I*)
|
||||
AC_MSG_NOTICE([$xc_bad_var_msg include directories. Use CPPFLAGS for: $xc_word])
|
||||
;;
|
||||
-rpath*)
|
||||
AC_MSG_NOTICE([$xc_bad_var_msg library runtime directories. Use LDFLAGS for: $xc_word])
|
||||
;;
|
||||
-L* | --library-path=*)
|
||||
AC_MSG_NOTICE([$xc_bad_var_msg library directories. Use LDFLAGS for: $xc_word])
|
||||
;;
|
||||
-l* | --library=*)
|
||||
AC_MSG_NOTICE([$xc_bad_var_msg libraries. Use LIBS for: $xc_word])
|
||||
;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
dnl XC_CHECK_USER_FLAGS
|
||||
dnl -------------------------------------------------
|
||||
dnl Public macro.
|
||||
dnl
|
||||
dnl Performs some sanity checks for LIBS, LDFLAGS,
|
||||
dnl CPPFLAGS and CFLAGS values that the user might
|
||||
dnl have set. When checks fails, user is noticed
|
||||
dnl about errors detected in all of them and script
|
||||
dnl execution is halted.
|
||||
dnl
|
||||
dnl Intended to be used early in configure script.
|
||||
|
||||
AC_DEFUN([XC_CHECK_USER_FLAGS], [
|
||||
AC_PREREQ([2.50])dnl
|
||||
AC_BEFORE([$0],[XC_CHECK_PROG_CC])dnl
|
||||
dnl check order below matters
|
||||
_XC_CHECK_VAR_LIBS
|
||||
_XC_CHECK_VAR_LDFLAGS
|
||||
_XC_CHECK_VAR_CPPFLAGS
|
||||
_XC_CHECK_VAR_CFLAGS
|
||||
if test $xc_bad_var_libs = yes ||
|
||||
test $xc_bad_var_cflags = yes ||
|
||||
test $xc_bad_var_ldflags = yes ||
|
||||
test $xc_bad_var_cppflags = yes; then
|
||||
AC_MSG_ERROR([Can not continue. Fix errors mentioned immediately above this line.])
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
dnl XC_CHECK_BUILD_FLAGS
|
||||
dnl -------------------------------------------------
|
||||
dnl Public macro.
|
||||
dnl
|
||||
dnl Performs some sanity checks for LIBS, LDFLAGS,
|
||||
dnl CPPFLAGS and CFLAGS values that the configure
|
||||
dnl script might have set. When checks fails, user
|
||||
dnl is noticed about errors detected in all of them
|
||||
dnl but script continues execution.
|
||||
dnl
|
||||
dnl Intended to be used very late in configure script.
|
||||
|
||||
AC_DEFUN([XC_CHECK_BUILD_FLAGS], [
|
||||
AC_PREREQ([2.50])dnl
|
||||
dnl check order below matters
|
||||
_XC_CHECK_VAR_LIBS
|
||||
_XC_CHECK_VAR_LDFLAGS
|
||||
_XC_CHECK_VAR_CPPFLAGS
|
||||
_XC_CHECK_VAR_CFLAGS
|
||||
if test $xc_bad_var_libs = yes ||
|
||||
test $xc_bad_var_cflags = yes ||
|
||||
test $xc_bad_var_ldflags = yes ||
|
||||
test $xc_bad_var_cppflags = yes; then
|
||||
AC_MSG_WARN([Continuing even with errors mentioned immediately above this line.])
|
||||
fi
|
||||
])
|
||||
|
||||
@@ -0,0 +1,668 @@
|
||||
#---------------------------------------------------------------------------
|
||||
#
|
||||
# zz40-xc-ovr.m4
|
||||
#
|
||||
# Copyright (c) 2013 Daniel Stenberg <[email protected]>
|
||||
#
|
||||
# Permission to use, copy, modify, and distribute this software for any
|
||||
# purpose with or without fee is hereby granted, provided that the above
|
||||
# copyright notice and this permission notice appear in all copies.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
# serial 1
|
||||
|
||||
|
||||
dnl The funny name of this file is intentional in order to make it
|
||||
dnl sort alphabetically after any libtool, autoconf or automake
|
||||
dnl provided .m4 macro file that might get copied into this same
|
||||
dnl subdirectory. This allows that macro (re)definitions from this
|
||||
dnl file may override those provided in other files.
|
||||
|
||||
|
||||
dnl Version macros
|
||||
dnl -------------------------------------------------
|
||||
dnl Public macros.
|
||||
|
||||
m4_define([XC_CONFIGURE_PREAMBLE_VER_MAJOR],[1])dnl
|
||||
m4_define([XC_CONFIGURE_PREAMBLE_VER_MINOR],[0])dnl
|
||||
|
||||
|
||||
dnl _XC_CFG_PRE_PREAMBLE
|
||||
dnl -------------------------------------------------
|
||||
dnl Private macro.
|
||||
|
||||
AC_DEFUN([_XC_CFG_PRE_PREAMBLE],
|
||||
[
|
||||
## -------------------------------- ##
|
||||
@%:@@%:@ [XC_CONFIGURE_PREAMBLE] ver: []dnl
|
||||
XC_CONFIGURE_PREAMBLE_VER_MAJOR.[]dnl
|
||||
XC_CONFIGURE_PREAMBLE_VER_MINOR ##
|
||||
## -------------------------------- ##
|
||||
|
||||
xc_configure_preamble_ver_major='XC_CONFIGURE_PREAMBLE_VER_MAJOR'
|
||||
xc_configure_preamble_ver_minor='XC_CONFIGURE_PREAMBLE_VER_MINOR'
|
||||
|
||||
#
|
||||
# Set IFS to space, tab and newline.
|
||||
#
|
||||
|
||||
xc_space=' '
|
||||
xc_tab=' '
|
||||
xc_newline='
|
||||
'
|
||||
IFS="$xc_space$xc_tab$xc_newline"
|
||||
|
||||
#
|
||||
# Set internationalization behavior variables.
|
||||
#
|
||||
|
||||
LANG='C'
|
||||
LC_ALL='C'
|
||||
LANGUAGE='C'
|
||||
export LANG
|
||||
export LC_ALL
|
||||
export LANGUAGE
|
||||
|
||||
#
|
||||
# Some useful variables.
|
||||
#
|
||||
|
||||
xc_msg_warn='configure: WARNING:'
|
||||
xc_msg_abrt='Can not continue.'
|
||||
xc_msg_err='configure: error:'
|
||||
])
|
||||
|
||||
|
||||
dnl _XC_CFG_PRE_BASIC_CHK_CMD_ECHO
|
||||
dnl -------------------------------------------------
|
||||
dnl Private macro.
|
||||
dnl
|
||||
dnl Emits shell code that verifies that 'echo' command
|
||||
dnl is available, otherwise aborts execution.
|
||||
|
||||
AC_DEFUN([_XC_CFG_PRE_BASIC_CHK_CMD_ECHO],
|
||||
[dnl
|
||||
AC_REQUIRE([_XC_CFG_PRE_PREAMBLE])dnl
|
||||
#
|
||||
# Verify that 'echo' command is available, otherwise abort.
|
||||
#
|
||||
|
||||
xc_tst_str='unknown'
|
||||
(`echo "$xc_tst_str" >/dev/null 2>&1`) && xc_tst_str='success'
|
||||
case "x$xc_tst_str" in @%:@ ((
|
||||
xsuccess)
|
||||
:
|
||||
;;
|
||||
*)
|
||||
# Try built-in echo, and fail.
|
||||
echo "$xc_msg_err 'echo' command not found. $xc_msg_abrt" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
])
|
||||
|
||||
|
||||
dnl _XC_CFG_PRE_BASIC_CHK_CMD_TEST
|
||||
dnl -------------------------------------------------
|
||||
dnl Private macro.
|
||||
dnl
|
||||
dnl Emits shell code that verifies that 'test' command
|
||||
dnl is available, otherwise aborts execution.
|
||||
|
||||
AC_DEFUN([_XC_CFG_PRE_BASIC_CHK_CMD_TEST],
|
||||
[dnl
|
||||
AC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_CMD_ECHO])dnl
|
||||
#
|
||||
# Verify that 'test' command is available, otherwise abort.
|
||||
#
|
||||
|
||||
xc_tst_str='unknown'
|
||||
(`test -n "$xc_tst_str" >/dev/null 2>&1`) && xc_tst_str='success'
|
||||
case "x$xc_tst_str" in @%:@ ((
|
||||
xsuccess)
|
||||
:
|
||||
;;
|
||||
*)
|
||||
echo "$xc_msg_err 'test' command not found. $xc_msg_abrt" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
])
|
||||
|
||||
|
||||
dnl _XC_CFG_PRE_BASIC_CHK_VAR_PATH
|
||||
dnl -------------------------------------------------
|
||||
dnl Private macro.
|
||||
dnl
|
||||
dnl Emits shell code that verifies that 'PATH' variable
|
||||
dnl is set, otherwise aborts execution.
|
||||
|
||||
AC_DEFUN([_XC_CFG_PRE_BASIC_CHK_VAR_PATH],
|
||||
[dnl
|
||||
AC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_CMD_TEST])dnl
|
||||
#
|
||||
# Verify that 'PATH' variable is set, otherwise abort.
|
||||
#
|
||||
|
||||
xc_tst_str='unknown'
|
||||
(`test -n "$PATH" >/dev/null 2>&1`) && xc_tst_str='success'
|
||||
case "x$xc_tst_str" in @%:@ ((
|
||||
xsuccess)
|
||||
:
|
||||
;;
|
||||
*)
|
||||
echo "$xc_msg_err 'PATH' variable not set. $xc_msg_abrt" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
])
|
||||
|
||||
|
||||
dnl _XC_CFG_PRE_BASIC_CHK_CMD_EXPR
|
||||
dnl -------------------------------------------------
|
||||
dnl Private macro.
|
||||
dnl
|
||||
dnl Emits shell code that verifies that 'expr' command
|
||||
dnl is available, otherwise aborts execution.
|
||||
|
||||
AC_DEFUN([_XC_CFG_PRE_BASIC_CHK_CMD_EXPR],
|
||||
[dnl
|
||||
AC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_VAR_PATH])dnl
|
||||
#
|
||||
# Verify that 'expr' command is available, otherwise abort.
|
||||
#
|
||||
|
||||
xc_tst_str='unknown'
|
||||
xc_tst_str=`expr "$xc_tst_str" : '.*' 2>/dev/null`
|
||||
case "x$xc_tst_str" in @%:@ ((
|
||||
x7)
|
||||
:
|
||||
;;
|
||||
*)
|
||||
echo "$xc_msg_err 'expr' command not found. $xc_msg_abrt" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
])
|
||||
|
||||
|
||||
dnl _XC_CFG_PRE_BASIC_CHK_UTIL_SED
|
||||
dnl -------------------------------------------------
|
||||
dnl Private macro.
|
||||
dnl
|
||||
dnl Emits shell code that verifies that 'sed' utility
|
||||
dnl is found within 'PATH', otherwise aborts execution.
|
||||
dnl
|
||||
dnl This 'sed' is required in order to allow configure
|
||||
dnl script bootstrapping itself. No fancy testing for a
|
||||
dnl proper 'sed' this early, that should be done later.
|
||||
|
||||
AC_DEFUN([_XC_CFG_PRE_BASIC_CHK_UTIL_SED],
|
||||
[dnl
|
||||
AC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_VAR_PATH])dnl
|
||||
#
|
||||
# Verify that 'sed' utility is found within 'PATH', otherwise abort.
|
||||
#
|
||||
|
||||
xc_tst_str='unknown'
|
||||
xc_tst_str=`echo "$xc_tst_str" 2>/dev/null \
|
||||
| sed -e 's:unknown:success:' 2>/dev/null`
|
||||
case "x$xc_tst_str" in @%:@ ((
|
||||
xsuccess)
|
||||
:
|
||||
;;
|
||||
*)
|
||||
echo "$xc_msg_err 'sed' utility not found in 'PATH'. $xc_msg_abrt" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
])
|
||||
|
||||
|
||||
dnl _XC_CFG_PRE_BASIC_CHK_UTIL_GREP
|
||||
dnl -------------------------------------------------
|
||||
dnl Private macro.
|
||||
dnl
|
||||
dnl Emits shell code that verifies that 'grep' utility
|
||||
dnl is found within 'PATH', otherwise aborts execution.
|
||||
dnl
|
||||
dnl This 'grep' is required in order to allow configure
|
||||
dnl script bootstrapping itself. No fancy testing for a
|
||||
dnl proper 'grep' this early, that should be done later.
|
||||
|
||||
AC_DEFUN([_XC_CFG_PRE_BASIC_CHK_UTIL_GREP],
|
||||
[dnl
|
||||
AC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_VAR_PATH])dnl
|
||||
#
|
||||
# Verify that 'grep' utility is found within 'PATH', otherwise abort.
|
||||
#
|
||||
|
||||
xc_tst_str='unknown'
|
||||
(`echo "$xc_tst_str" 2>/dev/null \
|
||||
| grep 'unknown' >/dev/null 2>&1`) && xc_tst_str='success'
|
||||
case "x$xc_tst_str" in @%:@ ((
|
||||
xsuccess)
|
||||
:
|
||||
;;
|
||||
*)
|
||||
echo "$xc_msg_err 'grep' utility not found in 'PATH'. $xc_msg_abrt" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
])
|
||||
|
||||
|
||||
dnl _XC_CFG_PRE_BASIC_CHK_UTIL_TR
|
||||
dnl -------------------------------------------------
|
||||
dnl Private macro.
|
||||
dnl
|
||||
dnl Emits shell code that verifies that 'tr' utility
|
||||
dnl is found within 'PATH', otherwise aborts execution.
|
||||
|
||||
AC_DEFUN([_XC_CFG_PRE_BASIC_CHK_UTIL_TR],
|
||||
[dnl
|
||||
AC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_VAR_PATH])dnl
|
||||
#
|
||||
# Verify that 'tr' utility is found within 'PATH', otherwise abort.
|
||||
#
|
||||
|
||||
xc_tst_str="${xc_tab}98s7u6c5c4e3s2s10"
|
||||
xc_tst_str=`echo "$xc_tst_str" 2>/dev/null \
|
||||
| tr -d "0123456789$xc_tab" 2>/dev/null`
|
||||
case "x$xc_tst_str" in @%:@ ((
|
||||
xsuccess)
|
||||
:
|
||||
;;
|
||||
*)
|
||||
echo "$xc_msg_err 'tr' utility not found in 'PATH'. $xc_msg_abrt" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
])
|
||||
|
||||
|
||||
dnl _XC_CFG_PRE_BASIC_CHK_UTIL_WC
|
||||
dnl -------------------------------------------------
|
||||
dnl Private macro.
|
||||
dnl
|
||||
dnl Emits shell code that verifies that 'wc' utility
|
||||
dnl is found within 'PATH', otherwise aborts execution.
|
||||
|
||||
AC_DEFUN([_XC_CFG_PRE_BASIC_CHK_UTIL_WC],
|
||||
[dnl
|
||||
AC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_UTIL_TR])dnl
|
||||
#
|
||||
# Verify that 'wc' utility is found within 'PATH', otherwise abort.
|
||||
#
|
||||
|
||||
xc_tst_str='unknown unknown unknown unknown'
|
||||
xc_tst_str=`echo "$xc_tst_str" 2>/dev/null \
|
||||
| wc -w 2>/dev/null | tr -d "$xc_space$xc_tab" 2>/dev/null`
|
||||
case "x$xc_tst_str" in @%:@ ((
|
||||
x4)
|
||||
:
|
||||
;;
|
||||
*)
|
||||
echo "$xc_msg_err 'wc' utility not found in 'PATH'. $xc_msg_abrt" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
])
|
||||
|
||||
|
||||
dnl _XC_CFG_PRE_BASIC_CHK_UTIL_CAT
|
||||
dnl -------------------------------------------------
|
||||
dnl Private macro.
|
||||
dnl
|
||||
dnl Emits shell code that verifies that 'cat' utility
|
||||
dnl is found within 'PATH', otherwise aborts execution.
|
||||
|
||||
AC_DEFUN([_XC_CFG_PRE_BASIC_CHK_UTIL_CAT],
|
||||
[dnl
|
||||
AC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_UTIL_WC])dnl
|
||||
#
|
||||
# Verify that 'cat' utility is found within 'PATH', otherwise abort.
|
||||
#
|
||||
|
||||
xc_tst_str='unknown'
|
||||
xc_tst_str=`cat <<_EOT 2>/dev/null \
|
||||
| wc -l 2>/dev/null | tr -d "$xc_space$xc_tab" 2>/dev/null
|
||||
unknown
|
||||
unknown
|
||||
unknown
|
||||
_EOT`
|
||||
case "x$xc_tst_str" in @%:@ ((
|
||||
x3)
|
||||
:
|
||||
;;
|
||||
*)
|
||||
echo "$xc_msg_err 'cat' utility not found in 'PATH'. $xc_msg_abrt" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
])
|
||||
|
||||
|
||||
dnl _XC_CFG_PRE_CHECK_PATH_SEPARATOR
|
||||
dnl -------------------------------------------------
|
||||
dnl Private macro.
|
||||
dnl
|
||||
dnl Emits shell code that computes the path separator
|
||||
dnl and stores the result in 'PATH_SEPARATOR', unless
|
||||
dnl the user has already set it with a non-empty value.
|
||||
dnl
|
||||
dnl This path separator is the symbol used to separate
|
||||
dnl or diferentiate paths inside the 'PATH' environment
|
||||
dnl variable.
|
||||
dnl
|
||||
dnl Non-empty user provided 'PATH_SEPARATOR' always
|
||||
dnl overrides the auto-detected one.
|
||||
|
||||
AC_DEFUN([_XC_CFG_PRE_CHECK_PATH_SEPARATOR],
|
||||
[dnl
|
||||
AC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_CMD_EXPR])dnl
|
||||
#
|
||||
# Auto-detect and set 'PATH_SEPARATOR', unless it is already non-empty set.
|
||||
#
|
||||
|
||||
# Directory count in 'PATH' when using a colon separator.
|
||||
xc_tst_dirs_col='x'
|
||||
xc_tst_prev_IFS=$IFS; IFS=':'
|
||||
for xc_tst_dir in $PATH; do
|
||||
IFS=$xc_tst_prev_IFS
|
||||
xc_tst_dirs_col="x$xc_tst_dirs_col"
|
||||
done
|
||||
IFS=$xc_tst_prev_IFS
|
||||
xc_tst_dirs_col=`expr "$xc_tst_dirs_col" : '.*'`
|
||||
|
||||
# Directory count in 'PATH' when using a semicolon separator.
|
||||
xc_tst_dirs_sem='x'
|
||||
xc_tst_prev_IFS=$IFS; IFS=';'
|
||||
for xc_tst_dir in $PATH; do
|
||||
IFS=$xc_tst_prev_IFS
|
||||
xc_tst_dirs_sem="x$xc_tst_dirs_sem"
|
||||
done
|
||||
IFS=$xc_tst_prev_IFS
|
||||
xc_tst_dirs_sem=`expr "$xc_tst_dirs_sem" : '.*'`
|
||||
|
||||
if test $xc_tst_dirs_sem -eq $xc_tst_dirs_col; then
|
||||
# When both counting methods give the same result we do not want to
|
||||
# chose one over the other, and consider auto-detection not possible.
|
||||
if test -z "$PATH_SEPARATOR"; then
|
||||
# Stop dead until user provides 'PATH_SEPARATOR' definition.
|
||||
echo "$xc_msg_err 'PATH_SEPARATOR' variable not set. $xc_msg_abrt" >&2
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
# Separator with the greater directory count is the auto-detected one.
|
||||
if test $xc_tst_dirs_sem -gt $xc_tst_dirs_col; then
|
||||
xc_tst_auto_separator=';'
|
||||
else
|
||||
xc_tst_auto_separator=':'
|
||||
fi
|
||||
if test -z "$PATH_SEPARATOR"; then
|
||||
# Simply use the auto-detected one when not already set.
|
||||
PATH_SEPARATOR=$xc_tst_auto_separator
|
||||
elif test "x$PATH_SEPARATOR" != "x$xc_tst_auto_separator"; then
|
||||
echo "$xc_msg_warn 'PATH_SEPARATOR' does not match auto-detected one." >&2
|
||||
fi
|
||||
fi
|
||||
xc_PATH_SEPARATOR=$PATH_SEPARATOR
|
||||
AC_SUBST([PATH_SEPARATOR])dnl
|
||||
])
|
||||
|
||||
|
||||
dnl _XC_CFG_PRE_POSTLUDE
|
||||
dnl -------------------------------------------------
|
||||
dnl Private macro.
|
||||
|
||||
AC_DEFUN([_XC_CFG_PRE_POSTLUDE],
|
||||
[dnl
|
||||
AC_REQUIRE([_XC_CFG_PRE_PREAMBLE])dnl
|
||||
AC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_CMD_ECHO])dnl
|
||||
AC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_CMD_TEST])dnl
|
||||
AC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_VAR_PATH])dnl
|
||||
AC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_CMD_EXPR])dnl
|
||||
AC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_UTIL_SED])dnl
|
||||
AC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_UTIL_GREP])dnl
|
||||
AC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_UTIL_TR])dnl
|
||||
AC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_UTIL_WC])dnl
|
||||
AC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_UTIL_CAT])dnl
|
||||
AC_REQUIRE([_XC_CFG_PRE_CHECK_PATH_SEPARATOR])dnl
|
||||
dnl
|
||||
xc_configure_preamble_result='yes'
|
||||
])
|
||||
|
||||
|
||||
dnl XC_CONFIGURE_PREAMBLE
|
||||
dnl -------------------------------------------------
|
||||
dnl Public macro.
|
||||
dnl
|
||||
dnl This macro emits shell code which does some
|
||||
dnl very basic checks related with the availability
|
||||
dnl of some commands and utilities needed to allow
|
||||
dnl configure script bootstrapping itself when using
|
||||
dnl these to figure out other settings. Also emits
|
||||
dnl code that performs PATH_SEPARATOR auto-detection
|
||||
dnl and sets its value unless it is already set with
|
||||
dnl a non-empty value.
|
||||
dnl
|
||||
dnl These basic checks are intended to be placed and
|
||||
dnl executed as early as possible in the resulting
|
||||
dnl configure script, and as such these must be pure
|
||||
dnl and portable shell code.
|
||||
dnl
|
||||
dnl This macro may be used directly, or indirectly
|
||||
dnl when using other macros that AC_REQUIRE it such
|
||||
dnl as XC_CHECK_PATH_SEPARATOR.
|
||||
dnl
|
||||
dnl Currently the mechanism used to ensure that this
|
||||
dnl macro expands early enough in generated configure
|
||||
dnl script is making it override autoconf and libtool
|
||||
dnl PATH_SEPARATOR check.
|
||||
|
||||
AC_DEFUN([XC_CONFIGURE_PREAMBLE],
|
||||
[dnl
|
||||
AC_PREREQ([2.50])dnl
|
||||
dnl
|
||||
AC_BEFORE([$0],[_XC_CFG_PRE_PREAMBLE])dnl
|
||||
AC_BEFORE([$0],[_XC_CFG_PRE_BASIC_CHK_CMD_ECHO])dnl
|
||||
AC_BEFORE([$0],[_XC_CFG_PRE_BASIC_CHK_CMD_TEST])dnl
|
||||
AC_BEFORE([$0],[_XC_CFG_PRE_BASIC_CHK_VAR_PATH])dnl
|
||||
AC_BEFORE([$0],[_XC_CFG_PRE_BASIC_CHK_CMD_EXPR])dnl
|
||||
AC_BEFORE([$0],[_XC_CFG_PRE_BASIC_CHK_UTIL_SED])dnl
|
||||
AC_BEFORE([$0],[_XC_CFG_PRE_BASIC_CHK_UTIL_GREP])dnl
|
||||
AC_BEFORE([$0],[_XC_CFG_PRE_BASIC_CHK_UTIL_TR])dnl
|
||||
AC_BEFORE([$0],[_XC_CFG_PRE_BASIC_CHK_UTIL_WC])dnl
|
||||
AC_BEFORE([$0],[_XC_CFG_PRE_BASIC_CHK_UTIL_CAT])dnl
|
||||
AC_BEFORE([$0],[_XC_CFG_PRE_CHECK_PATH_SEPARATOR])dnl
|
||||
AC_BEFORE([$0],[_XC_CFG_PRE_POSTLUDE])dnl
|
||||
dnl
|
||||
AC_BEFORE([$0],[AC_CHECK_TOOL])dnl
|
||||
AC_BEFORE([$0],[AC_CHECK_PROG])dnl
|
||||
AC_BEFORE([$0],[AC_CHECK_TOOLS])dnl
|
||||
AC_BEFORE([$0],[AC_CHECK_PROGS])dnl
|
||||
dnl
|
||||
AC_BEFORE([$0],[AC_PATH_TOOL])dnl
|
||||
AC_BEFORE([$0],[AC_PATH_PROG])dnl
|
||||
AC_BEFORE([$0],[AC_PATH_PROGS])dnl
|
||||
dnl
|
||||
AC_BEFORE([$0],[AC_PROG_SED])dnl
|
||||
AC_BEFORE([$0],[AC_PROG_GREP])dnl
|
||||
AC_BEFORE([$0],[AC_PROG_LN_S])dnl
|
||||
AC_BEFORE([$0],[AC_PROG_MKDIR_P])dnl
|
||||
AC_BEFORE([$0],[AC_PROG_INSTALL])dnl
|
||||
AC_BEFORE([$0],[AC_PROG_MAKE_SET])dnl
|
||||
AC_BEFORE([$0],[AC_PROG_LIBTOOL])dnl
|
||||
dnl
|
||||
AC_BEFORE([$0],[LT_INIT])dnl
|
||||
AC_BEFORE([$0],[AM_INIT_AUTOMAKE])dnl
|
||||
AC_BEFORE([$0],[AC_LIBTOOL_WIN32_DLL])dnl
|
||||
dnl
|
||||
AC_REQUIRE([_XC_CFG_PRE_PREAMBLE])dnl
|
||||
AC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_CMD_ECHO])dnl
|
||||
AC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_CMD_TEST])dnl
|
||||
AC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_VAR_PATH])dnl
|
||||
AC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_CMD_EXPR])dnl
|
||||
AC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_UTIL_SED])dnl
|
||||
AC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_UTIL_GREP])dnl
|
||||
AC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_UTIL_TR])dnl
|
||||
AC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_UTIL_WC])dnl
|
||||
AC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_UTIL_CAT])dnl
|
||||
AC_REQUIRE([_XC_CFG_PRE_CHECK_PATH_SEPARATOR])dnl
|
||||
AC_REQUIRE([_XC_CFG_PRE_POSTLUDE])dnl
|
||||
dnl
|
||||
m4_pattern_forbid([^_*XC])dnl
|
||||
m4_define([$0],[])dnl
|
||||
])
|
||||
|
||||
|
||||
dnl Override autoconf and libtool PATH_SEPARATOR check
|
||||
dnl -------------------------------------------------
|
||||
dnl Macros overriding.
|
||||
dnl
|
||||
dnl This is done to ensure that the same check is
|
||||
dnl used across different autoconf versions and to
|
||||
dnl allow expansion of XC_CONFIGURE_PREAMBLE macro
|
||||
dnl early enough in the generated configure script.
|
||||
|
||||
dnl
|
||||
dnl Override when using autoconf 2.53 and newer.
|
||||
dnl
|
||||
|
||||
m4_ifdef([_AS_PATH_SEPARATOR_PREPARE],
|
||||
[dnl
|
||||
m4_undefine([_AS_PATH_SEPARATOR_PREPARE])dnl
|
||||
m4_defun([_AS_PATH_SEPARATOR_PREPARE],
|
||||
[dnl
|
||||
AC_REQUIRE([XC_CONFIGURE_PREAMBLE])dnl
|
||||
m4_define([$0],[])dnl
|
||||
])dnl
|
||||
])
|
||||
|
||||
dnl
|
||||
dnl Override when using autoconf 2.50 to 2.52
|
||||
dnl
|
||||
|
||||
m4_ifdef([_AC_INIT_PREPARE_FS_SEPARATORS],
|
||||
[dnl
|
||||
m4_undefine([_AC_INIT_PREPARE_FS_SEPARATORS])dnl
|
||||
m4_defun([_AC_INIT_PREPARE_FS_SEPARATORS],
|
||||
[dnl
|
||||
AC_REQUIRE([XC_CONFIGURE_PREAMBLE])dnl
|
||||
ac_path_separator=$PATH_SEPARATOR
|
||||
m4_define([$0],[])dnl
|
||||
])dnl
|
||||
])
|
||||
|
||||
dnl
|
||||
dnl Override when using libtool 1.4.2
|
||||
dnl
|
||||
|
||||
m4_ifdef([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR],
|
||||
[dnl
|
||||
m4_undefine([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR])dnl
|
||||
m4_defun([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR],
|
||||
[dnl
|
||||
AC_REQUIRE([XC_CONFIGURE_PREAMBLE])dnl
|
||||
lt_cv_sys_path_separator=$PATH_SEPARATOR
|
||||
m4_define([$0],[])dnl
|
||||
])dnl
|
||||
])
|
||||
|
||||
|
||||
dnl XC_CHECK_PATH_SEPARATOR
|
||||
dnl -------------------------------------------------
|
||||
dnl Public macro.
|
||||
dnl
|
||||
dnl Usage of this macro ensures that generated configure
|
||||
dnl script uses the same PATH_SEPARATOR check irrespective
|
||||
dnl of autoconf or libtool version being used to generate
|
||||
dnl configure script.
|
||||
dnl
|
||||
dnl Emits shell code that computes the path separator
|
||||
dnl and stores the result in 'PATH_SEPARATOR', unless
|
||||
dnl the user has already set it with a non-empty value.
|
||||
dnl
|
||||
dnl This path separator is the symbol used to separate
|
||||
dnl or diferentiate paths inside the 'PATH' environment
|
||||
dnl variable.
|
||||
dnl
|
||||
dnl Non-empty user provided 'PATH_SEPARATOR' always
|
||||
dnl overrides the auto-detected one.
|
||||
dnl
|
||||
dnl Strictly speaking the check is done in two steps. The
|
||||
dnl first, which does the actual check, takes place in
|
||||
dnl XC_CONFIGURE_PREAMBLE macro and happens very early in
|
||||
dnl generated configure script. The second one shows and
|
||||
dnl logs the result of the check into config.log at a later
|
||||
dnl configure stage. Placement of this second stage in
|
||||
dnl generated configure script will be done where first
|
||||
dnl direct or indirect usage of this macro happens.
|
||||
|
||||
AC_DEFUN([XC_CHECK_PATH_SEPARATOR],
|
||||
[dnl
|
||||
AC_PREREQ([2.50])dnl
|
||||
dnl
|
||||
AC_BEFORE([$0],[AC_CHECK_TOOL])dnl
|
||||
AC_BEFORE([$0],[AC_CHECK_PROG])dnl
|
||||
AC_BEFORE([$0],[AC_CHECK_TOOLS])dnl
|
||||
AC_BEFORE([$0],[AC_CHECK_PROGS])dnl
|
||||
dnl
|
||||
AC_BEFORE([$0],[AC_PATH_TOOL])dnl
|
||||
AC_BEFORE([$0],[AC_PATH_PROG])dnl
|
||||
AC_BEFORE([$0],[AC_PATH_PROGS])dnl
|
||||
dnl
|
||||
AC_BEFORE([$0],[AC_PROG_SED])dnl
|
||||
AC_BEFORE([$0],[AC_PROG_GREP])dnl
|
||||
AC_BEFORE([$0],[AC_PROG_LN_S])dnl
|
||||
AC_BEFORE([$0],[AC_PROG_MKDIR_P])dnl
|
||||
AC_BEFORE([$0],[AC_PROG_INSTALL])dnl
|
||||
AC_BEFORE([$0],[AC_PROG_MAKE_SET])dnl
|
||||
AC_BEFORE([$0],[AC_PROG_LIBTOOL])dnl
|
||||
dnl
|
||||
AC_BEFORE([$0],[LT_INIT])dnl
|
||||
AC_BEFORE([$0],[AM_INIT_AUTOMAKE])dnl
|
||||
AC_BEFORE([$0],[AC_LIBTOOL_WIN32_DLL])dnl
|
||||
dnl
|
||||
AC_REQUIRE([XC_CONFIGURE_PREAMBLE])dnl
|
||||
dnl
|
||||
#
|
||||
# Check that 'XC_CONFIGURE_PREAMBLE' has already run.
|
||||
#
|
||||
|
||||
if test -z "$xc_configure_preamble_result"; then
|
||||
AC_MSG_ERROR([xc_configure_preamble_result not set (internal problem)])
|
||||
fi
|
||||
|
||||
#
|
||||
# Check that 'PATH_SEPARATOR' has already been set.
|
||||
#
|
||||
|
||||
if test -z "$xc_PATH_SEPARATOR"; then
|
||||
AC_MSG_ERROR([xc_PATH_SEPARATOR not set (internal problem)])
|
||||
fi
|
||||
if test -z "$PATH_SEPARATOR"; then
|
||||
AC_MSG_ERROR([PATH_SEPARATOR not set (internal or config.site problem)])
|
||||
fi
|
||||
AC_MSG_CHECKING([for path separator])
|
||||
AC_MSG_RESULT([$PATH_SEPARATOR])
|
||||
if test "x$PATH_SEPARATOR" != "x$xc_PATH_SEPARATOR"; then
|
||||
AC_MSG_CHECKING([for initial path separator])
|
||||
AC_MSG_RESULT([$xc_PATH_SEPARATOR])
|
||||
AC_MSG_ERROR([path separator mismatch (internal or config.site problem)])
|
||||
fi
|
||||
dnl
|
||||
m4_pattern_forbid([^_*XC])dnl
|
||||
m4_define([$0],[])dnl
|
||||
])
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
#---------------------------------------------------------------------------
|
||||
#
|
||||
# zz50-xc-ovr.m4
|
||||
#
|
||||
# Copyright (c) 2011 Daniel Stenberg <[email protected]>
|
||||
#
|
||||
# Permission to use, copy, modify, and distribute this software for any
|
||||
# purpose with or without fee is hereby granted, provided that the above
|
||||
# copyright notice and this permission notice appear in all copies.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
# serial 1
|
||||
|
||||
|
||||
dnl The funny name of this file is intentional in order to make it
|
||||
dnl sort alphabetically after any libtool, autoconf or automake
|
||||
dnl provided .m4 macro file that might get copied into this same
|
||||
dnl subdirectory. This allows that macro (re)definitions from this
|
||||
dnl file may override those provided in other files.
|
||||
|
||||
|
||||
dnl Override some language related macros
|
||||
dnl -------------------------------------------------
|
||||
dnl This is done to prevent Libtool 1.5.X from doing
|
||||
dnl unnecesary C++, Fortran and Java tests when only
|
||||
dnl using C language and reduce resulting configure
|
||||
dnl script by nearly 300 Kb.
|
||||
|
||||
m4_ifdef([AC_LIBTOOL_LANG_CXX_CONFIG],
|
||||
[m4_undefine([AC_LIBTOOL_LANG_CXX_CONFIG])])
|
||||
m4_define([AC_LIBTOOL_LANG_CXX_CONFIG],[:])
|
||||
|
||||
m4_ifdef([AC_LIBTOOL_LANG_F77_CONFIG],
|
||||
[m4_undefine([AC_LIBTOOL_LANG_F77_CONFIG])])
|
||||
m4_define([AC_LIBTOOL_LANG_F77_CONFIG],[:])
|
||||
|
||||
m4_ifdef([AC_LIBTOOL_LANG_GCJ_CONFIG],
|
||||
[m4_undefine([AC_LIBTOOL_LANG_GCJ_CONFIG])])
|
||||
m4_define([AC_LIBTOOL_LANG_GCJ_CONFIG],[:])
|
||||
|
||||
|
||||
dnl XC_OVR_ZZ50
|
||||
dnl -------------------------------------------------
|
||||
dnl Placing a call to this macro in configure.ac will
|
||||
dnl make macros in this file visible to other macros
|
||||
dnl used for same configure script, overriding those
|
||||
dnl provided elsewhere.
|
||||
|
||||
AC_DEFUN([XC_OVR_ZZ50],
|
||||
[AC_BEFORE([$0],[AC_PROG_LIBTOOL])])
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
#---------------------------------------------------------------------------
|
||||
#
|
||||
# zz60-xc-ovr.m4
|
||||
#
|
||||
# Copyright (c) 2013 Daniel Stenberg <[email protected]>
|
||||
#
|
||||
# Permission to use, copy, modify, and distribute this software for any
|
||||
# purpose with or without fee is hereby granted, provided that the above
|
||||
# copyright notice and this permission notice appear in all copies.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
# serial 1
|
||||
|
||||
|
||||
dnl The funny name of this file is intentional in order to make it
|
||||
dnl sort alphabetically after any libtool, autoconf or automake
|
||||
dnl provided .m4 macro file that might get copied into this same
|
||||
dnl subdirectory. This allows that macro (re)definitions from this
|
||||
dnl file may override those provided in other files.
|
||||
|
||||
|
||||
dnl Override an autoconf provided macro
|
||||
dnl -------------------------------------------------
|
||||
dnl This macro overrides the one provided by autoconf
|
||||
dnl 2.58 or newer, and provides macro definition for
|
||||
dnl autoconf 2.57 or older which lack it. This allows
|
||||
dnl using libtool 2.2 or newer, which requires that
|
||||
dnl this macro is used in configure.ac, with autoconf
|
||||
dnl 2.57 or older.
|
||||
|
||||
m4_ifdef([AC_CONFIG_MACRO_DIR],
|
||||
[dnl
|
||||
m4_undefine([AC_CONFIG_MACRO_DIR])dnl
|
||||
])
|
||||
m4_define([AC_CONFIG_MACRO_DIR],[])
|
||||
|
||||
|
||||
dnl XC_OVR_ZZ60
|
||||
dnl -------------------------------------------------
|
||||
dnl Placing a call to this macro in configure.ac will
|
||||
dnl make macros in this file visible to other macros
|
||||
dnl used for same configure script, overriding those
|
||||
dnl provided elsewhere.
|
||||
|
||||
AC_DEFUN([XC_OVR_ZZ60],
|
||||
[dnl
|
||||
AC_BEFORE([$0],[LT_INIT])dnl
|
||||
AC_BEFORE([$0],[AM_INIT_AUTOMAKE])dnl
|
||||
AC_BEFORE([$0],[AC_LIBTOOL_WIN32_DLL])dnl
|
||||
AC_BEFORE([$0],[AC_PROG_LIBTOOL])dnl
|
||||
dnl
|
||||
AC_BEFORE([$0],[AC_CONFIG_MACRO_DIR])dnl
|
||||
AC_BEFORE([$0],[AC_CONFIG_MACRO_DIRS])dnl
|
||||
])
|
||||
|
||||
Reference in New Issue
Block a user