mirror of
https://github.com/VCMP-SqMod/SqMod.git
synced 2026-08-28 10:37:12 +02:00
Initial preparations for CURL and Discord integration.
This commit is contained in:
+115
@@ -0,0 +1,115 @@
|
||||
# ============================================================================
|
||||
# https://www.gnu.org/software/autoconf-archive/ax_compile_check_sizeof.html
|
||||
# ============================================================================
|
||||
#
|
||||
# SYNOPSIS
|
||||
#
|
||||
# AX_COMPILE_CHECK_SIZEOF(TYPE [, HEADERS [, EXTRA_SIZES...]])
|
||||
#
|
||||
# DESCRIPTION
|
||||
#
|
||||
# This macro checks for the size of TYPE using compile checks, not run
|
||||
# checks. You can supply extra HEADERS to look into. the check will cycle
|
||||
# through 1 2 4 8 16 and any EXTRA_SIZES the user supplies. If a match is
|
||||
# found, it will #define SIZEOF_`TYPE' to that value. Otherwise it will
|
||||
# emit a configure time error indicating the size of the type could not be
|
||||
# determined.
|
||||
#
|
||||
# The trick is that C will not allow duplicate case labels. While this is
|
||||
# valid C code:
|
||||
#
|
||||
# switch (0) case 0: case 1:;
|
||||
#
|
||||
# The following is not:
|
||||
#
|
||||
# switch (0) case 0: case 0:;
|
||||
#
|
||||
# Thus, the AC_TRY_COMPILE will fail if the currently tried size does not
|
||||
# match.
|
||||
#
|
||||
# Here is an example skeleton configure.in script, demonstrating the
|
||||
# macro's usage:
|
||||
#
|
||||
# AC_PROG_CC
|
||||
# AC_CHECK_HEADERS(stddef.h unistd.h)
|
||||
# AC_TYPE_SIZE_T
|
||||
# AC_CHECK_TYPE(ssize_t, int)
|
||||
#
|
||||
# headers='#ifdef HAVE_STDDEF_H
|
||||
# #include <stddef.h>
|
||||
# #endif
|
||||
# #ifdef HAVE_UNISTD_H
|
||||
# #include <unistd.h>
|
||||
# #endif
|
||||
# '
|
||||
#
|
||||
# AX_COMPILE_CHECK_SIZEOF(char)
|
||||
# AX_COMPILE_CHECK_SIZEOF(short)
|
||||
# AX_COMPILE_CHECK_SIZEOF(int)
|
||||
# AX_COMPILE_CHECK_SIZEOF(long)
|
||||
# AX_COMPILE_CHECK_SIZEOF(unsigned char *)
|
||||
# AX_COMPILE_CHECK_SIZEOF(void *)
|
||||
# AX_COMPILE_CHECK_SIZEOF(size_t, $headers)
|
||||
# AX_COMPILE_CHECK_SIZEOF(ssize_t, $headers)
|
||||
# AX_COMPILE_CHECK_SIZEOF(ptrdiff_t, $headers)
|
||||
# AX_COMPILE_CHECK_SIZEOF(off_t, $headers)
|
||||
#
|
||||
# LICENSE
|
||||
#
|
||||
# Copyright (c) 2008 Kaveh Ghazi <ghazi@caip.rutgers.edu>
|
||||
# Copyright (c) 2017 Reini Urban <rurban@cpan.org>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the
|
||||
# Free Software Foundation, either version 3 of the License, or (at your
|
||||
# option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
||||
# Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along
|
||||
# with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
# As a special exception, the respective Autoconf Macro's copyright owner
|
||||
# gives unlimited permission to copy, distribute and modify the configure
|
||||
# scripts that are the output of Autoconf when processing the Macro. You
|
||||
# need not follow the terms of the GNU General Public License when using
|
||||
# or distributing such scripts, even though portions of the text of the
|
||||
# Macro appear in them. The GNU General Public License (GPL) does govern
|
||||
# all other use of the material that constitutes the Autoconf Macro.
|
||||
#
|
||||
# This special exception to the GPL applies to versions of the Autoconf
|
||||
# Macro released by the Autoconf Archive. When you make and distribute a
|
||||
# modified version of the Autoconf Macro, you may extend this special
|
||||
# exception to the GPL to apply to your modified version as well.
|
||||
|
||||
#serial 7
|
||||
|
||||
AU_ALIAS([AC_COMPILE_CHECK_SIZEOF], [AX_COMPILE_CHECK_SIZEOF])
|
||||
AC_DEFUN([AX_COMPILE_CHECK_SIZEOF],
|
||||
[changequote(<<, >>)dnl
|
||||
dnl The name to #define.
|
||||
define(<<AC_TYPE_NAME>>, translit(sizeof_$1, [a-z *], [A-Z_P]))dnl
|
||||
dnl The cache variable name.
|
||||
define(<<AC_CV_NAME>>, translit(ac_cv_sizeof_$1, [ *], [_p]))dnl
|
||||
changequote([, ])dnl
|
||||
AC_MSG_CHECKING(size of $1)
|
||||
AC_CACHE_VAL(AC_CV_NAME,
|
||||
[for ac_size in 4 8 1 2 16 $3 ; do # List sizes in rough order of prevalence.
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
||||
#include <sys/types.h>
|
||||
$2
|
||||
]], [[switch (0) case 0: case (sizeof ($1) == $ac_size):;]])], [AC_CV_NAME=$ac_size])
|
||||
if test x$AC_CV_NAME != x ; then break; fi
|
||||
done
|
||||
])
|
||||
if test x$AC_CV_NAME = x ; then
|
||||
AC_MSG_ERROR([cannot determine a size for $1])
|
||||
fi
|
||||
AC_MSG_RESULT($AC_CV_NAME)
|
||||
AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME, [The number of bytes in type $1])
|
||||
undefine([AC_TYPE_NAME])dnl
|
||||
undefine([AC_CV_NAME])dnl
|
||||
])
|
||||
+1682
File diff suppressed because it is too large
Load Diff
+686
@@ -0,0 +1,686 @@
|
||||
#***************************************************************************
|
||||
# _ _ ____ _
|
||||
# Project ___| | | | _ \| |
|
||||
# / __| | | | |_) | |
|
||||
# | (__| |_| | _ <| |___
|
||||
# \___|\___/|_| \_\_____|
|
||||
#
|
||||
# Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, 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 https://curl.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 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
|
||||
no)
|
||||
dnl --disable-threaded-resolver option used
|
||||
want_thres="no"
|
||||
;;
|
||||
*)
|
||||
dnl configure option not specified
|
||||
want_thres="yes"
|
||||
;;
|
||||
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 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])
|
||||
AC_DEFINE(CURLDEBUG, 1, [to enable curl debug memory tracking])
|
||||
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_DEFINE(CURLDEBUG, 1, [to enable curl debug memory tracking])
|
||||
AC_MSG_RESULT([yes])
|
||||
;;
|
||||
esac
|
||||
])
|
||||
|
||||
|
||||
dnl CURL_CHECK_OPTION_DEBUG
|
||||
dnl -------------------------------------------------
|
||||
dnl Verify if configure has been invoked with option
|
||||
dnl --enable-debug or --disable-debug, and set shell
|
||||
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_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,
|
||||
AC_HELP_STRING([--enable-debug],[Enable debug build options])
|
||||
AC_HELP_STRING([--disable-debug],[Disable debug build options]),
|
||||
OPT_DEBUG_BUILD=$enableval)
|
||||
case "$OPT_DEBUG_BUILD" in
|
||||
no)
|
||||
dnl --disable-debug option used
|
||||
want_debug="no"
|
||||
;;
|
||||
default)
|
||||
dnl configure option not specified
|
||||
want_debug="no"
|
||||
;;
|
||||
*)
|
||||
dnl --enable-debug option used
|
||||
want_debug="yes"
|
||||
AC_DEFINE(DEBUGBUILD, 1, [enable debug build options])
|
||||
;;
|
||||
esac
|
||||
AC_MSG_RESULT([$want_debug])
|
||||
])
|
||||
|
||||
dnl CURL_CHECK_OPTION_OPTIMIZE
|
||||
dnl -------------------------------------------------
|
||||
dnl Verify if configure has been invoked with option
|
||||
dnl --enable-optimize or --disable-optimize, and set
|
||||
dnl shell variable want_optimize value as appropriate.
|
||||
|
||||
AC_DEFUN([CURL_CHECK_OPTION_OPTIMIZE], [
|
||||
AC_REQUIRE([CURL_CHECK_OPTION_DEBUG])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,
|
||||
AC_HELP_STRING([--enable-optimize],[Enable compiler optimizations])
|
||||
AC_HELP_STRING([--disable-optimize],[Disable compiler optimizations]),
|
||||
OPT_COMPILER_OPTIMIZE=$enableval)
|
||||
case "$OPT_COMPILER_OPTIMIZE" in
|
||||
no)
|
||||
dnl --disable-optimize option used. We will handle this as
|
||||
dnl a request to disable compiler optimizations if possible.
|
||||
dnl If the compiler is known CFLAGS and CPPFLAGS will be
|
||||
dnl overridden, otherwise this can not be honored.
|
||||
want_optimize="no"
|
||||
AC_MSG_RESULT([no])
|
||||
;;
|
||||
default)
|
||||
dnl configure's optimize option not specified. Initially we will
|
||||
dnl handle this as a request contrary to configure's setting
|
||||
dnl for --enable-debug. IOW, initially, for debug-enabled builds
|
||||
dnl this will be handled as a request to disable optimizations if
|
||||
dnl possible, and for debug-disabled builds this will be handled
|
||||
dnl initially as a request to enable optimizations if possible.
|
||||
dnl Finally, if the compiler is known and CFLAGS and CPPFLAGS do
|
||||
dnl not have any optimizer flag the request will be honored, in
|
||||
dnl any other case the request can not be honored.
|
||||
dnl IOW, existing optimizer flags defined in CFLAGS or CPPFLAGS
|
||||
dnl will always take precedence over any initial assumption.
|
||||
if test "$want_debug" = "yes"; then
|
||||
want_optimize="assume_no"
|
||||
AC_MSG_RESULT([(assumed) no])
|
||||
else
|
||||
want_optimize="assume_yes"
|
||||
AC_MSG_RESULT([(assumed) yes])
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
dnl --enable-optimize option used. We will handle this as
|
||||
dnl a request to enable compiler optimizations if possible.
|
||||
dnl If the compiler is known CFLAGS and CPPFLAGS will be
|
||||
dnl overridden, otherwise this can not be honored.
|
||||
want_optimize="yes"
|
||||
AC_MSG_RESULT([yes])
|
||||
;;
|
||||
esac
|
||||
])
|
||||
|
||||
|
||||
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_RT
|
||||
dnl -------------------------------------------------
|
||||
dnl Verify if configure has been invoked with option
|
||||
dnl --disable-rt and set shell variable dontwant_rt
|
||||
dnl as appropriate.
|
||||
|
||||
AC_DEFUN([CURL_CHECK_OPTION_RT], [
|
||||
AC_BEFORE([$0], [CURL_CHECK_LIB_THREADS])dnl
|
||||
AC_MSG_CHECKING([whether to disable dependency on -lrt])
|
||||
OPT_RT="default"
|
||||
AC_ARG_ENABLE(rt,
|
||||
AC_HELP_STRING([--disable-rt],[disable dependency on -lrt]),
|
||||
OPT_RT=$enableval)
|
||||
case "$OPT_RT" in
|
||||
no)
|
||||
dnl --disable-rt used (reverse logic)
|
||||
dontwant_rt="yes"
|
||||
AC_MSG_RESULT([yes])
|
||||
;;
|
||||
default)
|
||||
dnl configure option not specified (so not disabled)
|
||||
dontwant_rt="no"
|
||||
AC_MSG_RESULT([(assumed no)])
|
||||
;;
|
||||
*)
|
||||
dnl --enable-rt option used (reverse logic)
|
||||
dontwant_rt="no"
|
||||
AC_MSG_RESULT([no])
|
||||
;;
|
||||
esac
|
||||
])
|
||||
|
||||
dnl CURL_CHECK_OPTION_WARNINGS
|
||||
dnl -------------------------------------------------
|
||||
dnl Verify if configure has been invoked with option
|
||||
dnl --enable-warnings or --disable-warnings, and set
|
||||
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_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,
|
||||
AC_HELP_STRING([--enable-warnings],[Enable strict compiler warnings])
|
||||
AC_HELP_STRING([--disable-warnings],[Disable strict compiler warnings]),
|
||||
OPT_COMPILER_WARNINGS=$enableval)
|
||||
case "$OPT_COMPILER_WARNINGS" in
|
||||
no)
|
||||
dnl --disable-warnings option used
|
||||
want_warnings="no"
|
||||
;;
|
||||
default)
|
||||
dnl configure option not specified, so
|
||||
dnl use same setting as --enable-debug
|
||||
want_warnings="$want_debug"
|
||||
;;
|
||||
*)
|
||||
dnl --enable-warnings option used
|
||||
want_warnings="yes"
|
||||
;;
|
||||
esac
|
||||
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$curl_cv_func_fcntl_o_nonblock" = "xyes"; then
|
||||
tst_method="fcntl O_NONBLOCK"
|
||||
elif test "x$curl_cv_func_ioctl_fionbio" = "xyes"; then
|
||||
tst_method="ioctl FIONBIO"
|
||||
elif test "x$curl_cv_func_ioctlsocket_fionbio" = "xyes"; then
|
||||
tst_method="ioctlsocket FIONBIO"
|
||||
elif test "x$curl_cv_func_ioctlsocket_camel_fionbio" = "xyes"; then
|
||||
tst_method="IoctlSocket FIONBIO"
|
||||
elif test "x$curl_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"$curl_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_PCDIR="$want_ares_path/lib/pkgconfig"
|
||||
CURL_CHECK_PKGCONFIG(libcares, [$ARES_PCDIR])
|
||||
if test "$PKGCONFIG" != "no" ; then
|
||||
ares_LIBS=`CURL_EXPORT_PCDIR([$ARES_PCDIR])
|
||||
$PKGCONFIG --libs-only-l libcares`
|
||||
ares_LDFLAGS=`CURL_EXPORT_PCDIR([$ARES_PCDIR])
|
||||
$PKGCONFIG --libs-only-L libcares`
|
||||
ares_CPPFLAGS=`CURL_EXPORT_PCDIR([$ARES_PCDIR])
|
||||
$PKGCONFIG --cflags-only-I libcares`
|
||||
AC_MSG_NOTICE([pkg-config: ares LIBS: "$ares_LIBS"])
|
||||
AC_MSG_NOTICE([pkg-config: ares LDFLAGS: "$ares_LDFLAGS"])
|
||||
AC_MSG_NOTICE([pkg-config: ares CPPFLAGS: "$ares_CPPFLAGS"])
|
||||
else
|
||||
dnl ... path without pkg-config
|
||||
ares_CPPFLAGS="-I$want_ares_path/include"
|
||||
ares_LDFLAGS="-L$want_ares_path/lib"
|
||||
ares_LIBS="-lcares"
|
||||
fi
|
||||
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
|
||||
CURL_CHECK_PKGCONFIG(libcares)
|
||||
if test "$PKGCONFIG" != "no" ; then
|
||||
ares_LIBS=`$PKGCONFIG --libs-only-l libcares`
|
||||
ares_LDFLAGS=`$PKGCONFIG --libs-only-L libcares`
|
||||
ares_CPPFLAGS=`$PKGCONFIG --cflags-only-I libcares`
|
||||
AC_MSG_NOTICE([pkg-config: ares_LIBS: "$ares_LIBS"])
|
||||
AC_MSG_NOTICE([pkg-config: ares_LDFLAGS: "$ares_LDFLAGS"])
|
||||
AC_MSG_NOTICE([pkg-config: ares_CPPFLAGS: "$ares_CPPFLAGS"])
|
||||
else
|
||||
ares_CPPFLAGS=""
|
||||
ares_LDFLAGS=""
|
||||
ares_LIBS="-lcares"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
#
|
||||
CPPFLAGS="$clean_CPPFLAGS $ares_CPPFLAGS"
|
||||
LDFLAGS="$clean_LDFLAGS $ares_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 "$curl_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
|
||||
])
|
||||
|
||||
dnl CURL_CHECK_OPTION_ECH
|
||||
dnl -----------------------------------------------------
|
||||
dnl Verify whether configure has been invoked with option
|
||||
dnl --enable-ech or --disable-ech, and set
|
||||
dnl shell variable want_ech as appropriate.
|
||||
|
||||
AC_DEFUN([CURL_CHECK_OPTION_ECH], [
|
||||
AC_MSG_CHECKING([whether to enable ECH support])
|
||||
OPT_ECH="default"
|
||||
AC_ARG_ENABLE(ech,
|
||||
AC_HELP_STRING([--enable-ech],[Enable ECH support])
|
||||
AC_HELP_STRING([--disable-ech],[Disable ECH support]),
|
||||
OPT_ECH=$enableval)
|
||||
case "$OPT_ECH" in
|
||||
no)
|
||||
dnl --disable-ech option used
|
||||
want_ech="no"
|
||||
curl_ech_msg="no (--enable-ech)"
|
||||
AC_MSG_RESULT([no])
|
||||
;;
|
||||
default)
|
||||
dnl configure option not specified
|
||||
want_ech="no"
|
||||
curl_ech_msg="no (--enable-ech)"
|
||||
AC_MSG_RESULT([no])
|
||||
;;
|
||||
*)
|
||||
dnl --enable-ech option used
|
||||
want_ech="yes"
|
||||
curl_ech_msg="enabled (--disable-ech)"
|
||||
experimental="ech"
|
||||
AC_MSG_RESULT([yes])
|
||||
;;
|
||||
esac
|
||||
])
|
||||
+7336
File diff suppressed because it is too large
Load Diff
+278
@@ -0,0 +1,278 @@
|
||||
#***************************************************************************
|
||||
# _ _ ____ _
|
||||
# Project ___| | | | _ \| |
|
||||
# / __| | | | |_) | |
|
||||
# | (__| |_| | _ <| |___
|
||||
# \___|\___/|_| \_\_____|
|
||||
#
|
||||
# Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, 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 https://curl.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 appropriate
|
||||
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
|
||||
0x111) tst_show="1.1.1" ;;
|
||||
0x110) tst_show="1.1.0" ;;
|
||||
0x102) tst_show="1.0.2" ;;
|
||||
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 appropriate
|
||||
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
|
||||
AC_LINK_IFELSE([
|
||||
AC_LANG_FUNC_LINK_TRY([ERR_clear_last_mark])
|
||||
],[
|
||||
tst_api="0x111"
|
||||
])
|
||||
fi
|
||||
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_CONF_CTX_new])
|
||||
],[
|
||||
tst_api="0x102"
|
||||
])
|
||||
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
|
||||
0x111) tst_show="1.1.1" ;;
|
||||
0x110) tst_show="1.1.0" ;;
|
||||
0x102) tst_show="1.0.2" ;;
|
||||
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
|
||||
])
|
||||
+96
@@ -0,0 +1,96 @@
|
||||
#***************************************************************************
|
||||
# _ _ ____ _
|
||||
# Project ___| | | | _ \| |
|
||||
# / __| | | | |_) | |
|
||||
# | (__| |_| | _ <| |___
|
||||
# \___|\___/|_| \_\_____|
|
||||
#
|
||||
# Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, 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 https://curl.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 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 support 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 ();])])
|
||||
+616
@@ -0,0 +1,616 @@
|
||||
#***************************************************************************
|
||||
# _ _ ____ _
|
||||
# Project ___| | | | _ \| |
|
||||
# / __| | | | |_) | |
|
||||
# | (__| |_| | _ <| |___
|
||||
# \___|\___/|_| \_\_____|
|
||||
#
|
||||
# Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, 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 https://curl.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 10
|
||||
|
||||
dnl Note 1
|
||||
dnl ------
|
||||
dnl None of the CURL_CHECK_NEED_REENTRANT_* macros shall use HAVE_FOO_H to
|
||||
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
|
||||
dnl makes function gmtime_r compiler visible.
|
||||
|
||||
AC_DEFUN([CURL_CHECK_NEED_REENTRANT_GMTIME_R], [
|
||||
AC_LINK_IFELSE([
|
||||
AC_LANG_FUNC_LINK_TRY([gmtime_r])
|
||||
],[
|
||||
tmp_gmtime_r="yes"
|
||||
],[
|
||||
tmp_gmtime_r="no"
|
||||
])
|
||||
if test "$tmp_gmtime_r" = "yes"; then
|
||||
AC_EGREP_CPP([gmtime_r],[
|
||||
#include <sys/types.h>
|
||||
#include <time.h>
|
||||
],[
|
||||
tmp_gmtime_r="proto_declared"
|
||||
],[
|
||||
AC_EGREP_CPP([gmtime_r],[
|
||||
#define _REENTRANT
|
||||
#include <sys/types.h>
|
||||
#include <time.h>
|
||||
],[
|
||||
tmp_gmtime_r="proto_needs_reentrant"
|
||||
tmp_need_reentrant="yes"
|
||||
])
|
||||
])
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
dnl CURL_CHECK_NEED_REENTRANT_LOCALTIME_R
|
||||
dnl -------------------------------------------------
|
||||
dnl Checks if the preprocessor _REENTRANT definition
|
||||
dnl makes function localtime_r compiler visible.
|
||||
|
||||
AC_DEFUN([CURL_CHECK_NEED_REENTRANT_LOCALTIME_R], [
|
||||
AC_LINK_IFELSE([
|
||||
AC_LANG_FUNC_LINK_TRY([localtime_r])
|
||||
],[
|
||||
tmp_localtime_r="yes"
|
||||
],[
|
||||
tmp_localtime_r="no"
|
||||
])
|
||||
if test "$tmp_localtime_r" = "yes"; then
|
||||
AC_EGREP_CPP([localtime_r],[
|
||||
#include <sys/types.h>
|
||||
#include <time.h>
|
||||
],[
|
||||
tmp_localtime_r="proto_declared"
|
||||
],[
|
||||
AC_EGREP_CPP([localtime_r],[
|
||||
#define _REENTRANT
|
||||
#include <sys/types.h>
|
||||
#include <time.h>
|
||||
],[
|
||||
tmp_localtime_r="proto_needs_reentrant"
|
||||
tmp_need_reentrant="yes"
|
||||
])
|
||||
])
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
dnl CURL_CHECK_NEED_REENTRANT_STRERROR_R
|
||||
dnl -------------------------------------------------
|
||||
dnl Checks if the preprocessor _REENTRANT definition
|
||||
dnl makes function strerror_r compiler visible.
|
||||
|
||||
AC_DEFUN([CURL_CHECK_NEED_REENTRANT_STRERROR_R], [
|
||||
AC_LINK_IFELSE([
|
||||
AC_LANG_FUNC_LINK_TRY([strerror_r])
|
||||
],[
|
||||
tmp_strerror_r="yes"
|
||||
],[
|
||||
tmp_strerror_r="no"
|
||||
])
|
||||
if test "$tmp_strerror_r" = "yes"; then
|
||||
AC_EGREP_CPP([strerror_r],[
|
||||
#include <sys/types.h>
|
||||
#include <string.h>
|
||||
],[
|
||||
tmp_strerror_r="proto_declared"
|
||||
],[
|
||||
AC_EGREP_CPP([strerror_r],[
|
||||
#define _REENTRANT
|
||||
#include <sys/types.h>
|
||||
#include <string.h>
|
||||
],[
|
||||
tmp_strerror_r="proto_needs_reentrant"
|
||||
tmp_need_reentrant="yes"
|
||||
])
|
||||
])
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
dnl CURL_CHECK_NEED_REENTRANT_STRTOK_R
|
||||
dnl -------------------------------------------------
|
||||
dnl Checks if the preprocessor _REENTRANT definition
|
||||
dnl makes function strtok_r compiler visible.
|
||||
|
||||
AC_DEFUN([CURL_CHECK_NEED_REENTRANT_STRTOK_R], [
|
||||
AC_LINK_IFELSE([
|
||||
AC_LANG_FUNC_LINK_TRY([strtok_r])
|
||||
],[
|
||||
tmp_strtok_r="yes"
|
||||
],[
|
||||
tmp_strtok_r="no"
|
||||
])
|
||||
if test "$tmp_strtok_r" = "yes"; then
|
||||
AC_EGREP_CPP([strtok_r],[
|
||||
#include <sys/types.h>
|
||||
#include <string.h>
|
||||
],[
|
||||
tmp_strtok_r="proto_declared"
|
||||
],[
|
||||
AC_EGREP_CPP([strtok_r],[
|
||||
#define _REENTRANT
|
||||
#include <sys/types.h>
|
||||
#include <string.h>
|
||||
],[
|
||||
tmp_strtok_r="proto_needs_reentrant"
|
||||
tmp_need_reentrant="yes"
|
||||
])
|
||||
])
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
dnl CURL_CHECK_NEED_REENTRANT_INET_NTOA_R
|
||||
dnl -------------------------------------------------
|
||||
dnl Checks if the preprocessor _REENTRANT definition
|
||||
dnl makes function inet_ntoa_r compiler visible.
|
||||
|
||||
AC_DEFUN([CURL_CHECK_NEED_REENTRANT_INET_NTOA_R], [
|
||||
AC_LINK_IFELSE([
|
||||
AC_LANG_FUNC_LINK_TRY([inet_ntoa_r])
|
||||
],[
|
||||
tmp_inet_ntoa_r="yes"
|
||||
],[
|
||||
tmp_inet_ntoa_r="no"
|
||||
])
|
||||
if test "$tmp_inet_ntoa_r" = "yes"; then
|
||||
AC_EGREP_CPP([inet_ntoa_r],[
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
#include <arpa/inet.h>
|
||||
],[
|
||||
tmp_inet_ntoa_r="proto_declared"
|
||||
],[
|
||||
AC_EGREP_CPP([inet_ntoa_r],[
|
||||
#define _REENTRANT
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
#include <arpa/inet.h>
|
||||
],[
|
||||
tmp_inet_ntoa_r="proto_needs_reentrant"
|
||||
tmp_need_reentrant="yes"
|
||||
])
|
||||
])
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
dnl CURL_CHECK_NEED_REENTRANT_GETHOSTBYADDR_R
|
||||
dnl -------------------------------------------------
|
||||
dnl Checks if the preprocessor _REENTRANT definition
|
||||
dnl makes function gethostbyaddr_r compiler visible.
|
||||
|
||||
AC_DEFUN([CURL_CHECK_NEED_REENTRANT_GETHOSTBYADDR_R], [
|
||||
AC_LINK_IFELSE([
|
||||
AC_LANG_FUNC_LINK_TRY([gethostbyaddr_r])
|
||||
],[
|
||||
tmp_gethostbyaddr_r="yes"
|
||||
],[
|
||||
tmp_gethostbyaddr_r="no"
|
||||
])
|
||||
if test "$tmp_gethostbyaddr_r" = "yes"; then
|
||||
AC_EGREP_CPP([gethostbyaddr_r],[
|
||||
#include <sys/types.h>
|
||||
#include <netdb.h>
|
||||
],[
|
||||
tmp_gethostbyaddr_r="proto_declared"
|
||||
],[
|
||||
AC_EGREP_CPP([gethostbyaddr_r],[
|
||||
#define _REENTRANT
|
||||
#include <sys/types.h>
|
||||
#include <netdb.h>
|
||||
],[
|
||||
tmp_gethostbyaddr_r="proto_needs_reentrant"
|
||||
tmp_need_reentrant="yes"
|
||||
])
|
||||
])
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
dnl CURL_CHECK_NEED_REENTRANT_GETHOSTBYNAME_R
|
||||
dnl -------------------------------------------------
|
||||
dnl Checks if the preprocessor _REENTRANT definition
|
||||
dnl makes function gethostbyname_r compiler visible.
|
||||
|
||||
AC_DEFUN([CURL_CHECK_NEED_REENTRANT_GETHOSTBYNAME_R], [
|
||||
AC_LINK_IFELSE([
|
||||
AC_LANG_FUNC_LINK_TRY([gethostbyname_r])
|
||||
],[
|
||||
tmp_gethostbyname_r="yes"
|
||||
],[
|
||||
tmp_gethostbyname_r="no"
|
||||
])
|
||||
if test "$tmp_gethostbyname_r" = "yes"; then
|
||||
AC_EGREP_CPP([gethostbyname_r],[
|
||||
#include <sys/types.h>
|
||||
#include <netdb.h>
|
||||
],[
|
||||
tmp_gethostbyname_r="proto_declared"
|
||||
],[
|
||||
AC_EGREP_CPP([gethostbyname_r],[
|
||||
#define _REENTRANT
|
||||
#include <sys/types.h>
|
||||
#include <netdb.h>
|
||||
],[
|
||||
tmp_gethostbyname_r="proto_needs_reentrant"
|
||||
tmp_need_reentrant="yes"
|
||||
])
|
||||
])
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
dnl CURL_CHECK_NEED_REENTRANT_GETPROTOBYNAME_R
|
||||
dnl -------------------------------------------------
|
||||
dnl Checks if the preprocessor _REENTRANT definition
|
||||
dnl makes function getprotobyname_r compiler visible.
|
||||
|
||||
AC_DEFUN([CURL_CHECK_NEED_REENTRANT_GETPROTOBYNAME_R], [
|
||||
AC_LINK_IFELSE([
|
||||
AC_LANG_FUNC_LINK_TRY([getprotobyname_r])
|
||||
],[
|
||||
tmp_getprotobyname_r="yes"
|
||||
],[
|
||||
tmp_getprotobyname_r="no"
|
||||
])
|
||||
if test "$tmp_getprotobyname_r" = "yes"; then
|
||||
AC_EGREP_CPP([getprotobyname_r],[
|
||||
#include <sys/types.h>
|
||||
#include <netdb.h>
|
||||
],[
|
||||
tmp_getprotobyname_r="proto_declared"
|
||||
],[
|
||||
AC_EGREP_CPP([getprotobyname_r],[
|
||||
#define _REENTRANT
|
||||
#include <sys/types.h>
|
||||
#include <netdb.h>
|
||||
],[
|
||||
tmp_getprotobyname_r="proto_needs_reentrant"
|
||||
tmp_need_reentrant="yes"
|
||||
])
|
||||
])
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
dnl CURL_CHECK_NEED_REENTRANT_GETSERVBYPORT_R
|
||||
dnl -------------------------------------------------
|
||||
dnl Checks if the preprocessor _REENTRANT definition
|
||||
dnl makes function getservbyport_r compiler visible.
|
||||
|
||||
AC_DEFUN([CURL_CHECK_NEED_REENTRANT_GETSERVBYPORT_R], [
|
||||
AC_LINK_IFELSE([
|
||||
AC_LANG_FUNC_LINK_TRY([getservbyport_r])
|
||||
],[
|
||||
tmp_getservbyport_r="yes"
|
||||
],[
|
||||
tmp_getservbyport_r="no"
|
||||
])
|
||||
if test "$tmp_getservbyport_r" = "yes"; then
|
||||
AC_EGREP_CPP([getservbyport_r],[
|
||||
#include <sys/types.h>
|
||||
#include <netdb.h>
|
||||
],[
|
||||
tmp_getservbyport_r="proto_declared"
|
||||
],[
|
||||
AC_EGREP_CPP([getservbyport_r],[
|
||||
#define _REENTRANT
|
||||
#include <sys/types.h>
|
||||
#include <netdb.h>
|
||||
],[
|
||||
tmp_getservbyport_r="proto_needs_reentrant"
|
||||
tmp_need_reentrant="yes"
|
||||
])
|
||||
])
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
dnl CURL_CHECK_NEED_REENTRANT_FUNCTIONS_R
|
||||
dnl -------------------------------------------------
|
||||
dnl Checks if the preprocessor _REENTRANT definition
|
||||
dnl makes several _r functions compiler visible.
|
||||
dnl Internal macro for CURL_CONFIGURE_REENTRANT.
|
||||
|
||||
AC_DEFUN([CURL_CHECK_NEED_REENTRANT_FUNCTIONS_R], [
|
||||
if test "$tmp_need_reentrant" = "no"; then
|
||||
CURL_CHECK_NEED_REENTRANT_GMTIME_R
|
||||
fi
|
||||
if test "$tmp_need_reentrant" = "no"; then
|
||||
CURL_CHECK_NEED_REENTRANT_LOCALTIME_R
|
||||
fi
|
||||
if test "$tmp_need_reentrant" = "no"; then
|
||||
CURL_CHECK_NEED_REENTRANT_STRERROR_R
|
||||
fi
|
||||
if test "$tmp_need_reentrant" = "no"; then
|
||||
CURL_CHECK_NEED_REENTRANT_STRTOK_R
|
||||
fi
|
||||
if test "$tmp_need_reentrant" = "no"; then
|
||||
CURL_CHECK_NEED_REENTRANT_INET_NTOA_R
|
||||
fi
|
||||
if test "$tmp_need_reentrant" = "no"; then
|
||||
CURL_CHECK_NEED_REENTRANT_GETHOSTBYADDR_R
|
||||
fi
|
||||
if test "$tmp_need_reentrant" = "no"; then
|
||||
CURL_CHECK_NEED_REENTRANT_GETHOSTBYNAME_R
|
||||
fi
|
||||
if test "$tmp_need_reentrant" = "no"; then
|
||||
CURL_CHECK_NEED_REENTRANT_GETPROTOBYNAME_R
|
||||
fi
|
||||
if test "$tmp_need_reentrant" = "no"; then
|
||||
CURL_CHECK_NEED_REENTRANT_GETSERVBYPORT_R
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
dnl CURL_CHECK_NEED_REENTRANT_SYSTEM
|
||||
dnl -------------------------------------------------
|
||||
dnl Checks if the preprocessor _REENTRANT definition
|
||||
dnl must be unconditionally done for this platform.
|
||||
dnl Internal macro for CURL_CONFIGURE_REENTRANT.
|
||||
|
||||
AC_DEFUN([CURL_CHECK_NEED_REENTRANT_SYSTEM], [
|
||||
case $host_os in
|
||||
solaris*)
|
||||
tmp_need_reentrant="yes"
|
||||
;;
|
||||
*)
|
||||
tmp_need_reentrant="no"
|
||||
;;
|
||||
esac
|
||||
])
|
||||
|
||||
|
||||
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 curl_setup.h will define _REENTRANT.
|
||||
dnl Internal macro for CURL_CONFIGURE_REENTRANT.
|
||||
|
||||
AC_DEFUN([CURL_CONFIGURE_FROM_NOW_ON_WITH_REENTRANT], [
|
||||
AC_DEFINE(NEED_REENTRANT, 1,
|
||||
[Define to 1 if _REENTRANT preprocessor symbol must be defined.])
|
||||
cat >>confdefs.h <<_EOF
|
||||
#ifndef _REENTRANT
|
||||
# define _REENTRANT
|
||||
#endif
|
||||
_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
|
||||
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 to make visible to
|
||||
dnl the compiler a set of *_r functions. Finally, if
|
||||
dnl _REENTRANT 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_REENTRANT], [
|
||||
AC_PREREQ([2.50])dnl
|
||||
#
|
||||
AC_MSG_CHECKING([if _REENTRANT is already defined])
|
||||
AC_COMPILE_IFELSE([
|
||||
AC_LANG_PROGRAM([[
|
||||
]],[[
|
||||
#ifdef _REENTRANT
|
||||
int dummy=1;
|
||||
#else
|
||||
force compilation error
|
||||
#endif
|
||||
]])
|
||||
],[
|
||||
AC_MSG_RESULT([yes])
|
||||
tmp_reentrant_initially_defined="yes"
|
||||
],[
|
||||
AC_MSG_RESULT([no])
|
||||
tmp_reentrant_initially_defined="no"
|
||||
])
|
||||
#
|
||||
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
|
||||
if test "$tmp_need_reentrant" = "yes"; then
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
fi
|
||||
#
|
||||
AC_MSG_CHECKING([if _REENTRANT is onwards defined])
|
||||
if test "$tmp_reentrant_initially_defined" = "yes" ||
|
||||
test "$tmp_need_reentrant" = "yes"; then
|
||||
CURL_CONFIGURE_FROM_NOW_ON_WITH_REENTRANT
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
#
|
||||
])
|
||||
|
||||
|
||||
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
|
||||
#
|
||||
])
|
||||
Vendored
+252
@@ -0,0 +1,252 @@
|
||||
#---------------------------------------------------------------------------
|
||||
#
|
||||
# xc-am-iface.m4
|
||||
#
|
||||
# Copyright (c) 2013 - 2020 Daniel Stenberg <daniel@haxx.se>
|
||||
#
|
||||
# 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_AUTOMAKE_BODY
|
||||
dnl -------------------------------------------------
|
||||
dnl Private macro.
|
||||
dnl
|
||||
dnl This macro performs embedding of automake initialization
|
||||
dnl code into configure script. When automake version 1.14 or
|
||||
dnl newer is used at configure script generation time, this
|
||||
dnl results in 'subdir-objects' automake option being used.
|
||||
dnl When using automake versions older than 1.14 this option
|
||||
dnl is not used when generating configure script.
|
||||
dnl
|
||||
dnl Existence of automake _AM_PROG_CC_C_O m4 private macro
|
||||
dnl is used to differentiate automake version 1.14 from older
|
||||
dnl ones which lack this macro.
|
||||
|
||||
m4_define([_XC_AUTOMAKE_BODY],
|
||||
[dnl
|
||||
## --------------------------------------- ##
|
||||
## Start of automake initialization code ##
|
||||
## --------------------------------------- ##
|
||||
m4_ifdef([_AM_PROG_CC_C_O],
|
||||
[
|
||||
AM_INIT_AUTOMAKE([subdir-objects])
|
||||
],[
|
||||
AM_INIT_AUTOMAKE
|
||||
])dnl
|
||||
## ------------------------------------- ##
|
||||
## End of automake initialization code ##
|
||||
## ------------------------------------- ##
|
||||
dnl
|
||||
m4_define([$0], [])[]dnl
|
||||
])
|
||||
|
||||
|
||||
dnl XC_AUTOMAKE
|
||||
dnl -------------------------------------------------
|
||||
dnl Public macro.
|
||||
dnl
|
||||
dnl This macro embeds automake machinery into configure
|
||||
dnl script regardless of automake version used in order
|
||||
dnl to generate configure script.
|
||||
dnl
|
||||
dnl When using automake version 1.14 or newer, automake
|
||||
dnl initialization option 'subdir-objects' is used to
|
||||
dnl generate the configure script, otherwise this option
|
||||
dnl is not used.
|
||||
|
||||
AC_DEFUN([XC_AUTOMAKE],
|
||||
[dnl
|
||||
AC_PREREQ([2.50])dnl
|
||||
dnl
|
||||
AC_BEFORE([$0],[AM_INIT_AUTOMAKE])dnl
|
||||
dnl
|
||||
_XC_AUTOMAKE_BODY
|
||||
dnl
|
||||
m4_ifdef([AM_INIT_AUTOMAKE],
|
||||
[m4_undefine([AM_INIT_AUTOMAKE])])dnl
|
||||
dnl
|
||||
m4_define([$0], [])[]dnl
|
||||
])
|
||||
|
||||
|
||||
dnl _XC_AMEND_DISTCLEAN_BODY ([LIST-OF-SUBDIRS])
|
||||
dnl -------------------------------------------------
|
||||
dnl Private macro.
|
||||
dnl
|
||||
dnl This macro performs shell code embedding into
|
||||
dnl configure script in order to modify distclean
|
||||
dnl and maintainer-clean targets of makefiles which
|
||||
dnl are located in given list of subdirs.
|
||||
dnl
|
||||
dnl See XC_AMEND_DISTCLEAN comments for details.
|
||||
|
||||
m4_define([_XC_AMEND_DISTCLEAN_BODY],
|
||||
[dnl
|
||||
## ---------------------------------- ##
|
||||
## Start of distclean amending code ##
|
||||
## ---------------------------------- ##
|
||||
|
||||
for xc_subdir in [$1]
|
||||
do
|
||||
|
||||
if test ! -f "$xc_subdir/Makefile"; then
|
||||
echo "$xc_msg_err $xc_subdir/Makefile file not found. $xc_msg_abrt" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Fetch dependency tracking file list from Makefile include lines.
|
||||
|
||||
xc_inc_lines=`grep '^include .*(DEPDIR)' "$xc_subdir/Makefile" 2>/dev/null`
|
||||
xc_cnt_words=`echo "$xc_inc_lines" | wc -w | tr -d "$xc_space$xc_tab"`
|
||||
|
||||
# --disable-dependency-tracking might have been used, consequently
|
||||
# there is nothing to amend without a dependency tracking file list.
|
||||
|
||||
if test $xc_cnt_words -gt 0; then
|
||||
|
||||
AC_MSG_NOTICE([amending $xc_subdir/Makefile])
|
||||
|
||||
# Build Makefile specific patch hunk.
|
||||
|
||||
xc_p="$xc_subdir/xc_patch.tmp"
|
||||
|
||||
xc_rm_depfiles=`echo "$xc_inc_lines" \
|
||||
| $SED 's%include% -rm -f%' 2>/dev/null`
|
||||
|
||||
xc_dep_subdirs=`echo "$xc_inc_lines" \
|
||||
| $SED 's%include[[ ]][[ ]]*%%' 2>/dev/null \
|
||||
| $SED 's%(DEPDIR)/.*%(DEPDIR)%' 2>/dev/null \
|
||||
| sort | uniq`
|
||||
|
||||
echo "$xc_rm_depfiles" >$xc_p
|
||||
|
||||
for xc_dep_dir in $xc_dep_subdirs; do
|
||||
echo "${xc_tab}@xm_dep_cnt=\`ls $xc_dep_dir | wc -l 2>/dev/null\`; \\" >>$xc_p
|
||||
echo "${xc_tab}if test \$\$xm_dep_cnt -eq 0 && test -d $xc_dep_dir; then \\" >>$xc_p
|
||||
echo "${xc_tab} rm -rf $xc_dep_dir; \\" >>$xc_p
|
||||
echo "${xc_tab}fi" >>$xc_p
|
||||
done
|
||||
|
||||
# Build Makefile patching sed scripts.
|
||||
|
||||
xc_s1="$xc_subdir/xc_script_1.tmp"
|
||||
xc_s2="$xc_subdir/xc_script_2.tmp"
|
||||
xc_s3="$xc_subdir/xc_script_3.tmp"
|
||||
|
||||
cat >$xc_s1 <<\_EOT
|
||||
/^distclean[[ ]]*:/,/^[[^ ]][[^ ]]*:/{
|
||||
s/^.*(DEPDIR)/___xc_depdir_line___/
|
||||
}
|
||||
/^maintainer-clean[[ ]]*:/,/^[[^ ]][[^ ]]*:/{
|
||||
s/^.*(DEPDIR)/___xc_depdir_line___/
|
||||
}
|
||||
_EOT
|
||||
|
||||
cat >$xc_s2 <<\_EOT
|
||||
/___xc_depdir_line___$/{
|
||||
N
|
||||
/___xc_depdir_line___$/D
|
||||
}
|
||||
_EOT
|
||||
|
||||
cat >$xc_s3 <<_EOT
|
||||
/^___xc_depdir_line___/{
|
||||
r $xc_p
|
||||
d
|
||||
}
|
||||
_EOT
|
||||
|
||||
# Apply patch to Makefile and cleanup.
|
||||
|
||||
$SED -f "$xc_s1" "$xc_subdir/Makefile" >"$xc_subdir/Makefile.tmp1"
|
||||
$SED -f "$xc_s2" "$xc_subdir/Makefile.tmp1" >"$xc_subdir/Makefile.tmp2"
|
||||
$SED -f "$xc_s3" "$xc_subdir/Makefile.tmp2" >"$xc_subdir/Makefile.tmp3"
|
||||
|
||||
if test -f "$xc_subdir/Makefile.tmp3"; then
|
||||
mv -f "$xc_subdir/Makefile.tmp3" "$xc_subdir/Makefile"
|
||||
fi
|
||||
|
||||
test -f "$xc_subdir/Makefile.tmp1" && rm -f "$xc_subdir/Makefile.tmp1"
|
||||
test -f "$xc_subdir/Makefile.tmp2" && rm -f "$xc_subdir/Makefile.tmp2"
|
||||
test -f "$xc_subdir/Makefile.tmp3" && rm -f "$xc_subdir/Makefile.tmp3"
|
||||
|
||||
test -f "$xc_p" && rm -f "$xc_p"
|
||||
test -f "$xc_s1" && rm -f "$xc_s1"
|
||||
test -f "$xc_s2" && rm -f "$xc_s2"
|
||||
test -f "$xc_s3" && rm -f "$xc_s3"
|
||||
|
||||
fi
|
||||
|
||||
done
|
||||
|
||||
## -------------------------------- ##
|
||||
## End of distclean amending code ##
|
||||
## -------------------------------- ##
|
||||
dnl
|
||||
m4_define([$0], [])[]dnl
|
||||
])
|
||||
|
||||
|
||||
dnl XC_AMEND_DISTCLEAN ([LIST-OF-SUBDIRS])
|
||||
dnl -------------------------------------------------
|
||||
dnl Public macro.
|
||||
dnl
|
||||
dnl This macro embeds shell code into configure script
|
||||
dnl that amends, at configure runtime, the distclean
|
||||
dnl and maintainer-clean targets of Makefiles located
|
||||
dnl in all subdirs given in the mandatory white-space
|
||||
dnl separated list argument.
|
||||
dnl
|
||||
dnl Embedding only takes place when using automake 1.14
|
||||
dnl or newer, otherwise amending code is not included
|
||||
dnl in generated configure script.
|
||||
dnl
|
||||
dnl distclean and maintainer-clean targets are modified
|
||||
dnl to avoid unconditional removal of dependency subdirs
|
||||
dnl which triggers distclean and maintainer-clean errors
|
||||
dnl when using automake 'subdir-objects' option along
|
||||
dnl with per-target objects and source files existing in
|
||||
dnl multiple subdirs used for different build targets.
|
||||
dnl
|
||||
dnl New behavior first removes each dependency tracking
|
||||
dnl file independently, and only removes each dependency
|
||||
dnl subdir when it finds out that it no longer holds any
|
||||
dnl dependency tracking file.
|
||||
dnl
|
||||
dnl When configure option --disable-dependency-tracking
|
||||
dnl is used no amending takes place given that there are
|
||||
dnl no dependency tracking files.
|
||||
|
||||
AC_DEFUN([XC_AMEND_DISTCLEAN],
|
||||
[dnl
|
||||
AC_PREREQ([2.50])dnl
|
||||
dnl
|
||||
m4_ifdef([_AC_OUTPUT_MAIN_LOOP],
|
||||
[m4_provide_if([_AC_OUTPUT_MAIN_LOOP], [],
|
||||
[m4_fatal([call to AC_OUTPUT needed before $0])])])dnl
|
||||
dnl
|
||||
m4_if([$#], [1], [], [m4_fatal([$0: wrong number of arguments])])dnl
|
||||
m4_if([$1], [], [m4_fatal([$0: missing argument])])dnl
|
||||
dnl
|
||||
AC_REQUIRE([XC_CONFIGURE_PREAMBLE])dnl
|
||||
dnl
|
||||
m4_ifdef([_AM_PROG_CC_C_O],
|
||||
[
|
||||
_XC_AMEND_DISTCLEAN_BODY([$1])
|
||||
])dnl
|
||||
m4_define([$0], [])[]dnl
|
||||
])
|
||||
Vendored
+95
@@ -0,0 +1,95 @@
|
||||
#---------------------------------------------------------------------------
|
||||
#
|
||||
# xc-cc-check.m4
|
||||
#
|
||||
# Copyright (c) 2013 - 2020, Daniel Stenberg <daniel@haxx.se>
|
||||
#
|
||||
# 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_BUILD_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
|
||||
])
|
||||
Vendored
+464
@@ -0,0 +1,464 @@
|
||||
#---------------------------------------------------------------------------
|
||||
#
|
||||
# xc-lt-iface.m4
|
||||
#
|
||||
# Copyright (c) 2013 - 2020, Daniel Stenberg <daniel@haxx.se>
|
||||
#
|
||||
# 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_LIBTOOL_PREAMBLE
|
||||
dnl -------------------------------------------------
|
||||
dnl Private macro.
|
||||
dnl
|
||||
dnl Checks some configure script options related with
|
||||
dnl libtool and customizes its default behavior before
|
||||
dnl libtool code is actually used in script.
|
||||
|
||||
m4_define([_XC_LIBTOOL_PREAMBLE],
|
||||
[dnl
|
||||
# ------------------------------------ #
|
||||
# Determine libtool default behavior #
|
||||
# ------------------------------------ #
|
||||
|
||||
#
|
||||
# Default behavior is to enable shared and static libraries on systems
|
||||
# where libtool knows how to build both library versions, and does not
|
||||
# require separate configuration and build runs for each flavor.
|
||||
#
|
||||
|
||||
xc_lt_want_enable_shared='yes'
|
||||
xc_lt_want_enable_static='yes'
|
||||
|
||||
#
|
||||
# User may have disabled shared or static libraries.
|
||||
#
|
||||
case "x$enable_shared" in @%:@ (
|
||||
xno)
|
||||
xc_lt_want_enable_shared='no'
|
||||
;;
|
||||
esac
|
||||
case "x$enable_static" in @%:@ (
|
||||
xno)
|
||||
xc_lt_want_enable_static='no'
|
||||
;;
|
||||
esac
|
||||
if test "x$xc_lt_want_enable_shared" = 'xno' &&
|
||||
test "x$xc_lt_want_enable_static" = 'xno'; then
|
||||
AC_MSG_ERROR([can not disable shared and static libraries simultaneously])
|
||||
fi
|
||||
|
||||
#
|
||||
# Default behavior on systems that require independent configuration
|
||||
# and build runs for shared and static is to enable shared libraries
|
||||
# and disable static ones. On these systems option '--disable-shared'
|
||||
# must be used in order to build a proper static library.
|
||||
#
|
||||
|
||||
if test "x$xc_lt_want_enable_shared" = 'xyes' &&
|
||||
test "x$xc_lt_want_enable_static" = 'xyes'; then
|
||||
case $host_os in @%:@ (
|
||||
pw32* | cegcc* | os2* | aix*)
|
||||
xc_lt_want_enable_static='no'
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
#
|
||||
# Make libtool aware of current shared and static library preferences
|
||||
# taking in account that, depending on host characteristics, libtool
|
||||
# may modify these option preferences later in this configure script.
|
||||
#
|
||||
|
||||
enable_shared=$xc_lt_want_enable_shared
|
||||
enable_static=$xc_lt_want_enable_static
|
||||
|
||||
#
|
||||
# Default behavior is to build PIC objects for shared libraries and
|
||||
# non-PIC objects for static libraries.
|
||||
#
|
||||
|
||||
xc_lt_want_with_pic='default'
|
||||
|
||||
#
|
||||
# User may have specified PIC preference.
|
||||
#
|
||||
|
||||
case "x$with_pic" in @%:@ ((
|
||||
xno)
|
||||
xc_lt_want_with_pic='no'
|
||||
;;
|
||||
xyes)
|
||||
xc_lt_want_with_pic='yes'
|
||||
;;
|
||||
esac
|
||||
|
||||
#
|
||||
# Default behavior on some systems where building a shared library out
|
||||
# of non-PIC compiled objects will fail with following linker error
|
||||
# "relocation R_X86_64_32 can not be used when making a shared object"
|
||||
# is to build PIC objects even for static libraries. This behavior may
|
||||
# be overridden using 'configure --disable-shared --without-pic'.
|
||||
#
|
||||
|
||||
if test "x$xc_lt_want_with_pic" = 'xdefault'; then
|
||||
case $host_cpu in @%:@ (
|
||||
x86_64 | amd64 | ia64)
|
||||
case $host_os in @%:@ (
|
||||
linux* | freebsd*)
|
||||
xc_lt_want_with_pic='yes'
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
#
|
||||
# Make libtool aware of current PIC preference taking in account that,
|
||||
# depending on host characteristics, libtool may modify PIC default
|
||||
# behavior to fit host system idiosyncrasies later in this script.
|
||||
#
|
||||
|
||||
with_pic=$xc_lt_want_with_pic
|
||||
dnl
|
||||
m4_define([$0],[])dnl
|
||||
])
|
||||
|
||||
|
||||
dnl _XC_LIBTOOL_BODY
|
||||
dnl -------------------------------------------------
|
||||
dnl Private macro.
|
||||
dnl
|
||||
dnl This macro performs embedding of libtool code into
|
||||
dnl configure script, regardless of libtool version in
|
||||
dnl use when generating configure script.
|
||||
|
||||
m4_define([_XC_LIBTOOL_BODY],
|
||||
[dnl
|
||||
## ----------------------- ##
|
||||
## Start of libtool code ##
|
||||
## ----------------------- ##
|
||||
m4_ifdef([LT_INIT],
|
||||
[dnl
|
||||
LT_INIT([win32-dll])
|
||||
],[dnl
|
||||
AC_LIBTOOL_WIN32_DLL
|
||||
AC_PROG_LIBTOOL
|
||||
])dnl
|
||||
## --------------------- ##
|
||||
## End of libtool code ##
|
||||
## --------------------- ##
|
||||
dnl
|
||||
m4_define([$0], [])[]dnl
|
||||
])
|
||||
|
||||
|
||||
dnl _XC_CHECK_LT_BUILD_LIBRARIES
|
||||
dnl -------------------------------------------------
|
||||
dnl Private macro.
|
||||
dnl
|
||||
dnl Checks whether libtool shared and static libraries
|
||||
dnl are finally built depending on user input, default
|
||||
dnl behavior and knowledge that libtool has about host
|
||||
dnl characteristics.
|
||||
dnl Results stored in following shell variables:
|
||||
dnl xc_lt_build_shared
|
||||
dnl xc_lt_build_static
|
||||
|
||||
m4_define([_XC_CHECK_LT_BUILD_LIBRARIES],
|
||||
[dnl
|
||||
#
|
||||
# Verify if finally libtool shared libraries will be built
|
||||
#
|
||||
|
||||
case "x$enable_shared" in @%:@ ((
|
||||
xyes | xno)
|
||||
xc_lt_build_shared=$enable_shared
|
||||
;;
|
||||
*)
|
||||
AC_MSG_ERROR([unexpected libtool enable_shared value: $enable_shared])
|
||||
;;
|
||||
esac
|
||||
|
||||
#
|
||||
# Verify if finally libtool static libraries will be built
|
||||
#
|
||||
|
||||
case "x$enable_static" in @%:@ ((
|
||||
xyes | xno)
|
||||
xc_lt_build_static=$enable_static
|
||||
;;
|
||||
*)
|
||||
AC_MSG_ERROR([unexpected libtool enable_static value: $enable_static])
|
||||
;;
|
||||
esac
|
||||
dnl
|
||||
m4_define([$0],[])dnl
|
||||
])
|
||||
|
||||
|
||||
dnl _XC_CHECK_LT_SHLIB_USE_VERSION_INFO
|
||||
dnl -------------------------------------------------
|
||||
dnl Private macro.
|
||||
dnl
|
||||
dnl Checks if the -version-info linker flag must be
|
||||
dnl provided when building libtool shared libraries.
|
||||
dnl Result stored in xc_lt_shlib_use_version_info.
|
||||
|
||||
m4_define([_XC_CHECK_LT_SHLIB_USE_VERSION_INFO],
|
||||
[dnl
|
||||
#
|
||||
# Verify if libtool shared libraries should be linked using flag -version-info
|
||||
#
|
||||
|
||||
AC_MSG_CHECKING([whether to build shared libraries with -version-info])
|
||||
xc_lt_shlib_use_version_info='yes'
|
||||
if test "x$version_type" = 'xnone'; then
|
||||
xc_lt_shlib_use_version_info='no'
|
||||
fi
|
||||
case $host_os in @%:@ (
|
||||
amigaos*)
|
||||
xc_lt_shlib_use_version_info='yes'
|
||||
;;
|
||||
esac
|
||||
AC_MSG_RESULT([$xc_lt_shlib_use_version_info])
|
||||
dnl
|
||||
m4_define([$0], [])[]dnl
|
||||
])
|
||||
|
||||
|
||||
dnl _XC_CHECK_LT_SHLIB_USE_NO_UNDEFINED
|
||||
dnl -------------------------------------------------
|
||||
dnl Private macro.
|
||||
dnl
|
||||
dnl Checks if the -no-undefined linker flag must be
|
||||
dnl provided when building libtool shared libraries.
|
||||
dnl Result stored in xc_lt_shlib_use_no_undefined.
|
||||
|
||||
m4_define([_XC_CHECK_LT_SHLIB_USE_NO_UNDEFINED],
|
||||
[dnl
|
||||
#
|
||||
# Verify if libtool shared libraries should be linked using flag -no-undefined
|
||||
#
|
||||
|
||||
AC_MSG_CHECKING([whether to build shared libraries with -no-undefined])
|
||||
xc_lt_shlib_use_no_undefined='no'
|
||||
if test "x$allow_undefined" = 'xno'; then
|
||||
xc_lt_shlib_use_no_undefined='yes'
|
||||
elif test "x$allow_undefined_flag" = 'xunsupported'; then
|
||||
xc_lt_shlib_use_no_undefined='yes'
|
||||
fi
|
||||
case $host_os in @%:@ (
|
||||
cygwin* | mingw* | pw32* | cegcc* | os2* | aix*)
|
||||
xc_lt_shlib_use_no_undefined='yes'
|
||||
;;
|
||||
esac
|
||||
AC_MSG_RESULT([$xc_lt_shlib_use_no_undefined])
|
||||
dnl
|
||||
m4_define([$0], [])[]dnl
|
||||
])
|
||||
|
||||
|
||||
dnl _XC_CHECK_LT_SHLIB_USE_MIMPURE_TEXT
|
||||
dnl -------------------------------------------------
|
||||
dnl Private macro.
|
||||
dnl
|
||||
dnl Checks if the -mimpure-text linker flag must be
|
||||
dnl provided when building libtool shared libraries.
|
||||
dnl Result stored in xc_lt_shlib_use_mimpure_text.
|
||||
|
||||
m4_define([_XC_CHECK_LT_SHLIB_USE_MIMPURE_TEXT],
|
||||
[dnl
|
||||
#
|
||||
# Verify if libtool shared libraries should be linked using flag -mimpure-text
|
||||
#
|
||||
|
||||
AC_MSG_CHECKING([whether to build shared libraries with -mimpure-text])
|
||||
xc_lt_shlib_use_mimpure_text='no'
|
||||
case $host_os in @%:@ (
|
||||
solaris2*)
|
||||
if test "x$GCC" = 'xyes'; then
|
||||
xc_lt_shlib_use_mimpure_text='yes'
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
AC_MSG_RESULT([$xc_lt_shlib_use_mimpure_text])
|
||||
dnl
|
||||
m4_define([$0], [])[]dnl
|
||||
])
|
||||
|
||||
|
||||
dnl _XC_CHECK_LT_BUILD_WITH_PIC
|
||||
dnl -------------------------------------------------
|
||||
dnl Private macro.
|
||||
dnl
|
||||
dnl Checks whether libtool shared and static libraries
|
||||
dnl would be built with PIC depending on user input,
|
||||
dnl default behavior and knowledge that libtool has
|
||||
dnl about host characteristics.
|
||||
dnl Results stored in following shell variables:
|
||||
dnl xc_lt_build_shared_with_pic
|
||||
dnl xc_lt_build_static_with_pic
|
||||
|
||||
m4_define([_XC_CHECK_LT_BUILD_WITH_PIC],
|
||||
[dnl
|
||||
#
|
||||
# Find out whether libtool libraries would be built wit PIC
|
||||
#
|
||||
|
||||
case "x$pic_mode" in @%:@ ((((
|
||||
xdefault)
|
||||
xc_lt_build_shared_with_pic='yes'
|
||||
xc_lt_build_static_with_pic='no'
|
||||
;;
|
||||
xyes)
|
||||
xc_lt_build_shared_with_pic='yes'
|
||||
xc_lt_build_static_with_pic='yes'
|
||||
;;
|
||||
xno)
|
||||
xc_lt_build_shared_with_pic='no'
|
||||
xc_lt_build_static_with_pic='no'
|
||||
;;
|
||||
*)
|
||||
xc_lt_build_shared_with_pic='unknown'
|
||||
xc_lt_build_static_with_pic='unknown'
|
||||
AC_MSG_WARN([unexpected libtool pic_mode value: $pic_mode])
|
||||
;;
|
||||
esac
|
||||
AC_MSG_CHECKING([whether to build shared libraries with PIC])
|
||||
AC_MSG_RESULT([$xc_lt_build_shared_with_pic])
|
||||
AC_MSG_CHECKING([whether to build static libraries with PIC])
|
||||
AC_MSG_RESULT([$xc_lt_build_static_with_pic])
|
||||
dnl
|
||||
m4_define([$0],[])dnl
|
||||
])
|
||||
|
||||
|
||||
dnl _XC_CHECK_LT_BUILD_SINGLE_VERSION
|
||||
dnl -------------------------------------------------
|
||||
dnl Private macro.
|
||||
dnl
|
||||
dnl Checks whether a libtool shared or static library
|
||||
dnl is finally built exclusively without the other.
|
||||
dnl Results stored in following shell variables:
|
||||
dnl xc_lt_build_shared_only
|
||||
dnl xc_lt_build_static_only
|
||||
|
||||
m4_define([_XC_CHECK_LT_BUILD_SINGLE_VERSION],
|
||||
[dnl
|
||||
#
|
||||
# Verify if libtool shared libraries will be built while static not built
|
||||
#
|
||||
|
||||
AC_MSG_CHECKING([whether to build shared libraries only])
|
||||
if test "$xc_lt_build_shared" = 'yes' &&
|
||||
test "$xc_lt_build_static" = 'no'; then
|
||||
xc_lt_build_shared_only='yes'
|
||||
else
|
||||
xc_lt_build_shared_only='no'
|
||||
fi
|
||||
AC_MSG_RESULT([$xc_lt_build_shared_only])
|
||||
|
||||
#
|
||||
# Verify if libtool static libraries will be built while shared not built
|
||||
#
|
||||
|
||||
AC_MSG_CHECKING([whether to build static libraries only])
|
||||
if test "$xc_lt_build_static" = 'yes' &&
|
||||
test "$xc_lt_build_shared" = 'no'; then
|
||||
xc_lt_build_static_only='yes'
|
||||
else
|
||||
xc_lt_build_static_only='no'
|
||||
fi
|
||||
AC_MSG_RESULT([$xc_lt_build_static_only])
|
||||
dnl
|
||||
m4_define([$0],[])dnl
|
||||
])
|
||||
|
||||
|
||||
dnl _XC_LIBTOOL_POSTLUDE
|
||||
dnl -------------------------------------------------
|
||||
dnl Private macro.
|
||||
dnl
|
||||
dnl Performs several checks related with libtool that
|
||||
dnl can not be done unless libtool code has already
|
||||
dnl been executed. See individual check descriptions
|
||||
dnl for further info.
|
||||
|
||||
m4_define([_XC_LIBTOOL_POSTLUDE],
|
||||
[dnl
|
||||
_XC_CHECK_LT_BUILD_LIBRARIES
|
||||
_XC_CHECK_LT_SHLIB_USE_VERSION_INFO
|
||||
_XC_CHECK_LT_SHLIB_USE_NO_UNDEFINED
|
||||
_XC_CHECK_LT_SHLIB_USE_MIMPURE_TEXT
|
||||
_XC_CHECK_LT_BUILD_WITH_PIC
|
||||
_XC_CHECK_LT_BUILD_SINGLE_VERSION
|
||||
dnl
|
||||
m4_define([$0],[])dnl
|
||||
])
|
||||
|
||||
|
||||
dnl XC_LIBTOOL
|
||||
dnl -------------------------------------------------
|
||||
dnl Public macro.
|
||||
dnl
|
||||
dnl This macro embeds libtool machinery into configure
|
||||
dnl script, regardless of libtool version, and performs
|
||||
dnl several additional checks whose results can be used
|
||||
dnl later on.
|
||||
dnl
|
||||
dnl Usage of this macro ensures that generated configure
|
||||
dnl script uses equivalent logic irrespective of autoconf
|
||||
dnl or libtool version being used to generate configure
|
||||
dnl script.
|
||||
dnl
|
||||
dnl Results stored in following shell variables:
|
||||
dnl xc_lt_build_shared
|
||||
dnl xc_lt_build_static
|
||||
dnl xc_lt_shlib_use_version_info
|
||||
dnl xc_lt_shlib_use_no_undefined
|
||||
dnl xc_lt_shlib_use_mimpure_text
|
||||
dnl xc_lt_build_shared_with_pic
|
||||
dnl xc_lt_build_static_with_pic
|
||||
dnl xc_lt_build_shared_only
|
||||
dnl xc_lt_build_static_only
|
||||
|
||||
AC_DEFUN([XC_LIBTOOL],
|
||||
[dnl
|
||||
AC_PREREQ([2.50])dnl
|
||||
dnl
|
||||
AC_BEFORE([$0],[LT_INIT])dnl
|
||||
AC_BEFORE([$0],[AC_PROG_LIBTOOL])dnl
|
||||
AC_BEFORE([$0],[AC_LIBTOOL_WIN32_DLL])dnl
|
||||
dnl
|
||||
AC_REQUIRE([XC_CHECK_PATH_SEPARATOR])dnl
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
||||
AC_REQUIRE([AC_PROG_CC])dnl
|
||||
dnl
|
||||
_XC_LIBTOOL_PREAMBLE
|
||||
_XC_LIBTOOL_BODY
|
||||
_XC_LIBTOOL_POSTLUDE
|
||||
dnl
|
||||
m4_ifdef([AC_LIBTOOL_WIN32_DLL],
|
||||
[m4_undefine([AC_LIBTOOL_WIN32_DLL])])dnl
|
||||
m4_ifdef([AC_PROG_LIBTOOL],
|
||||
[m4_undefine([AC_PROG_LIBTOOL])])dnl
|
||||
m4_ifdef([LT_INIT],
|
||||
[m4_undefine([LT_INIT])])dnl
|
||||
dnl
|
||||
m4_define([$0],[])dnl
|
||||
])
|
||||
Vendored
+163
@@ -0,0 +1,163 @@
|
||||
#---------------------------------------------------------------------------
|
||||
#
|
||||
# xc-translit.m4
|
||||
#
|
||||
# Copyright (c) 2011 - 2020, Daniel Stenberg <daniel@haxx.se>
|
||||
#
|
||||
# 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]))])
|
||||
Vendored
+242
@@ -0,0 +1,242 @@
|
||||
#---------------------------------------------------------------------------
|
||||
#
|
||||
# xc-val-flgs.m4
|
||||
#
|
||||
# Copyright (c) 2013 - 2020, Daniel Stenberg <daniel@haxx.se>
|
||||
#
|
||||
# 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 note: LIBS should 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 note: LDFLAGS should 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 note: CPPFLAGS should 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 note: CFLAGS should 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
|
||||
])
|
||||
Vendored
+665
@@ -0,0 +1,665 @@
|
||||
#---------------------------------------------------------------------------
|
||||
#
|
||||
# zz40-xc-ovr.m4
|
||||
#
|
||||
# Copyright (c) 2013 - 2018 Daniel Stenberg <daniel@haxx.se>
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
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
|
||||
# User should provide the correct 'PATH_SEPARATOR' definition.
|
||||
# Until then, guess that it is colon!
|
||||
echo "$xc_msg_warn path separator not determined, guessing colon" >&2
|
||||
PATH_SEPARATOR=':'
|
||||
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
|
||||
])
|
||||
Vendored
+59
@@ -0,0 +1,59 @@
|
||||
#---------------------------------------------------------------------------
|
||||
#
|
||||
# zz50-xc-ovr.m4
|
||||
#
|
||||
# Copyright (c) 2011 - 2020, Daniel Stenberg <daniel@haxx.se>
|
||||
#
|
||||
# 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 unnecessary 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])])
|
||||
Vendored
+63
@@ -0,0 +1,63 @@
|
||||
#---------------------------------------------------------------------------
|
||||
#
|
||||
# zz60-xc-ovr.m4
|
||||
#
|
||||
# Copyright (c) 2013 - 2020, Daniel Stenberg <daniel@haxx.se>
|
||||
#
|
||||
# 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