mirror of
https://github.com/Aigor44/ncursesw-morphos.git
synced 2024-12-21 07:39:06 +08:00
bdb754b9f0
+ correct 20100515 change for weak signals versus sigprocmask (report by Rich Coe). + modify misc/Makefile.in to work around OpenBSD "make" which unlike all other versions of "make" does not recognize continuation lines of comments. + amend the last change to CF_C_ENV_FLAGS to move only the preprocessor, optimization and warning flags to CPPFLAGS and CFLAGS, leaving the residue in CC. That happens to work for gcc's various "model" options, but may require tuning for other compilers (report by Sven Joachim).
3978 lines
119 KiB
Plaintext
3978 lines
119 KiB
Plaintext
dnl***************************************************************************
|
|
dnl Copyright (c) 2010-2015,2016 Free Software Foundation, Inc. *
|
|
dnl *
|
|
dnl Permission is hereby granted, free of charge, to any person obtaining a *
|
|
dnl copy of this software and associated documentation files (the *
|
|
dnl "Software"), to deal in the Software without restriction, including *
|
|
dnl without limitation the rights to use, copy, modify, merge, publish, *
|
|
dnl distribute, distribute with modifications, sublicense, and/or sell *
|
|
dnl copies of the Software, and to permit persons to whom the Software is *
|
|
dnl furnished to do so, subject to the following conditions: *
|
|
dnl *
|
|
dnl The above copyright notice and this permission notice shall be included *
|
|
dnl in all copies or substantial portions of the Software. *
|
|
dnl *
|
|
dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
|
|
dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
|
|
dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
|
|
dnl IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
|
|
dnl DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
|
|
dnl OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
|
|
dnl THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
|
|
dnl *
|
|
dnl Except as contained in this notice, the name(s) of the above copyright *
|
|
dnl holders shall not be used in advertising or otherwise to promote the *
|
|
dnl sale, use or other dealings in this Software without prior written *
|
|
dnl authorization. *
|
|
dnl***************************************************************************
|
|
dnl
|
|
dnl Author: Thomas E. Dickey
|
|
dnl
|
|
dnl $Id: aclocal.m4,v 1.116 2016/09/04 00:11:44 tom Exp $
|
|
dnl Macros used in NCURSES Ada95 auto-configuration script.
|
|
dnl
|
|
dnl These macros are maintained separately from NCURSES. The copyright on
|
|
dnl this file applies to the aggregation of macros and does not affect use of
|
|
dnl these macros in other applications.
|
|
dnl
|
|
dnl See http://invisible-island.net/autoconf/ for additional information.
|
|
dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_ACVERSION_CHECK version: 5 updated: 2014/06/04 19:11:49
|
|
dnl ------------------
|
|
dnl Conditionally generate script according to whether we're using a given autoconf.
|
|
dnl
|
|
dnl $1 = version to compare against
|
|
dnl $2 = code to use if AC_ACVERSION is at least as high as $1.
|
|
dnl $3 = code to use if AC_ACVERSION is older than $1.
|
|
define([CF_ACVERSION_CHECK],
|
|
[
|
|
ifdef([AC_ACVERSION], ,[ifdef([AC_AUTOCONF_VERSION],[m4_copy([AC_AUTOCONF_VERSION],[AC_ACVERSION])],[m4_copy([m4_PACKAGE_VERSION],[AC_ACVERSION])])])dnl
|
|
ifdef([m4_version_compare],
|
|
[m4_if(m4_version_compare(m4_defn([AC_ACVERSION]), [$1]), -1, [$3], [$2])],
|
|
[CF_ACVERSION_COMPARE(
|
|
AC_PREREQ_CANON(AC_PREREQ_SPLIT([$1])),
|
|
AC_PREREQ_CANON(AC_PREREQ_SPLIT(AC_ACVERSION)), AC_ACVERSION, [$2], [$3])])])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_ACVERSION_COMPARE version: 3 updated: 2012/10/03 18:39:53
|
|
dnl --------------------
|
|
dnl CF_ACVERSION_COMPARE(MAJOR1, MINOR1, TERNARY1,
|
|
dnl MAJOR2, MINOR2, TERNARY2,
|
|
dnl PRINTABLE2, not FOUND, FOUND)
|
|
define([CF_ACVERSION_COMPARE],
|
|
[ifelse(builtin([eval], [$2 < $5]), 1,
|
|
[ifelse([$8], , ,[$8])],
|
|
[ifelse([$9], , ,[$9])])])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_ADA_INCLUDE_DIRS version: 8 updated: 2013/10/14 04:24:07
|
|
dnl -------------------
|
|
dnl Construct the list of include-options for the C programs in the Ada95
|
|
dnl binding.
|
|
AC_DEFUN([CF_ADA_INCLUDE_DIRS],
|
|
[
|
|
ACPPFLAGS="-I. -I../include -I../../include $ACPPFLAGS"
|
|
if test "$srcdir" != "."; then
|
|
ACPPFLAGS="-I\${srcdir}/../../include $ACPPFLAGS"
|
|
fi
|
|
if test "$GCC" != yes; then
|
|
ACPPFLAGS="$ACPPFLAGS -I\${includedir}"
|
|
elif test "$includedir" != "/usr/include"; then
|
|
if test "$includedir" = '${prefix}/include' ; then
|
|
if test x$prefix != x/usr ; then
|
|
ACPPFLAGS="$ACPPFLAGS -I\${includedir}"
|
|
fi
|
|
else
|
|
ACPPFLAGS="$ACPPFLAGS -I\${includedir}"
|
|
fi
|
|
fi
|
|
AC_SUBST(ACPPFLAGS)
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_ADD_ADAFLAGS version: 1 updated: 2010/06/19 15:22:18
|
|
dnl ---------------
|
|
dnl Add to $ADAFLAGS, which is substituted into makefile and scripts.
|
|
AC_DEFUN([CF_ADD_ADAFLAGS],[
|
|
ADAFLAGS="$ADAFLAGS $1"
|
|
AC_SUBST(ADAFLAGS)
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_ADD_CFLAGS version: 12 updated: 2015/04/12 15:39:00
|
|
dnl -------------
|
|
dnl Copy non-preprocessor flags to $CFLAGS, preprocessor flags to $CPPFLAGS
|
|
dnl The second parameter if given makes this macro verbose.
|
|
dnl
|
|
dnl Put any preprocessor definitions that use quoted strings in $EXTRA_CPPFLAGS,
|
|
dnl to simplify use of $CPPFLAGS in compiler checks, etc., that are easily
|
|
dnl confused by the quotes (which require backslashes to keep them usable).
|
|
AC_DEFUN([CF_ADD_CFLAGS],
|
|
[
|
|
cf_fix_cppflags=no
|
|
cf_new_cflags=
|
|
cf_new_cppflags=
|
|
cf_new_extra_cppflags=
|
|
|
|
for cf_add_cflags in $1
|
|
do
|
|
case $cf_fix_cppflags in
|
|
(no)
|
|
case $cf_add_cflags in
|
|
(-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C)
|
|
case $cf_add_cflags in
|
|
(-D*)
|
|
cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[[^=]]*='\''\"[[^"]]*//'`
|
|
|
|
test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
|
|
&& test -z "${cf_tst_cflags}" \
|
|
&& cf_fix_cppflags=yes
|
|
|
|
if test $cf_fix_cppflags = yes ; then
|
|
cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
|
|
continue
|
|
elif test "${cf_tst_cflags}" = "\"'" ; then
|
|
cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
|
|
continue
|
|
fi
|
|
;;
|
|
esac
|
|
case "$CPPFLAGS" in
|
|
(*$cf_add_cflags)
|
|
;;
|
|
(*)
|
|
case $cf_add_cflags in
|
|
(-D*)
|
|
cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
|
|
CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,$cf_tst_cppflags)
|
|
;;
|
|
esac
|
|
cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
|
|
;;
|
|
esac
|
|
;;
|
|
(*)
|
|
cf_new_cflags="$cf_new_cflags $cf_add_cflags"
|
|
;;
|
|
esac
|
|
;;
|
|
(yes)
|
|
cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
|
|
|
|
cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[[^"]]*"'\''//'`
|
|
|
|
test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
|
|
&& test -z "${cf_tst_cflags}" \
|
|
&& cf_fix_cppflags=no
|
|
;;
|
|
esac
|
|
done
|
|
|
|
if test -n "$cf_new_cflags" ; then
|
|
ifelse([$2],,,[CF_VERBOSE(add to \$CFLAGS $cf_new_cflags)])
|
|
CFLAGS="$CFLAGS $cf_new_cflags"
|
|
fi
|
|
|
|
if test -n "$cf_new_cppflags" ; then
|
|
ifelse([$2],,,[CF_VERBOSE(add to \$CPPFLAGS $cf_new_cppflags)])
|
|
CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
|
|
fi
|
|
|
|
if test -n "$cf_new_extra_cppflags" ; then
|
|
ifelse([$2],,,[CF_VERBOSE(add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags)])
|
|
EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
|
|
fi
|
|
|
|
AC_SUBST(EXTRA_CPPFLAGS)
|
|
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_ADD_INCDIR version: 14 updated: 2015/05/25 20:53:04
|
|
dnl -------------
|
|
dnl Add an include-directory to $CPPFLAGS. Don't add /usr/include, since it's
|
|
dnl redundant. We don't normally need to add -I/usr/local/include for gcc,
|
|
dnl but old versions (and some misinstalled ones) need that. To make things
|
|
dnl worse, gcc 3.x may give error messages if -I/usr/local/include is added to
|
|
dnl the include-path).
|
|
AC_DEFUN([CF_ADD_INCDIR],
|
|
[
|
|
if test -n "$1" ; then
|
|
for cf_add_incdir in $1
|
|
do
|
|
while test $cf_add_incdir != /usr/include
|
|
do
|
|
if test -d $cf_add_incdir
|
|
then
|
|
cf_have_incdir=no
|
|
if test -n "$CFLAGS$CPPFLAGS" ; then
|
|
# a loop is needed to ensure we can add subdirs of existing dirs
|
|
for cf_test_incdir in $CFLAGS $CPPFLAGS ; do
|
|
if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then
|
|
cf_have_incdir=yes; break
|
|
fi
|
|
done
|
|
fi
|
|
|
|
if test "$cf_have_incdir" = no ; then
|
|
if test "$cf_add_incdir" = /usr/local/include ; then
|
|
if test "$GCC" = yes
|
|
then
|
|
cf_save_CPPFLAGS=$CPPFLAGS
|
|
CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
|
|
AC_TRY_COMPILE([#include <stdio.h>],
|
|
[printf("Hello")],
|
|
[],
|
|
[cf_have_incdir=yes])
|
|
CPPFLAGS=$cf_save_CPPFLAGS
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
if test "$cf_have_incdir" = no ; then
|
|
CF_VERBOSE(adding $cf_add_incdir to include-path)
|
|
ifelse([$2],,CPPFLAGS,[$2])="$ifelse([$2],,CPPFLAGS,[$2]) -I$cf_add_incdir"
|
|
|
|
cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
|
|
test "$cf_top_incdir" = "$cf_add_incdir" && break
|
|
cf_add_incdir="$cf_top_incdir"
|
|
else
|
|
break
|
|
fi
|
|
else
|
|
break
|
|
fi
|
|
done
|
|
done
|
|
fi
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_ADD_LIB version: 2 updated: 2010/06/02 05:03:05
|
|
dnl ----------
|
|
dnl Add a library, used to enforce consistency.
|
|
dnl
|
|
dnl $1 = library to add, without the "-l"
|
|
dnl $2 = variable to update (default $LIBS)
|
|
AC_DEFUN([CF_ADD_LIB],[CF_ADD_LIBS(-l$1,ifelse($2,,LIBS,[$2]))])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_ADD_LIBDIR version: 10 updated: 2015/04/18 08:56:57
|
|
dnl -------------
|
|
dnl Adds to the library-path
|
|
dnl
|
|
dnl Some machines have trouble with multiple -L options.
|
|
dnl
|
|
dnl $1 is the (list of) directory(s) to add
|
|
dnl $2 is the optional name of the variable to update (default LDFLAGS)
|
|
dnl
|
|
AC_DEFUN([CF_ADD_LIBDIR],
|
|
[
|
|
if test -n "$1" ; then
|
|
for cf_add_libdir in $1
|
|
do
|
|
if test $cf_add_libdir = /usr/lib ; then
|
|
:
|
|
elif test -d $cf_add_libdir
|
|
then
|
|
cf_have_libdir=no
|
|
if test -n "$LDFLAGS$LIBS" ; then
|
|
# a loop is needed to ensure we can add subdirs of existing dirs
|
|
for cf_test_libdir in $LDFLAGS $LIBS ; do
|
|
if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then
|
|
cf_have_libdir=yes; break
|
|
fi
|
|
done
|
|
fi
|
|
if test "$cf_have_libdir" = no ; then
|
|
CF_VERBOSE(adding $cf_add_libdir to library-path)
|
|
ifelse([$2],,LDFLAGS,[$2])="-L$cf_add_libdir $ifelse([$2],,LDFLAGS,[$2])"
|
|
fi
|
|
fi
|
|
done
|
|
fi
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_ADD_LIBS version: 2 updated: 2014/07/13 14:33:27
|
|
dnl -----------
|
|
dnl Add one or more libraries, used to enforce consistency. Libraries are
|
|
dnl prepended to an existing list, since their dependencies are assumed to
|
|
dnl already exist in the list.
|
|
dnl
|
|
dnl $1 = libraries to add, with the "-l", etc.
|
|
dnl $2 = variable to update (default $LIBS)
|
|
AC_DEFUN([CF_ADD_LIBS],[
|
|
cf_add_libs="$1"
|
|
# Filter out duplicates - this happens with badly-designed ".pc" files...
|
|
for cf_add_1lib in [$]ifelse($2,,LIBS,[$2])
|
|
do
|
|
for cf_add_2lib in $cf_add_libs
|
|
do
|
|
if test "x$cf_add_1lib" = "x$cf_add_2lib"
|
|
then
|
|
cf_add_1lib=
|
|
break
|
|
fi
|
|
done
|
|
test -n "$cf_add_1lib" && cf_add_libs="$cf_add_libs $cf_add_1lib"
|
|
done
|
|
ifelse($2,,LIBS,[$2])="$cf_add_libs"
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_ADD_SUBDIR_PATH version: 4 updated: 2013/10/08 17:47:05
|
|
dnl ------------------
|
|
dnl Append to a search-list for a nonstandard header/lib-file
|
|
dnl $1 = the variable to return as result
|
|
dnl $2 = the package name
|
|
dnl $3 = the subdirectory, e.g., bin, include or lib
|
|
dnl $4 = the directory under which we will test for subdirectories
|
|
dnl $5 = a directory that we do not want $4 to match
|
|
AC_DEFUN([CF_ADD_SUBDIR_PATH],
|
|
[
|
|
test "x$4" != "x$5" && \
|
|
test -d "$4" && \
|
|
ifelse([$5],NONE,,[(test -z "$5" || test x$5 = xNONE || test "x$4" != "x$5") &&]) {
|
|
test -n "$verbose" && echo " ... testing for $3-directories under $4"
|
|
test -d $4/$3 && $1="[$]$1 $4/$3"
|
|
test -d $4/$3/$2 && $1="[$]$1 $4/$3/$2"
|
|
test -d $4/$3/$2/$3 && $1="[$]$1 $4/$3/$2/$3"
|
|
test -d $4/$2/$3 && $1="[$]$1 $4/$2/$3"
|
|
test -d $4/$2/$3/$2 && $1="[$]$1 $4/$2/$3/$2"
|
|
}
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_ARG_DISABLE version: 3 updated: 1999/03/30 17:24:31
|
|
dnl --------------
|
|
dnl Allow user to disable a normally-on option.
|
|
AC_DEFUN([CF_ARG_DISABLE],
|
|
[CF_ARG_OPTION($1,[$2],[$3],[$4],yes)])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_ARG_OPTION version: 5 updated: 2015/05/10 19:52:14
|
|
dnl -------------
|
|
dnl Restricted form of AC_ARG_ENABLE that ensures user doesn't give bogus
|
|
dnl values.
|
|
dnl
|
|
dnl Parameters:
|
|
dnl $1 = option name
|
|
dnl $2 = help-string
|
|
dnl $3 = action to perform if option is not default
|
|
dnl $4 = action if perform if option is default
|
|
dnl $5 = default option value (either 'yes' or 'no')
|
|
AC_DEFUN([CF_ARG_OPTION],
|
|
[AC_ARG_ENABLE([$1],[$2],[test "$enableval" != ifelse([$5],no,yes,no) && enableval=ifelse([$5],no,no,yes)
|
|
if test "$enableval" != "$5" ; then
|
|
ifelse([$3],,[ :]dnl
|
|
,[ $3]) ifelse([$4],,,[
|
|
else
|
|
$4])
|
|
fi],[enableval=$5 ifelse([$4],,,[
|
|
$4
|
|
])dnl
|
|
])])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_AR_FLAGS version: 6 updated: 2015/10/10 15:25:05
|
|
dnl -----------
|
|
dnl Check for suitable "ar" (archiver) options for updating an archive.
|
|
dnl
|
|
dnl In particular, handle some obsolete cases where the "-" might be omitted,
|
|
dnl as well as a workaround for breakage of make's archive rules by the GNU
|
|
dnl binutils "ar" program.
|
|
AC_DEFUN([CF_AR_FLAGS],[
|
|
AC_REQUIRE([CF_PROG_AR])
|
|
|
|
AC_CACHE_CHECK(for options to update archives, cf_cv_ar_flags,[
|
|
cf_cv_ar_flags=unknown
|
|
for cf_ar_flags in -curvU -curv curv -crv crv -cqv cqv -rv rv
|
|
do
|
|
|
|
# check if $ARFLAGS already contains this choice
|
|
if test "x$ARFLAGS" != "x" ; then
|
|
cf_check_ar_flags=`echo "x$ARFLAGS" | sed -e "s/$cf_ar_flags\$//" -e "s/$cf_ar_flags / /"`
|
|
if test "x$ARFLAGS" != "$cf_check_ar_flags" ; then
|
|
cf_cv_ar_flags=
|
|
break
|
|
fi
|
|
fi
|
|
|
|
rm -f conftest.$ac_cv_objext
|
|
rm -f conftest.a
|
|
|
|
cat >conftest.$ac_ext <<EOF
|
|
#line __oline__ "configure"
|
|
int testdata[[3]] = { 123, 456, 789 };
|
|
EOF
|
|
if AC_TRY_EVAL(ac_compile) ; then
|
|
echo "$AR $ARFLAGS $cf_ar_flags conftest.a conftest.$ac_cv_objext" >&AC_FD_CC
|
|
$AR $ARFLAGS $cf_ar_flags conftest.a conftest.$ac_cv_objext 2>&AC_FD_CC 1>/dev/null
|
|
if test -f conftest.a ; then
|
|
cf_cv_ar_flags=$cf_ar_flags
|
|
break
|
|
fi
|
|
else
|
|
CF_VERBOSE(cannot compile test-program)
|
|
break
|
|
fi
|
|
done
|
|
rm -f conftest.a conftest.$ac_ext conftest.$ac_cv_objext
|
|
])
|
|
|
|
if test -n "$ARFLAGS" ; then
|
|
if test -n "$cf_cv_ar_flags" ; then
|
|
ARFLAGS="$ARFLAGS $cf_cv_ar_flags"
|
|
fi
|
|
else
|
|
ARFLAGS=$cf_cv_ar_flags
|
|
fi
|
|
|
|
AC_SUBST(ARFLAGS)
|
|
])
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_BUILD_CC version: 7 updated: 2012/10/06 15:31:55
|
|
dnl -----------
|
|
dnl If we're cross-compiling, allow the user to override the tools and their
|
|
dnl options. The configure script is oriented toward identifying the host
|
|
dnl compiler, etc., but we need a build compiler to generate parts of the
|
|
dnl source.
|
|
dnl
|
|
dnl $1 = default for $CPPFLAGS
|
|
dnl $2 = default for $LIBS
|
|
AC_DEFUN([CF_BUILD_CC],[
|
|
CF_ACVERSION_CHECK(2.52,,
|
|
[AC_REQUIRE([CF_PROG_EXT])])
|
|
if test "$cross_compiling" = yes ; then
|
|
|
|
# defaults that we might want to override
|
|
: ${BUILD_CFLAGS:=''}
|
|
: ${BUILD_CPPFLAGS:='ifelse([$1],,,[$1])'}
|
|
: ${BUILD_LDFLAGS:=''}
|
|
: ${BUILD_LIBS:='ifelse([$2],,,[$2])'}
|
|
: ${BUILD_EXEEXT:='$x'}
|
|
: ${BUILD_OBJEXT:='o'}
|
|
|
|
AC_ARG_WITH(build-cc,
|
|
[ --with-build-cc=XXX the build C compiler ($BUILD_CC)],
|
|
[BUILD_CC="$withval"],
|
|
[AC_CHECK_PROGS(BUILD_CC, gcc cc cl)])
|
|
AC_MSG_CHECKING(for native build C compiler)
|
|
AC_MSG_RESULT($BUILD_CC)
|
|
|
|
AC_MSG_CHECKING(for native build C preprocessor)
|
|
AC_ARG_WITH(build-cpp,
|
|
[ --with-build-cpp=XXX the build C preprocessor ($BUILD_CPP)],
|
|
[BUILD_CPP="$withval"],
|
|
[BUILD_CPP='${BUILD_CC} -E'])
|
|
AC_MSG_RESULT($BUILD_CPP)
|
|
|
|
AC_MSG_CHECKING(for native build C flags)
|
|
AC_ARG_WITH(build-cflags,
|
|
[ --with-build-cflags=XXX the build C compiler-flags ($BUILD_CFLAGS)],
|
|
[BUILD_CFLAGS="$withval"])
|
|
AC_MSG_RESULT($BUILD_CFLAGS)
|
|
|
|
AC_MSG_CHECKING(for native build C preprocessor-flags)
|
|
AC_ARG_WITH(build-cppflags,
|
|
[ --with-build-cppflags=XXX the build C preprocessor-flags ($BUILD_CPPFLAGS)],
|
|
[BUILD_CPPFLAGS="$withval"])
|
|
AC_MSG_RESULT($BUILD_CPPFLAGS)
|
|
|
|
AC_MSG_CHECKING(for native build linker-flags)
|
|
AC_ARG_WITH(build-ldflags,
|
|
[ --with-build-ldflags=XXX the build linker-flags ($BUILD_LDFLAGS)],
|
|
[BUILD_LDFLAGS="$withval"])
|
|
AC_MSG_RESULT($BUILD_LDFLAGS)
|
|
|
|
AC_MSG_CHECKING(for native build linker-libraries)
|
|
AC_ARG_WITH(build-libs,
|
|
[ --with-build-libs=XXX the build libraries (${BUILD_LIBS})],
|
|
[BUILD_LIBS="$withval"])
|
|
AC_MSG_RESULT($BUILD_LIBS)
|
|
|
|
# this assumes we're on Unix.
|
|
BUILD_EXEEXT=
|
|
BUILD_OBJEXT=o
|
|
|
|
: ${BUILD_CC:='${CC}'}
|
|
|
|
if ( test "$BUILD_CC" = "$CC" || test "$BUILD_CC" = '${CC}' ) ; then
|
|
AC_MSG_ERROR([Cross-build requires two compilers.
|
|
Use --with-build-cc to specify the native compiler.])
|
|
fi
|
|
|
|
else
|
|
: ${BUILD_CC:='${CC}'}
|
|
: ${BUILD_CPP:='${CPP}'}
|
|
: ${BUILD_CFLAGS:='${CFLAGS}'}
|
|
: ${BUILD_CPPFLAGS:='${CPPFLAGS}'}
|
|
: ${BUILD_LDFLAGS:='${LDFLAGS}'}
|
|
: ${BUILD_LIBS:='${LIBS}'}
|
|
: ${BUILD_EXEEXT:='$x'}
|
|
: ${BUILD_OBJEXT:='o'}
|
|
fi
|
|
|
|
AC_SUBST(BUILD_CC)
|
|
AC_SUBST(BUILD_CPP)
|
|
AC_SUBST(BUILD_CFLAGS)
|
|
AC_SUBST(BUILD_CPPFLAGS)
|
|
AC_SUBST(BUILD_LDFLAGS)
|
|
AC_SUBST(BUILD_LIBS)
|
|
AC_SUBST(BUILD_EXEEXT)
|
|
AC_SUBST(BUILD_OBJEXT)
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_CC_ENV_FLAGS version: 6 updated: 2016/08/29 20:57:00
|
|
dnl ---------------
|
|
dnl Check for user's environment-breakage by stuffing CFLAGS/CPPFLAGS content
|
|
dnl into CC. This will not help with broken scripts that wrap the compiler
|
|
dnl with options, but eliminates a more common category of user confusion.
|
|
dnl
|
|
dnl In particular, it addresses the problem of being able to run the C
|
|
dnl preprocessor in a consistent manner.
|
|
dnl
|
|
dnl Caveat: this also disallows blanks in the pathname for the compiler, but
|
|
dnl the nuisance of having inconsistent settings for compiler and preprocessor
|
|
dnl outweighs that limitation.
|
|
AC_DEFUN([CF_CC_ENV_FLAGS],
|
|
[
|
|
# This should have been defined by AC_PROG_CC
|
|
: ${CC:=cc}
|
|
|
|
AC_MSG_CHECKING(\$CC variable)
|
|
case "$CC" in
|
|
(*[[\ \ ]]-*)
|
|
AC_MSG_RESULT(broken)
|
|
AC_MSG_WARN(your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options)
|
|
# humor him...
|
|
cf_flags=`echo "$CC" | sed -e 's/^.*[[ ]]\(-[[^ ]]\)/\1/'`
|
|
CC=`echo "$CC " | sed -e 's/[[ ]]-[[^ ]].*$//' -e 's/[[ ]]*$//'`
|
|
for cf_arg in $cf_flags
|
|
do
|
|
case "x$cf_arg" in
|
|
(x-[[IUDfgOW]]*)
|
|
CF_ADD_CFLAGS($cf_flags)
|
|
;;
|
|
(*)
|
|
CC="$CC $cf_arg"
|
|
;;
|
|
esac
|
|
done
|
|
CF_VERBOSE(resulting CC: '$CC')
|
|
CF_VERBOSE(resulting CFLAGS: '$CFLAGS')
|
|
CF_VERBOSE(resulting CPPFLAGS: '$CPPFLAGS')
|
|
;;
|
|
(*)
|
|
AC_MSG_RESULT(ok)
|
|
;;
|
|
esac
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_CFG_DEFAULTS version: 11 updated: 2015/04/17 21:13:04
|
|
dnl ---------------
|
|
dnl Determine the default configuration into which we'll install ncurses. This
|
|
dnl can be overridden by the user's command-line options. There's two items to
|
|
dnl look for:
|
|
dnl 1. the prefix (e.g., /usr)
|
|
dnl 2. the header files (e.g., /usr/include/ncurses)
|
|
dnl We'll look for a previous installation of ncurses and use the same defaults.
|
|
dnl
|
|
dnl We don't use AC_PREFIX_DEFAULT, because it gets evaluated too soon, and
|
|
dnl we don't use AC_PREFIX_PROGRAM, because we cannot distinguish ncurses's
|
|
dnl programs from a vendor's.
|
|
AC_DEFUN([CF_CFG_DEFAULTS],
|
|
[
|
|
AC_MSG_CHECKING(for prefix)
|
|
if test "x$prefix" = "xNONE" ; then
|
|
case "$cf_cv_system_name" in
|
|
# non-vendor systems don't have a conflict
|
|
(openbsd*|freebsd*|mirbsd*|linux*|cygwin*|msys*|k*bsd*-gnu|mingw*)
|
|
prefix=/usr
|
|
;;
|
|
(*) prefix=$ac_default_prefix
|
|
;;
|
|
esac
|
|
fi
|
|
AC_MSG_RESULT($prefix)
|
|
|
|
if test "x$prefix" = "xNONE" ; then
|
|
AC_MSG_CHECKING(for default include-directory)
|
|
test -n "$verbose" && echo 1>&AC_FD_MSG
|
|
for cf_symbol in \
|
|
$includedir \
|
|
$includedir/ncurses \
|
|
$prefix/include \
|
|
$prefix/include/ncurses \
|
|
/usr/local/include \
|
|
/usr/local/include/ncurses \
|
|
/usr/include \
|
|
/usr/include/ncurses
|
|
do
|
|
cf_dir=`eval echo $cf_symbol`
|
|
if test -f $cf_dir/curses.h ; then
|
|
if ( fgrep NCURSES_VERSION $cf_dir/curses.h 2>&1 >/dev/null ) ; then
|
|
includedir="$cf_symbol"
|
|
test -n "$verbose" && echo $ac_n " found " 1>&AC_FD_MSG
|
|
break
|
|
fi
|
|
fi
|
|
test -n "$verbose" && echo " tested $cf_dir" 1>&AC_FD_MSG
|
|
done
|
|
AC_MSG_RESULT($includedir)
|
|
fi
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_CHECK_CACHE version: 12 updated: 2012/10/02 20:55:03
|
|
dnl --------------
|
|
dnl Check if we're accidentally using a cache from a different machine.
|
|
dnl Derive the system name, as a check for reusing the autoconf cache.
|
|
dnl
|
|
dnl If we've packaged config.guess and config.sub, run that (since it does a
|
|
dnl better job than uname). Normally we'll use AC_CANONICAL_HOST, but allow
|
|
dnl an extra parameter that we may override, e.g., for AC_CANONICAL_SYSTEM
|
|
dnl which is useful in cross-compiles.
|
|
dnl
|
|
dnl Note: we would use $ac_config_sub, but that is one of the places where
|
|
dnl autoconf 2.5x broke compatibility with autoconf 2.13
|
|
AC_DEFUN([CF_CHECK_CACHE],
|
|
[
|
|
if test -f $srcdir/config.guess || test -f $ac_aux_dir/config.guess ; then
|
|
ifelse([$1],,[AC_CANONICAL_HOST],[$1])
|
|
system_name="$host_os"
|
|
else
|
|
system_name="`(uname -s -r) 2>/dev/null`"
|
|
if test -z "$system_name" ; then
|
|
system_name="`(hostname) 2>/dev/null`"
|
|
fi
|
|
fi
|
|
test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name",[Define to the system name.])
|
|
AC_CACHE_VAL(cf_cv_system_name,[cf_cv_system_name="$system_name"])
|
|
|
|
test -z "$system_name" && system_name="$cf_cv_system_name"
|
|
test -n "$cf_cv_system_name" && AC_MSG_RESULT(Configuring for $cf_cv_system_name)
|
|
|
|
if test ".$system_name" != ".$cf_cv_system_name" ; then
|
|
AC_MSG_RESULT(Cached system name ($system_name) does not agree with actual ($cf_cv_system_name))
|
|
AC_MSG_ERROR("Please remove config.cache and try again.")
|
|
fi
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_CLANG_COMPILER version: 2 updated: 2013/11/19 19:23:35
|
|
dnl -----------------
|
|
dnl Check if the given compiler is really clang. clang's C driver defines
|
|
dnl __GNUC__ (fooling the configure script into setting $GCC to yes) but does
|
|
dnl not ignore some gcc options.
|
|
dnl
|
|
dnl This macro should be run "soon" after AC_PROG_CC or AC_PROG_CPLUSPLUS, to
|
|
dnl ensure that it is not mistaken for gcc/g++. It is normally invoked from
|
|
dnl the wrappers for gcc and g++ warnings.
|
|
dnl
|
|
dnl $1 = GCC (default) or GXX
|
|
dnl $2 = CLANG_COMPILER (default)
|
|
dnl $3 = CFLAGS (default) or CXXFLAGS
|
|
AC_DEFUN([CF_CLANG_COMPILER],[
|
|
ifelse([$2],,CLANG_COMPILER,[$2])=no
|
|
|
|
if test "$ifelse([$1],,[$1],GCC)" = yes ; then
|
|
AC_MSG_CHECKING(if this is really Clang ifelse([$1],GXX,C++,C) compiler)
|
|
cf_save_CFLAGS="$ifelse([$3],,CFLAGS,[$3])"
|
|
ifelse([$3],,CFLAGS,[$3])="$ifelse([$3],,CFLAGS,[$3]) -Qunused-arguments"
|
|
AC_TRY_COMPILE([],[
|
|
#ifdef __clang__
|
|
#else
|
|
make an error
|
|
#endif
|
|
],[ifelse([$2],,CLANG_COMPILER,[$2])=yes
|
|
cf_save_CFLAGS="$cf_save_CFLAGS -Qunused-arguments"
|
|
],[])
|
|
ifelse([$3],,CFLAGS,[$3])="$cf_save_CFLAGS"
|
|
AC_MSG_RESULT($ifelse([$2],,CLANG_COMPILER,[$2]))
|
|
fi
|
|
])
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_CURSES_HEADER version: 5 updated: 2015/04/23 20:35:30
|
|
dnl ----------------
|
|
dnl Find a "curses" header file, e.g,. "curses.h", or one of the more common
|
|
dnl variations of ncurses' installs.
|
|
dnl
|
|
dnl $1 = ncurses when looking for ncurses, or is empty
|
|
AC_DEFUN([CF_CURSES_HEADER],[
|
|
AC_CACHE_CHECK(if we have identified curses headers,cf_cv_ncurses_header,[
|
|
cf_cv_ncurses_header=none
|
|
for cf_header in \
|
|
ncurses.h ifelse($1,,,[$1/ncurses.h]) \
|
|
curses.h ifelse($1,,,[$1/curses.h]) ifelse($1,,[ncurses/ncurses.h ncurses/curses.h])
|
|
do
|
|
AC_TRY_COMPILE([#include <${cf_header}>],
|
|
[initscr(); tgoto("?", 0,0)],
|
|
[cf_cv_ncurses_header=$cf_header; break],[])
|
|
done
|
|
])
|
|
|
|
if test "$cf_cv_ncurses_header" = none ; then
|
|
AC_MSG_ERROR(No curses header-files found)
|
|
fi
|
|
|
|
# cheat, to get the right #define's for HAVE_NCURSES_H, etc.
|
|
AC_CHECK_HEADERS($cf_cv_ncurses_header)
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_DIRNAME version: 4 updated: 2002/12/21 19:25:52
|
|
dnl ----------
|
|
dnl "dirname" is not portable, so we fake it with a shell script.
|
|
AC_DEFUN([CF_DIRNAME],[$1=`echo $2 | sed -e 's%/[[^/]]*$%%'`])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_DISABLE_ECHO version: 13 updated: 2015/04/18 08:56:57
|
|
dnl ---------------
|
|
dnl You can always use "make -n" to see the actual options, but it's hard to
|
|
dnl pick out/analyze warning messages when the compile-line is long.
|
|
dnl
|
|
dnl Sets:
|
|
dnl ECHO_LT - symbol to control if libtool is verbose
|
|
dnl ECHO_LD - symbol to prefix "cc -o" lines
|
|
dnl RULE_CC - symbol to put before implicit "cc -c" lines (e.g., .c.o)
|
|
dnl SHOW_CC - symbol to put before explicit "cc -c" lines
|
|
dnl ECHO_CC - symbol to put before any "cc" line
|
|
dnl
|
|
AC_DEFUN([CF_DISABLE_ECHO],[
|
|
AC_MSG_CHECKING(if you want to see long compiling messages)
|
|
CF_ARG_DISABLE(echo,
|
|
[ --disable-echo do not display "compiling" commands],
|
|
[
|
|
ECHO_LT='--silent'
|
|
ECHO_LD='@echo linking [$]@;'
|
|
RULE_CC='@echo compiling [$]<'
|
|
SHOW_CC='@echo compiling [$]@'
|
|
ECHO_CC='@'
|
|
],[
|
|
ECHO_LT=''
|
|
ECHO_LD=''
|
|
RULE_CC=''
|
|
SHOW_CC=''
|
|
ECHO_CC=''
|
|
])
|
|
AC_MSG_RESULT($enableval)
|
|
AC_SUBST(ECHO_LT)
|
|
AC_SUBST(ECHO_LD)
|
|
AC_SUBST(RULE_CC)
|
|
AC_SUBST(SHOW_CC)
|
|
AC_SUBST(ECHO_CC)
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_DISABLE_GNAT_PROJECTS version: 1 updated: 2014/06/01 11:34:00
|
|
dnl ------------------------
|
|
AC_DEFUN([CF_DISABLE_GNAT_PROJECTS],[
|
|
AC_MSG_CHECKING(if we want to use GNAT projects)
|
|
CF_ARG_DISABLE(gnat-projects,
|
|
[ --disable-gnat-projects test: disable GNAT projects even if usable],
|
|
[enable_gnat_projects=no],
|
|
[enable_gnat_projects=yes])
|
|
AC_MSG_RESULT($enable_gnat_projects)
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_FIND_LIBRARY version: 9 updated: 2008/03/23 14:48:54
|
|
dnl ---------------
|
|
dnl Look for a non-standard library, given parameters for AC_TRY_LINK. We
|
|
dnl prefer a standard location, and use -L options only if we do not find the
|
|
dnl library in the standard library location(s).
|
|
dnl $1 = library name
|
|
dnl $2 = library class, usually the same as library name
|
|
dnl $3 = includes
|
|
dnl $4 = code fragment to compile/link
|
|
dnl $5 = corresponding function-name
|
|
dnl $6 = flag, nonnull if failure should not cause an error-exit
|
|
dnl
|
|
dnl Sets the variable "$cf_libdir" as a side-effect, so we can see if we had
|
|
dnl to use a -L option.
|
|
AC_DEFUN([CF_FIND_LIBRARY],
|
|
[
|
|
eval 'cf_cv_have_lib_'$1'=no'
|
|
cf_libdir=""
|
|
AC_CHECK_FUNC($5,
|
|
eval 'cf_cv_have_lib_'$1'=yes',[
|
|
cf_save_LIBS="$LIBS"
|
|
AC_MSG_CHECKING(for $5 in -l$1)
|
|
LIBS="-l$1 $LIBS"
|
|
AC_TRY_LINK([$3],[$4],
|
|
[AC_MSG_RESULT(yes)
|
|
eval 'cf_cv_have_lib_'$1'=yes'
|
|
],
|
|
[AC_MSG_RESULT(no)
|
|
CF_LIBRARY_PATH(cf_search,$2)
|
|
for cf_libdir in $cf_search
|
|
do
|
|
AC_MSG_CHECKING(for -l$1 in $cf_libdir)
|
|
LIBS="-L$cf_libdir -l$1 $cf_save_LIBS"
|
|
AC_TRY_LINK([$3],[$4],
|
|
[AC_MSG_RESULT(yes)
|
|
eval 'cf_cv_have_lib_'$1'=yes'
|
|
break],
|
|
[AC_MSG_RESULT(no)
|
|
LIBS="$cf_save_LIBS"])
|
|
done
|
|
])
|
|
])
|
|
eval 'cf_found_library=[$]cf_cv_have_lib_'$1
|
|
ifelse($6,,[
|
|
if test $cf_found_library = no ; then
|
|
AC_MSG_ERROR(Cannot link $1 library)
|
|
fi
|
|
])
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_FIND_LINKAGE version: 20 updated: 2015/04/18 08:56:57
|
|
dnl ---------------
|
|
dnl Find a library (specifically the linkage used in the code fragment),
|
|
dnl searching for it if it is not already in the library path.
|
|
dnl See also CF_ADD_SEARCHPATH.
|
|
dnl
|
|
dnl Parameters (4-on are optional):
|
|
dnl $1 = headers for library entrypoint
|
|
dnl $2 = code fragment for library entrypoint
|
|
dnl $3 = the library name without the "-l" option or ".so" suffix.
|
|
dnl $4 = action to perform if successful (default: update CPPFLAGS, etc)
|
|
dnl $5 = action to perform if not successful
|
|
dnl $6 = module name, if not the same as the library name
|
|
dnl $7 = extra libraries
|
|
dnl
|
|
dnl Sets these variables:
|
|
dnl $cf_cv_find_linkage_$3 - yes/no according to whether linkage is found
|
|
dnl $cf_cv_header_path_$3 - include-directory if needed
|
|
dnl $cf_cv_library_path_$3 - library-directory if needed
|
|
dnl $cf_cv_library_file_$3 - library-file if needed, e.g., -l$3
|
|
AC_DEFUN([CF_FIND_LINKAGE],[
|
|
|
|
# If the linkage is not already in the $CPPFLAGS/$LDFLAGS configuration, these
|
|
# will be set on completion of the AC_TRY_LINK below.
|
|
cf_cv_header_path_$3=
|
|
cf_cv_library_path_$3=
|
|
|
|
CF_MSG_LOG([Starting [FIND_LINKAGE]($3,$6)])
|
|
|
|
cf_save_LIBS="$LIBS"
|
|
|
|
AC_TRY_LINK([$1],[$2],[
|
|
cf_cv_find_linkage_$3=yes
|
|
cf_cv_header_path_$3=/usr/include
|
|
cf_cv_library_path_$3=/usr/lib
|
|
],[
|
|
|
|
LIBS="-l$3 $7 $cf_save_LIBS"
|
|
|
|
AC_TRY_LINK([$1],[$2],[
|
|
cf_cv_find_linkage_$3=yes
|
|
cf_cv_header_path_$3=/usr/include
|
|
cf_cv_library_path_$3=/usr/lib
|
|
cf_cv_library_file_$3="-l$3"
|
|
],[
|
|
cf_cv_find_linkage_$3=no
|
|
LIBS="$cf_save_LIBS"
|
|
|
|
CF_VERBOSE(find linkage for $3 library)
|
|
CF_MSG_LOG([Searching for headers in [FIND_LINKAGE]($3,$6)])
|
|
|
|
cf_save_CPPFLAGS="$CPPFLAGS"
|
|
cf_test_CPPFLAGS="$CPPFLAGS"
|
|
|
|
CF_HEADER_PATH(cf_search,ifelse([$6],,[$3],[$6]))
|
|
for cf_cv_header_path_$3 in $cf_search
|
|
do
|
|
if test -d $cf_cv_header_path_$3 ; then
|
|
CF_VERBOSE(... testing $cf_cv_header_path_$3)
|
|
CPPFLAGS="$cf_save_CPPFLAGS -I$cf_cv_header_path_$3"
|
|
AC_TRY_COMPILE([$1],[$2],[
|
|
CF_VERBOSE(... found $3 headers in $cf_cv_header_path_$3)
|
|
cf_cv_find_linkage_$3=maybe
|
|
cf_test_CPPFLAGS="$CPPFLAGS"
|
|
break],[
|
|
CPPFLAGS="$cf_save_CPPFLAGS"
|
|
])
|
|
fi
|
|
done
|
|
|
|
if test "$cf_cv_find_linkage_$3" = maybe ; then
|
|
|
|
CF_MSG_LOG([Searching for $3 library in [FIND_LINKAGE]($3,$6)])
|
|
|
|
cf_save_LIBS="$LIBS"
|
|
cf_save_LDFLAGS="$LDFLAGS"
|
|
|
|
ifelse([$6],,,[
|
|
CPPFLAGS="$cf_test_CPPFLAGS"
|
|
LIBS="-l$3 $7 $cf_save_LIBS"
|
|
AC_TRY_LINK([$1],[$2],[
|
|
CF_VERBOSE(... found $3 library in system)
|
|
cf_cv_find_linkage_$3=yes])
|
|
CPPFLAGS="$cf_save_CPPFLAGS"
|
|
LIBS="$cf_save_LIBS"
|
|
])
|
|
|
|
if test "$cf_cv_find_linkage_$3" != yes ; then
|
|
CF_LIBRARY_PATH(cf_search,$3)
|
|
for cf_cv_library_path_$3 in $cf_search
|
|
do
|
|
if test -d $cf_cv_library_path_$3 ; then
|
|
CF_VERBOSE(... testing $cf_cv_library_path_$3)
|
|
CPPFLAGS="$cf_test_CPPFLAGS"
|
|
LIBS="-l$3 $7 $cf_save_LIBS"
|
|
LDFLAGS="$cf_save_LDFLAGS -L$cf_cv_library_path_$3"
|
|
AC_TRY_LINK([$1],[$2],[
|
|
CF_VERBOSE(... found $3 library in $cf_cv_library_path_$3)
|
|
cf_cv_find_linkage_$3=yes
|
|
cf_cv_library_file_$3="-l$3"
|
|
break],[
|
|
CPPFLAGS="$cf_save_CPPFLAGS"
|
|
LIBS="$cf_save_LIBS"
|
|
LDFLAGS="$cf_save_LDFLAGS"
|
|
])
|
|
fi
|
|
done
|
|
CPPFLAGS="$cf_save_CPPFLAGS"
|
|
LDFLAGS="$cf_save_LDFLAGS"
|
|
fi
|
|
|
|
else
|
|
cf_cv_find_linkage_$3=no
|
|
fi
|
|
],$7)
|
|
])
|
|
|
|
LIBS="$cf_save_LIBS"
|
|
|
|
if test "$cf_cv_find_linkage_$3" = yes ; then
|
|
ifelse([$4],,[
|
|
CF_ADD_INCDIR($cf_cv_header_path_$3)
|
|
CF_ADD_LIBDIR($cf_cv_library_path_$3)
|
|
CF_ADD_LIB($3)
|
|
],[$4])
|
|
else
|
|
ifelse([$5],,AC_MSG_WARN(Cannot find $3 library),[$5])
|
|
fi
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_FIXUP_ADAFLAGS version: 2 updated: 2015/04/17 21:13:04
|
|
dnl -----------------
|
|
dnl make ADAFLAGS consistent with CFLAGS
|
|
AC_DEFUN([CF_FIXUP_ADAFLAGS],[
|
|
AC_MSG_CHECKING(optimization options for ADAFLAGS)
|
|
case "$CFLAGS" in
|
|
(*-g*)
|
|
CF_ADD_ADAFLAGS(-g)
|
|
;;
|
|
esac
|
|
case "$CFLAGS" in
|
|
(*-O*)
|
|
cf_O_flag=`echo "$CFLAGS" |sed -e 's/^.*-O/-O/' -e 's/[[ ]].*//'`
|
|
CF_ADD_ADAFLAGS($cf_O_flag)
|
|
;;
|
|
esac
|
|
AC_MSG_RESULT($ADAFLAGS)
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_GCC_ATTRIBUTES version: 17 updated: 2015/04/12 15:39:00
|
|
dnl -----------------
|
|
dnl Test for availability of useful gcc __attribute__ directives to quiet
|
|
dnl compiler warnings. Though useful, not all are supported -- and contrary
|
|
dnl to documentation, unrecognized directives cause older compilers to barf.
|
|
AC_DEFUN([CF_GCC_ATTRIBUTES],
|
|
[
|
|
if test "$GCC" = yes
|
|
then
|
|
cat > conftest.i <<EOF
|
|
#ifndef GCC_PRINTF
|
|
#define GCC_PRINTF 0
|
|
#endif
|
|
#ifndef GCC_SCANF
|
|
#define GCC_SCANF 0
|
|
#endif
|
|
#ifndef GCC_NORETURN
|
|
#define GCC_NORETURN /* nothing */
|
|
#endif
|
|
#ifndef GCC_UNUSED
|
|
#define GCC_UNUSED /* nothing */
|
|
#endif
|
|
EOF
|
|
if test "$GCC" = yes
|
|
then
|
|
AC_CHECKING([for $CC __attribute__ directives])
|
|
cat > conftest.$ac_ext <<EOF
|
|
#line __oline__ "${as_me:-configure}"
|
|
#include "confdefs.h"
|
|
#include "conftest.h"
|
|
#include "conftest.i"
|
|
#if GCC_PRINTF
|
|
#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
|
|
#else
|
|
#define GCC_PRINTFLIKE(fmt,var) /*nothing*/
|
|
#endif
|
|
#if GCC_SCANF
|
|
#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
|
|
#else
|
|
#define GCC_SCANFLIKE(fmt,var) /*nothing*/
|
|
#endif
|
|
extern void wow(char *,...) GCC_SCANFLIKE(1,2);
|
|
extern void oops(char *,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN;
|
|
extern void foo(void) GCC_NORETURN;
|
|
int main(int argc GCC_UNUSED, char *argv[[]] GCC_UNUSED) { return 0; }
|
|
EOF
|
|
cf_printf_attribute=no
|
|
cf_scanf_attribute=no
|
|
for cf_attribute in scanf printf unused noreturn
|
|
do
|
|
CF_UPPER(cf_ATTRIBUTE,$cf_attribute)
|
|
cf_directive="__attribute__(($cf_attribute))"
|
|
echo "checking for $CC $cf_directive" 1>&AC_FD_CC
|
|
|
|
case $cf_attribute in
|
|
(printf)
|
|
cf_printf_attribute=yes
|
|
cat >conftest.h <<EOF
|
|
#define GCC_$cf_ATTRIBUTE 1
|
|
EOF
|
|
;;
|
|
(scanf)
|
|
cf_scanf_attribute=yes
|
|
cat >conftest.h <<EOF
|
|
#define GCC_$cf_ATTRIBUTE 1
|
|
EOF
|
|
;;
|
|
(*)
|
|
cat >conftest.h <<EOF
|
|
#define GCC_$cf_ATTRIBUTE $cf_directive
|
|
EOF
|
|
;;
|
|
esac
|
|
|
|
if AC_TRY_EVAL(ac_compile); then
|
|
test -n "$verbose" && AC_MSG_RESULT(... $cf_attribute)
|
|
cat conftest.h >>confdefs.h
|
|
case $cf_attribute in
|
|
(noreturn)
|
|
AC_DEFINE_UNQUOTED(GCC_NORETURN,$cf_directive,[Define to noreturn-attribute for gcc])
|
|
;;
|
|
(printf)
|
|
cf_value='/* nothing */'
|
|
if test "$cf_printf_attribute" != no ; then
|
|
cf_value='__attribute__((format(printf,fmt,var)))'
|
|
AC_DEFINE(GCC_PRINTF,1,[Define to 1 if the compiler supports gcc-like printf attribute.])
|
|
fi
|
|
AC_DEFINE_UNQUOTED(GCC_PRINTFLIKE(fmt,var),$cf_value,[Define to printf-attribute for gcc])
|
|
;;
|
|
(scanf)
|
|
cf_value='/* nothing */'
|
|
if test "$cf_scanf_attribute" != no ; then
|
|
cf_value='__attribute__((format(scanf,fmt,var)))'
|
|
AC_DEFINE(GCC_SCANF,1,[Define to 1 if the compiler supports gcc-like scanf attribute.])
|
|
fi
|
|
AC_DEFINE_UNQUOTED(GCC_SCANFLIKE(fmt,var),$cf_value,[Define to sscanf-attribute for gcc])
|
|
;;
|
|
(unused)
|
|
AC_DEFINE_UNQUOTED(GCC_UNUSED,$cf_directive,[Define to unused-attribute for gcc])
|
|
;;
|
|
esac
|
|
fi
|
|
done
|
|
else
|
|
fgrep define conftest.i >>confdefs.h
|
|
fi
|
|
rm -rf conftest*
|
|
fi
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_GCC_VERSION version: 7 updated: 2012/10/18 06:46:33
|
|
dnl --------------
|
|
dnl Find version of gcc
|
|
AC_DEFUN([CF_GCC_VERSION],[
|
|
AC_REQUIRE([AC_PROG_CC])
|
|
GCC_VERSION=none
|
|
if test "$GCC" = yes ; then
|
|
AC_MSG_CHECKING(version of $CC)
|
|
GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(GCC[[^)]]*) //' -e 's/^.*(Debian[[^)]]*) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
|
|
test -z "$GCC_VERSION" && GCC_VERSION=unknown
|
|
AC_MSG_RESULT($GCC_VERSION)
|
|
fi
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_GCC_WARNINGS version: 32 updated: 2015/04/12 15:39:00
|
|
dnl ---------------
|
|
dnl Check if the compiler supports useful warning options. There's a few that
|
|
dnl we don't use, simply because they're too noisy:
|
|
dnl
|
|
dnl -Wconversion (useful in older versions of gcc, but not in gcc 2.7.x)
|
|
dnl -Wredundant-decls (system headers make this too noisy)
|
|
dnl -Wtraditional (combines too many unrelated messages, only a few useful)
|
|
dnl -Wwrite-strings (too noisy, but should review occasionally). This
|
|
dnl is enabled for ncurses using "--enable-const".
|
|
dnl -pedantic
|
|
dnl
|
|
dnl Parameter:
|
|
dnl $1 is an optional list of gcc warning flags that a particular
|
|
dnl application might want to use, e.g., "no-unused" for
|
|
dnl -Wno-unused
|
|
dnl Special:
|
|
dnl If $with_ext_const is "yes", add a check for -Wwrite-strings
|
|
dnl
|
|
AC_DEFUN([CF_GCC_WARNINGS],
|
|
[
|
|
AC_REQUIRE([CF_GCC_VERSION])
|
|
CF_INTEL_COMPILER(GCC,INTEL_COMPILER,CFLAGS)
|
|
CF_CLANG_COMPILER(GCC,CLANG_COMPILER,CFLAGS)
|
|
|
|
cat > conftest.$ac_ext <<EOF
|
|
#line __oline__ "${as_me:-configure}"
|
|
int main(int argc, char *argv[[]]) { return (argv[[argc-1]] == 0) ; }
|
|
EOF
|
|
|
|
if test "$INTEL_COMPILER" = yes
|
|
then
|
|
# The "-wdXXX" options suppress warnings:
|
|
# remark #1419: external declaration in primary source file
|
|
# remark #1683: explicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem)
|
|
# remark #1684: conversion from pointer to same-sized integral type (potential portability problem)
|
|
# remark #193: zero used for undefined preprocessing identifier
|
|
# remark #593: variable "curs_sb_left_arrow" was set but never used
|
|
# remark #810: conversion from "int" to "Dimension={unsigned short}" may lose significant bits
|
|
# remark #869: parameter "tw" was never referenced
|
|
# remark #981: operands are evaluated in unspecified order
|
|
# warning #279: controlling expression is constant
|
|
|
|
AC_CHECKING([for $CC warning options])
|
|
cf_save_CFLAGS="$CFLAGS"
|
|
EXTRA_CFLAGS="-Wall"
|
|
for cf_opt in \
|
|
wd1419 \
|
|
wd1683 \
|
|
wd1684 \
|
|
wd193 \
|
|
wd593 \
|
|
wd279 \
|
|
wd810 \
|
|
wd869 \
|
|
wd981
|
|
do
|
|
CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
|
|
if AC_TRY_EVAL(ac_compile); then
|
|
test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
|
|
EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
|
|
fi
|
|
done
|
|
CFLAGS="$cf_save_CFLAGS"
|
|
|
|
elif test "$GCC" = yes
|
|
then
|
|
AC_CHECKING([for $CC warning options])
|
|
cf_save_CFLAGS="$CFLAGS"
|
|
EXTRA_CFLAGS=
|
|
cf_warn_CONST=""
|
|
test "$with_ext_const" = yes && cf_warn_CONST="Wwrite-strings"
|
|
cf_gcc_warnings="Wignored-qualifiers Wlogical-op Wvarargs"
|
|
test "x$CLANG_COMPILER" = xyes && cf_gcc_warnings=
|
|
for cf_opt in W Wall \
|
|
Wbad-function-cast \
|
|
Wcast-align \
|
|
Wcast-qual \
|
|
Wdeclaration-after-statement \
|
|
Wextra \
|
|
Winline \
|
|
Wmissing-declarations \
|
|
Wmissing-prototypes \
|
|
Wnested-externs \
|
|
Wpointer-arith \
|
|
Wshadow \
|
|
Wstrict-prototypes \
|
|
Wundef $cf_gcc_warnings $cf_warn_CONST $1
|
|
do
|
|
CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
|
|
if AC_TRY_EVAL(ac_compile); then
|
|
test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
|
|
case $cf_opt in
|
|
(Wcast-qual)
|
|
CPPFLAGS="$CPPFLAGS -DXTSTRINGDEFINES"
|
|
;;
|
|
(Winline)
|
|
case $GCC_VERSION in
|
|
([[34]].*)
|
|
CF_VERBOSE(feature is broken in gcc $GCC_VERSION)
|
|
continue;;
|
|
esac
|
|
;;
|
|
(Wpointer-arith)
|
|
case $GCC_VERSION in
|
|
([[12]].*)
|
|
CF_VERBOSE(feature is broken in gcc $GCC_VERSION)
|
|
continue;;
|
|
esac
|
|
;;
|
|
esac
|
|
EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
|
|
fi
|
|
done
|
|
CFLAGS="$cf_save_CFLAGS"
|
|
fi
|
|
rm -rf conftest*
|
|
|
|
AC_SUBST(EXTRA_CFLAGS)
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_GNATPREP_OPT_T version: 1 updated: 2014/08/02 18:37:25
|
|
dnl -----------------
|
|
AC_DEFUN([CF_GNATPREP_OPT_T],[
|
|
AC_CACHE_CHECK(if GNATPREP supports -T option,cf_cv_gnatprep_opt_t,[
|
|
cf_cv_gnatprep_opt_t=no
|
|
gnatprep -T 2>/dev/null >/dev/null && cf_cv_gnatprep_opt_t=yes
|
|
])
|
|
test "$cf_cv_gnatprep_opt_t" = yes && GNATPREP_OPTS="-T $GNATPREP_OPTS"
|
|
AC_SUBST(GNATPREP_OPTS)
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_GNAT_GENERICS version: 3 updated: 2015/04/17 21:13:04
|
|
dnl ----------------
|
|
AC_DEFUN([CF_GNAT_GENERICS],
|
|
[
|
|
AC_REQUIRE([CF_GNAT_VERSION])
|
|
|
|
AC_MSG_CHECKING(if GNAT supports generics)
|
|
case $cf_gnat_version in
|
|
(3.[[1-9]]*|[[4-9]].*)
|
|
cf_gnat_generics=yes
|
|
;;
|
|
(*)
|
|
cf_gnat_generics=no
|
|
;;
|
|
esac
|
|
AC_MSG_RESULT($cf_gnat_generics)
|
|
|
|
if test "$cf_gnat_generics" = yes
|
|
then
|
|
cf_compile_generics=generics
|
|
cf_generic_objects="\${GENOBJS}"
|
|
else
|
|
cf_compile_generics=
|
|
cf_generic_objects=
|
|
fi
|
|
|
|
AC_SUBST(cf_compile_generics)
|
|
AC_SUBST(cf_generic_objects)
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_GNAT_PROJECTS version: 8 updated: 2015/04/17 21:13:04
|
|
dnl ----------------
|
|
dnl GNAT projects are configured with ".gpr" project files.
|
|
dnl GNAT libraries are a further development, using the project feature.
|
|
AC_DEFUN([CF_GNAT_PROJECTS],
|
|
[
|
|
AC_REQUIRE([CF_GNAT_VERSION])
|
|
AC_REQUIRE([CF_DISABLE_GNAT_PROJECTS])
|
|
|
|
cf_gnat_libraries=no
|
|
cf_gnat_projects=no
|
|
|
|
if test "$enable_gnat_projects" != no ; then
|
|
AC_MSG_CHECKING(if GNAT supports project files)
|
|
case $cf_gnat_version in
|
|
(3.[[0-9]]*)
|
|
;;
|
|
(*)
|
|
case $cf_cv_system_name in
|
|
(cygwin*|msys*)
|
|
;;
|
|
(*)
|
|
mkdir conftest.src conftest.bin conftest.lib
|
|
cd conftest.src
|
|
rm -rf conftest* *~conftest*
|
|
cat >>library.gpr <<CF_EOF
|
|
project Library is
|
|
Kind := External ("LIB_KIND");
|
|
for Library_Name use "ConfTest";
|
|
for Object_Dir use ".";
|
|
for Library_ALI_Dir use External("LIBRARY_DIR");
|
|
for Library_Version use External ("SONAME");
|
|
for Library_Kind use Kind;
|
|
for Library_Dir use External("BUILD_DIR");
|
|
Source_Dir := External ("SOURCE_DIR");
|
|
for Source_Dirs use (Source_Dir);
|
|
end Library;
|
|
CF_EOF
|
|
cat >>confpackage.ads <<CF_EOF
|
|
package ConfPackage is
|
|
procedure conftest;
|
|
end ConfPackage;
|
|
CF_EOF
|
|
cat >>confpackage.adb <<CF_EOF
|
|
with Text_IO;
|
|
package body ConfPackage is
|
|
procedure conftest is
|
|
begin
|
|
Text_IO.Put ("Hello World");
|
|
Text_IO.New_Line;
|
|
end conftest;
|
|
end ConfPackage;
|
|
CF_EOF
|
|
if ( $cf_ada_make $ADAFLAGS \
|
|
-Plibrary.gpr \
|
|
-XBUILD_DIR=`cd ../conftest.bin;pwd` \
|
|
-XLIBRARY_DIR=`cd ../conftest.lib;pwd` \
|
|
-XSOURCE_DIR=`pwd` \
|
|
-XSONAME=libConfTest.so.1 \
|
|
-XLIB_KIND=static 1>&AC_FD_CC 2>&1 ) ; then
|
|
cf_gnat_projects=yes
|
|
fi
|
|
cd ..
|
|
if test -f conftest.lib/confpackage.ali
|
|
then
|
|
cf_gnat_libraries=yes
|
|
fi
|
|
rm -rf conftest* *~conftest*
|
|
;;
|
|
esac
|
|
;;
|
|
esac
|
|
AC_MSG_RESULT($cf_gnat_projects)
|
|
fi # enable_gnat_projects
|
|
|
|
if test $cf_gnat_projects = yes
|
|
then
|
|
AC_MSG_CHECKING(if GNAT supports libraries)
|
|
AC_MSG_RESULT($cf_gnat_libraries)
|
|
fi
|
|
|
|
if test "$cf_gnat_projects" = yes
|
|
then
|
|
USE_OLD_MAKERULES="#"
|
|
USE_GNAT_PROJECTS=""
|
|
else
|
|
USE_OLD_MAKERULES=""
|
|
USE_GNAT_PROJECTS="#"
|
|
fi
|
|
|
|
if test "$cf_gnat_libraries" = yes
|
|
then
|
|
USE_GNAT_LIBRARIES=""
|
|
else
|
|
USE_GNAT_LIBRARIES="#"
|
|
fi
|
|
|
|
AC_SUBST(USE_OLD_MAKERULES)
|
|
AC_SUBST(USE_GNAT_PROJECTS)
|
|
AC_SUBST(USE_GNAT_LIBRARIES)
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_GNAT_SIGINT version: 1 updated: 2011/03/27 20:07:59
|
|
dnl --------------
|
|
dnl Check if gnat supports SIGINT, and presumably tasking. For the latter, it
|
|
dnl is noted that gnat may compile a tasking unit even for configurations which
|
|
dnl fail at runtime.
|
|
AC_DEFUN([CF_GNAT_SIGINT],[
|
|
AC_CACHE_CHECK(if GNAT supports SIGINT,cf_cv_gnat_sigint,[
|
|
CF_GNAT_TRY_LINK([with Ada.Interrupts.Names;
|
|
|
|
package ConfTest is
|
|
|
|
pragma Warnings (Off); -- the next pragma exists since 3.11p
|
|
pragma Unreserve_All_Interrupts;
|
|
pragma Warnings (On);
|
|
|
|
protected Process is
|
|
procedure Stop;
|
|
function Continue return Boolean;
|
|
pragma Attach_Handler (Stop, Ada.Interrupts.Names.SIGINT);
|
|
private
|
|
Done : Boolean := False;
|
|
end Process;
|
|
|
|
end ConfTest;],
|
|
[package body ConfTest is
|
|
protected body Process is
|
|
procedure Stop is
|
|
begin
|
|
Done := True;
|
|
end Stop;
|
|
function Continue return Boolean is
|
|
begin
|
|
return not Done;
|
|
end Continue;
|
|
end Process;
|
|
end ConfTest;],
|
|
[cf_cv_gnat_sigint=yes],
|
|
[cf_cv_gnat_sigint=no])])
|
|
|
|
if test $cf_cv_gnat_sigint = yes ; then
|
|
USE_GNAT_SIGINT=""
|
|
else
|
|
USE_GNAT_SIGINT="#"
|
|
fi
|
|
AC_SUBST(USE_GNAT_SIGINT)
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_GNAT_TRY_LINK version: 3 updated: 2011/03/19 14:47:45
|
|
dnl ----------------
|
|
dnl Verify that a test program compiles/links with GNAT.
|
|
dnl $cf_ada_make is set to the program that compiles/links
|
|
dnl $ADAFLAGS may be set to the GNAT flags.
|
|
dnl
|
|
dnl $1 is the text of the spec
|
|
dnl $2 is the text of the body
|
|
dnl $3 is the shell command to execute if successful
|
|
dnl $4 is the shell command to execute if not successful
|
|
AC_DEFUN([CF_GNAT_TRY_LINK],
|
|
[
|
|
rm -rf conftest* *~conftest*
|
|
cat >>conftest.ads <<CF_EOF
|
|
$1
|
|
CF_EOF
|
|
cat >>conftest.adb <<CF_EOF
|
|
$2
|
|
CF_EOF
|
|
if ( $cf_ada_make $ADAFLAGS conftest 1>&AC_FD_CC 2>&1 ) ; then
|
|
ifelse($3,, :,[ $3])
|
|
ifelse($4,,,[else
|
|
$4])
|
|
fi
|
|
rm -rf conftest* *~conftest*
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_GNAT_TRY_RUN version: 5 updated: 2011/03/19 14:47:45
|
|
dnl ---------------
|
|
dnl Verify that a test program compiles and runs with GNAT
|
|
dnl $cf_ada_make is set to the program that compiles/links
|
|
dnl $ADAFLAGS may be set to the GNAT flags.
|
|
dnl
|
|
dnl $1 is the text of the spec
|
|
dnl $2 is the text of the body
|
|
dnl $3 is the shell command to execute if successful
|
|
dnl $4 is the shell command to execute if not successful
|
|
AC_DEFUN([CF_GNAT_TRY_RUN],
|
|
[
|
|
rm -rf conftest* *~conftest*
|
|
cat >>conftest.ads <<CF_EOF
|
|
$1
|
|
CF_EOF
|
|
cat >>conftest.adb <<CF_EOF
|
|
$2
|
|
CF_EOF
|
|
if ( $cf_ada_make $ADAFLAGS conftest 1>&AC_FD_CC 2>&1 ) ; then
|
|
if ( ./conftest 1>&AC_FD_CC 2>&1 ) ; then
|
|
ifelse($3,, :,[ $3])
|
|
ifelse($4,,,[ else
|
|
$4])
|
|
fi
|
|
ifelse($4,,,[else
|
|
$4])
|
|
fi
|
|
rm -rf conftest* *~conftest*
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_GNAT_VERSION version: 20 updated: 2015/04/18 08:56:57
|
|
dnl ---------------
|
|
dnl Verify version of GNAT.
|
|
AC_DEFUN([CF_GNAT_VERSION],
|
|
[
|
|
AC_MSG_CHECKING(for gnat version)
|
|
cf_gnat_version=`${cf_ada_make:-gnatmake} -v 2>&1 | \
|
|
grep '[[0-9]].[[0-9]][[0-9]]*' |\
|
|
sed -e '2,$d' -e 's/[[^0-9 \.]]//g' -e 's/^[[ ]]*//' -e 's/ .*//'`
|
|
AC_MSG_RESULT($cf_gnat_version)
|
|
|
|
case $cf_gnat_version in
|
|
(3.1[[1-9]]*|3.[[2-9]]*|[[4-9]].*|20[[0-9]][[0-9]])
|
|
cf_cv_prog_gnat_correct=yes
|
|
;;
|
|
(*)
|
|
AC_MSG_WARN(Unsupported GNAT version $cf_gnat_version. We require 3.11 or better. Disabling Ada95 binding.)
|
|
cf_cv_prog_gnat_correct=no
|
|
;;
|
|
esac
|
|
])
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_GNU_SOURCE version: 7 updated: 2016/08/05 05:15:37
|
|
dnl -------------
|
|
dnl Check if we must define _GNU_SOURCE to get a reasonable value for
|
|
dnl _XOPEN_SOURCE, upon which many POSIX definitions depend. This is a defect
|
|
dnl (or misfeature) of glibc2, which breaks portability of many applications,
|
|
dnl since it is interwoven with GNU extensions.
|
|
dnl
|
|
dnl Well, yes we could work around it...
|
|
AC_DEFUN([CF_GNU_SOURCE],
|
|
[
|
|
AC_CACHE_CHECK(if we must define _GNU_SOURCE,cf_cv_gnu_source,[
|
|
AC_TRY_COMPILE([#include <sys/types.h>],[
|
|
#ifndef _XOPEN_SOURCE
|
|
make an error
|
|
#endif],
|
|
[cf_cv_gnu_source=no],
|
|
[cf_save="$CPPFLAGS"
|
|
CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
|
|
AC_TRY_COMPILE([#include <sys/types.h>],[
|
|
#ifdef _XOPEN_SOURCE
|
|
make an error
|
|
#endif],
|
|
[cf_cv_gnu_source=no],
|
|
[cf_cv_gnu_source=yes])
|
|
CPPFLAGS="$cf_save"
|
|
])
|
|
])
|
|
|
|
if test "$cf_cv_gnu_source" = yes
|
|
then
|
|
AC_CACHE_CHECK(if we should also define _DEFAULT_SOURCE,cf_cv_default_source,[
|
|
CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
|
|
AC_TRY_COMPILE([#include <sys/types.h>],[
|
|
#ifdef _DEFAULT_SOURCE
|
|
make an error
|
|
#endif],
|
|
[cf_cv_default_source=no],
|
|
[cf_cv_default_source=yes])
|
|
])
|
|
test "$cf_cv_default_source" = yes && CPPFLAGS="$CPPFLAGS -D_DEFAULT_SOURCE"
|
|
fi
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_HEADER_PATH version: 13 updated: 2015/04/15 19:08:48
|
|
dnl --------------
|
|
dnl Construct a search-list of directories for a nonstandard header-file
|
|
dnl
|
|
dnl Parameters
|
|
dnl $1 = the variable to return as result
|
|
dnl $2 = the package name
|
|
AC_DEFUN([CF_HEADER_PATH],
|
|
[
|
|
$1=
|
|
|
|
# collect the current set of include-directories from compiler flags
|
|
cf_header_path_list=""
|
|
if test -n "${CFLAGS}${CPPFLAGS}" ; then
|
|
for cf_header_path in $CPPFLAGS $CFLAGS
|
|
do
|
|
case $cf_header_path in
|
|
(-I*)
|
|
cf_header_path=`echo ".$cf_header_path" |sed -e 's/^...//' -e 's,/include$,,'`
|
|
CF_ADD_SUBDIR_PATH($1,$2,include,$cf_header_path,NONE)
|
|
cf_header_path_list="$cf_header_path_list [$]$1"
|
|
;;
|
|
esac
|
|
done
|
|
fi
|
|
|
|
# add the variations for the package we are looking for
|
|
CF_SUBDIR_PATH($1,$2,include)
|
|
|
|
test "$includedir" != NONE && \
|
|
test "$includedir" != "/usr/include" && \
|
|
test -d "$includedir" && {
|
|
test -d $includedir && $1="[$]$1 $includedir"
|
|
test -d $includedir/$2 && $1="[$]$1 $includedir/$2"
|
|
}
|
|
|
|
test "$oldincludedir" != NONE && \
|
|
test "$oldincludedir" != "/usr/include" && \
|
|
test -d "$oldincludedir" && {
|
|
test -d $oldincludedir && $1="[$]$1 $oldincludedir"
|
|
test -d $oldincludedir/$2 && $1="[$]$1 $oldincludedir/$2"
|
|
}
|
|
|
|
$1="[$]$1 $cf_header_path_list"
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_HELP_MESSAGE version: 3 updated: 1998/01/14 10:56:23
|
|
dnl ---------------
|
|
dnl Insert text into the help-message, for readability, from AC_ARG_WITH.
|
|
AC_DEFUN([CF_HELP_MESSAGE],
|
|
[AC_DIVERT_HELP([$1])dnl
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_INCLUDE_DIRS version: 10 updated: 2014/09/19 20:58:42
|
|
dnl ---------------
|
|
dnl Construct the list of include-options according to whether we're building
|
|
dnl in the source directory or using '--srcdir=DIR' option.
|
|
AC_DEFUN([CF_INCLUDE_DIRS],
|
|
[
|
|
if test "$srcdir" != "."; then
|
|
CPPFLAGS="-I\${srcdir}/../include $CPPFLAGS"
|
|
fi
|
|
CPPFLAGS="-I../include $CPPFLAGS"
|
|
if test "$srcdir" != "."; then
|
|
CPPFLAGS="-I\${srcdir} $CPPFLAGS"
|
|
fi
|
|
CPPFLAGS="-I. $CPPFLAGS"
|
|
AC_SUBST(CPPFLAGS)
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_INTEL_COMPILER version: 7 updated: 2015/04/12 15:39:00
|
|
dnl -----------------
|
|
dnl Check if the given compiler is really the Intel compiler for Linux. It
|
|
dnl tries to imitate gcc, but does not return an error when it finds a mismatch
|
|
dnl between prototypes, e.g., as exercised by CF_MISSING_CHECK.
|
|
dnl
|
|
dnl This macro should be run "soon" after AC_PROG_CC or AC_PROG_CPLUSPLUS, to
|
|
dnl ensure that it is not mistaken for gcc/g++. It is normally invoked from
|
|
dnl the wrappers for gcc and g++ warnings.
|
|
dnl
|
|
dnl $1 = GCC (default) or GXX
|
|
dnl $2 = INTEL_COMPILER (default) or INTEL_CPLUSPLUS
|
|
dnl $3 = CFLAGS (default) or CXXFLAGS
|
|
AC_DEFUN([CF_INTEL_COMPILER],[
|
|
AC_REQUIRE([AC_CANONICAL_HOST])
|
|
ifelse([$2],,INTEL_COMPILER,[$2])=no
|
|
|
|
if test "$ifelse([$1],,[$1],GCC)" = yes ; then
|
|
case $host_os in
|
|
(linux*|gnu*)
|
|
AC_MSG_CHECKING(if this is really Intel ifelse([$1],GXX,C++,C) compiler)
|
|
cf_save_CFLAGS="$ifelse([$3],,CFLAGS,[$3])"
|
|
ifelse([$3],,CFLAGS,[$3])="$ifelse([$3],,CFLAGS,[$3]) -no-gcc"
|
|
AC_TRY_COMPILE([],[
|
|
#ifdef __INTEL_COMPILER
|
|
#else
|
|
make an error
|
|
#endif
|
|
],[ifelse([$2],,INTEL_COMPILER,[$2])=yes
|
|
cf_save_CFLAGS="$cf_save_CFLAGS -we147"
|
|
],[])
|
|
ifelse([$3],,CFLAGS,[$3])="$cf_save_CFLAGS"
|
|
AC_MSG_RESULT($ifelse([$2],,INTEL_COMPILER,[$2]))
|
|
;;
|
|
esac
|
|
fi
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_LARGEFILE version: 9 updated: 2015/04/18 08:56:57
|
|
dnl ------------
|
|
dnl Add checks for large file support.
|
|
AC_DEFUN([CF_LARGEFILE],[
|
|
ifdef([AC_FUNC_FSEEKO],[
|
|
AC_SYS_LARGEFILE
|
|
if test "$enable_largefile" != no ; then
|
|
AC_FUNC_FSEEKO
|
|
|
|
# Normally we would collect these definitions in the config.h,
|
|
# but (like _XOPEN_SOURCE), some environments rely on having these
|
|
# defined before any of the system headers are included. Another
|
|
# case comes up with C++, e.g., on AIX the compiler compiles the
|
|
# header files by themselves before looking at the body files it is
|
|
# told to compile. For ncurses, those header files do not include
|
|
# the config.h
|
|
test "$ac_cv_sys_large_files" != no && CPPFLAGS="$CPPFLAGS -D_LARGE_FILES "
|
|
test "$ac_cv_sys_largefile_source" != no && CPPFLAGS="$CPPFLAGS -D_LARGEFILE_SOURCE "
|
|
test "$ac_cv_sys_file_offset_bits" != no && CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits "
|
|
|
|
AC_CACHE_CHECK(whether to use struct dirent64, cf_cv_struct_dirent64,[
|
|
AC_TRY_COMPILE([
|
|
#include <sys/types.h>
|
|
#include <dirent.h>
|
|
],[
|
|
/* if transitional largefile support is setup, this is true */
|
|
extern struct dirent64 * readdir(DIR *);
|
|
struct dirent64 *x = readdir((DIR *)0);
|
|
struct dirent *y = readdir((DIR *)0);
|
|
int z = x - y;
|
|
],
|
|
[cf_cv_struct_dirent64=yes],
|
|
[cf_cv_struct_dirent64=no])
|
|
])
|
|
test "$cf_cv_struct_dirent64" = yes && AC_DEFINE(HAVE_STRUCT_DIRENT64,1,[Define to 1 if we have struct dirent64])
|
|
fi
|
|
])
|
|
])
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_LD_RPATH_OPT version: 7 updated: 2016/02/20 18:01:19
|
|
dnl ---------------
|
|
dnl For the given system and compiler, find the compiler flags to pass to the
|
|
dnl loader to use the "rpath" feature.
|
|
AC_DEFUN([CF_LD_RPATH_OPT],
|
|
[
|
|
AC_REQUIRE([CF_CHECK_CACHE])
|
|
|
|
LD_RPATH_OPT=
|
|
AC_MSG_CHECKING(for an rpath option)
|
|
case $cf_cv_system_name in
|
|
(irix*)
|
|
if test "$GCC" = yes; then
|
|
LD_RPATH_OPT="-Wl,-rpath,"
|
|
else
|
|
LD_RPATH_OPT="-rpath "
|
|
fi
|
|
;;
|
|
(linux*|gnu*|k*bsd*-gnu|freebsd*)
|
|
LD_RPATH_OPT="-Wl,-rpath,"
|
|
;;
|
|
(openbsd[[2-9]].*|mirbsd*)
|
|
LD_RPATH_OPT="-Wl,-rpath,"
|
|
;;
|
|
(dragonfly*)
|
|
LD_RPATH_OPT="-rpath "
|
|
;;
|
|
(netbsd*)
|
|
LD_RPATH_OPT="-Wl,-rpath,"
|
|
;;
|
|
(osf*|mls+*)
|
|
LD_RPATH_OPT="-rpath "
|
|
;;
|
|
(solaris2*)
|
|
LD_RPATH_OPT="-R"
|
|
;;
|
|
(*)
|
|
;;
|
|
esac
|
|
AC_MSG_RESULT($LD_RPATH_OPT)
|
|
|
|
case "x$LD_RPATH_OPT" in
|
|
(x-R*)
|
|
AC_MSG_CHECKING(if we need a space after rpath option)
|
|
cf_save_LIBS="$LIBS"
|
|
CF_ADD_LIBS(${LD_RPATH_OPT}$libdir)
|
|
AC_TRY_LINK(, , cf_rpath_space=no, cf_rpath_space=yes)
|
|
LIBS="$cf_save_LIBS"
|
|
AC_MSG_RESULT($cf_rpath_space)
|
|
test "$cf_rpath_space" = yes && LD_RPATH_OPT="$LD_RPATH_OPT "
|
|
;;
|
|
esac
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_LIBRARY_PATH version: 10 updated: 2015/04/15 19:08:48
|
|
dnl ---------------
|
|
dnl Construct a search-list of directories for a nonstandard library-file
|
|
dnl
|
|
dnl Parameters
|
|
dnl $1 = the variable to return as result
|
|
dnl $2 = the package name
|
|
AC_DEFUN([CF_LIBRARY_PATH],
|
|
[
|
|
$1=
|
|
cf_library_path_list=""
|
|
if test -n "${LDFLAGS}${LIBS}" ; then
|
|
for cf_library_path in $LDFLAGS $LIBS
|
|
do
|
|
case $cf_library_path in
|
|
(-L*)
|
|
cf_library_path=`echo ".$cf_library_path" |sed -e 's/^...//' -e 's,/lib$,,'`
|
|
CF_ADD_SUBDIR_PATH($1,$2,lib,$cf_library_path,NONE)
|
|
cf_library_path_list="$cf_library_path_list [$]$1"
|
|
;;
|
|
esac
|
|
done
|
|
fi
|
|
|
|
CF_SUBDIR_PATH($1,$2,lib)
|
|
|
|
$1="$cf_library_path_list [$]$1"
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_LIB_PREFIX version: 12 updated: 2015/10/17 19:03:33
|
|
dnl -------------
|
|
dnl Compute the library-prefix for the given host system
|
|
dnl $1 = variable to set
|
|
define([CF_LIB_PREFIX],
|
|
[
|
|
case $cf_cv_system_name in
|
|
(OS/2*|os2*)
|
|
if test "$DFT_LWR_MODEL" = libtool; then
|
|
LIB_PREFIX='lib'
|
|
else
|
|
LIB_PREFIX=''
|
|
fi
|
|
;;
|
|
(*) LIB_PREFIX='lib'
|
|
;;
|
|
esac
|
|
ifelse($1,,,[$1=$LIB_PREFIX])
|
|
AC_SUBST(LIB_PREFIX)
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_LIB_SUFFIX version: 25 updated: 2015/04/17 21:13:04
|
|
dnl -------------
|
|
dnl Compute the library file-suffix from the given model name
|
|
dnl $1 = model name
|
|
dnl $2 = variable to set (the nominal library suffix)
|
|
dnl $3 = dependency variable to set (actual filename)
|
|
dnl The variable $LIB_SUFFIX, if set, prepends the variable to set.
|
|
AC_DEFUN([CF_LIB_SUFFIX],
|
|
[
|
|
case X$1 in
|
|
(Xlibtool)
|
|
$2='.la'
|
|
$3=[$]$2
|
|
;;
|
|
(Xdebug)
|
|
$2='_g.a'
|
|
$3=[$]$2
|
|
;;
|
|
(Xprofile)
|
|
$2='_p.a'
|
|
$3=[$]$2
|
|
;;
|
|
(Xshared)
|
|
case $cf_cv_system_name in
|
|
(aix[[5-7]]*)
|
|
$2='.so'
|
|
$3=[$]$2
|
|
;;
|
|
(cygwin*|msys*|mingw*)
|
|
$2='.dll'
|
|
$3='.dll.a'
|
|
;;
|
|
(darwin*)
|
|
$2='.dylib'
|
|
$3=[$]$2
|
|
;;
|
|
(hpux*)
|
|
case $target in
|
|
(ia64*)
|
|
$2='.so'
|
|
$3=[$]$2
|
|
;;
|
|
(*)
|
|
$2='.sl'
|
|
$3=[$]$2
|
|
;;
|
|
esac
|
|
;;
|
|
(*)
|
|
$2='.so'
|
|
$3=[$]$2
|
|
;;
|
|
esac
|
|
;;
|
|
(*)
|
|
$2='.a'
|
|
$3=[$]$2
|
|
;;
|
|
esac
|
|
if test -n "${LIB_SUFFIX}${EXTRA_SUFFIX}"
|
|
then
|
|
$2="${LIB_SUFFIX}${EXTRA_SUFFIX}[$]{$2}"
|
|
$3="${LIB_SUFFIX}${EXTRA_SUFFIX}[$]{$3}"
|
|
fi
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_LIB_TYPE version: 5 updated: 2015/04/17 21:13:04
|
|
dnl -----------
|
|
dnl Compute the string to append to -library from the given model name
|
|
dnl $1 = model name
|
|
dnl $2 = variable to set
|
|
dnl The variable $LIB_SUFFIX, if set, prepends the variable to set.
|
|
AC_DEFUN([CF_LIB_TYPE],
|
|
[
|
|
case $1 in
|
|
(libtool) $2='' ;;
|
|
(normal) $2='' ;;
|
|
(debug) $2='_g' ;;
|
|
(profile) $2='_p' ;;
|
|
(shared) $2='' ;;
|
|
esac
|
|
test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_LINK_DATAONLY version: 10 updated: 2012/10/06 17:41:51
|
|
dnl ----------------
|
|
dnl Some systems have a non-ANSI linker that doesn't pull in modules that have
|
|
dnl only data (i.e., no functions), for example NeXT. On those systems we'll
|
|
dnl have to provide wrappers for global tables to ensure they're linked
|
|
dnl properly.
|
|
AC_DEFUN([CF_LINK_DATAONLY],
|
|
[
|
|
AC_MSG_CHECKING([if data-only library module links])
|
|
AC_CACHE_VAL(cf_cv_link_dataonly,[
|
|
rm -f conftest.a
|
|
cat >conftest.$ac_ext <<EOF
|
|
#line __oline__ "configure"
|
|
int testdata[[3]] = { 123, 456, 789 };
|
|
EOF
|
|
if AC_TRY_EVAL(ac_compile) ; then
|
|
mv conftest.o data.o && \
|
|
( $AR $ARFLAGS conftest.a data.o ) 2>&AC_FD_CC 1>/dev/null
|
|
fi
|
|
rm -f conftest.$ac_ext data.o
|
|
cat >conftest.$ac_ext <<EOF
|
|
#line __oline__ "configure"
|
|
int testfunc()
|
|
{
|
|
#if defined(NeXT)
|
|
${cf_cv_main_return:-return}(1); /* I'm told this linker is broken */
|
|
#else
|
|
extern int testdata[[3]];
|
|
return testdata[[0]] == 123
|
|
&& testdata[[1]] == 456
|
|
&& testdata[[2]] == 789;
|
|
#endif
|
|
}
|
|
EOF
|
|
if AC_TRY_EVAL(ac_compile); then
|
|
mv conftest.o func.o && \
|
|
( $AR $ARFLAGS conftest.a func.o ) 2>&AC_FD_CC 1>/dev/null
|
|
fi
|
|
rm -f conftest.$ac_ext func.o
|
|
( eval $RANLIB conftest.a ) 2>&AC_FD_CC >/dev/null
|
|
cf_saveLIBS="$LIBS"
|
|
LIBS="conftest.a $LIBS"
|
|
AC_TRY_RUN([
|
|
int main()
|
|
{
|
|
extern int testfunc();
|
|
${cf_cv_main_return:-return} (!testfunc());
|
|
}
|
|
],
|
|
[cf_cv_link_dataonly=yes],
|
|
[cf_cv_link_dataonly=no],
|
|
[cf_cv_link_dataonly=unknown])
|
|
LIBS="$cf_saveLIBS"
|
|
])
|
|
AC_MSG_RESULT($cf_cv_link_dataonly)
|
|
|
|
if test "$cf_cv_link_dataonly" = no ; then
|
|
AC_DEFINE(BROKEN_LINKER,1,[if data-only library module does not link])
|
|
BROKEN_LINKER=1
|
|
fi
|
|
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_MAKEFLAGS version: 17 updated: 2015/08/05 20:44:28
|
|
dnl ------------
|
|
dnl Some 'make' programs support ${MAKEFLAGS}, some ${MFLAGS}, to pass 'make'
|
|
dnl options to lower-levels. It's very useful for "make -n" -- if we have it.
|
|
dnl (GNU 'make' does both, something POSIX 'make', which happens to make the
|
|
dnl ${MAKEFLAGS} variable incompatible because it adds the assignments :-)
|
|
AC_DEFUN([CF_MAKEFLAGS],
|
|
[
|
|
AC_CACHE_CHECK(for makeflags variable, cf_cv_makeflags,[
|
|
cf_cv_makeflags=''
|
|
for cf_option in '-${MAKEFLAGS}' '${MFLAGS}'
|
|
do
|
|
cat >cf_makeflags.tmp <<CF_EOF
|
|
SHELL = $SHELL
|
|
all :
|
|
@ echo '.$cf_option'
|
|
CF_EOF
|
|
cf_result=`${MAKE:-make} -k -f cf_makeflags.tmp 2>/dev/null | fgrep -v "ing directory" | sed -e 's,[[ ]]*$,,'`
|
|
case "$cf_result" in
|
|
(.*k|.*kw)
|
|
cf_result=`${MAKE:-make} -k -f cf_makeflags.tmp CC=cc 2>/dev/null`
|
|
case "$cf_result" in
|
|
(.*CC=*) cf_cv_makeflags=
|
|
;;
|
|
(*) cf_cv_makeflags=$cf_option
|
|
;;
|
|
esac
|
|
break
|
|
;;
|
|
(.-) ;;
|
|
(*) echo "given option \"$cf_option\", no match \"$cf_result\""
|
|
;;
|
|
esac
|
|
done
|
|
rm -f cf_makeflags.tmp
|
|
])
|
|
|
|
AC_SUBST(cf_cv_makeflags)
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_MAKE_TAGS version: 6 updated: 2010/10/23 15:52:32
|
|
dnl ------------
|
|
dnl Generate tags/TAGS targets for makefiles. Do not generate TAGS if we have
|
|
dnl a monocase filesystem.
|
|
AC_DEFUN([CF_MAKE_TAGS],[
|
|
AC_REQUIRE([CF_MIXEDCASE_FILENAMES])
|
|
|
|
AC_CHECK_PROGS(CTAGS, exctags ctags)
|
|
AC_CHECK_PROGS(ETAGS, exetags etags)
|
|
|
|
AC_CHECK_PROG(MAKE_LOWER_TAGS, ${CTAGS:-ctags}, yes, no)
|
|
|
|
if test "$cf_cv_mixedcase" = yes ; then
|
|
AC_CHECK_PROG(MAKE_UPPER_TAGS, ${ETAGS:-etags}, yes, no)
|
|
else
|
|
MAKE_UPPER_TAGS=no
|
|
fi
|
|
|
|
if test "$MAKE_UPPER_TAGS" = yes ; then
|
|
MAKE_UPPER_TAGS=
|
|
else
|
|
MAKE_UPPER_TAGS="#"
|
|
fi
|
|
|
|
if test "$MAKE_LOWER_TAGS" = yes ; then
|
|
MAKE_LOWER_TAGS=
|
|
else
|
|
MAKE_LOWER_TAGS="#"
|
|
fi
|
|
|
|
AC_SUBST(CTAGS)
|
|
AC_SUBST(ETAGS)
|
|
|
|
AC_SUBST(MAKE_UPPER_TAGS)
|
|
AC_SUBST(MAKE_LOWER_TAGS)
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_MIXEDCASE_FILENAMES version: 7 updated: 2015/04/12 15:39:00
|
|
dnl ----------------------
|
|
dnl Check if the file-system supports mixed-case filenames. If we're able to
|
|
dnl create a lowercase name and see it as uppercase, it doesn't support that.
|
|
AC_DEFUN([CF_MIXEDCASE_FILENAMES],
|
|
[
|
|
AC_CACHE_CHECK(if filesystem supports mixed-case filenames,cf_cv_mixedcase,[
|
|
if test "$cross_compiling" = yes ; then
|
|
case $target_alias in
|
|
(*-os2-emx*|*-msdosdjgpp*|*-cygwin*|*-msys*|*-mingw*|*-uwin*)
|
|
cf_cv_mixedcase=no
|
|
;;
|
|
(*)
|
|
cf_cv_mixedcase=yes
|
|
;;
|
|
esac
|
|
else
|
|
rm -f conftest CONFTEST
|
|
echo test >conftest
|
|
if test -f CONFTEST ; then
|
|
cf_cv_mixedcase=no
|
|
else
|
|
cf_cv_mixedcase=yes
|
|
fi
|
|
rm -f conftest CONFTEST
|
|
fi
|
|
])
|
|
test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES,1,[Define to 1 if filesystem supports mixed-case filenames.])
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_MKSTEMP version: 9 updated: 2012/10/03 04:34:49
|
|
dnl ----------
|
|
dnl Check for a working mkstemp. This creates two files, checks that they are
|
|
dnl successfully created and distinct (AmigaOS apparently fails on the last).
|
|
AC_DEFUN([CF_MKSTEMP],[
|
|
AC_CACHE_CHECK(for working mkstemp, cf_cv_func_mkstemp,[
|
|
rm -rf conftest*
|
|
AC_TRY_RUN([
|
|
#include <sys/types.h>
|
|
#include <stdlib.h>
|
|
#include <stdio.h>
|
|
#include <string.h>
|
|
#include <sys/stat.h>
|
|
int main()
|
|
{
|
|
char *tmpl = "conftestXXXXXX";
|
|
char name[2][80];
|
|
int n;
|
|
int result = 0;
|
|
int fd;
|
|
struct stat sb;
|
|
|
|
umask(077);
|
|
for (n = 0; n < 2; ++n) {
|
|
strcpy(name[n], tmpl);
|
|
if ((fd = mkstemp(name[n])) >= 0) {
|
|
if (!strcmp(name[n], tmpl)
|
|
|| stat(name[n], &sb) != 0
|
|
|| (sb.st_mode & S_IFMT) != S_IFREG
|
|
|| (sb.st_mode & 077) != 0) {
|
|
result = 1;
|
|
}
|
|
close(fd);
|
|
}
|
|
}
|
|
if (result == 0
|
|
&& !strcmp(name[0], name[1]))
|
|
result = 1;
|
|
${cf_cv_main_return:-return}(result);
|
|
}
|
|
],[cf_cv_func_mkstemp=yes
|
|
],[cf_cv_func_mkstemp=no
|
|
],[cf_cv_func_mkstemp=maybe])
|
|
])
|
|
if test "x$cf_cv_func_mkstemp" = xmaybe ; then
|
|
AC_CHECK_FUNC(mkstemp)
|
|
fi
|
|
if test "x$cf_cv_func_mkstemp" = xyes || test "x$ac_cv_func_mkstemp" = xyes ; then
|
|
AC_DEFINE(HAVE_MKSTEMP,1,[Define to 1 if mkstemp() is available and working.])
|
|
fi
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_MSG_LOG version: 5 updated: 2010/10/23 15:52:32
|
|
dnl ----------
|
|
dnl Write a debug message to config.log, along with the line number in the
|
|
dnl configure script.
|
|
AC_DEFUN([CF_MSG_LOG],[
|
|
echo "${as_me:-configure}:__oline__: testing $* ..." 1>&AC_FD_CC
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_NCURSES_ADDON version: 5 updated: 2015/04/26 18:06:58
|
|
dnl ----------------
|
|
dnl Configure an ncurses add-on, built outside the ncurses tree.
|
|
AC_DEFUN([CF_NCURSES_ADDON],[
|
|
AC_REQUIRE([CF_NCURSES_CONFIG])
|
|
|
|
AC_PROVIDE([CF_SUBST_NCURSES_VERSION])
|
|
|
|
AC_MSG_CHECKING(if you want wide-character code)
|
|
AC_ARG_ENABLE(widec,
|
|
[ --enable-widec compile with wide-char/UTF-8 code],
|
|
[with_widec=$enableval],
|
|
[with_widec=no])
|
|
AC_MSG_RESULT($with_widec)
|
|
if test "$with_widec" = yes ; then
|
|
CF_UTF8_LIB
|
|
CF_NCURSES_CONFIG(ncursesw)
|
|
else
|
|
CF_NCURSES_CONFIG(ncurses)
|
|
fi
|
|
|
|
if test "$NCURSES_CONFIG_PKG" != none ; then
|
|
cf_version=`$PKG_CONFIG --modversion $NCURSES_CONFIG_PKG 2>/dev/null`
|
|
|
|
NCURSES_MAJOR=`echo "$cf_version" | sed -e 's/\..*//'`
|
|
NCURSES_MINOR=`echo "$cf_version" | sed -e 's/^[[0-9]][[0-9]]*\.//' -e 's/\..*//'`
|
|
NCURSES_PATCH=`echo "$cf_version" | sed -e 's/^[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\.//'`
|
|
|
|
cf_cv_abi_version=`$PKG_CONFIG --variable=abi_version $NCURSES_CONFIG_PKG 2>/dev/null`
|
|
if test -z "$cf_cv_abi_version"
|
|
then
|
|
cf_cv_abi_version=`$PKG_CONFIG --variable=major_version $NCURSES_CONFIG_PKG 2>/dev/null`
|
|
fi
|
|
|
|
elif test "$NCURSES_CONFIG" != none ; then
|
|
|
|
cf_version=`$NCURSES_CONFIG --version 2>/dev/null`
|
|
|
|
NCURSES_MAJOR=`echo "$cf_version" | sed -e 's/\..*//'`
|
|
NCURSES_MINOR=`echo "$cf_version" | sed -e 's/^[[0-9]][[0-9]]*\.//' -e 's/\..*//'`
|
|
NCURSES_PATCH=`echo "$cf_version" | sed -e 's/^[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\.//'`
|
|
|
|
# ABI version is not available from headers
|
|
cf_cv_abi_version=`$NCURSES_CONFIG --abi-version 2>/dev/null`
|
|
|
|
else
|
|
|
|
for cf_name in MAJOR MINOR PATCH
|
|
do
|
|
cat >conftest.$ac_ext <<CF_EOF
|
|
#include <${cf_cv_ncurses_header:-curses.h}>
|
|
AUTOCONF_$cf_name NCURSES_VERSION_$cf_name
|
|
CF_EOF
|
|
cf_try="$ac_cpp conftest.$ac_ext 2>&5 | fgrep AUTOCONF_$cf_name >conftest.out"
|
|
AC_TRY_EVAL(cf_try)
|
|
if test -f conftest.out ; then
|
|
cf_result=`cat conftest.out | sed -e "s/^.*AUTOCONF_$cf_name[[ ]][[ ]]*//"`
|
|
eval NCURSES_$cf_name=\"$cf_result\"
|
|
# cat conftest.$ac_ext
|
|
# cat conftest.out
|
|
fi
|
|
done
|
|
|
|
cf_cv_abi_version=${NCURSES_MAJOR}
|
|
|
|
fi
|
|
|
|
cf_cv_rel_version=${NCURSES_MAJOR}.${NCURSES_MINOR}
|
|
|
|
dnl Show the computed version, for logging
|
|
cf_cv_timestamp=`date`
|
|
|
|
AC_MSG_RESULT(Configuring NCURSES $cf_cv_rel_version ABI $cf_cv_abi_version ($cf_cv_timestamp))
|
|
|
|
dnl We need these values in the generated headers
|
|
AC_SUBST(NCURSES_MAJOR)
|
|
AC_SUBST(NCURSES_MINOR)
|
|
AC_SUBST(NCURSES_PATCH)
|
|
|
|
dnl We need these values in the generated makefiles
|
|
AC_SUBST(cf_cv_rel_version)
|
|
AC_SUBST(cf_cv_abi_version)
|
|
|
|
dnl FIXME - not needed for Ada95
|
|
AC_SUBST(cf_cv_builtin_bool)
|
|
AC_SUBST(cf_cv_header_stdbool_h)
|
|
AC_SUBST(cf_cv_type_of_bool)dnl
|
|
|
|
])
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_NCURSES_CC_CHECK version: 4 updated: 2007/07/29 10:39:05
|
|
dnl -------------------
|
|
dnl Check if we can compile with ncurses' header file
|
|
dnl $1 is the cache variable to set
|
|
dnl $2 is the header-file to include
|
|
dnl $3 is the root name (ncurses or ncursesw)
|
|
AC_DEFUN([CF_NCURSES_CC_CHECK],[
|
|
AC_TRY_COMPILE([
|
|
]ifelse($3,ncursesw,[
|
|
#define _XOPEN_SOURCE_EXTENDED
|
|
#undef HAVE_LIBUTF8_H /* in case we used CF_UTF8_LIB */
|
|
#define HAVE_LIBUTF8_H /* to force ncurses' header file to use cchar_t */
|
|
])[
|
|
#include <$2>],[
|
|
#ifdef NCURSES_VERSION
|
|
]ifelse($3,ncursesw,[
|
|
#ifndef WACS_BSSB
|
|
make an error
|
|
#endif
|
|
])[
|
|
printf("%s\n", NCURSES_VERSION);
|
|
#else
|
|
#ifdef __NCURSES_H
|
|
printf("old\n");
|
|
#else
|
|
make an error
|
|
#endif
|
|
#endif
|
|
]
|
|
,[$1=$2]
|
|
,[$1=no])
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_NCURSES_CONFIG version: 17 updated: 2015/07/07 04:22:07
|
|
dnl -----------------
|
|
dnl Tie together the configure-script macros for ncurses, preferring these in
|
|
dnl order:
|
|
dnl a) ".pc" files for pkg-config, using $NCURSES_CONFIG_PKG
|
|
dnl b) the "-config" script from ncurses, using $NCURSES_CONFIG
|
|
dnl c) just plain libraries
|
|
dnl
|
|
dnl $1 is the root library name (default: "ncurses")
|
|
AC_DEFUN([CF_NCURSES_CONFIG],[
|
|
AC_REQUIRE([CF_PKG_CONFIG])
|
|
cf_ncuconfig_root=ifelse($1,,ncurses,$1)
|
|
cf_have_ncuconfig=no
|
|
|
|
if test "x${PKG_CONFIG:=none}" != xnone; then
|
|
AC_MSG_CHECKING(pkg-config for $cf_ncuconfig_root)
|
|
if "$PKG_CONFIG" --exists $cf_ncuconfig_root ; then
|
|
AC_MSG_RESULT(yes)
|
|
|
|
AC_MSG_CHECKING(if the $cf_ncuconfig_root package files work)
|
|
cf_have_ncuconfig=unknown
|
|
|
|
cf_save_CPPFLAGS="$CPPFLAGS"
|
|
cf_save_LIBS="$LIBS"
|
|
|
|
CPPFLAGS="$CPPFLAGS `$PKG_CONFIG --cflags $cf_ncuconfig_root`"
|
|
CF_ADD_LIBS(`$PKG_CONFIG --libs $cf_ncuconfig_root`)
|
|
|
|
AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>],
|
|
[initscr(); mousemask(0,0); tgoto((char *)0, 0, 0);],
|
|
[AC_TRY_RUN([#include <${cf_cv_ncurses_header:-curses.h}>
|
|
int main(void)
|
|
{ char *xx = curses_version(); return (xx == 0); }],
|
|
[cf_have_ncuconfig=yes],
|
|
[cf_have_ncuconfig=no],
|
|
[cf_have_ncuconfig=maybe])],
|
|
[cf_have_ncuconfig=no])
|
|
AC_MSG_RESULT($cf_have_ncuconfig)
|
|
test "$cf_have_ncuconfig" = maybe && cf_have_ncuconfig=yes
|
|
if test "$cf_have_ncuconfig" != "yes"
|
|
then
|
|
CPPFLAGS="$cf_save_CPPFLAGS"
|
|
LIBS="$cf_save_LIBS"
|
|
NCURSES_CONFIG_PKG=none
|
|
else
|
|
AC_DEFINE(NCURSES,1,[Define to 1 if we are using ncurses headers/libraries])
|
|
NCURSES_CONFIG_PKG=$cf_ncuconfig_root
|
|
fi
|
|
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
NCURSES_CONFIG_PKG=none
|
|
fi
|
|
else
|
|
NCURSES_CONFIG_PKG=none
|
|
fi
|
|
|
|
if test "x$cf_have_ncuconfig" = "xno"; then
|
|
echo "Looking for ${cf_ncuconfig_root}-config"
|
|
|
|
CF_ACVERSION_CHECK(2.52,
|
|
[AC_CHECK_TOOLS(NCURSES_CONFIG, ${cf_ncuconfig_root}-config ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config, none)],
|
|
[AC_PATH_PROGS(NCURSES_CONFIG, ${cf_ncuconfig_root}-config ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config, none)])
|
|
|
|
if test "$NCURSES_CONFIG" != none ; then
|
|
|
|
CPPFLAGS="$CPPFLAGS `$NCURSES_CONFIG --cflags`"
|
|
CF_ADD_LIBS(`$NCURSES_CONFIG --libs`)
|
|
|
|
# even with config script, some packages use no-override for curses.h
|
|
CF_CURSES_HEADER(ifelse($1,,ncurses,$1))
|
|
|
|
dnl like CF_NCURSES_CPPFLAGS
|
|
AC_DEFINE(NCURSES,1,[Define to 1 if we are using ncurses headers/libraries])
|
|
|
|
dnl like CF_NCURSES_LIBS
|
|
CF_UPPER(cf_nculib_ROOT,HAVE_LIB$cf_ncuconfig_root)
|
|
AC_DEFINE_UNQUOTED($cf_nculib_ROOT)
|
|
|
|
dnl like CF_NCURSES_VERSION
|
|
cf_cv_ncurses_version=`$NCURSES_CONFIG --version`
|
|
|
|
else
|
|
|
|
CF_NCURSES_CPPFLAGS(ifelse($1,,ncurses,$1))
|
|
CF_NCURSES_LIBS(ifelse($1,,ncurses,$1))
|
|
|
|
fi
|
|
else
|
|
NCURSES_CONFIG=none
|
|
fi
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_NCURSES_CPPFLAGS version: 21 updated: 2012/10/06 08:57:51
|
|
dnl -------------------
|
|
dnl Look for the SVr4 curses clone 'ncurses' in the standard places, adjusting
|
|
dnl the CPPFLAGS variable so we can include its header.
|
|
dnl
|
|
dnl The header files may be installed as either curses.h, or ncurses.h (would
|
|
dnl be obsolete, except that some packagers prefer this name to distinguish it
|
|
dnl from a "native" curses implementation). If not installed for overwrite,
|
|
dnl the curses.h file would be in an ncurses subdirectory (e.g.,
|
|
dnl /usr/include/ncurses), but someone may have installed overwriting the
|
|
dnl vendor's curses. Only very old versions (pre-1.9.2d, the first autoconf'd
|
|
dnl version) of ncurses don't define either __NCURSES_H or NCURSES_VERSION in
|
|
dnl the header.
|
|
dnl
|
|
dnl If the installer has set $CFLAGS or $CPPFLAGS so that the ncurses header
|
|
dnl is already in the include-path, don't even bother with this, since we cannot
|
|
dnl easily determine which file it is. In this case, it has to be <curses.h>.
|
|
dnl
|
|
dnl The optional parameter gives the root name of the library, in case it is
|
|
dnl not installed as the default curses library. That is how the
|
|
dnl wide-character version of ncurses is installed.
|
|
AC_DEFUN([CF_NCURSES_CPPFLAGS],
|
|
[AC_REQUIRE([CF_WITH_CURSES_DIR])
|
|
|
|
AC_PROVIDE([CF_CURSES_CPPFLAGS])dnl
|
|
cf_ncuhdr_root=ifelse($1,,ncurses,$1)
|
|
|
|
test -n "$cf_cv_curses_dir" && \
|
|
test "$cf_cv_curses_dir" != "no" && { \
|
|
CF_ADD_INCDIR($cf_cv_curses_dir/include/$cf_ncuhdr_root)
|
|
}
|
|
|
|
AC_CACHE_CHECK(for $cf_ncuhdr_root header in include-path, cf_cv_ncurses_h,[
|
|
cf_header_list="$cf_ncuhdr_root/curses.h $cf_ncuhdr_root/ncurses.h"
|
|
( test "$cf_ncuhdr_root" = ncurses || test "$cf_ncuhdr_root" = ncursesw ) && cf_header_list="$cf_header_list curses.h ncurses.h"
|
|
for cf_header in $cf_header_list
|
|
do
|
|
CF_NCURSES_CC_CHECK(cf_cv_ncurses_h,$cf_header,$1)
|
|
test "$cf_cv_ncurses_h" != no && break
|
|
done
|
|
])
|
|
|
|
CF_NCURSES_HEADER
|
|
CF_TERM_HEADER
|
|
|
|
# some applications need this, but should check for NCURSES_VERSION
|
|
AC_DEFINE(NCURSES,1,[Define to 1 if we are using ncurses headers/libraries])
|
|
|
|
CF_NCURSES_VERSION
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_NCURSES_HEADER version: 4 updated: 2015/04/15 19:08:48
|
|
dnl -----------------
|
|
dnl Find a "curses" header file, e.g,. "curses.h", or one of the more common
|
|
dnl variations of ncurses' installs.
|
|
dnl
|
|
dnl See also CF_CURSES_HEADER, which sets the same cache variable.
|
|
AC_DEFUN([CF_NCURSES_HEADER],[
|
|
|
|
if test "$cf_cv_ncurses_h" != no ; then
|
|
cf_cv_ncurses_header=$cf_cv_ncurses_h
|
|
else
|
|
|
|
AC_CACHE_CHECK(for $cf_ncuhdr_root include-path, cf_cv_ncurses_h2,[
|
|
test -n "$verbose" && echo
|
|
CF_HEADER_PATH(cf_search,$cf_ncuhdr_root)
|
|
test -n "$verbose" && echo search path $cf_search
|
|
cf_save2_CPPFLAGS="$CPPFLAGS"
|
|
for cf_incdir in $cf_search
|
|
do
|
|
CF_ADD_INCDIR($cf_incdir)
|
|
for cf_header in \
|
|
ncurses.h \
|
|
curses.h
|
|
do
|
|
CF_NCURSES_CC_CHECK(cf_cv_ncurses_h2,$cf_header,$1)
|
|
if test "$cf_cv_ncurses_h2" != no ; then
|
|
cf_cv_ncurses_h2=$cf_incdir/$cf_header
|
|
test -n "$verbose" && echo $ac_n " ... found $ac_c" 1>&AC_FD_MSG
|
|
break
|
|
fi
|
|
test -n "$verbose" && echo " ... tested $cf_incdir/$cf_header" 1>&AC_FD_MSG
|
|
done
|
|
CPPFLAGS="$cf_save2_CPPFLAGS"
|
|
test "$cf_cv_ncurses_h2" != no && break
|
|
done
|
|
test "$cf_cv_ncurses_h2" = no && AC_MSG_ERROR(not found)
|
|
])
|
|
|
|
CF_DIRNAME(cf_1st_incdir,$cf_cv_ncurses_h2)
|
|
cf_cv_ncurses_header=`basename $cf_cv_ncurses_h2`
|
|
if test `basename $cf_1st_incdir` = $cf_ncuhdr_root ; then
|
|
cf_cv_ncurses_header=$cf_ncuhdr_root/$cf_cv_ncurses_header
|
|
fi
|
|
CF_ADD_INCDIR($cf_1st_incdir)
|
|
|
|
fi
|
|
|
|
# Set definitions to allow ifdef'ing for ncurses.h
|
|
|
|
case $cf_cv_ncurses_header in
|
|
(*ncurses.h)
|
|
AC_DEFINE(HAVE_NCURSES_H,1,[Define to 1 if we have ncurses.h])
|
|
;;
|
|
esac
|
|
|
|
case $cf_cv_ncurses_header in
|
|
(ncurses/curses.h|ncurses/ncurses.h)
|
|
AC_DEFINE(HAVE_NCURSES_NCURSES_H,1,[Define to 1 if we have ncurses/ncurses.h])
|
|
;;
|
|
(ncursesw/curses.h|ncursesw/ncurses.h)
|
|
AC_DEFINE(HAVE_NCURSESW_NCURSES_H,1,[Define to 1 if we have ncursesw/ncurses.h])
|
|
;;
|
|
esac
|
|
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_NCURSES_LIBS version: 17 updated: 2015/04/15 19:08:48
|
|
dnl ---------------
|
|
dnl Look for the ncurses library. This is a little complicated on Linux,
|
|
dnl because it may be linked with the gpm (general purpose mouse) library.
|
|
dnl Some distributions have gpm linked with (bsd) curses, which makes it
|
|
dnl unusable with ncurses. However, we don't want to link with gpm unless
|
|
dnl ncurses has a dependency, since gpm is normally set up as a shared library,
|
|
dnl and the linker will record a dependency.
|
|
dnl
|
|
dnl The optional parameter gives the root name of the library, in case it is
|
|
dnl not installed as the default curses library. That is how the
|
|
dnl wide-character version of ncurses is installed.
|
|
AC_DEFUN([CF_NCURSES_LIBS],
|
|
[AC_REQUIRE([CF_NCURSES_CPPFLAGS])
|
|
|
|
cf_nculib_root=ifelse($1,,ncurses,$1)
|
|
# This works, except for the special case where we find gpm, but
|
|
# ncurses is in a nonstandard location via $LIBS, and we really want
|
|
# to link gpm.
|
|
cf_ncurses_LIBS=""
|
|
cf_ncurses_SAVE="$LIBS"
|
|
AC_CHECK_LIB(gpm,Gpm_Open,
|
|
[AC_CHECK_LIB(gpm,initscr,
|
|
[LIBS="$cf_ncurses_SAVE"],
|
|
[cf_ncurses_LIBS="-lgpm"])])
|
|
|
|
case $host_os in
|
|
(freebsd*)
|
|
# This is only necessary if you are linking against an obsolete
|
|
# version of ncurses (but it should do no harm, since it's static).
|
|
if test "$cf_nculib_root" = ncurses ; then
|
|
AC_CHECK_LIB(mytinfo,tgoto,[cf_ncurses_LIBS="-lmytinfo $cf_ncurses_LIBS"])
|
|
fi
|
|
;;
|
|
esac
|
|
|
|
CF_ADD_LIBS($cf_ncurses_LIBS)
|
|
|
|
if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" )
|
|
then
|
|
CF_ADD_LIBS(-l$cf_nculib_root)
|
|
else
|
|
CF_FIND_LIBRARY($cf_nculib_root,$cf_nculib_root,
|
|
[#include <${cf_cv_ncurses_header:-curses.h}>],
|
|
[initscr()],
|
|
initscr)
|
|
fi
|
|
|
|
if test -n "$cf_ncurses_LIBS" ; then
|
|
AC_MSG_CHECKING(if we can link $cf_nculib_root without $cf_ncurses_LIBS)
|
|
cf_ncurses_SAVE="$LIBS"
|
|
for p in $cf_ncurses_LIBS ; do
|
|
q=`echo $LIBS | sed -e "s%$p %%" -e "s%$p$%%"`
|
|
if test "$q" != "$LIBS" ; then
|
|
LIBS="$q"
|
|
fi
|
|
done
|
|
AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>],
|
|
[initscr(); mousemask(0,0); tgoto((char *)0, 0, 0);],
|
|
[AC_MSG_RESULT(yes)],
|
|
[AC_MSG_RESULT(no)
|
|
LIBS="$cf_ncurses_SAVE"])
|
|
fi
|
|
|
|
CF_UPPER(cf_nculib_ROOT,HAVE_LIB$cf_nculib_root)
|
|
AC_DEFINE_UNQUOTED($cf_nculib_ROOT)
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_NCURSES_VERSION version: 14 updated: 2012/10/06 08:57:51
|
|
dnl ------------------
|
|
dnl Check for the version of ncurses, to aid in reporting bugs, etc.
|
|
dnl Call CF_CURSES_CPPFLAGS first, or CF_NCURSES_CPPFLAGS. We don't use
|
|
dnl AC_REQUIRE since that does not work with the shell's if/then/else/fi.
|
|
AC_DEFUN([CF_NCURSES_VERSION],
|
|
[
|
|
AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl
|
|
AC_CACHE_CHECK(for ncurses version, cf_cv_ncurses_version,[
|
|
cf_cv_ncurses_version=no
|
|
cf_tempfile=out$$
|
|
rm -f $cf_tempfile
|
|
AC_TRY_RUN([
|
|
#include <${cf_cv_ncurses_header:-curses.h}>
|
|
#include <stdio.h>
|
|
int main()
|
|
{
|
|
FILE *fp = fopen("$cf_tempfile", "w");
|
|
#ifdef NCURSES_VERSION
|
|
# ifdef NCURSES_VERSION_PATCH
|
|
fprintf(fp, "%s.%d\n", NCURSES_VERSION, NCURSES_VERSION_PATCH);
|
|
# else
|
|
fprintf(fp, "%s\n", NCURSES_VERSION);
|
|
# endif
|
|
#else
|
|
# ifdef __NCURSES_H
|
|
fprintf(fp, "old\n");
|
|
# else
|
|
make an error
|
|
# endif
|
|
#endif
|
|
${cf_cv_main_return:-return}(0);
|
|
}],[
|
|
cf_cv_ncurses_version=`cat $cf_tempfile`],,[
|
|
|
|
# This will not work if the preprocessor splits the line after the
|
|
# Autoconf token. The 'unproto' program does that.
|
|
cat > conftest.$ac_ext <<EOF
|
|
#include <${cf_cv_ncurses_header:-curses.h}>
|
|
#undef Autoconf
|
|
#ifdef NCURSES_VERSION
|
|
Autoconf NCURSES_VERSION
|
|
#else
|
|
#ifdef __NCURSES_H
|
|
Autoconf "old"
|
|
#endif
|
|
;
|
|
#endif
|
|
EOF
|
|
cf_try="$ac_cpp conftest.$ac_ext 2>&AC_FD_CC | grep '^Autoconf ' >conftest.out"
|
|
AC_TRY_EVAL(cf_try)
|
|
if test -f conftest.out ; then
|
|
cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[[^"]]*"%%' -e 's%".*%%'`
|
|
test -n "$cf_out" && cf_cv_ncurses_version="$cf_out"
|
|
rm -f conftest.out
|
|
fi
|
|
])
|
|
rm -f $cf_tempfile
|
|
])
|
|
test "$cf_cv_ncurses_version" = no || AC_DEFINE(NCURSES,1,[Define to 1 if we are using ncurses headers/libraries])
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_OBJ_SUBDIR version: 7 updated: 2015/04/17 21:13:04
|
|
dnl -------------
|
|
dnl Compute the object-directory name from the given model name
|
|
AC_DEFUN([CF_OBJ_SUBDIR],
|
|
[
|
|
case $1 in
|
|
(libtool) $2='obj_lo' ;;
|
|
(normal) $2='objects' ;;
|
|
(debug) $2='obj_g' ;;
|
|
(profile) $2='obj_p' ;;
|
|
(shared)
|
|
case $cf_cv_system_name in
|
|
(cygwin|msys)
|
|
$2='objects' ;;
|
|
(*)
|
|
$2='obj_s' ;;
|
|
esac
|
|
esac
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_PATHSEP version: 7 updated: 2015/04/12 15:39:00
|
|
dnl ----------
|
|
dnl Provide a value for the $PATH and similar separator (or amend the value
|
|
dnl as provided in autoconf 2.5x).
|
|
AC_DEFUN([CF_PATHSEP],
|
|
[
|
|
AC_MSG_CHECKING(for PATH separator)
|
|
case $cf_cv_system_name in
|
|
(os2*) PATH_SEPARATOR=';' ;;
|
|
(*) ${PATH_SEPARATOR:=':'} ;;
|
|
esac
|
|
ifelse([$1],,,[$1=$PATH_SEPARATOR])
|
|
AC_SUBST(PATH_SEPARATOR)
|
|
AC_MSG_RESULT($PATH_SEPARATOR)
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_PATH_SYNTAX version: 16 updated: 2015/04/18 08:56:57
|
|
dnl --------------
|
|
dnl Check the argument to see that it looks like a pathname. Rewrite it if it
|
|
dnl begins with one of the prefix/exec_prefix variables, and then again if the
|
|
dnl result begins with 'NONE'. This is necessary to work around autoconf's
|
|
dnl delayed evaluation of those symbols.
|
|
AC_DEFUN([CF_PATH_SYNTAX],[
|
|
if test "x$prefix" != xNONE; then
|
|
cf_path_syntax="$prefix"
|
|
else
|
|
cf_path_syntax="$ac_default_prefix"
|
|
fi
|
|
|
|
case ".[$]$1" in
|
|
(.\[$]\(*\)*|.\'*\'*)
|
|
;;
|
|
(..|./*|.\\*)
|
|
;;
|
|
(.[[a-zA-Z]]:[[\\/]]*) # OS/2 EMX
|
|
;;
|
|
(.\[$]{*prefix}*|.\[$]{*dir}*)
|
|
eval $1="[$]$1"
|
|
case ".[$]$1" in
|
|
(.NONE/*)
|
|
$1=`echo [$]$1 | sed -e s%NONE%$cf_path_syntax%`
|
|
;;
|
|
esac
|
|
;;
|
|
(.no|.NONE/*)
|
|
$1=`echo [$]$1 | sed -e s%NONE%$cf_path_syntax%`
|
|
;;
|
|
(*)
|
|
ifelse([$2],,[AC_MSG_ERROR([expected a pathname, not \"[$]$1\"])],$2)
|
|
;;
|
|
esac
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_PKG_CONFIG version: 10 updated: 2015/04/26 18:06:58
|
|
dnl -------------
|
|
dnl Check for the package-config program, unless disabled by command-line.
|
|
AC_DEFUN([CF_PKG_CONFIG],
|
|
[
|
|
AC_MSG_CHECKING(if you want to use pkg-config)
|
|
AC_ARG_WITH(pkg-config,
|
|
[ --with-pkg-config{=path} enable/disable use of pkg-config],
|
|
[cf_pkg_config=$withval],
|
|
[cf_pkg_config=yes])
|
|
AC_MSG_RESULT($cf_pkg_config)
|
|
|
|
case $cf_pkg_config in
|
|
(no)
|
|
PKG_CONFIG=none
|
|
;;
|
|
(yes)
|
|
CF_ACVERSION_CHECK(2.52,
|
|
[AC_PATH_TOOL(PKG_CONFIG, pkg-config, none)],
|
|
[AC_PATH_PROG(PKG_CONFIG, pkg-config, none)])
|
|
;;
|
|
(*)
|
|
PKG_CONFIG=$withval
|
|
;;
|
|
esac
|
|
|
|
test -z "$PKG_CONFIG" && PKG_CONFIG=none
|
|
if test "$PKG_CONFIG" != none ; then
|
|
CF_PATH_SYNTAX(PKG_CONFIG)
|
|
elif test "x$cf_pkg_config" != xno ; then
|
|
AC_MSG_WARN(pkg-config is not installed)
|
|
fi
|
|
|
|
AC_SUBST(PKG_CONFIG)
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_POSIX_C_SOURCE version: 9 updated: 2015/04/12 15:39:00
|
|
dnl -----------------
|
|
dnl Define _POSIX_C_SOURCE to the given level, and _POSIX_SOURCE if needed.
|
|
dnl
|
|
dnl POSIX.1-1990 _POSIX_SOURCE
|
|
dnl POSIX.1-1990 and _POSIX_SOURCE and
|
|
dnl POSIX.2-1992 C-Language _POSIX_C_SOURCE=2
|
|
dnl Bindings Option
|
|
dnl POSIX.1b-1993 _POSIX_C_SOURCE=199309L
|
|
dnl POSIX.1c-1996 _POSIX_C_SOURCE=199506L
|
|
dnl X/Open 2000 _POSIX_C_SOURCE=200112L
|
|
dnl
|
|
dnl Parameters:
|
|
dnl $1 is the nominal value for _POSIX_C_SOURCE
|
|
AC_DEFUN([CF_POSIX_C_SOURCE],
|
|
[
|
|
cf_POSIX_C_SOURCE=ifelse([$1],,199506L,[$1])
|
|
|
|
cf_save_CFLAGS="$CFLAGS"
|
|
cf_save_CPPFLAGS="$CPPFLAGS"
|
|
|
|
CF_REMOVE_DEFINE(cf_trim_CFLAGS,$cf_save_CFLAGS,_POSIX_C_SOURCE)
|
|
CF_REMOVE_DEFINE(cf_trim_CPPFLAGS,$cf_save_CPPFLAGS,_POSIX_C_SOURCE)
|
|
|
|
AC_CACHE_CHECK(if we should define _POSIX_C_SOURCE,cf_cv_posix_c_source,[
|
|
CF_MSG_LOG(if the symbol is already defined go no further)
|
|
AC_TRY_COMPILE([#include <sys/types.h>],[
|
|
#ifndef _POSIX_C_SOURCE
|
|
make an error
|
|
#endif],
|
|
[cf_cv_posix_c_source=no],
|
|
[cf_want_posix_source=no
|
|
case .$cf_POSIX_C_SOURCE in
|
|
(.[[12]]??*)
|
|
cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
|
|
;;
|
|
(.2)
|
|
cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
|
|
cf_want_posix_source=yes
|
|
;;
|
|
(.*)
|
|
cf_want_posix_source=yes
|
|
;;
|
|
esac
|
|
if test "$cf_want_posix_source" = yes ; then
|
|
AC_TRY_COMPILE([#include <sys/types.h>],[
|
|
#ifdef _POSIX_SOURCE
|
|
make an error
|
|
#endif],[],
|
|
cf_cv_posix_c_source="$cf_cv_posix_c_source -D_POSIX_SOURCE")
|
|
fi
|
|
CF_MSG_LOG(ifdef from value $cf_POSIX_C_SOURCE)
|
|
CFLAGS="$cf_trim_CFLAGS"
|
|
CPPFLAGS="$cf_trim_CPPFLAGS $cf_cv_posix_c_source"
|
|
CF_MSG_LOG(if the second compile does not leave our definition intact error)
|
|
AC_TRY_COMPILE([#include <sys/types.h>],[
|
|
#ifndef _POSIX_C_SOURCE
|
|
make an error
|
|
#endif],,
|
|
[cf_cv_posix_c_source=no])
|
|
CFLAGS="$cf_save_CFLAGS"
|
|
CPPFLAGS="$cf_save_CPPFLAGS"
|
|
])
|
|
])
|
|
|
|
if test "$cf_cv_posix_c_source" != no ; then
|
|
CFLAGS="$cf_trim_CFLAGS"
|
|
CPPFLAGS="$cf_trim_CPPFLAGS"
|
|
CF_ADD_CFLAGS($cf_cv_posix_c_source)
|
|
fi
|
|
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_PROG_AR version: 1 updated: 2009/01/01 20:15:22
|
|
dnl ----------
|
|
dnl Check for archiver "ar".
|
|
AC_DEFUN([CF_PROG_AR],[
|
|
AC_CHECK_TOOL(AR, ar, ar)
|
|
])
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_PROG_AWK version: 1 updated: 2006/09/16 11:40:59
|
|
dnl -----------
|
|
dnl Check for awk, ensure that the check found something.
|
|
AC_DEFUN([CF_PROG_AWK],
|
|
[
|
|
AC_PROG_AWK
|
|
test -z "$AWK" && AC_MSG_ERROR(No awk program found)
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_PROG_CC version: 4 updated: 2014/07/12 18:57:58
|
|
dnl ----------
|
|
dnl standard check for CC, plus followup sanity checks
|
|
dnl $1 = optional parameter to pass to AC_PROG_CC to specify compiler name
|
|
AC_DEFUN([CF_PROG_CC],[
|
|
ifelse($1,,[AC_PROG_CC],[AC_PROG_CC($1)])
|
|
CF_GCC_VERSION
|
|
CF_ACVERSION_CHECK(2.52,
|
|
[AC_PROG_CC_STDC],
|
|
[CF_ANSI_CC_REQD])
|
|
CF_CC_ENV_FLAGS
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_PROG_CC_C_O version: 4 updated: 2016/05/21 18:08:09
|
|
dnl --------------
|
|
dnl Analogous to AC_PROG_CC_C_O, but more useful: tests only $CC, ensures that
|
|
dnl the output file can be renamed, and allows for a shell variable that can
|
|
dnl be used later. The parameter is either CC or CXX. The result is the
|
|
dnl cache variable:
|
|
dnl $cf_cv_prog_CC_c_o
|
|
dnl $cf_cv_prog_CXX_c_o
|
|
dnl
|
|
dnl $1 = compiler
|
|
dnl $2 = compiler options, if any
|
|
AC_DEFUN([CF_PROG_CC_C_O],
|
|
[AC_REQUIRE([AC_PROG_CC])dnl
|
|
AC_MSG_CHECKING([whether [$]$1 understands -c and -o together])
|
|
AC_CACHE_VAL(cf_cv_prog_$1_c_o,
|
|
[
|
|
cat > conftest.$ac_ext <<CF_EOF
|
|
int main()
|
|
{
|
|
${cf_cv_main_return:-return}(0);
|
|
}
|
|
CF_EOF
|
|
# We do the test twice because some compilers refuse to overwrite an
|
|
# existing .o file with -o, though they will create one.
|
|
ac_try='[$]$1 $2 -c conftest.$ac_ext -o conftest2.$ac_objext >&AC_FD_CC'
|
|
if AC_TRY_EVAL(ac_try) &&
|
|
test -f conftest2.$ac_objext && AC_TRY_EVAL(ac_try);
|
|
then
|
|
eval cf_cv_prog_$1_c_o=yes
|
|
else
|
|
eval cf_cv_prog_$1_c_o=no
|
|
fi
|
|
rm -rf conftest*
|
|
])dnl
|
|
if test $cf_cv_prog_$1_c_o = yes; then
|
|
AC_MSG_RESULT([yes])
|
|
else
|
|
AC_MSG_RESULT([no])
|
|
fi
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_PROG_EGREP version: 2 updated: 2015/04/18 08:56:57
|
|
dnl -------------
|
|
dnl AC_PROG_EGREP was introduced in autoconf 2.53.
|
|
dnl This macro adds a check to ensure the script found something.
|
|
AC_DEFUN([CF_PROG_EGREP],
|
|
[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
|
|
[if echo a | (grep -E '(a|b)') >/dev/null 2>&1
|
|
then ac_cv_prog_egrep='grep -E'
|
|
else ac_cv_prog_egrep='egrep'
|
|
fi])
|
|
EGREP=$ac_cv_prog_egrep
|
|
AC_SUBST([EGREP])
|
|
test -z "$EGREP" && AC_MSG_ERROR(No egrep program found)
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_PROG_EXT version: 13 updated: 2015/04/18 09:03:58
|
|
dnl -----------
|
|
dnl Compute $PROG_EXT, used for non-Unix ports, such as OS/2 EMX.
|
|
AC_DEFUN([CF_PROG_EXT],
|
|
[
|
|
AC_REQUIRE([CF_CHECK_CACHE])
|
|
case $cf_cv_system_name in
|
|
(os2*)
|
|
CFLAGS="$CFLAGS -Zmt"
|
|
CPPFLAGS="$CPPFLAGS -D__ST_MT_ERRNO__"
|
|
CXXFLAGS="$CXXFLAGS -Zmt"
|
|
# autoconf's macro sets -Zexe and suffix both, which conflict:w
|
|
LDFLAGS="$LDFLAGS -Zmt -Zcrtdll"
|
|
ac_cv_exeext=.exe
|
|
;;
|
|
esac
|
|
|
|
AC_EXEEXT
|
|
AC_OBJEXT
|
|
|
|
PROG_EXT="$EXEEXT"
|
|
AC_SUBST(PROG_EXT)
|
|
test -n "$PROG_EXT" && AC_DEFINE_UNQUOTED(PROG_EXT,"$PROG_EXT",[Define to the program extension (normally blank)])
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_PROG_GNAT version: 3 updated: 2015/04/18 08:56:57
|
|
dnl ------------
|
|
dnl Check for gnatmake, ensure that it is complete.
|
|
AC_DEFUN([CF_PROG_GNAT],[
|
|
cf_ada_make=gnatmake
|
|
AC_CHECK_PROG(gnat_exists, $cf_ada_make, yes, no)
|
|
if test "$ac_cv_prog_gnat_exists" = no; then
|
|
cf_ada_make=
|
|
cf_cv_prog_gnat_correct=no
|
|
else
|
|
CF_GNAT_VERSION
|
|
AC_CHECK_PROG(M4_exists, m4, yes, no)
|
|
if test "$ac_cv_prog_M4_exists" = no; then
|
|
cf_cv_prog_gnat_correct=no
|
|
echo Ada95 binding required program m4 not found. Ada95 binding disabled.
|
|
fi
|
|
if test "$cf_cv_prog_gnat_correct" = yes; then
|
|
AC_MSG_CHECKING(if GNAT works)
|
|
CF_GNAT_TRY_RUN([procedure conftest;],
|
|
[with Text_IO;
|
|
with GNAT.OS_Lib;
|
|
procedure conftest is
|
|
begin
|
|
Text_IO.Put ("Hello World");
|
|
Text_IO.New_Line;
|
|
GNAT.OS_Lib.OS_Exit (0);
|
|
end conftest;],[cf_cv_prog_gnat_correct=yes],[cf_cv_prog_gnat_correct=no])
|
|
AC_MSG_RESULT($cf_cv_prog_gnat_correct)
|
|
fi
|
|
fi
|
|
|
|
AC_SUBST(cf_ada_make)
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_PROG_LN_S version: 2 updated: 2010/08/14 18:25:37
|
|
dnl ------------
|
|
dnl Combine checks for "ln -s" and "ln -sf", updating $LN_S to include "-f"
|
|
dnl option if it is supported.
|
|
AC_DEFUN([CF_PROG_LN_S],[
|
|
AC_PROG_LN_S
|
|
AC_MSG_CHECKING(if $LN_S -f options work)
|
|
|
|
rm -f conf$$.src conf$$dst
|
|
echo >conf$$.dst
|
|
echo first >conf$$.src
|
|
if $LN_S -f conf$$.src conf$$.dst 2>/dev/null; then
|
|
cf_prog_ln_sf=yes
|
|
else
|
|
cf_prog_ln_sf=no
|
|
fi
|
|
rm -f conf$$.dst conf$$src
|
|
AC_MSG_RESULT($cf_prog_ln_sf)
|
|
|
|
test "$cf_prog_ln_sf" = yes && LN_S="$LN_S -f"
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_REMOVE_DEFINE version: 3 updated: 2010/01/09 11:05:50
|
|
dnl ----------------
|
|
dnl Remove all -U and -D options that refer to the given symbol from a list
|
|
dnl of C compiler options. This works around the problem that not all
|
|
dnl compilers process -U and -D options from left-to-right, so a -U option
|
|
dnl cannot be used to cancel the effect of a preceding -D option.
|
|
dnl
|
|
dnl $1 = target (which could be the same as the source variable)
|
|
dnl $2 = source (including '$')
|
|
dnl $3 = symbol to remove
|
|
define([CF_REMOVE_DEFINE],
|
|
[
|
|
$1=`echo "$2" | \
|
|
sed -e 's/-[[UD]]'"$3"'\(=[[^ ]]*\)\?[[ ]]/ /g' \
|
|
-e 's/-[[UD]]'"$3"'\(=[[^ ]]*\)\?[$]//g'`
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_REMOVE_LIB version: 1 updated: 2007/02/17 14:11:52
|
|
dnl -------------
|
|
dnl Remove the given library from the symbol
|
|
dnl
|
|
dnl $1 = target (which could be the same as the source variable)
|
|
dnl $2 = source (including '$')
|
|
dnl $3 = library to remove
|
|
define([CF_REMOVE_LIB],
|
|
[
|
|
# remove $3 library from $2
|
|
$1=`echo "$2" | sed -e 's/-l$3[[ ]]//g' -e 's/-l$3[$]//'`
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_SHARED_OPTS version: 89 updated: 2015/08/15 18:38:59
|
|
dnl --------------
|
|
dnl --------------
|
|
dnl Attempt to determine the appropriate CC/LD options for creating a shared
|
|
dnl library.
|
|
dnl
|
|
dnl Notes:
|
|
dnl a) ${LOCAL_LDFLAGS} is used to link executables that will run within
|
|
dnl the build-tree, i.e., by making use of the libraries that are compiled in
|
|
dnl $rel_builddir/lib We avoid compiling-in a $rel_builddir/lib path for the
|
|
dnl shared library since that can lead to unexpected results at runtime.
|
|
dnl b) ${LOCAL_LDFLAGS2} has the same intention but assumes that the shared
|
|
dnl libraries are compiled in ../../lib
|
|
dnl
|
|
dnl The variable 'cf_cv_do_symlinks' is used to control whether we configure
|
|
dnl to install symbolic links to the rel/abi versions of shared libraries.
|
|
dnl
|
|
dnl The variable 'cf_cv_shlib_version' controls whether we use the rel or abi
|
|
dnl version when making symbolic links.
|
|
dnl
|
|
dnl The variable 'cf_cv_shlib_version_infix' controls whether shared library
|
|
dnl version numbers are infix (ex: libncurses.<ver>.dylib) or postfix
|
|
dnl (ex: libncurses.so.<ver>).
|
|
dnl
|
|
dnl Some loaders leave 'so_locations' lying around. It's nice to clean up.
|
|
AC_DEFUN([CF_SHARED_OPTS],
|
|
[
|
|
AC_REQUIRE([CF_LD_RPATH_OPT])
|
|
RM_SHARED_OPTS=
|
|
LOCAL_LDFLAGS=
|
|
LOCAL_LDFLAGS2=
|
|
LD_SHARED_OPTS=
|
|
INSTALL_LIB="-m 644"
|
|
: ${rel_builddir:=.}
|
|
|
|
shlibdir=$libdir
|
|
AC_SUBST(shlibdir)
|
|
|
|
MAKE_DLLS="#"
|
|
AC_SUBST(MAKE_DLLS)
|
|
|
|
cf_cv_do_symlinks=no
|
|
cf_ld_rpath_opt=
|
|
test "$cf_cv_enable_rpath" = yes && cf_ld_rpath_opt="$LD_RPATH_OPT"
|
|
|
|
AC_MSG_CHECKING(if release/abi version should be used for shared libs)
|
|
AC_ARG_WITH(shlib-version,
|
|
[ --with-shlib-version=X Specify rel or abi version for shared libs],
|
|
[test -z "$withval" && withval=auto
|
|
case $withval in
|
|
(yes)
|
|
cf_cv_shlib_version=auto
|
|
;;
|
|
(rel|abi|auto)
|
|
cf_cv_shlib_version=$withval
|
|
;;
|
|
(*)
|
|
AC_MSG_RESULT($withval)
|
|
AC_MSG_ERROR([option value must be one of: rel, abi, or auto])
|
|
;;
|
|
esac
|
|
],[cf_cv_shlib_version=auto])
|
|
AC_MSG_RESULT($cf_cv_shlib_version)
|
|
|
|
cf_cv_rm_so_locs=no
|
|
cf_try_cflags=
|
|
|
|
# Some less-capable ports of gcc support only -fpic
|
|
CC_SHARED_OPTS=
|
|
if test "$GCC" = yes
|
|
then
|
|
AC_MSG_CHECKING(which $CC option to use)
|
|
cf_save_CFLAGS="$CFLAGS"
|
|
for CC_SHARED_OPTS in -fPIC -fpic ''
|
|
do
|
|
CFLAGS="$cf_save_CFLAGS $CC_SHARED_OPTS"
|
|
AC_TRY_COMPILE([#include <stdio.h>],[int x = 1],[break],[])
|
|
done
|
|
AC_MSG_RESULT($CC_SHARED_OPTS)
|
|
CFLAGS="$cf_save_CFLAGS"
|
|
fi
|
|
|
|
cf_cv_shlib_version_infix=no
|
|
|
|
case $cf_cv_system_name in
|
|
(aix4.[3-9]*|aix[[5-7]]*)
|
|
if test "$GCC" = yes; then
|
|
CC_SHARED_OPTS='-Wl,-brtl'
|
|
MK_SHARED_LIB='${CC} -shared -Wl,-brtl -Wl,-blibpath:${RPATH_LIST}:/usr/lib -o [$]@'
|
|
else
|
|
CC_SHARED_OPTS='-brtl'
|
|
# as well as '-qpic=large -G' or perhaps "-bM:SRE -bnoentry -bexpall"
|
|
MK_SHARED_LIB='${CC} -G -Wl,-brtl -Wl,-blibpath:${RPATH_LIST}:/usr/lib -o [$]@'
|
|
fi
|
|
;;
|
|
(beos*)
|
|
MK_SHARED_LIB='${CC} ${CFLAGS} -o $[@] -Xlinker -soname=`basename $[@]` -nostart -e 0'
|
|
;;
|
|
(cygwin*)
|
|
CC_SHARED_OPTS=
|
|
MK_SHARED_LIB=$SHELL' '$rel_builddir'/mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}'
|
|
RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a"
|
|
cf_cv_shlib_version=cygdll
|
|
cf_cv_shlib_version_infix=cygdll
|
|
shlibdir=$bindir
|
|
MAKE_DLLS=
|
|
cat >mk_shared_lib.sh <<-CF_EOF
|
|
#!$SHELL
|
|
SHARED_LIB=\[$]1
|
|
IMPORT_LIB=\`echo "\[$]1" | sed -e 's/cyg/lib/' -e 's/[[0-9]]*\.dll[$]/.dll.a/'\`
|
|
shift
|
|
cat <<-EOF
|
|
Linking shared library
|
|
** SHARED_LIB \[$]SHARED_LIB
|
|
** IMPORT_LIB \[$]IMPORT_LIB
|
|
EOF
|
|
exec \[$]* -shared -Wl,--out-implib=\[$]{IMPORT_LIB} -Wl,--export-all-symbols -o \[$]{SHARED_LIB}
|
|
CF_EOF
|
|
chmod +x mk_shared_lib.sh
|
|
;;
|
|
(msys*)
|
|
CC_SHARED_OPTS=
|
|
MK_SHARED_LIB=$SHELL' '$rel_builddir'/mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}'
|
|
RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a"
|
|
cf_cv_shlib_version=msysdll
|
|
cf_cv_shlib_version_infix=msysdll
|
|
shlibdir=$bindir
|
|
MAKE_DLLS=
|
|
cat >mk_shared_lib.sh <<-CF_EOF
|
|
#!$SHELL
|
|
SHARED_LIB=\[$]1
|
|
IMPORT_LIB=\`echo "\[$]1" | sed -e 's/msys-/lib/' -e 's/[[0-9]]*\.dll[$]/.dll.a/'\`
|
|
shift
|
|
cat <<-EOF
|
|
Linking shared library
|
|
** SHARED_LIB \[$]SHARED_LIB
|
|
** IMPORT_LIB \[$]IMPORT_LIB
|
|
EOF
|
|
exec \[$]* -shared -Wl,--out-implib=\[$]{IMPORT_LIB} -Wl,--export-all-symbols -o \[$]{SHARED_LIB}
|
|
CF_EOF
|
|
chmod +x mk_shared_lib.sh
|
|
;;
|
|
(darwin*)
|
|
cf_try_cflags="no-cpp-precomp"
|
|
CC_SHARED_OPTS="-dynamic"
|
|
MK_SHARED_LIB='${CC} ${CFLAGS} -dynamiclib -install_name ${libdir}/`basename $[@]` -compatibility_version ${ABI_VERSION} -current_version ${ABI_VERSION} -o $[@]'
|
|
test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=abi
|
|
cf_cv_shlib_version_infix=yes
|
|
AC_CACHE_CHECK([if ld -search_paths_first works], cf_cv_ldflags_search_paths_first, [
|
|
cf_save_LDFLAGS=$LDFLAGS
|
|
LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
|
|
AC_TRY_LINK(, [int i;], cf_cv_ldflags_search_paths_first=yes, cf_cv_ldflags_search_paths_first=no)
|
|
LDFLAGS=$cf_save_LDFLAGS])
|
|
if test $cf_cv_ldflags_search_paths_first = yes; then
|
|
LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
|
|
fi
|
|
;;
|
|
(hpux[[7-8]]*)
|
|
# HP-UX 8.07 ld lacks "+b" option used for libdir search-list
|
|
if test "$GCC" != yes; then
|
|
CC_SHARED_OPTS='+Z'
|
|
fi
|
|
MK_SHARED_LIB='${LD} -b -o $[@]'
|
|
INSTALL_LIB="-m 555"
|
|
;;
|
|
(hpux*)
|
|
# (tested with gcc 2.7.2 -- I don't have c89)
|
|
if test "$GCC" = yes; then
|
|
LD_SHARED_OPTS='-Xlinker +b -Xlinker ${libdir}'
|
|
else
|
|
CC_SHARED_OPTS='+Z'
|
|
LD_SHARED_OPTS='-Wl,+b,${libdir}'
|
|
fi
|
|
MK_SHARED_LIB='${LD} +b ${libdir} -b -o $[@]'
|
|
# HP-UX shared libraries must be executable, and should be
|
|
# readonly to exploit a quirk in the memory manager.
|
|
INSTALL_LIB="-m 555"
|
|
;;
|
|
(interix*)
|
|
test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
|
|
if test "$cf_cv_shlib_version" = rel; then
|
|
cf_shared_soname='`basename $@ .${REL_VERSION}`.${ABI_VERSION}'
|
|
else
|
|
cf_shared_soname='`basename $@`'
|
|
fi
|
|
CC_SHARED_OPTS=
|
|
MK_SHARED_LIB='${CC} -shared -Wl,-rpath,${RPATH_LIST} -Wl,-h,'$cf_shared_soname' -o $@'
|
|
;;
|
|
(irix*)
|
|
if test "$cf_cv_enable_rpath" = yes ; then
|
|
EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
|
|
fi
|
|
# tested with IRIX 5.2 and 'cc'.
|
|
if test "$GCC" != yes; then
|
|
CC_SHARED_OPTS='-KPIC'
|
|
MK_SHARED_LIB='${CC} -shared -rdata_shared -soname `basename $[@]` -o $[@]'
|
|
else
|
|
MK_SHARED_LIB='${CC} -shared -Wl,-soname,`basename $[@]` -o $[@]'
|
|
fi
|
|
cf_cv_rm_so_locs=yes
|
|
;;
|
|
(linux*|gnu*|k*bsd*-gnu)
|
|
if test "$DFT_LWR_MODEL" = "shared" ; then
|
|
LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
|
|
LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
|
|
fi
|
|
if test "$cf_cv_enable_rpath" = yes ; then
|
|
EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
|
|
fi
|
|
CF_SHARED_SONAME
|
|
MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]'
|
|
;;
|
|
(mingw*)
|
|
cf_cv_shlib_version=mingw
|
|
cf_cv_shlib_version_infix=mingw
|
|
shlibdir=$bindir
|
|
MAKE_DLLS=
|
|
if test "$DFT_LWR_MODEL" = "shared" ; then
|
|
LOCAL_LDFLAGS="-Wl,--enable-auto-import"
|
|
LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
|
|
EXTRA_LDFLAGS="-Wl,--enable-auto-import $EXTRA_LDFLAGS"
|
|
fi
|
|
CC_SHARED_OPTS=
|
|
MK_SHARED_LIB=$SHELL' '$rel_builddir'/mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}'
|
|
RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a"
|
|
cat >mk_shared_lib.sh <<-CF_EOF
|
|
#!$SHELL
|
|
SHARED_LIB=\[$]1
|
|
IMPORT_LIB=\`echo "\[$]1" | sed -e 's/[[0-9]]*\.dll[$]/.dll.a/'\`
|
|
shift
|
|
cat <<-EOF
|
|
Linking shared library
|
|
** SHARED_LIB \[$]SHARED_LIB
|
|
** IMPORT_LIB \[$]IMPORT_LIB
|
|
EOF
|
|
exec \[$]* -shared -Wl,--enable-auto-import,--out-implib=\[$]{IMPORT_LIB} -Wl,--export-all-symbols -o \[$]{SHARED_LIB}
|
|
CF_EOF
|
|
chmod +x mk_shared_lib.sh
|
|
;;
|
|
(openbsd[[2-9]].*|mirbsd*)
|
|
if test "$DFT_LWR_MODEL" = "shared" ; then
|
|
LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
|
|
LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
|
|
fi
|
|
if test "$cf_cv_enable_rpath" = yes ; then
|
|
EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
|
|
fi
|
|
CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
|
|
CF_SHARED_SONAME
|
|
MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-Bshareable,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]'
|
|
;;
|
|
(nto-qnx*|openbsd*|freebsd[[12]].*)
|
|
CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
|
|
MK_SHARED_LIB='${LD} -Bshareable -o $[@]'
|
|
test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
|
|
;;
|
|
(dragonfly*|freebsd*)
|
|
CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
|
|
if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then
|
|
LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)"
|
|
LOCAL_LDFLAGS2="${cf_ld_rpath_opt}\${RPATH_LIST} $LOCAL_LDFLAGS"
|
|
EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
|
|
fi
|
|
CF_SHARED_SONAME
|
|
MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]'
|
|
;;
|
|
(netbsd*)
|
|
CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
|
|
if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then
|
|
LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)"
|
|
LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
|
|
EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
|
|
if test "$cf_cv_shlib_version" = auto; then
|
|
if test -f /usr/libexec/ld.elf_so; then
|
|
cf_cv_shlib_version=abi
|
|
else
|
|
cf_cv_shlib_version=rel
|
|
fi
|
|
fi
|
|
CF_SHARED_SONAME
|
|
MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname' -o $[@]'
|
|
else
|
|
MK_SHARED_LIB='${CC} -Wl,-shared -Wl,-Bshareable -o $[@]'
|
|
fi
|
|
;;
|
|
(osf*|mls+*)
|
|
# tested with OSF/1 V3.2 and 'cc'
|
|
# tested with OSF/1 V3.2 and gcc 2.6.3 (but the c++ demo didn't
|
|
# link with shared libs).
|
|
MK_SHARED_LIB='${LD} -set_version ${REL_VERSION}:${ABI_VERSION} -expect_unresolved "*" -shared -soname `basename $[@]`'
|
|
case $host_os in
|
|
(osf4*)
|
|
MK_SHARED_LIB="${MK_SHARED_LIB} -msym"
|
|
;;
|
|
esac
|
|
MK_SHARED_LIB="${MK_SHARED_LIB}"' -o $[@]'
|
|
if test "$DFT_LWR_MODEL" = "shared" ; then
|
|
LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
|
|
LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
|
|
fi
|
|
cf_cv_rm_so_locs=yes
|
|
;;
|
|
(sco3.2v5*) # also uw2* and UW7: hops 13-Apr-98
|
|
# tested with osr5.0.5
|
|
if test "$GCC" != yes; then
|
|
CC_SHARED_OPTS='-belf -KPIC'
|
|
fi
|
|
MK_SHARED_LIB='${LD} -dy -G -h `basename $[@] .${REL_VERSION}`.${ABI_VERSION} -o [$]@'
|
|
if test "$cf_cv_enable_rpath" = yes ; then
|
|
# only way is to set LD_RUN_PATH but no switch for it
|
|
RUN_PATH=$libdir
|
|
fi
|
|
test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
|
|
LINK_PROGS='LD_RUN_PATH=${libdir}'
|
|
LINK_TESTS='Pwd=`pwd`;LD_RUN_PATH=`dirname $${Pwd}`/lib'
|
|
;;
|
|
(sunos4*)
|
|
# tested with SunOS 4.1.1 and gcc 2.7.0
|
|
if test "$GCC" != yes; then
|
|
CC_SHARED_OPTS='-KPIC'
|
|
fi
|
|
MK_SHARED_LIB='${LD} -assert pure-text -o $[@]'
|
|
test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
|
|
;;
|
|
(solaris2*)
|
|
# tested with SunOS 5.5.1 (solaris 2.5.1) and gcc 2.7.2
|
|
# tested with SunOS 5.10 (solaris 10) and gcc 3.4.3
|
|
if test "$DFT_LWR_MODEL" = "shared" ; then
|
|
LOCAL_LDFLAGS="-R \$(LOCAL_LIBDIR):\${libdir}"
|
|
LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
|
|
fi
|
|
if test "$cf_cv_enable_rpath" = yes ; then
|
|
EXTRA_LDFLAGS="-R \${libdir} $EXTRA_LDFLAGS"
|
|
fi
|
|
CF_SHARED_SONAME
|
|
if test "$GCC" != yes; then
|
|
cf_save_CFLAGS="$CFLAGS"
|
|
for cf_shared_opts in -xcode=pic32 -xcode=pic13 -KPIC -Kpic -O
|
|
do
|
|
CFLAGS="$cf_shared_opts $cf_save_CFLAGS"
|
|
AC_TRY_COMPILE([#include <stdio.h>],[printf("Hello\n");],[break])
|
|
done
|
|
CFLAGS="$cf_save_CFLAGS"
|
|
CC_SHARED_OPTS=$cf_shared_opts
|
|
MK_SHARED_LIB='${CC} -dy -G -h '$cf_cv_shared_soname' -o $[@]'
|
|
else
|
|
MK_SHARED_LIB='${CC} -shared -dy -G -h '$cf_cv_shared_soname' -o $[@]'
|
|
fi
|
|
;;
|
|
(sysv5uw7*|unix_sv*)
|
|
# tested with UnixWare 7.1.0 (gcc 2.95.2 and cc)
|
|
if test "$GCC" != yes; then
|
|
CC_SHARED_OPTS='-KPIC'
|
|
fi
|
|
MK_SHARED_LIB='${LD} -d y -G -o [$]@'
|
|
;;
|
|
(*)
|
|
CC_SHARED_OPTS='unknown'
|
|
MK_SHARED_LIB='echo unknown'
|
|
;;
|
|
esac
|
|
|
|
# This works if the last tokens in $MK_SHARED_LIB are the -o target.
|
|
case "$cf_cv_shlib_version" in
|
|
(rel|abi)
|
|
case "$MK_SHARED_LIB" in
|
|
(*'-o $[@]')
|
|
test "$cf_cv_do_symlinks" = no && cf_cv_do_symlinks=yes
|
|
;;
|
|
(*)
|
|
AC_MSG_WARN(ignored --with-shlib-version)
|
|
;;
|
|
esac
|
|
;;
|
|
esac
|
|
|
|
if test -n "$cf_try_cflags"
|
|
then
|
|
cat > conftest.$ac_ext <<EOF
|
|
#line __oline__ "${as_me:-configure}"
|
|
#include <stdio.h>
|
|
int main(int argc, char *argv[[]])
|
|
{
|
|
printf("hello\n");
|
|
return (argv[[argc-1]] == 0) ;
|
|
}
|
|
EOF
|
|
cf_save_CFLAGS="$CFLAGS"
|
|
for cf_opt in $cf_try_cflags
|
|
do
|
|
CFLAGS="$cf_save_CFLAGS -$cf_opt"
|
|
AC_MSG_CHECKING(if CFLAGS option -$cf_opt works)
|
|
if AC_TRY_EVAL(ac_compile); then
|
|
AC_MSG_RESULT(yes)
|
|
cf_save_CFLAGS="$CFLAGS"
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
fi
|
|
done
|
|
CFLAGS="$cf_save_CFLAGS"
|
|
fi
|
|
|
|
|
|
# RPATH_LIST is a colon-separated list of directories
|
|
test -n "$cf_ld_rpath_opt" && MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\${RPATH_LIST}"
|
|
test -z "$RPATH_LIST" && RPATH_LIST="\${libdir}"
|
|
|
|
test $cf_cv_rm_so_locs = yes && RM_SHARED_OPTS="$RM_SHARED_OPTS so_locations"
|
|
|
|
CF_VERBOSE(CC_SHARED_OPTS: $CC_SHARED_OPTS)
|
|
CF_VERBOSE(MK_SHARED_LIB: $MK_SHARED_LIB)
|
|
|
|
AC_SUBST(CC_SHARED_OPTS)
|
|
AC_SUBST(LD_RPATH_OPT)
|
|
AC_SUBST(LD_SHARED_OPTS)
|
|
AC_SUBST(MK_SHARED_LIB)
|
|
AC_SUBST(RM_SHARED_OPTS)
|
|
|
|
AC_SUBST(LINK_PROGS)
|
|
AC_SUBST(LINK_TESTS)
|
|
|
|
AC_SUBST(EXTRA_LDFLAGS)
|
|
AC_SUBST(LOCAL_LDFLAGS)
|
|
AC_SUBST(LOCAL_LDFLAGS2)
|
|
|
|
AC_SUBST(INSTALL_LIB)
|
|
AC_SUBST(RPATH_LIST)
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_SHARED_SONAME version: 3 updated: 2008/09/08 18:34:43
|
|
dnl ----------------
|
|
dnl utility macro for CF_SHARED_OPTS, constructs "$cf_cv_shared_soname" for
|
|
dnl substitution into MK_SHARED_LIB string for the "-soname" (or similar)
|
|
dnl option.
|
|
dnl
|
|
dnl $1 is the default that should be used for "$cf_cv_shlib_version".
|
|
dnl If missing, use "rel".
|
|
define([CF_SHARED_SONAME],
|
|
[
|
|
test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=ifelse($1,,rel,$1)
|
|
if test "$cf_cv_shlib_version" = rel; then
|
|
cf_cv_shared_soname='`basename $[@] .${REL_VERSION}`.${ABI_VERSION}'
|
|
else
|
|
cf_cv_shared_soname='`basename $[@]`'
|
|
fi
|
|
])
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_STRIP_G_OPT version: 3 updated: 2002/12/21 19:25:52
|
|
dnl --------------
|
|
dnl Remove "-g" option from the compiler options
|
|
AC_DEFUN([CF_STRIP_G_OPT],
|
|
[$1=`echo ${$1} | sed -e 's%-g %%' -e 's%-g$%%'`])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_SUBDIR_PATH version: 7 updated: 2014/12/04 04:33:06
|
|
dnl --------------
|
|
dnl Construct a search-list for a nonstandard header/lib-file
|
|
dnl $1 = the variable to return as result
|
|
dnl $2 = the package name
|
|
dnl $3 = the subdirectory, e.g., bin, include or lib
|
|
AC_DEFUN([CF_SUBDIR_PATH],
|
|
[
|
|
$1=
|
|
|
|
CF_ADD_SUBDIR_PATH($1,$2,$3,$prefix,NONE)
|
|
|
|
for cf_subdir_prefix in \
|
|
/usr \
|
|
/usr/local \
|
|
/usr/pkg \
|
|
/opt \
|
|
/opt/local \
|
|
[$]HOME
|
|
do
|
|
CF_ADD_SUBDIR_PATH($1,$2,$3,$cf_subdir_prefix,$prefix)
|
|
done
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_TERM_HEADER version: 4 updated: 2015/04/15 19:08:48
|
|
dnl --------------
|
|
dnl Look for term.h, which is part of X/Open curses. It defines the interface
|
|
dnl to terminfo database. Usually it is in the same include-path as curses.h,
|
|
dnl but some packagers change this, breaking various applications.
|
|
AC_DEFUN([CF_TERM_HEADER],[
|
|
AC_CACHE_CHECK(for terminfo header, cf_cv_term_header,[
|
|
case ${cf_cv_ncurses_header} in
|
|
(*/ncurses.h|*/ncursesw.h)
|
|
cf_term_header=`echo "$cf_cv_ncurses_header" | sed -e 's%ncurses[[^.]]*\.h$%term.h%'`
|
|
;;
|
|
(*)
|
|
cf_term_header=term.h
|
|
;;
|
|
esac
|
|
|
|
for cf_test in $cf_term_header "ncurses/term.h" "ncursesw/term.h"
|
|
do
|
|
AC_TRY_COMPILE([#include <stdio.h>
|
|
#include <${cf_cv_ncurses_header:-curses.h}>
|
|
#include <$cf_test>
|
|
],[int x = auto_left_margin],[
|
|
cf_cv_term_header="$cf_test"],[
|
|
cf_cv_term_header=unknown
|
|
])
|
|
test "$cf_cv_term_header" != unknown && break
|
|
done
|
|
])
|
|
|
|
# Set definitions to allow ifdef'ing to accommodate subdirectories
|
|
|
|
case $cf_cv_term_header in
|
|
(*term.h)
|
|
AC_DEFINE(HAVE_TERM_H,1,[Define to 1 if we have term.h])
|
|
;;
|
|
esac
|
|
|
|
case $cf_cv_term_header in
|
|
(ncurses/term.h)
|
|
AC_DEFINE(HAVE_NCURSES_TERM_H,1,[Define to 1 if we have ncurses/term.h])
|
|
;;
|
|
(ncursesw/term.h)
|
|
AC_DEFINE(HAVE_NCURSESW_TERM_H,1,[Define to 1 if we have ncursesw/term.h])
|
|
;;
|
|
esac
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_TOP_BUILDDIR version: 2 updated: 2013/07/27 17:38:32
|
|
dnl ---------------
|
|
dnl Define a top_builddir symbol, for applications that need an absolute path.
|
|
AC_DEFUN([CF_TOP_BUILDDIR],
|
|
[
|
|
top_builddir=ifelse($1,,`pwd`,$1)
|
|
AC_SUBST(top_builddir)
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_TRY_XOPEN_SOURCE version: 1 updated: 2011/10/30 17:09:50
|
|
dnl -------------------
|
|
dnl If _XOPEN_SOURCE is not defined in the compile environment, check if we
|
|
dnl can define it successfully.
|
|
AC_DEFUN([CF_TRY_XOPEN_SOURCE],[
|
|
AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[
|
|
AC_TRY_COMPILE([
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
#include <sys/types.h>
|
|
],[
|
|
#ifndef _XOPEN_SOURCE
|
|
make an error
|
|
#endif],
|
|
[cf_cv_xopen_source=no],
|
|
[cf_save="$CPPFLAGS"
|
|
CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
|
|
AC_TRY_COMPILE([
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
#include <sys/types.h>
|
|
],[
|
|
#ifdef _XOPEN_SOURCE
|
|
make an error
|
|
#endif],
|
|
[cf_cv_xopen_source=no],
|
|
[cf_cv_xopen_source=$cf_XOPEN_SOURCE])
|
|
CPPFLAGS="$cf_save"
|
|
])
|
|
])
|
|
|
|
if test "$cf_cv_xopen_source" != no ; then
|
|
CF_REMOVE_DEFINE(CFLAGS,$CFLAGS,_XOPEN_SOURCE)
|
|
CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,_XOPEN_SOURCE)
|
|
cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
|
|
CF_ADD_CFLAGS($cf_temp_xopen_source)
|
|
fi
|
|
])
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_UPPER version: 5 updated: 2001/01/29 23:40:59
|
|
dnl --------
|
|
dnl Make an uppercase version of a variable
|
|
dnl $1=uppercase($2)
|
|
AC_DEFUN([CF_UPPER],
|
|
[
|
|
$1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_UTF8_LIB version: 8 updated: 2012/10/06 08:57:51
|
|
dnl -----------
|
|
dnl Check for multibyte support, and if not found, utf8 compatibility library
|
|
AC_DEFUN([CF_UTF8_LIB],
|
|
[
|
|
AC_CACHE_CHECK(for multibyte character support,cf_cv_utf8_lib,[
|
|
cf_save_LIBS="$LIBS"
|
|
AC_TRY_LINK([
|
|
#include <stdlib.h>],[putwc(0,0);],
|
|
[cf_cv_utf8_lib=yes],
|
|
[CF_FIND_LINKAGE([
|
|
#include <libutf8.h>],[putwc(0,0);],utf8,
|
|
[cf_cv_utf8_lib=add-on],
|
|
[cf_cv_utf8_lib=no])
|
|
])])
|
|
|
|
# HAVE_LIBUTF8_H is used by ncurses if curses.h is shared between
|
|
# ncurses/ncursesw:
|
|
if test "$cf_cv_utf8_lib" = "add-on" ; then
|
|
AC_DEFINE(HAVE_LIBUTF8_H,1,[Define to 1 if we should include libutf8.h])
|
|
CF_ADD_INCDIR($cf_cv_header_path_utf8)
|
|
CF_ADD_LIBDIR($cf_cv_library_path_utf8)
|
|
CF_ADD_LIBS($cf_cv_library_file_utf8)
|
|
fi
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_VERBOSE version: 3 updated: 2007/07/29 09:55:12
|
|
dnl ----------
|
|
dnl Use AC_VERBOSE w/o the warnings
|
|
AC_DEFUN([CF_VERBOSE],
|
|
[test -n "$verbose" && echo " $1" 1>&AC_FD_MSG
|
|
CF_MSG_LOG([$1])
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_WEAK_SYMBOLS version: 1 updated: 2008/08/16 19:18:06
|
|
dnl ---------------
|
|
dnl Check for compiler-support for weak symbols.
|
|
dnl This works with "recent" gcc.
|
|
AC_DEFUN([CF_WEAK_SYMBOLS],[
|
|
AC_CACHE_CHECK(if $CC supports weak symbols,cf_cv_weak_symbols,[
|
|
|
|
AC_TRY_COMPILE([
|
|
#include <stdio.h>],
|
|
[
|
|
#if defined(__GNUC__)
|
|
# if defined __USE_ISOC99
|
|
# define _cat_pragma(exp) _Pragma(#exp)
|
|
# define _weak_pragma(exp) _cat_pragma(weak name)
|
|
# else
|
|
# define _weak_pragma(exp)
|
|
# endif
|
|
# define _declare(name) __extension__ extern __typeof__(name) name
|
|
# define weak_symbol(name) _weak_pragma(name) _declare(name) __attribute__((weak))
|
|
#endif
|
|
|
|
weak_symbol(fopen);
|
|
],[cf_cv_weak_symbols=yes],[cf_cv_weak_symbols=no])
|
|
])
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_WITH_ADA_COMPILER version: 2 updated: 2010/06/26 17:35:58
|
|
dnl --------------------
|
|
dnl Command-line option to specify the Ada95 compiler.
|
|
AC_DEFUN([CF_WITH_ADA_COMPILER],[
|
|
AC_MSG_CHECKING(for ada-compiler)
|
|
AC_ARG_WITH(ada-compiler,
|
|
[ --with-ada-compiler=CMD specify Ada95 compiler command (default gnatmake)],
|
|
[cf_ada_compiler=$withval],
|
|
[cf_ada_compiler=gnatmake])
|
|
AC_SUBST(cf_ada_compiler)
|
|
AC_MSG_RESULT($cf_ada_compiler)
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_WITH_ADA_INCLUDE version: 2 updated: 2010/06/26 17:35:58
|
|
dnl -------------------
|
|
dnl Command-line option to specify where Ada includes will install.
|
|
AC_DEFUN([CF_WITH_ADA_INCLUDE],[
|
|
AC_MSG_CHECKING(for ada-include)
|
|
CF_WITH_PATH(ada-include,
|
|
[ --with-ada-include=DIR Ada includes are in DIR],
|
|
ADA_INCLUDE,
|
|
PREFIX/share/ada/adainclude,
|
|
[$]prefix/share/ada/adainclude)
|
|
AC_SUBST(ADA_INCLUDE)
|
|
AC_MSG_RESULT($ADA_INCLUDE)
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_WITH_ADA_OBJECTS version: 2 updated: 2010/06/26 17:35:58
|
|
dnl -------------------
|
|
dnl Command-line option to specify where Ada objects will install.
|
|
AC_DEFUN([CF_WITH_ADA_OBJECTS],[
|
|
AC_MSG_CHECKING(for ada-objects)
|
|
CF_WITH_PATH(ada-objects,
|
|
[ --with-ada-objects=DIR Ada objects are in DIR],
|
|
ADA_OBJECTS,
|
|
PREFIX/lib/ada/adalib,
|
|
[$]prefix/lib/ada/adalib)
|
|
AC_SUBST(ADA_OBJECTS)
|
|
AC_MSG_RESULT($ADA_OBJECTS)
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_WITH_ADA_SHAREDLIB version: 4 updated: 2014/05/31 21:08:37
|
|
dnl ---------------------
|
|
dnl Command-line option to specify if an Ada95 shared-library should be built,
|
|
dnl and optionally what its soname should be.
|
|
AC_DEFUN([CF_WITH_ADA_SHAREDLIB],[
|
|
AC_MSG_CHECKING(if an Ada95 shared-library should be built)
|
|
AC_ARG_WITH(ada-sharedlib,
|
|
[ --with-ada-sharedlib=soname build shared-library (requires GNAT projects)],
|
|
[with_ada_sharedlib=$withval],
|
|
[with_ada_sharedlib=no])
|
|
AC_MSG_RESULT($with_ada_sharedlib)
|
|
|
|
ADA_SHAREDLIB='lib$(LIB_NAME).so.1'
|
|
MAKE_ADA_SHAREDLIB="#"
|
|
|
|
if test "x$with_ada_sharedlib" != xno
|
|
then
|
|
MAKE_ADA_SHAREDLIB=
|
|
if test "x$with_ada_sharedlib" != xyes
|
|
then
|
|
ADA_SHAREDLIB="$with_ada_sharedlib"
|
|
fi
|
|
fi
|
|
|
|
AC_SUBST(ADA_SHAREDLIB)
|
|
AC_SUBST(MAKE_ADA_SHAREDLIB)
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_WITH_CURSES_DIR version: 3 updated: 2010/11/20 17:02:38
|
|
dnl ------------------
|
|
dnl Wrapper for AC_ARG_WITH to specify directory under which to look for curses
|
|
dnl libraries.
|
|
AC_DEFUN([CF_WITH_CURSES_DIR],[
|
|
|
|
AC_MSG_CHECKING(for specific curses-directory)
|
|
AC_ARG_WITH(curses-dir,
|
|
[ --with-curses-dir=DIR directory in which (n)curses is installed],
|
|
[cf_cv_curses_dir=$withval],
|
|
[cf_cv_curses_dir=no])
|
|
AC_MSG_RESULT($cf_cv_curses_dir)
|
|
|
|
if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" )
|
|
then
|
|
CF_PATH_SYNTAX(withval)
|
|
if test -d "$cf_cv_curses_dir"
|
|
then
|
|
CF_ADD_INCDIR($cf_cv_curses_dir/include)
|
|
CF_ADD_LIBDIR($cf_cv_curses_dir/lib)
|
|
fi
|
|
fi
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_WITH_LIB_PREFIX version: 1 updated: 2012/01/21 19:28:10
|
|
dnl ------------------
|
|
dnl Allow the library-prefix to be overridden. OS/2 EMX originally had no
|
|
dnl "lib" prefix, e.g., because it used the dll naming convention.
|
|
dnl
|
|
dnl $1 = variable to set
|
|
AC_DEFUN([CF_WITH_LIB_PREFIX],
|
|
[
|
|
AC_MSG_CHECKING(if you want to have a library-prefix)
|
|
AC_ARG_WITH(lib-prefix,
|
|
[ --with-lib-prefix override library-prefix],
|
|
[with_lib_prefix=$withval],
|
|
[with_lib_prefix=auto])
|
|
AC_MSG_RESULT($with_lib_prefix)
|
|
|
|
if test $with_lib_prefix = auto
|
|
then
|
|
CF_LIB_PREFIX($1)
|
|
elif test $with_lib_prefix = no
|
|
then
|
|
LIB_PREFIX=
|
|
else
|
|
LIB_PREFIX=$with_lib_prefix
|
|
fi
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_WITH_PATH version: 11 updated: 2012/09/29 15:04:19
|
|
dnl ------------
|
|
dnl Wrapper for AC_ARG_WITH to ensure that user supplies a pathname, not just
|
|
dnl defaulting to yes/no.
|
|
dnl
|
|
dnl $1 = option name
|
|
dnl $2 = help-text
|
|
dnl $3 = environment variable to set
|
|
dnl $4 = default value, shown in the help-message, must be a constant
|
|
dnl $5 = default value, if it's an expression & cannot be in the help-message
|
|
dnl
|
|
AC_DEFUN([CF_WITH_PATH],
|
|
[AC_ARG_WITH($1,[$2 ](default: ifelse([$4],,empty,[$4])),,
|
|
ifelse([$4],,[withval="${$3}"],[withval="${$3:-ifelse([$5],,[$4],[$5])}"]))dnl
|
|
if ifelse([$5],,true,[test -n "$5"]) ; then
|
|
CF_PATH_SYNTAX(withval)
|
|
fi
|
|
eval $3="$withval"
|
|
AC_SUBST($3)dnl
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_WITH_PKG_CONFIG_LIBDIR version: 10 updated: 2015/08/22 17:10:56
|
|
dnl -------------------------
|
|
dnl Allow the choice of the pkg-config library directory to be overridden.
|
|
AC_DEFUN([CF_WITH_PKG_CONFIG_LIBDIR],[
|
|
|
|
case $PKG_CONFIG in
|
|
(no|none|yes)
|
|
AC_MSG_CHECKING(for pkg-config library directory)
|
|
;;
|
|
(*)
|
|
AC_MSG_CHECKING(for $PKG_CONFIG library directory)
|
|
;;
|
|
esac
|
|
|
|
PKG_CONFIG_LIBDIR=no
|
|
AC_ARG_WITH(pkg-config-libdir,
|
|
[ --with-pkg-config-libdir=XXX use given directory for installing pc-files],
|
|
[PKG_CONFIG_LIBDIR=$withval],
|
|
[test "x$PKG_CONFIG" != xnone && PKG_CONFIG_LIBDIR=yes])
|
|
|
|
case x$PKG_CONFIG_LIBDIR in
|
|
(x/*)
|
|
;;
|
|
(xyes)
|
|
# Look for the library directory using the same prefix as the executable
|
|
if test "x$PKG_CONFIG" = xnone
|
|
then
|
|
cf_path=$prefix
|
|
else
|
|
cf_path=`echo "$PKG_CONFIG" | sed -e 's,/[[^/]]*/[[^/]]*$,,'`
|
|
fi
|
|
|
|
# If you don't like using the default architecture, you have to specify the
|
|
# intended library directory and corresponding compiler/linker options.
|
|
#
|
|
# This case allows for Debian's 2014-flavor of multiarch, along with the
|
|
# most common variations before that point. Some other variants spell the
|
|
# directory differently, e.g., "pkg-config", and put it in unusual places.
|
|
# pkg-config has always been poorly standardized, which is ironic...
|
|
case x`(arch) 2>/dev/null` in
|
|
(*64)
|
|
cf_search_path="\
|
|
$cf_path/lib/*64-linux-gnu \
|
|
$cf_path/share \
|
|
$cf_path/lib64 \
|
|
$cf_path/lib32 \
|
|
$cf_path/lib"
|
|
;;
|
|
(*)
|
|
cf_search_path="\
|
|
$cf_path/lib/*-linux-gnu \
|
|
$cf_path/share \
|
|
$cf_path/lib32 \
|
|
$cf_path/lib \
|
|
$cf_path/libdata"
|
|
;;
|
|
esac
|
|
|
|
CF_VERBOSE(list...)
|
|
for cf_config in $cf_search_path
|
|
do
|
|
CF_VERBOSE(checking $cf_config/pkgconfig)
|
|
if test -d $cf_config/pkgconfig
|
|
then
|
|
PKG_CONFIG_LIBDIR=$cf_config/pkgconfig
|
|
AC_MSG_CHECKING(done)
|
|
break
|
|
fi
|
|
done
|
|
;;
|
|
(*)
|
|
;;
|
|
esac
|
|
|
|
if test "x$PKG_CONFIG_LIBDIR" != xno ; then
|
|
AC_MSG_RESULT($PKG_CONFIG_LIBDIR)
|
|
fi
|
|
|
|
AC_SUBST(PKG_CONFIG_LIBDIR)
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_WITH_PTHREAD version: 7 updated: 2015/04/18 08:56:57
|
|
dnl ---------------
|
|
dnl Check for POSIX thread library.
|
|
AC_DEFUN([CF_WITH_PTHREAD],
|
|
[
|
|
AC_MSG_CHECKING(if you want to link with the pthread library)
|
|
AC_ARG_WITH(pthread,
|
|
[ --with-pthread use POSIX thread library],
|
|
[with_pthread=$withval],
|
|
[with_pthread=no])
|
|
AC_MSG_RESULT($with_pthread)
|
|
|
|
if test "$with_pthread" != no ; then
|
|
AC_CHECK_HEADER(pthread.h,[
|
|
AC_DEFINE(HAVE_PTHREADS_H,1,[Define to 1 if we have pthreads.h header])
|
|
|
|
for cf_lib_pthread in pthread c_r
|
|
do
|
|
AC_MSG_CHECKING(if we can link with the $cf_lib_pthread library)
|
|
cf_save_LIBS="$LIBS"
|
|
CF_ADD_LIB($cf_lib_pthread)
|
|
AC_TRY_LINK([
|
|
#include <pthread.h>
|
|
],[
|
|
int rc = pthread_create(0,0,0,0);
|
|
int r2 = pthread_mutexattr_settype(0, 0);
|
|
],[with_pthread=yes],[with_pthread=no])
|
|
LIBS="$cf_save_LIBS"
|
|
AC_MSG_RESULT($with_pthread)
|
|
test "$with_pthread" = yes && break
|
|
done
|
|
|
|
if test "$with_pthread" = yes ; then
|
|
CF_ADD_LIB($cf_lib_pthread)
|
|
AC_DEFINE(HAVE_LIBPTHREADS,1,[Define to 1 if we have pthreads library])
|
|
else
|
|
AC_MSG_ERROR(Cannot link with pthread library)
|
|
fi
|
|
])
|
|
fi
|
|
])
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_WITH_SYSTYPE version: 1 updated: 2013/01/26 16:26:12
|
|
dnl ---------------
|
|
dnl For testing, override the derived host system-type which is used to decide
|
|
dnl things such as the linker commands used to build shared libraries. This is
|
|
dnl normally chosen automatically based on the type of system which you are
|
|
dnl building on. We use it for testing the configure script.
|
|
dnl
|
|
dnl This is different from the --host option: it is used only for testing parts
|
|
dnl of the configure script which would not be reachable with --host since that
|
|
dnl relies on the build environment being real, rather than mocked up.
|
|
AC_DEFUN([CF_WITH_SYSTYPE],[
|
|
CF_CHECK_CACHE([AC_CANONICAL_SYSTEM])
|
|
AC_ARG_WITH(system-type,
|
|
[ --with-system-type=XXX test: override derived host system-type],
|
|
[AC_MSG_WARN(overriding system type to $withval)
|
|
cf_cv_system_name=$withval
|
|
host_os=$withval
|
|
])
|
|
])dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_XOPEN_SOURCE version: 52 updated: 2016/08/27 12:21:42
|
|
dnl ---------------
|
|
dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions,
|
|
dnl or adapt to the vendor's definitions to get equivalent functionality,
|
|
dnl without losing the common non-POSIX features.
|
|
dnl
|
|
dnl Parameters:
|
|
dnl $1 is the nominal value for _XOPEN_SOURCE
|
|
dnl $2 is the nominal value for _POSIX_C_SOURCE
|
|
AC_DEFUN([CF_XOPEN_SOURCE],[
|
|
AC_REQUIRE([AC_CANONICAL_HOST])
|
|
|
|
cf_XOPEN_SOURCE=ifelse([$1],,500,[$1])
|
|
cf_POSIX_C_SOURCE=ifelse([$2],,199506L,[$2])
|
|
cf_xopen_source=
|
|
|
|
case $host_os in
|
|
(aix[[4-7]]*)
|
|
cf_xopen_source="-D_ALL_SOURCE"
|
|
;;
|
|
(msys)
|
|
cf_XOPEN_SOURCE=600
|
|
;;
|
|
(darwin[[0-8]].*)
|
|
cf_xopen_source="-D_APPLE_C_SOURCE"
|
|
;;
|
|
(darwin*)
|
|
cf_xopen_source="-D_DARWIN_C_SOURCE"
|
|
cf_XOPEN_SOURCE=
|
|
;;
|
|
(freebsd*|dragonfly*)
|
|
# 5.x headers associate
|
|
# _XOPEN_SOURCE=600 with _POSIX_C_SOURCE=200112L
|
|
# _XOPEN_SOURCE=500 with _POSIX_C_SOURCE=199506L
|
|
cf_POSIX_C_SOURCE=200112L
|
|
cf_XOPEN_SOURCE=600
|
|
cf_xopen_source="-D_BSD_TYPES -D__BSD_VISIBLE -D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
|
|
;;
|
|
(hpux11*)
|
|
cf_xopen_source="-D_HPUX_SOURCE -D_XOPEN_SOURCE=500"
|
|
;;
|
|
(hpux*)
|
|
cf_xopen_source="-D_HPUX_SOURCE"
|
|
;;
|
|
(irix[[56]].*)
|
|
cf_xopen_source="-D_SGI_SOURCE"
|
|
cf_XOPEN_SOURCE=
|
|
;;
|
|
(linux*|uclinux*|gnu*|mint*|k*bsd*-gnu|cygwin)
|
|
CF_GNU_SOURCE
|
|
;;
|
|
(minix*)
|
|
cf_xopen_source="-D_NETBSD_SOURCE" # POSIX.1-2001 features are ifdef'd with this...
|
|
;;
|
|
(mirbsd*)
|
|
# setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <sys/select.h> and other headers which use u_int / u_short types
|
|
cf_XOPEN_SOURCE=
|
|
CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE)
|
|
;;
|
|
(netbsd*)
|
|
cf_xopen_source="-D_NETBSD_SOURCE" # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw
|
|
;;
|
|
(openbsd[[4-9]]*)
|
|
# setting _XOPEN_SOURCE lower than 500 breaks g++ compile with wchar.h, needed for ncursesw
|
|
cf_xopen_source="-D_BSD_SOURCE"
|
|
cf_XOPEN_SOURCE=600
|
|
;;
|
|
(openbsd*)
|
|
# setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw
|
|
;;
|
|
(osf[[45]]*)
|
|
cf_xopen_source="-D_OSF_SOURCE"
|
|
;;
|
|
(nto-qnx*)
|
|
cf_xopen_source="-D_QNX_SOURCE"
|
|
;;
|
|
(sco*)
|
|
# setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer
|
|
;;
|
|
(solaris2.*)
|
|
cf_xopen_source="-D__EXTENSIONS__"
|
|
cf_cv_xopen_source=broken
|
|
;;
|
|
(sysv4.2uw2.*) # Novell/SCO UnixWare 2.x (tested on 2.1.2)
|
|
cf_XOPEN_SOURCE=
|
|
cf_POSIX_C_SOURCE=
|
|
;;
|
|
(*)
|
|
CF_TRY_XOPEN_SOURCE
|
|
CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE)
|
|
;;
|
|
esac
|
|
|
|
if test -n "$cf_xopen_source" ; then
|
|
CF_ADD_CFLAGS($cf_xopen_source,true)
|
|
fi
|
|
|
|
dnl In anything but the default case, we may have system-specific setting
|
|
dnl which is still not guaranteed to provide all of the entrypoints that
|
|
dnl _XOPEN_SOURCE would yield.
|
|
if test -n "$cf_XOPEN_SOURCE" && test -z "$cf_cv_xopen_source" ; then
|
|
AC_MSG_CHECKING(if _XOPEN_SOURCE really is set)
|
|
AC_TRY_COMPILE([#include <stdlib.h>],[
|
|
#ifndef _XOPEN_SOURCE
|
|
make an error
|
|
#endif],
|
|
[cf_XOPEN_SOURCE_set=yes],
|
|
[cf_XOPEN_SOURCE_set=no])
|
|
AC_MSG_RESULT($cf_XOPEN_SOURCE_set)
|
|
if test $cf_XOPEN_SOURCE_set = yes
|
|
then
|
|
AC_TRY_COMPILE([#include <stdlib.h>],[
|
|
#if (_XOPEN_SOURCE - 0) < $cf_XOPEN_SOURCE
|
|
make an error
|
|
#endif],
|
|
[cf_XOPEN_SOURCE_set_ok=yes],
|
|
[cf_XOPEN_SOURCE_set_ok=no])
|
|
if test $cf_XOPEN_SOURCE_set_ok = no
|
|
then
|
|
AC_MSG_WARN(_XOPEN_SOURCE is lower than requested)
|
|
fi
|
|
else
|
|
CF_TRY_XOPEN_SOURCE
|
|
fi
|
|
fi
|
|
])
|