X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=aclocal.m4;h=46062b4e03458da693538e5ddfcb9d1e858549b2;hp=391a6f0e3e0f34952a8e7f6dc90f8da2cd590717;hb=0948e2c7ac34642a1f8a3a85000933bcbb258cff;hpb=d1a026123ac051716cdc16278345c1fb5c843b79 diff --git a/aclocal.m4 b/aclocal.m4 index 391a6f0e..46062b4e 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,5 +1,5 @@ dnl*************************************************************************** -dnl Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. * +dnl Copyright (c) 1998-2013,2014 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 * @@ -28,7 +28,7 @@ dnl*************************************************************************** dnl dnl Author: Thomas E. Dickey 1995-on dnl -dnl $Id: aclocal.m4,v 1.557 2011/05/29 00:00:21 tom Exp $ +dnl $Id: aclocal.m4,v 1.706 2014/08/02 22:38:39 tom Exp $ dnl Macros used in NCURSES auto-configuration script. dnl dnl These macros are maintained separately from NCURSES. The copyright on @@ -62,32 +62,33 @@ AC_DEFUN([AM_LANGINFO_CODESET], fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_ACVERSION_CHECK version: 2 updated: 2011/05/08 11:22:03 +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, +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: 2 updated: 2011/04/14 20:56:50 +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, +define([CF_ACVERSION_COMPARE], [ifelse(builtin([eval], [$2 < $5]), 1, [ifelse([$8], , ,[$8])], [ifelse([$9], , ,[$9])])])dnl dnl --------------------------------------------------------------------------- -dnl CF_ADA_INCLUDE_DIRS version: 6 updated: 2010/02/26 19:52:07 +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. @@ -101,7 +102,7 @@ if test "$GCC" != yes; then ACPPFLAGS="$ACPPFLAGS -I\${includedir}" elif test "$includedir" != "/usr/include"; then if test "$includedir" = '${prefix}/include' ; then - if test $prefix != /usr ; then + if test x$prefix != x/usr ; then ACPPFLAGS="$ACPPFLAGS -I\${includedir}" fi else @@ -119,7 +120,7 @@ AC_DEFUN([CF_ADD_ADAFLAGS],[ AC_SUBST(ADAFLAGS) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_ADD_CFLAGS version: 10 updated: 2010/05/26 05:38:42 +dnl CF_ADD_CFLAGS version: 11 updated: 2014/07/22 05:32:57 dnl ------------- dnl Copy non-preprocessor flags to $CFLAGS, preprocessor flags to $CPPFLAGS dnl The second parameter if given makes this macro verbose. @@ -144,7 +145,7 @@ no) -D*) cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[[^=]]*='\''\"[[^"]]*//'` - test "${cf_add_cflags}" != "${cf_tst_cflags}" \ + test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ && test -z "${cf_tst_cflags}" \ && cf_fix_cppflags=yes @@ -181,7 +182,7 @@ yes) cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[[^"]]*"'\''//'` - test "${cf_add_cflags}" != "${cf_tst_cflags}" \ + test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ && test -z "${cf_tst_cflags}" \ && cf_fix_cppflags=no ;; @@ -308,15 +309,33 @@ if test -n "$1" ; then fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_ADD_LIBS version: 1 updated: 2010/06/02 05:03:05 +dnl CF_ADD_LIBS version: 2 updated: 2014/07/13 14:33:27 dnl ----------- -dnl Add one or more libraries, used to enforce consistency. +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],[ifelse($2,,LIBS,[$2])="$1 [$]ifelse($2,,LIBS,[$2])"])dnl +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: 3 updated: 2010/07/03 20:58:12 +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 @@ -326,9 +345,9 @@ 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 "$4" != "$5" && \ +test "x$4" != "x$5" && \ test -d "$4" && \ -ifelse([$5],NONE,,[(test $5 = NONE || test "$4" != "$5") &&]) { +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" @@ -338,76 +357,6 @@ ifelse([$5],NONE,,[(test $5 = NONE || test "$4" != "$5") &&]) { } ])dnl dnl --------------------------------------------------------------------------- -dnl CF_ANSI_CC_CHECK version: 10 updated: 2010/10/23 15:52:32 -dnl ---------------- -dnl This is adapted from the macros 'fp_PROG_CC_STDC' and 'fp_C_PROTOTYPES' -dnl in the sharutils 4.2 distribution. -AC_DEFUN([CF_ANSI_CC_CHECK], -[ -AC_CACHE_CHECK(for ${CC:-cc} option to accept ANSI C, cf_cv_ansi_cc,[ -cf_cv_ansi_cc=no -cf_save_CFLAGS="$CFLAGS" -cf_save_CPPFLAGS="$CPPFLAGS" -# Don't try gcc -ansi; that turns off useful extensions and -# breaks some systems' header files. -# AIX -qlanglvl=ansi -# Ultrix and OSF/1 -std1 -# HP-UX -Aa -D_HPUX_SOURCE -# SVR4 -Xc -# UnixWare 1.2 (cannot use -Xc, since ANSI/POSIX clashes) -for cf_arg in "-DCC_HAS_PROTOS" \ - "" \ - -qlanglvl=ansi \ - -std1 \ - -Ae \ - "-Aa -D_HPUX_SOURCE" \ - -Xc -do - CF_ADD_CFLAGS($cf_arg) - AC_TRY_COMPILE( -[ -#ifndef CC_HAS_PROTOS -#if !defined(__STDC__) || (__STDC__ != 1) -choke me -#endif -#endif -],[ - int test (int i, double x); - struct s1 {int (*f) (int a);}; - struct s2 {int (*f) (double a);};], - [cf_cv_ansi_cc="$cf_arg"; break]) -done -CFLAGS="$cf_save_CFLAGS" -CPPFLAGS="$cf_save_CPPFLAGS" -]) - -if test "$cf_cv_ansi_cc" != "no"; then -if test ".$cf_cv_ansi_cc" != ".-DCC_HAS_PROTOS"; then - CF_ADD_CFLAGS($cf_cv_ansi_cc) -else - AC_DEFINE(CC_HAS_PROTOS) -fi -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_ANSI_CC_REQD version: 4 updated: 2008/03/23 14:48:54 -dnl --------------- -dnl For programs that must use an ANSI compiler, obtain compiler options that -dnl will make it recognize prototypes. We'll do preprocessor checks in other -dnl macros, since tools such as unproto can fake prototypes, but only part of -dnl the preprocessor. -AC_DEFUN([CF_ANSI_CC_REQD], -[AC_REQUIRE([CF_ANSI_CC_CHECK]) -if test "$cf_cv_ansi_cc" = "no"; then - AC_MSG_ERROR( -[Your compiler does not appear to recognize prototypes. -You have the following choices: - a. adjust your compiler options - b. get an up-to-date compiler - c. use a wrapper such as unproto]) -fi -])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. @@ -490,7 +439,7 @@ fi AC_SUBST(ARFLAGS) ]) dnl --------------------------------------------------------------------------- -dnl CF_AWK_BIG_PRINTF version: 3 updated: 2008/12/27 12:30:03 +dnl CF_AWK_BIG_PRINTF version: 4 updated: 2011/10/30 17:09:50 dnl ----------------- dnl Check if awk can handle big strings using printf. Some older versions of dnl awk choke on large strings passed via "%s". @@ -504,8 +453,8 @@ AC_DEFUN([CF_AWK_BIG_PRINTF], eval $2=no ;; *) #(vi - if ( ${AWK} 'BEGIN { xx = "x"; while (length(xx) < $1) { xx = xx "x"; }; printf("%s\n", xx); }' \ - | $AWK '{ printf "%d\n", length([$]0); }' | $AWK 'BEGIN { eqls=0; recs=0; } { recs++; if ([$]0 == 12000) eqls++; } END { if (recs != 1 || eqls != 1) exit 1; }' 2>/dev/null >/dev/null ) ; then + if ( ${AWK} 'BEGIN { xx = "x"; while (length(xx) < $1) { xx = xx "x"; }; printf("%s\n", xx); }' 2>/dev/null \ + | $AWK '{ printf "%d\n", length([$]0); }' 2>/dev/null | $AWK 'BEGIN { eqls=0; recs=0; } { recs++; if ([$]0 == 12000) eqls++; } END { if (recs != 1 || eqls != 1) exit 1; }' 2>/dev/null >/dev/null ) ; then eval $2=yes else eval $2=no @@ -561,7 +510,7 @@ else AC_MSG_RESULT(no) fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_BOOL_SIZE version: 12 updated: 2006/12/16 12:33:30 +dnl CF_BOOL_SIZE version: 13 updated: 2013/04/13 18:03:21 dnl ------------ dnl Test for the size of 'bool' in the configured C++ compiler (e.g., a type). dnl Don't bother looking for bool.h, since it's been deprecated. @@ -595,7 +544,7 @@ AC_CACHE_VAL(cf_cv_type_of_bool,[ #endif -main() +int main() { FILE *fp = fopen("cf_test.out", "w"); if (fp != 0) { @@ -629,7 +578,7 @@ if test "$cf_cv_type_of_bool" = unknown ; then fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_BUILD_CC version: 6 updated: 2006/10/14 15:23:15 +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 @@ -639,7 +588,8 @@ dnl dnl $1 = default for $CPPFLAGS dnl $2 = default for $LIBS AC_DEFUN([CF_BUILD_CC],[ -AC_REQUIRE([CF_PROG_EXT]) +CF_ACVERSION_CHECK(2.52,, + [AC_REQUIRE([CF_PROG_EXT])]) if test "$cross_compiling" = yes ; then # defaults that we might want to override @@ -720,7 +670,33 @@ AC_SUBST(BUILD_EXEEXT) AC_SUBST(BUILD_OBJEXT) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CFG_DEFAULTS version: 7 updated: 2005/09/24 16:15:00 +dnl CF_CC_ENV_FLAGS version: 1 updated: 2012/10/03 05:25:49 +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 with +dnl options, but eliminates a more common category of user confusion. +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 #(vi +*[[\ \ ]]-[[IUD]]*) + 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/^[[^ ]]*[[ ]]//'` + CC=`echo "$CC" | sed -e 's/[[ ]].*//'` + CF_ADD_CFLAGS($cf_flags) + ;; +*) + AC_MSG_RESULT(ok) + ;; +esac +])dnl +dnl --------------------------------------------------------------------------- +dnl CF_CFG_DEFAULTS version: 10 updated: 2013/09/07 13:54:05 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 @@ -738,7 +714,7 @@ 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*|linux*|cygwin*|k*bsd*-gnu) + openbsd*|freebsd*|mirbsd*|linux*|cygwin*|msys*|k*bsd*-gnu|mingw*) prefix=/usr ;; *) prefix=$ac_default_prefix @@ -774,30 +750,51 @@ AC_MSG_RESULT($includedir) fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CGETENT version: 3 updated: 2000/08/12 23:18:52 +dnl CF_CGETENT version: 5 updated: 2012/10/06 17:56:13 dnl ---------- dnl Check if the terminal-capability database functions are available. If not, dnl ncurses has a much-reduced version. AC_DEFUN([CF_CGETENT],[ -AC_MSG_CHECKING(for terminal-capability database functions) -AC_CACHE_VAL(cf_cv_cgetent,[ +AC_CACHE_CHECK(for terminal-capability database functions,cf_cv_cgetent,[ AC_TRY_LINK([ #include ],[ char temp[128]; char *buf = temp; char *db_array = temp; - cgetent(&buf, /* int *, */ &db_array, "vt100"); + cgetent(&buf, &db_array, "vt100"); cgetcap(buf, "tc", '='); cgetmatch(buf, "tc"); ], [cf_cv_cgetent=yes], [cf_cv_cgetent=no]) ]) -AC_MSG_RESULT($cf_cv_cgetent) -test "$cf_cv_cgetent" = yes && AC_DEFINE(HAVE_BSD_CGETENT) + +if test "$cf_cv_cgetent" = yes +then + AC_DEFINE(HAVE_BSD_CGETENT,1,[Define to 1 if we have BSD cgetent]) +AC_CACHE_CHECK(if cgetent uses const parameter,cf_cv_cgetent_const,[ +AC_TRY_LINK([ +#include ],[ + char temp[128]; + char *buf = temp; +#ifndef _NETBSD_SOURCE /* given, since April 2004 in stdlib.h */ + const char *db_array = temp; + cgetent(&buf, &db_array, "vt100"); +#endif + cgetcap(buf, "tc", '='); + cgetmatch(buf, "tc"); + ], + [cf_cv_cgetent_const=yes], + [cf_cv_cgetent_const=no]) +]) + if test "$cf_cv_cgetent_const" = yes + then + AC_DEFINE_UNQUOTED(CGETENT_CONST,const,[Define to const if needed for some BSD cgetent variations]) + fi +fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CHECK_CACHE version: 11 updated: 2008/03/23 14:45:59 +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. @@ -820,7 +817,7 @@ else system_name="`(hostname) 2>/dev/null`" fi fi -test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name") +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" @@ -933,7 +930,82 @@ if test "$cf_cv_check_gpm_wgetch" != yes ; then fi ])])dnl dnl --------------------------------------------------------------------------- -dnl CF_CPP_PARAM_INIT version: 4 updated: 2001/04/07 22:31:18 +dnl CF_CHECK_LIBTOOL_VERSION version: 1 updated: 2013/04/06 18:03:09 +dnl ------------------------ +dnl Show the version of libtool +dnl +dnl Save the version in a cache variable - this is not entirely a good thing, +dnl but the version string from libtool is very ugly, and for bug reports it +dnl might be useful to have the original string. +AC_DEFUN([CF_CHECK_LIBTOOL_VERSION],[ +if test -n "$LIBTOOL" && test "$LIBTOOL" != none +then + AC_MSG_CHECKING(version of $LIBTOOL) + CF_LIBTOOL_VERSION + AC_MSG_RESULT($cf_cv_libtool_version) + if test -z "$cf_cv_libtool_version" ; then + AC_MSG_ERROR(This is not GNU libtool) + fi +else + AC_MSG_ERROR(GNU libtool has not been found) +fi +])dnl +dnl --------------------------------------------------------------------------- +dnl CF_CHECK_WCHAR_H version: 1 updated: 2011/10/29 15:01:05 +dnl ---------------- +dnl Check if wchar.h can be used, i.e., without defining _XOPEN_SOURCE_EXTENDED +AC_DEFUN([CF_CHECK_WCHAR_H],[ +AC_CACHE_CHECK(if wchar.h can be used as is,cf_cv_wchar_h_okay,[ +AC_TRY_COMPILE( +[ +#include +#include +],[ + wint_t foo = 0; + int bar = iswpunct(foo)], + [cf_cv_wchar_h_okay=yes], + [cf_cv_wchar_h_okay=no])]) + +if test $cf_cv_wchar_h_okay = no +then + CF_PREDEFINE(_XOPEN_SOURCE_EXTENDED) +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_CPP_PARAM_INIT version: 6 updated: 2012/10/06 17:56:13 dnl ----------------- dnl Check if the C++ compiler accepts duplicate parameter initialization. This dnl is a late feature for the standard and is not in some recent compilers @@ -957,7 +1029,7 @@ TEST::TEST(int x = 1) // some compilers do not like second initializer { value = x; } -void main() { } +int main() { } ], [cf_cv_cpp_param_init=yes], [cf_cv_cpp_param_init=no], @@ -965,10 +1037,10 @@ void main() { } AC_LANG_RESTORE ]) fi -test "$cf_cv_cpp_param_init" = yes && AC_DEFINE(CPP_HAS_PARAM_INIT) +test "$cf_cv_cpp_param_init" = yes && AC_DEFINE(CPP_HAS_PARAM_INIT,1,[Define to 1 if C++ has parameter initialization]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CPP_STATIC_CAST version: 1 updated: 2005/07/23 16:52:43 +dnl CF_CPP_STATIC_CAST version: 3 updated: 2013/04/13 18:03:21 dnl ------------------ dnl Check if the C++ compiler accepts static_cast in generics. This appears to dnl not be supported in g++ before 3.0 @@ -990,7 +1062,7 @@ public: int begin_x = 0) { } - + NCursesPanel(); ~NCursesPanel(); }; @@ -1021,10 +1093,58 @@ public: fi -test "$cf_cv_cpp_static_cast" = yes && AC_DEFINE(CPP_HAS_STATIC_CAST) +test "$cf_cv_cpp_static_cast" = yes && AC_DEFINE(CPP_HAS_STATIC_CAST,1,[Define to 1 if C++ has static_cast]) +])dnl +dnl --------------------------------------------------------------------------- +dnl CF_CXX_AR_FLAGS version: 1 updated: 2011/10/29 08:35:34 +dnl --------------- +dnl Setup special archiver flags for given compilers. +AC_DEFUN([CF_CXX_AR_FLAGS],[ + CXX_AR='$(AR)' + CXX_ARFLAGS='$(ARFLAGS)' + case $cf_cv_system_name in #(vi + irix*) #(vi + if test "$GXX" != yes ; then + CXX_AR='$(CXX)' + CXX_ARFLAGS='-ar -o' + fi + ;; + sco3.2v5*) #(vi + CXXLDFLAGS="-u main" + ;; + solaris2*) + if test "$GXX" != yes ; then + CXX_AR='$(CXX)' + CXX_ARFLAGS='-xar -o' + fi + ;; + esac + AC_SUBST(CXXLDFLAGS) + AC_SUBST(CXX_AR) + AC_SUBST(CXX_ARFLAGS) +])dnl +dnl --------------------------------------------------------------------------- +dnl CF_CXX_IOSTREAM_NAMESPACE version: 2 updated: 2012/10/06 17:56:13 +dnl ------------------------- +dnl For c++, check if iostream uses "std::" namespace. +AC_DEFUN([CF_CXX_IOSTREAM_NAMESPACE],[ +AC_CHECK_HEADERS(iostream) +if test x"$ac_cv_header_iostream" = xyes ; then + AC_MSG_CHECKING(if iostream uses std-namespace) + AC_TRY_COMPILE([ +#include +using std::endl; +using std::cerr;],[ +cerr << "testing" << endl; +],[cf_iostream_namespace=yes],[cf_iostream_namespace=no]) + AC_MSG_RESULT($cf_iostream_namespace) + if test "$cf_iostream_namespace" = yes ; then + AC_DEFINE(IOSTREAM_NAMESPACE,1,[Define to 1 if C++ has namespace iostream]) + fi +fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_C_INLINE version: 3 updated: 2010/05/01 15:14:41 +dnl CF_C_INLINE version: 4 updated: 2012/06/16 14:55:39 dnl ----------- dnl Check if the C compiler supports "inline". dnl $1 is the name of a shell variable to set if inline is supported @@ -1035,6 +1155,9 @@ $1= if test "$ac_cv_c_inline" != no ; then $1=inline if test "$INTEL_COMPILER" = yes + then + : + elif test "$CLANG_COMPILER" = yes then : elif test "$GCC" = yes @@ -1082,7 +1205,55 @@ done AC_SUBST(DIRS_TO_MAKE) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_DISABLE_LEAKS version: 6 updated: 2010/07/23 04:14:32 +dnl CF_DISABLE_ECHO version: 12 updated: 2012/10/06 16:30:28 +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_DISABLE_LEAKS version: 7 updated: 2012/10/02 20:55:03 dnl ---------------- dnl Combine no-leak checks with the libraries or tools that are used for the dnl checks. @@ -1100,8 +1271,8 @@ AC_ARG_ENABLE(leaks, AC_MSG_RESULT($with_no_leaks) if test "$with_no_leaks" = yes ; then - AC_DEFINE(NO_LEAKS) - AC_DEFINE(YY_NO_LEAKS) + AC_DEFINE(NO_LEAKS,1,[Define to 1 if you want to perform memory-leak testing.]) + AC_DEFINE(YY_NO_LEAKS,1,[Define to 1 if you want to perform memory-leak testing.]) fi ])dnl dnl --------------------------------------------------------------------------- @@ -1148,6 +1319,30 @@ if test "$cf_disable_rpath_hack" = no ; then fi ]) dnl --------------------------------------------------------------------------- +dnl CF_ENABLE_PC_FILES version: 9 updated: 2012/08/04 13:59:54 +dnl ------------------ +dnl This is the "--enable-pc-files" option, which is available if there is a +dnl pkg-config configuration on the local machine. +AC_DEFUN([CF_ENABLE_PC_FILES],[ +AC_REQUIRE([CF_PKG_CONFIG]) +AC_REQUIRE([CF_WITH_PKG_CONFIG_LIBDIR]) + +if test "$PKG_CONFIG" != none ; then + AC_MSG_CHECKING(if we should install .pc files for $PKG_CONFIG) + AC_ARG_ENABLE(pc-files, + [ --enable-pc-files generate and install .pc files for pkg-config], + [enable_pc_files=$enableval], + [enable_pc_files=no]) + AC_MSG_RESULT($enable_pc_files) + if test "$enable_pc_files" != no + then + CF_PATH_SYNTAX(PKG_CONFIG_LIBDIR) + fi +else + enable_pc_files=no +fi +])dnl +dnl --------------------------------------------------------------------------- dnl CF_ENABLE_RPATH version: 2 updated: 2010/03/27 18:39:42 dnl --------------- dnl Check if the rpath option should be used, setting cache variable @@ -1162,6 +1357,37 @@ AC_ARG_ENABLE(rpath, AC_MSG_RESULT($cf_cv_enable_rpath) ])dnl dnl --------------------------------------------------------------------------- +dnl CF_ENABLE_STRING_HACKS version: 3 updated: 2013/01/26 16:26:12 +dnl ---------------------- +dnl On a few platforms, the compiler and/or loader nags with untruthful +dnl comments stating that "most" uses of strcat/strcpy/sprintf are incorrect, +dnl and implying that most uses of the recommended alternatives are correct. +dnl +dnl Factually speaking, no one has actually counted the number of uses of these +dnl functions versus the total of incorrect uses. Samples of a few thousand +dnl instances are meaningless compared to the hundreds of millions of lines of +dnl existing C code. +dnl +dnl strlcat/strlcpy are (as of 2012) non-standard, and are available on some +dnl platforms, in implementations of varying quality. Likewise, snprintf is +dnl standard - but evolved through phases, and older implementations are likely +dnl to yield surprising results, as documented in manpages on various systems. +AC_DEFUN([CF_ENABLE_STRING_HACKS], +[ +AC_MSG_CHECKING(if you want to work around bogus compiler/loader warnings) +AC_ARG_ENABLE(string-hacks, + [ --enable-string-hacks work around bogus compiler/loader warnings], + [with_string_hacks=$enableval], + [with_string_hacks=no]) +AC_MSG_RESULT($with_string_hacks) + +if test "x$with_string_hacks" = "xyes"; then + AC_DEFINE(USE_STRING_HACKS,1,[Define to 1 to work around bogus compiler/loader warnings]) + AC_MSG_WARN(enabling string-hacks to work around bogus compiler/loader warnings) + AC_CHECK_FUNCS( strlcat strlcpy snprintf ) +fi +])dnl +dnl --------------------------------------------------------------------------- dnl CF_ERRNO version: 5 updated: 1997/11/30 12:44:39 dnl -------- dnl Check if 'errno' is declared in @@ -1170,7 +1396,7 @@ AC_DEFUN([CF_ERRNO], CF_CHECK_ERRNO(errno) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_ETIP_DEFINES version: 3 updated: 2003/03/22 19:13:43 +dnl CF_ETIP_DEFINES version: 5 updated: 2012/02/18 17:51:07 dnl --------------- dnl Test for conflicting definitions of exception in gcc 2.8.0, etc., between dnl math.h and builtin.h, only for ncurses @@ -1179,11 +1405,17 @@ AC_DEFUN([CF_ETIP_DEFINES], AC_MSG_CHECKING(for special defines needed for etip.h) cf_save_CXXFLAGS="$CXXFLAGS" cf_result="none" + +# etip.h includes ncurses.h which includes ncurses_dll.h +# But ncurses_dll.h is generated - fix here. +test -d include || mkdir include +test -f include/ncurses_dll.h || sed -e 's/@NCURSES_WRAP_PREFIX@/'$NCURSES_WRAP_PREFIX'/g' ${srcdir}/include/ncurses_dll.h.in >include/ncurses_dll.h + for cf_math in "" MATH_H do for cf_excp in "" MATH_EXCEPTION do - CXXFLAGS="$cf_save_CXXFLAGS -I${srcdir}/c++ -I${srcdir}/menu -I${srcdir}/include" + CXXFLAGS="$cf_save_CXXFLAGS -I${srcdir}/c++ -I${srcdir}/menu -Iinclude -I${srcdir}/include" test -n "$cf_math" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_math}" test -n "$cf_excp" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_excp}" AC_TRY_COMPILE([ @@ -1192,7 +1424,7 @@ AC_TRY_COMPILE([ test -n "$cf_math" && AC_DEFINE_UNQUOTED(ETIP_NEEDS_${cf_math}) test -n "$cf_excp" && AC_DEFINE_UNQUOTED(ETIP_NEEDS_${cf_excp}) cf_result="$cf_math $cf_excp" - break + break 2 ],[]) done done @@ -1330,7 +1562,69 @@ ifelse([$5],,AC_MSG_WARN(Cannot find $3 library),[$5]) fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_FUNC_DLSYM version: 2 updated: 2010/05/29 16:31:02 +dnl CF_FIND_SUB_INCDIR version: 1 updated: 2014/04/12 16:47:01 +dnl ------------------ +dnl Find an include-directory with the given leaf-name. This is useful for +dnl example with FreeBSD ports, which use this convention to distinguish +dnl different versions of the same port. +AC_DEFUN([CF_FIND_SUB_INCDIR],[ + CF_SUBDIR_PATH(cf_search,$1,include) + for cf_item in $cf_search + do + case $cf_item in #(vi + */$1) + CF_ADD_INCDIR($cf_item) + ;; + esac + done +])dnl +dnl --------------------------------------------------------------------------- +dnl CF_FIND_SUB_LIBDIR version: 1 updated: 2014/04/12 16:47:01 +dnl ------------------ +dnl Find a library-directory with the given leaf-name. This is useful for +dnl example with FreeBSD ports, which use this convention to distinguish +dnl different versions of the same port. +AC_DEFUN([CF_FIND_SUB_LIBDIR],[ + CF_SUBDIR_PATH(cf_search,$1,lib) + for cf_item in $cf_search + do + case $cf_item in #(vi + */$1) + CF_ADD_LIBDIR($cf_item) + ;; + esac + done +])dnl +dnl --------------------------------------------------------------------------- +dnl CF_FIXUP_ADAFLAGS version: 1 updated: 2012/03/31 18:48:10 +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_FORGET_TOOL version: 1 updated: 2013/04/06 18:03:09 +dnl -------------- +dnl Forget that we saw the given tool. +AC_DEFUN([CF_FORGET_TOOL],[ +unset ac_cv_prog_ac_ct_$1 +unset ac_ct_$1 +unset $1 +])dnl +dnl --------------------------------------------------------------------------- +dnl CF_FUNC_DLSYM version: 3 updated: 2012/10/06 11:17:15 dnl ------------- dnl Test for dlsym() and related functions, as well as libdl. dnl @@ -1357,7 +1651,7 @@ if test "$cf_have_dlsym" = yes ; then dlclose(obj); } }],[ - AC_DEFINE(HAVE_LIBDL)],[ + AC_DEFINE(HAVE_LIBDL,1,[Define to 1 if we have dl library])],[ AC_MSG_ERROR(Cannot link test program for libdl)]) AC_MSG_RESULT(ok) else @@ -1365,7 +1659,7 @@ else fi ]) dnl --------------------------------------------------------------------------- -dnl CF_FUNC_MEMMOVE version: 7 updated: 2006/12/16 12:33:30 +dnl CF_FUNC_MEMMOVE version: 8 updated: 2012/10/04 20:12:20 dnl --------------- dnl Check for memmove, or a bcopy that can handle overlapping copy. If neither dnl is found, add our own version of memmove to the list of objects. @@ -1390,13 +1684,13 @@ int main() { ]) ],[cf_cv_good_bcopy=no]) if test "$cf_cv_good_bcopy" = yes ; then - AC_DEFINE(USE_OK_BCOPY) + AC_DEFINE(USE_OK_BCOPY,1,[Define to 1 to use bcopy when memmove is unavailable]) else - AC_DEFINE(USE_MY_MEMMOVE) + AC_DEFINE(USE_MY_MEMMOVE,1,[Define to 1 to use replacement function when memmove is unavailable]) fi ])])dnl dnl --------------------------------------------------------------------------- -dnl CF_FUNC_NANOSLEEP version: 3 updated: 2006/12/16 12:33:30 +dnl CF_FUNC_NANOSLEEP version: 4 updated: 2012/10/06 17:56:13 dnl ----------------- dnl Check for existence of workable nanosleep() function. Some systems, e.g., dnl AIX 4.x, provide a non-working version. @@ -1427,7 +1721,7 @@ int main() { [cf_cv_func_nanosleep=no], [cf_cv_func_nanosleep=unknown])]) -test "$cf_cv_func_nanosleep" = "yes" && AC_DEFINE(HAVE_NANOSLEEP) +test "$cf_cv_func_nanosleep" = "yes" && AC_DEFINE(HAVE_NANOSLEEP,1,[Define to 1 if we have nanosleep()]) ]) dnl --------------------------------------------------------------------------- dnl CF_FUNC_OPENPTY version: 3 updated: 2010/05/29 16:31:02 @@ -1458,14 +1752,17 @@ AC_CACHE_CHECK(for openpty header,cf_cv_func_openpty,[ ]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_FUNC_POLL version: 4 updated: 2006/12/16 12:33:30 +dnl CF_FUNC_POLL version: 8 updated: 2012/10/04 05:24:07 dnl ------------ dnl See if the poll function really works. Some platforms have poll(), but dnl it does not work for terminals or files. AC_DEFUN([CF_FUNC_POLL],[ AC_CACHE_CHECK(if poll really works,cf_cv_working_poll,[ AC_TRY_RUN([ +#include #include +#include +#include #ifdef HAVE_POLL_H #include #else @@ -1475,19 +1772,42 @@ int main() { struct pollfd myfds; int ret; - myfds.fd = 0; + /* check for Darwin bug with respect to "devices" */ + myfds.fd = open("/dev/null", 1); /* O_WRONLY */ + if (myfds.fd < 0) + myfds.fd = 0; myfds.events = POLLIN; + myfds.revents = 0; ret = poll(&myfds, 1, 100); - ${cf_cv_main_return:-return}(ret != 0); + + if (ret < 0 || (myfds.revents & POLLNVAL)) { + ret = -1; + } else { + int fd = 0; + if (!isatty(fd)) { + fd = open("/dev/tty", 2); /* O_RDWR */ + } + + if (fd >= 0) { + /* also check with standard input */ + myfds.fd = fd; + myfds.events = POLLIN; + myfds.revents = 0; + ret = poll(&myfds, 1, 100); + } else { + ret = -1; + } + } + ${cf_cv_main_return:-return}(ret < 0); }], [cf_cv_working_poll=yes], [cf_cv_working_poll=no], [cf_cv_working_poll=unknown])]) -test "$cf_cv_working_poll" = "yes" && AC_DEFINE(HAVE_WORKING_POLL) +test "$cf_cv_working_poll" = "yes" && AC_DEFINE(HAVE_WORKING_POLL,1,[Define to 1 if the poll function seems to work]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_FUNC_TERMIOS version: 2 updated: 2000/07/22 23:37:24 +dnl CF_FUNC_TERMIOS version: 3 updated: 2012/10/06 17:56:13 dnl --------------- dnl Some old/broken variations define tcgetattr() only as a macro in dnl termio(s).h @@ -1513,10 +1833,10 @@ TTY foo; tcgetattr(1, &foo);], [cf_cv_have_tcgetattr=yes], [cf_cv_have_tcgetattr=no])]) -test "$cf_cv_have_tcgetattr" = yes && AC_DEFINE(HAVE_TCGETATTR) +test "$cf_cv_have_tcgetattr" = yes && AC_DEFINE(HAVE_TCGETATTR,1,[Define to 1 if we have tcgetattr]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_FUNC_VSSCANF version: 3 updated: 2001/12/19 00:50:10 +dnl CF_FUNC_VSSCANF version: 4 updated: 2012/10/06 17:56:13 dnl --------------- dnl Check for vsscanf() function, which is in c9x but generally not in earlier dnl versions of C. It is in the GNU C library, and can often be simulated by @@ -1554,14 +1874,14 @@ AC_TRY_LINK([ cf_cv_func_vsscanf=no])])])]) case $cf_cv_func_vsscanf in #(vi -vsscanf) AC_DEFINE(HAVE_VSSCANF);; #(vi -vfscanf) AC_DEFINE(HAVE_VFSCANF);; #(vi -_doscan) AC_DEFINE(HAVE__DOSCAN);; +vsscanf) AC_DEFINE(HAVE_VSSCANF,1,[Define to 1 if we have vsscanf]);; #(vi +vfscanf) AC_DEFINE(HAVE_VFSCANF,1,[Define to 1 if we have vfscanf]);; #(vi +_doscan) AC_DEFINE(HAVE__DOSCAN,1,[Define to 1 if we have _doscan]);; esac ])dnl dnl --------------------------------------------------------------------------- -dnl CF_GCC_ATTRIBUTES version: 14 updated: 2010/10/23 15:52:32 +dnl CF_GCC_ATTRIBUTES version: 16 updated: 2012/10/02 20:55:03 dnl ----------------- dnl Test for availability of useful gcc __attribute__ directives to quiet dnl compiler warnings. Though useful, not all are supported -- and contrary @@ -1639,27 +1959,27 @@ EOF test -n "$verbose" && AC_MSG_RESULT(... $cf_attribute) cat conftest.h >>confdefs.h case $cf_attribute in #(vi + noreturn) #(vi + AC_DEFINE_UNQUOTED(GCC_NORETURN,$cf_directive,[Define to noreturn-attribute for gcc]) + ;; printf) #(vi - if test "$cf_printf_attribute" = no ; then - cat >>confdefs.h <>confdefs.h <>confdefs.h <>confdefs.h < conftest.$ac_ext </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: 2 updated: 2011/03/23 20:24:41 dnl ---------------- AC_DEFUN([CF_GNAT_GENERICS], @@ -1847,53 +2193,26 @@ AC_SUBST(cf_compile_generics) AC_SUBST(cf_generic_objects) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_GNAT_PRAGMA_UNREF version: 1 updated: 2010/06/19 15:22:18 -dnl -------------------- -dnl Check if the gnat pragma "Unreferenced" works. -AC_DEFUN([CF_GNAT_PRAGMA_UNREF],[ -AC_CACHE_CHECK(if GNAT pragma Unreferenced works,cf_cv_pragma_unreferenced,[ -CF_GNAT_TRY_LINK([procedure conftest;], -[with Text_IO; -with GNAT.OS_Lib; -procedure conftest is - test : Integer; - pragma Unreferenced (test); -begin - test := 1; - Text_IO.Put ("Hello World"); - Text_IO.New_Line; - GNAT.OS_Lib.OS_Exit (0); -end conftest;], - [cf_cv_pragma_unreferenced=yes], - [cf_cv_pragma_unreferenced=no])]) - -# if the pragma is supported, use it (needed in the Trace code). -if test $cf_cv_pragma_unreferenced = yes ; then - PRAGMA_UNREF=TRUE -else - PRAGMA_UNREF=FALSE -fi -AC_SUBST(PRAGMA_UNREF) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_GNAT_PROJECTS version: 2 updated: 2011/03/23 20:24:41 +dnl CF_GNAT_PROJECTS version: 7 updated: 2014/06/01 10:46:34 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 #(vi 3.[[0-9]]*) #(vi ;; *) case $cf_cv_system_name in #(vi - cygwin*) #(vi + cygwin*|msys*) #(vi ;; *) mkdir conftest.src conftest.bin conftest.lib @@ -1910,14 +2229,6 @@ project Library is for Library_Dir use External("BUILD_DIR"); Source_Dir := External ("SOURCE_DIR"); for Source_Dirs use (Source_Dir); - package Compiler is - for Default_Switches ("Ada") use - ("-g", - "-O2", - "-gnatafno", - "-gnatVa", -- All validity checks - "-gnatwa"); -- Activate all optional errors - end Compiler; end Library; CF_EOF cat >>confpackage.ads <&1 | \ AC_MSG_RESULT($cf_gnat_version) case $cf_gnat_version in #(vi -3.1[[1-9]]*|3.[[2-9]]*|[[4-9]].*) #(vi +3.1[[1-9]]*|3.[[2-9]]*|[[4-9]].*|20[[0-9]][[0-9]]) #(vi cf_cv_prog_gnat_correct=yes ;; *) @@ -2140,7 +2452,7 @@ make an error test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" ])dnl dnl --------------------------------------------------------------------------- -dnl CF_GPP_LIBRARY version: 10 updated: 2010/05/29 16:31:02 +dnl CF_GPP_LIBRARY version: 11 updated: 2012/10/06 17:56:13 dnl -------------- dnl If we're trying to use g++, test if libg++ is installed (a rather common dnl problem :-). If we have the compiler but no library, we'll be able to @@ -2167,9 +2479,9 @@ if test "$GXX" = yes; then [cf_cxx_library=yes CF_ADD_LIB($cf_gpp_libname,CXXLIBS) if test "$cf_gpp_libname" = cpp ; then - AC_DEFINE(HAVE_GPP_BUILTIN_H) + AC_DEFINE(HAVE_GPP_BUILTIN_H,1,[Define to 1 if we have gpp builtin.h]) else - AC_DEFINE(HAVE_GXX_BUILTIN_H) + AC_DEFINE(HAVE_GXX_BUILTIN_H,1,[Define to 1 if we have g++ builtin.h]) fi], [AC_TRY_LINK([ #include @@ -2177,28 +2489,28 @@ if test "$GXX" = yes; then [two_arg_error_handler_t foo2 = lib_error_handler], [cf_cxx_library=yes CF_ADD_LIB($cf_gpp_libname,CXXLIBS) - AC_DEFINE(HAVE_BUILTIN_H)], + AC_DEFINE(HAVE_BUILTIN_H,1,[Define to 1 if we have builtin.h])], [cf_cxx_library=no])]) LIBS="$cf_save" AC_MSG_RESULT($cf_cxx_library) fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_GXX_VERSION version: 6 updated: 2010/10/23 15:44:18 +dnl CF_GXX_VERSION version: 7 updated: 2012/06/16 14:55:39 dnl -------------- dnl Check for version of g++ AC_DEFUN([CF_GXX_VERSION],[ AC_REQUIRE([AC_PROG_CPP]) GXX_VERSION=none if test "$GXX" = yes; then - AC_MSG_CHECKING(version of g++) + AC_MSG_CHECKING(version of ${CXX:-g++}) GXX_VERSION="`${CXX:-g++} --version| sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`" test -z "$GXX_VERSION" && GXX_VERSION=unknown AC_MSG_RESULT($GXX_VERSION) fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_GXX_WARNINGS version: 6 updated: 2010/08/14 18:25:37 +dnl CF_GXX_WARNINGS version: 8 updated: 2013/11/16 14:27:53 dnl --------------- dnl Check if the compiler supports useful warning options. dnl @@ -2221,6 +2533,7 @@ AC_DEFUN([CF_GXX_WARNINGS], [ CF_INTEL_COMPILER(GXX,INTEL_CPLUSPLUS,CXXFLAGS) +CF_CLANG_COMPILER(GXX,CLANG_CPLUSPLUS,CXXFLAGS) AC_REQUIRE([CF_GXX_VERSION]) @@ -2286,16 +2599,17 @@ then for cf_opt in \ Wabi \ fabi-version=0 \ + Wextra \ + Wignored-qualifiers \ + Wlogical-op \ Woverloaded-virtual \ Wsign-promo \ Wsynth \ Wold-style-cast \ Wcast-align \ Wcast-qual \ - Wmissing-prototypes \ Wpointer-arith \ Wshadow \ - Wstrict-prototypes \ Wundef $cf_gxx_extra_warnings $1 do CXXFLAGS="$cf_save_CXXFLAGS $EXTRA_CXXFLAGS -Werror -$cf_opt" @@ -2314,7 +2628,7 @@ AC_LANG_RESTORE AC_SUBST(EXTRA_CXXFLAGS) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_HASHED_DB version: 4 updated: 2010/05/29 16:31:02 +dnl CF_HASHED_DB version: 5 updated: 2014/04/12 16:47:01 dnl ------------ dnl Look for an instance of the Berkeley hashed database. dnl @@ -2329,6 +2643,16 @@ yes|*able*) #(vi if test -d "$1" ; then CF_ADD_INCDIR($1/include) CF_ADD_LIBDIR($1/lib) + else + case "$1" in #(vi + ./*|../*|/*) + AC_MSG_WARN(no such directory $1) + ;; #(vi + *) + CF_FIND_SUB_INCDIR($1) + CF_FIND_SUB_LIBDIR($1) + ;; + esac fi esac ]) @@ -2421,7 +2745,7 @@ done ]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_HASHED_DB_VERSION version: 3 updated: 2007/12/01 15:01:37 +dnl CF_HASHED_DB_VERSION version: 4 updated: 2014/04/12 16:47:01 dnl -------------------- dnl Given that we have the header file for hashed database, find the version dnl information. @@ -2430,7 +2754,7 @@ AC_DEFUN([CF_HASHED_DB_VERSION], AC_CACHE_CHECK(for version of db, cf_cv_hashed_db_version,[ cf_cv_hashed_db_version=unknown -for cf_db_version in 1 2 3 4 5 +for cf_db_version in 1 2 3 4 5 6 do CF_MSG_LOG(checking for db version $cf_db_version) AC_TRY_COMPILE([ @@ -2512,7 +2836,7 @@ AC_DEFUN([CF_HELP_MESSAGE], [AC_DIVERT_HELP([$1])dnl ])dnl dnl --------------------------------------------------------------------------- -dnl CF_INCLUDE_DIRS version: 6 updated: 2009/01/06 19:37:40 +dnl CF_INCLUDE_DIRS version: 9 updated: 2014/07/26 18:54:28 dnl --------------- dnl Construct the list of include-options according to whether we're building dnl in the source directory or using '--srcdir=DIR' option. If we're building @@ -2520,25 +2844,29 @@ dnl with gcc, don't append the includedir if it happens to be /usr/include, dnl since that usually breaks gcc's shadow-includes. AC_DEFUN([CF_INCLUDE_DIRS], [ -CPPFLAGS="$CPPFLAGS -I. -I../include" -if test "$srcdir" != "."; then - CPPFLAGS="$CPPFLAGS -I\${srcdir}/../include" -fi if test "$GCC" != yes; then - CPPFLAGS="$CPPFLAGS -I\${includedir}" + CPPFLAGS="-I\${includedir} $CPPFLAGS" elif test "$includedir" != "/usr/include"; then if test "$includedir" = '${prefix}/include' ; then - if test $prefix != /usr ; then - CPPFLAGS="$CPPFLAGS -I\${includedir}" + if test x$prefix != x/usr ; then + CPPFLAGS="-I\${includedir} $CPPFLAGS" fi else - CPPFLAGS="$CPPFLAGS -I\${includedir}" + CPPFLAGS="-I\${includedir} $CPPFLAGS" fi fi +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: 4 updated: 2010/05/26 05:38:42 +dnl CF_INTEL_COMPILER version: 6 updated: 2014/03/17 13:13:07 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 @@ -2552,6 +2880,7 @@ 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 @@ -2566,7 +2895,7 @@ if test "$ifelse([$1],,[$1],GCC)" = yes ; then make an error #endif ],[ifelse([$2],,INTEL_COMPILER,[$2])=yes -cf_save_CFLAGS="$cf_save_CFLAGS -we147 -no-gcc" +cf_save_CFLAGS="$cf_save_CFLAGS -we147" ],[]) ifelse([$3],,CFLAGS,[$3])="$cf_save_CFLAGS" AC_MSG_RESULT($ifelse([$2],,INTEL_COMPILER,[$2])) @@ -2575,7 +2904,7 @@ cf_save_CFLAGS="$cf_save_CFLAGS -we147 -no-gcc" fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_ISASCII version: 3 updated: 2000/08/12 23:18:52 +dnl CF_ISASCII version: 4 updated: 2012/10/06 17:56:13 dnl ---------- dnl Check if we have either a function or macro for 'isascii()'. AC_DEFUN([CF_ISASCII], @@ -2587,10 +2916,10 @@ AC_CACHE_VAL(cf_cv_have_isascii,[ [cf_cv_have_isascii=no]) ])dnl AC_MSG_RESULT($cf_cv_have_isascii) -test "$cf_cv_have_isascii" = yes && AC_DEFINE(HAVE_ISASCII) +test "$cf_cv_have_isascii" = yes && AC_DEFINE(HAVE_ISASCII,1,[Define to 1 if we have isascii()]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_LARGEFILE version: 7 updated: 2007/06/02 11:58:50 +dnl CF_LARGEFILE version: 8 updated: 2012/10/06 08:57:51 dnl ------------ dnl Add checks for large file support. AC_DEFUN([CF_LARGEFILE],[ @@ -2624,12 +2953,12 @@ ifdef([AC_FUNC_FSEEKO],[ [cf_cv_struct_dirent64=yes], [cf_cv_struct_dirent64=no]) ]) - test "$cf_cv_struct_dirent64" = yes && AC_DEFINE(HAVE_STRUCT_DIRENT64) + test "$cf_cv_struct_dirent64" = yes && AC_DEFINE(HAVE_STRUCT_DIRENT64,1,[Define to 1 if we have struct dirent64]) fi ]) ]) dnl --------------------------------------------------------------------------- -dnl CF_LDFLAGS_STATIC version: 8 updated: 2010/10/23 14:39:56 +dnl CF_LDFLAGS_STATIC version: 10 updated: 2011/09/24 12:51:48 dnl ----------------- dnl Check for compiler/linker flags used to temporarily force usage of static dnl libraries. This depends on the compiler and platform. Use this to help @@ -2650,7 +2979,7 @@ if test "$GCC" = yes ; then esac else case $cf_cv_system_name in #( - aix[[456]]*) #( from ld manpage + aix[[4-7]]*) #( from ld manpage LDFLAGS_STATIC=-bstatic LDFLAGS_SHARED=-bdynamic ;; @@ -2700,7 +3029,17 @@ EOF int cf_ldflags_static(FILE *fp); ],[ return cf_ldflags_static(stdin); -],[cf_ldflags_static=yes],[cf_ldflags_static=no]) +],[ + # some linkers simply ignore the -dynamic + case x`file conftest$ac_exeext 2>/dev/null` in #(vi + *static*) # (vi + cf_ldflags_static=no + ;; + *) + cf_ldflags_static=yes + ;; + esac +],[cf_ldflags_static=no]) rm -f libconftest.* LIBS="$cf_save_LIBS" @@ -2721,7 +3060,7 @@ AC_SUBST(LDFLAGS_STATIC) AC_SUBST(LDFLAGS_SHARED) ]) dnl --------------------------------------------------------------------------- -dnl CF_LD_RPATH_OPT version: 3 updated: 2010/06/02 05:03:05 +dnl CF_LD_RPATH_OPT version: 5 updated: 2011/07/17 14:48:41 dnl --------------- dnl For the given system and compiler, find the compiler flags to pass to the dnl loader to use the "rpath" feature. @@ -2742,10 +3081,10 @@ irix*) #(vi linux*|gnu*|k*bsd*-gnu) #(vi LD_RPATH_OPT="-Wl,-rpath," ;; -openbsd[[2-9]].*) #(vi +openbsd[[2-9]].*|mirbsd*) #(vi LD_RPATH_OPT="-Wl,-rpath," ;; -freebsd*) #(vi +dragonfly*|freebsd*) #(vi LD_RPATH_OPT="-rpath " ;; netbsd*) #(vi @@ -2804,11 +3143,23 @@ CF_SUBDIR_PATH($1,$2,lib) $1="$cf_library_path_list [$]$1" ])dnl dnl --------------------------------------------------------------------------- -dnl CF_LIB_PREFIX version: 8 updated: 2008/09/13 11:34:16 +dnl CF_LIBTOOL_VERSION version: 1 updated: 2013/04/06 18:03:09 +dnl ------------------ +AC_DEFUN([CF_LIBTOOL_VERSION],[ +if test -n "$LIBTOOL" && test "$LIBTOOL" != none +then + cf_cv_libtool_version=`$LIBTOOL --version 2>&1 | sed -e '/^$/d' |sed -e '2,$d' -e 's/([[^)]]*)//g' -e 's/^[[^1-9]]*//' -e 's/[[^0-9.]].*//'` +else + cf_cv_libtool_version= +fi +test -z "$cf_cv_libtool_version" && unset cf_cv_libtool_version +])dnl +dnl --------------------------------------------------------------------------- +dnl CF_LIB_PREFIX version: 9 updated: 2012/01/21 19:28:10 dnl ------------- dnl Compute the library-prefix for the given host system dnl $1 = variable to set -AC_DEFUN([CF_LIB_PREFIX], +define([CF_LIB_PREFIX], [ case $cf_cv_system_name in #(vi OS/2*|os2*) #(vi @@ -2821,11 +3172,11 @@ ifelse($1,,,[$1=$LIB_PREFIX]) AC_SUBST(LIB_PREFIX) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_LIB_RULES version: 61 updated: 2010/10/23 16:10:30 +dnl CF_LIB_RULES version: 74 updated: 2013/09/07 13:54:05 dnl ------------ dnl Append definitions and rules for the given models to the subdirectory dnl Makefiles, and the recursion rule for the top-level Makefile. If the -dnl subdirectory is a library-source directory, modify the LIBS_TO_MAKE list in +dnl subdirectory is a library-source directory, modify the Libs_To_Make list in dnl the corresponding makefile to list the models that we'll generate. dnl dnl For shared libraries, make a list of symbolic links to construct when @@ -2834,15 +3185,19 @@ dnl one: dnl lib.so -> dnl lib.so. -> dnl lib.so.. +dnl +dnl Note: Libs_To_Make is mixed case, since it is not a pure autoconf variable. AC_DEFUN([CF_LIB_RULES], [ -CF_LIB_PREFIX(cf_prefix) +cf_prefix=$LIB_PREFIX AC_REQUIRE([CF_SUBST_NCURSES_VERSION]) -if test $cf_cv_shlib_version = cygdll ; then +case $cf_cv_shlib_version in #(vi +cygdll|msysdll|mingw) TINFO_NAME=$TINFO_ARG_SUFFIX TINFO_SUFFIX=.dll -fi + ;; +esac if test -n "$TINFO_SUFFIX" ; then case $TINFO_SUFFIX in @@ -2868,79 +3223,78 @@ do elif test -f $srcdir/$cf_dir/modules; then SHARED_LIB= - LIBS_TO_MAKE= + Libs_To_Make= for cf_item in $cf_LIST_MODELS do CF_LIB_SUFFIX($cf_item,cf_suffix,cf_depsuf) + cf_libname=$cf_dir + test "$cf_dir" = c++ && cf_libname=ncurses++ if test $cf_item = shared ; then - if test "$cf_cv_do_symlinks" = yes ; then - case "$cf_cv_shlib_version" in #(vi - rel) #(vi - case "$cf_cv_system_name" in #(vi - darwin*) - case .${LIB_SUFFIX} in - .tw*) - cf_suffix=`echo $cf_suffix | sed 's/^tw//'` - cf_suffix=tw'.${REL_VERSION}'"$cf_suffix" - ;; - .t*) - cf_suffix=`echo $cf_suffix | sed 's/^t//'` - cf_suffix=t'.${REL_VERSION}'"$cf_suffix" - ;; - .w*) - cf_suffix=`echo $cf_suffix | sed 's/^w//'` - cf_suffix=w'.${REL_VERSION}'"$cf_suffix" + if test -n "${LIB_SUFFIX}" + then + cf_shared_suffix=`echo "$cf_suffix" | sed 's/^'"${LIB_SUFFIX}"'//'` + else + cf_shared_suffix="$cf_suffix" + fi + if test "$cf_cv_do_symlinks" = yes ; then + cf_version_name= + + case "$cf_cv_shlib_version" in #(vi + rel) #(vi + cf_version_name=REL_VERSION ;; - *) - cf_suffix='.${REL_VERSION}'"$cf_suffix" + abi) + cf_version_name=ABI_VERSION ;; esac - ;; #(vi - *) cf_suffix="$cf_suffix"'.${REL_VERSION}' ;; - esac + + if test -n "$cf_version_name" + then + case "$cf_cv_system_name" in #(vi + darwin*) + # "w", etc? + cf_suffix="${LIB_SUFFIX}"'.${'$cf_version_name'}'"$cf_shared_suffix" + ;; #(vi + *) + cf_suffix="$cf_suffix"'.${'$cf_version_name'}' + ;; + esac + fi + if test -n "${LIB_SUFFIX}" + then + cf_shared_suffix=`echo "$cf_suffix" | sed 's/^'"${LIB_SUFFIX}"'//'` + else + cf_shared_suffix="$cf_suffix" + fi + fi + # cygwin needs import library, and has unique naming convention + # use autodetected ${cf_prefix} for import lib and static lib, but + # use 'cyg' prefix for shared lib. + case $cf_cv_shlib_version in #(vi + cygdll) #(vi + cf_cygsuf=`echo "$cf_suffix" | sed -e 's/\.dll/\${ABI_VERSION}.dll/'` + Libs_To_Make="$Libs_To_Make ../lib/cyg${cf_libname}${cf_cygsuf}" + continue ;; - abi) - case "$cf_cv_system_name" in #(vi - darwin*) - case .${LIB_SUFFIX} in - .tw*) - cf_suffix=`echo $cf_suffix | sed 's/^tw//'` - cf_suffix=tw'.${ABI_VERSION}'"$cf_suffix" - ;; - .t*) - cf_suffix=`echo $cf_suffix | sed 's/^t//'` - cf_suffix=t'.${ABI_VERSION}'"$cf_suffix" - ;; - .w*) - cf_suffix=`echo $cf_suffix | sed 's/^w//'` - cf_suffix=w'.${ABI_VERSION}'"$cf_suffix" - ;; - *) - cf_suffix='.${ABI_VERSION}'"$cf_suffix" - ;; - esac - ;; #(vi - *) cf_suffix="$cf_suffix"'.${ABI_VERSION}' ;; - esac + msysdll) #(vi + cf_cygsuf=`echo "$cf_suffix" | sed -e 's/\.dll/\${ABI_VERSION}.dll/'` + Libs_To_Make="$Libs_To_Make ../lib/msys-${cf_libname}${cf_cygsuf}" + continue + ;; + mingw) + cf_cygsuf=`echo "$cf_suffix" | sed -e 's/\.dll/\${ABI_VERSION}.dll/'` + Libs_To_Make="$Libs_To_Make ../lib/lib${cf_libname}${cf_cygsuf}" + continue ;; esac fi - # cygwin needs import library, and has unique naming convention - # use autodetected ${cf_prefix} for import lib and static lib, but - # use 'cyg' prefix for shared lib. - if test $cf_cv_shlib_version = cygdll ; then - cf_cygsuf=`echo "$cf_suffix" | sed -e 's/\.dll/\${ABI_VERSION}.dll/'` - LIBS_TO_MAKE="$LIBS_TO_MAKE ../lib/cyg${cf_dir}${cf_cygsuf}" - continue - fi - fi - LIBS_TO_MAKE="$LIBS_TO_MAKE ../lib/${cf_prefix}${cf_dir}${cf_suffix}" + Libs_To_Make="$Libs_To_Make ../lib/${cf_prefix}${cf_libname}${cf_suffix}" done if test $cf_dir = ncurses ; then cf_subsets="$LIB_SUBSETS" cf_r_parts="$cf_subsets" - cf_liblist="$LIBS_TO_MAKE" + cf_liblist="$Libs_To_Make" while test -n "$cf_r_parts" do @@ -2960,7 +3314,7 @@ do ;; esac if test -n "$cf_item"; then - LIBS_TO_MAKE="$cf_item $LIBS_TO_MAKE" + Libs_To_Make="$cf_item $Libs_To_Make" fi else break @@ -2970,13 +3324,40 @@ do cf_subsets=`echo "$LIB_SUBSETS" | sed -e 's/^termlib.* //'` fi - sed -e "s%@LIBS_TO_MAKE@%$LIBS_TO_MAKE%" \ + if test $cf_dir = c++; then + if test "x$with_shared_cxx" != xyes && test -n "$cf_shared_suffix"; then + cf_list= + for cf_item in $Libs_To_Make + do + case $cf_item in + *.a) + ;; + *) + cf_item=`echo "$cf_item" | sed -e "s,"$cf_shared_suffix",.a,"` + ;; + esac + for cf_test in $cf_list + do + if test "$cf_test" = "$cf_item" + then + cf_LIST_MODELS=`echo "$cf_LIST_MODELS" | sed -e 's/normal//'` + cf_item= + break + fi + done + test -n "$cf_item" && cf_list="$cf_list $cf_item" + done + Libs_To_Make="$cf_list" + fi + fi + + sed -e "s%@Libs_To_Make@%$Libs_To_Make%" \ -e "s%@SHARED_LIB@%$SHARED_LIB%" \ $cf_dir/Makefile >$cf_dir/Makefile.out mv $cf_dir/Makefile.out $cf_dir/Makefile $AWK -f $srcdir/mk-0th.awk \ - libname="${cf_dir}${LIB_SUFFIX}" subsets="$LIB_SUBSETS" \ + libname="${cf_dir}${LIB_SUFFIX}" subsets="$LIB_SUBSETS" ticlib="$TICS_LIB_SUFFIX" termlib="$TINFO_LIB_SUFFIX" \ $srcdir/$cf_dir/modules >>$cf_dir/Makefile for cf_subset in $cf_subsets @@ -2984,8 +3365,23 @@ do cf_subdirs= for cf_item in $cf_LIST_MODELS do + echo "Appending rules for ${cf_item} model (${cf_dir}: ${cf_subset})" CF_UPPER(cf_ITEM,$cf_item) + + CXX_MODEL=$cf_ITEM + if test "$CXX_MODEL" = SHARED; then + case $cf_cv_shlib_version in #(vi + cygdll|msysdll|mingw) #(vi + test "x$with_shared_cxx" = xno && CF_VERBOSE(overriding CXX_MODEL to SHARED) + with_shared_cxx=yes + ;; + *) + test "x$with_shared_cxx" = xno && CXX_MODEL=NORMAL + ;; + esac + fi + CF_LIB_SUFFIX($cf_item,cf_suffix,cf_depsuf) CF_OBJ_SUBDIR($cf_item,cf_subdir) @@ -3003,6 +3399,8 @@ do cf_libname=$TICS_LIB_SUFFIX ;; esac + elif test $cf_dir = c++ ; then + cf_libname=ncurses++$LIB_SUFFIX else cf_libname=${cf_libname}$LIB_SUFFIX fi @@ -3054,10 +3452,12 @@ do name=${cf_libname}${cf_dir_suffix} \ traces=$LIB_TRACING \ MODEL=$cf_ITEM \ + CXX_MODEL=$CXX_MODEL \ model=$cf_subdir \ prefix=$cf_prefix \ suffix=$cf_suffix \ subset=$cf_subset \ + driver=$cf_cv_term_driver \ SymLink="$LN_S" \ TermlibRoot=$TINFO_NAME \ TermlibSuffix=$TINFO_SUFFIX \ @@ -3096,7 +3496,7 @@ do done fi - echo ' cd '$cf_dir' && ${MAKE} ${CF_MFLAGS} [$]@' >>Makefile + echo ' cd '$cf_dir' && ${MAKE} ${TOP_MFLAGS} [$]@' >>Makefile done for cf_dir in $SRC_SUBDIRS @@ -3111,7 +3511,7 @@ do echo 'libs \' >> Makefile echo 'install.libs \' >> Makefile echo 'uninstall.libs ::' >> Makefile - echo ' cd '$cf_dir' && ${MAKE} ${CF_MFLAGS} [$]@' >> Makefile + echo ' cd '$cf_dir' && ${MAKE} ${TOP_MFLAGS} [$]@' >> Makefile ;; esac fi @@ -3134,7 +3534,7 @@ install.libs \\ uninstall.libs \\ install.$cf_dir \\ uninstall.$cf_dir :: - cd $cf_dir && \${MAKE} \${CF_MFLAGS} \[$]@ + cd $cf_dir && \${MAKE} \${TOP_MFLAGS} \[$]@ CF_EOF elif test -f $srcdir/$cf_dir/headers; then cat >> Makefile <> Makefile <> Makefile <> Makefile </dev/null | fgrep -v "ing directory" | sed -e 's,[[ ]]*$,,'` case "$cf_result" in - .*k) + .*k|.*kw) cf_result=`${MAKE:-make} -k -f cf_makeflags.tmp CC=cc 2>/dev/null` case "$cf_result" in .*CC=*) cf_cv_makeflags= @@ -3847,7 +4238,7 @@ AC_ARG_WITH(manpage-tbl, AC_MSG_RESULT($MANPAGE_TBL) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_MAN_PAGES version: 39 updated: 2010/10/23 15:44:18 +dnl CF_MAN_PAGES version: 43 updated: 2013/02/09 12:53:45 dnl ------------ dnl Try to determine if the man-pages on the system are compressed, and if dnl so, what format is used. Use this information to construct a script that @@ -3904,6 +4295,7 @@ cat >$cf_edit_man <>$cf_man_alias <<-CF_EOF2 s,@DATADIR@,\$datadir,g - s,@TERMINFO@,\$TERMINFO,g - s,@NCURSES_MAJOR@,\$NCURSES_MAJOR,g - s,@NCURSES_MINOR@,\$NCURSES_MINOR,g - s,@NCURSES_PATCH@,\$NCURSES_PATCH,g - s,@NCURSES_OSPEED@,\$NCURSES_OSPEED,g + s,@TERMINFO@,\${TERMINFO:="no default value"},g + s,@TERMINFO_DIRS@,\${TERMINFO_DIRS:="no default value"},g + s,@NCURSES_MAJOR@,\${NCURSES_MAJOR:="no default value"},g + s,@NCURSES_MINOR@,\${NCURSES_MINOR:="no default value"},g + s,@NCURSES_PATCH@,\${NCURSES_PATCH:="no default value"},g + s,@NCURSES_OSPEED@,\${NCURSES_OSPEED:="no default value"},g CF_EOF ifelse($1,,,[ for cf_name in $1 @@ -3997,7 +4390,9 @@ CF_EOF if test "$MANPAGE_ALIASES" != no ; then cat >>$cf_edit_man <>$cf_edit_man <\$TMP.out + mv \$TMP.out \$TMP +CF_EOF +fi + if test $with_curses_h != yes ; then cat >>$cf_edit_man <\$TMP.out @@ -4202,7 +4604,7 @@ ifelse($1,,[ fi ]) dnl --------------------------------------------------------------------------- -dnl CF_MIXEDCASE_FILENAMES version: 3 updated: 2003/09/20 17:07:55 +dnl CF_MIXEDCASE_FILENAMES version: 6 updated: 2013/10/08 17:47:05 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. @@ -4211,7 +4613,7 @@ 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 #(vi - *-os2-emx*|*-msdosdjgpp*|*-cygwin*|*-mingw32*|*-uwin*) #(vi + *-os2-emx*|*-msdosdjgpp*|*-cygwin*|*-msys*|*-mingw*|*-uwin*) #(vi cf_cv_mixedcase=no ;; *) @@ -4229,10 +4631,10 @@ else rm -f conftest CONFTEST fi ]) -test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES) +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: 7 updated: 2010/08/14 18:25:37 +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). @@ -4274,11 +4676,13 @@ int main() } ],[cf_cv_func_mkstemp=yes ],[cf_cv_func_mkstemp=no -],[AC_CHECK_FUNC(mkstemp) -]) +],[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) + AC_DEFINE(HAVE_MKSTEMP,1,[Define to 1 if mkstemp() is available and working.]) fi ])dnl dnl --------------------------------------------------------------------------- @@ -4306,14 +4710,14 @@ if test "${with_abi_version+set}" != set; then fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_NO_LEAKS_OPTION version: 4 updated: 2006/12/16 14:24:05 +dnl CF_NO_LEAKS_OPTION version: 5 updated: 2012/10/02 20:55:03 dnl ------------------ dnl see CF_WITH_NO_LEAKS AC_DEFUN([CF_NO_LEAKS_OPTION],[ AC_MSG_CHECKING(if you want to use $1 for testing) AC_ARG_WITH($1, [$2], - [AC_DEFINE($3)ifelse([$4],,[ + [AC_DEFINE_UNQUOTED($3,1,"Define to 1 if you want to use $1 for testing.")ifelse([$4],,[ $4 ]) : ${with_cflags:=-g} @@ -4354,7 +4758,7 @@ else fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_OBJ_SUBDIR version: 4 updated: 2002/02/23 20:38:31 +dnl CF_OBJ_SUBDIR version: 6 updated: 2013/09/07 14:06:10 dnl ------------- dnl Compute the object-directory name from the given model name AC_DEFUN([CF_OBJ_SUBDIR], @@ -4366,7 +4770,7 @@ AC_DEFUN([CF_OBJ_SUBDIR], profile) $2='obj_p' ;; shared) case $cf_cv_system_name in #(vi - cygwin) #(vi + cygwin|msys) #(vi $2='objects' ;; *) $2='obj_s' ;; @@ -4374,20 +4778,23 @@ AC_DEFUN([CF_OBJ_SUBDIR], esac ])dnl dnl --------------------------------------------------------------------------- -dnl CF_PATHSEP version: 5 updated: 2010/05/26 05:38:42 +dnl CF_PATHSEP version: 6 updated: 2012/09/29 18:38:12 dnl ---------- -dnl Provide a value for the $PATH and similar separator +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=':' ;; + *) ${PATH_SEPARATOR:=':'} ;; esac ifelse([$1],,,[$1=$PATH_SEPARATOR]) AC_SUBST(PATH_SEPARATOR) + AC_MSG_RESULT($PATH_SEPARATOR) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_PATH_SYNTAX version: 13 updated: 2010/05/26 05:38:42 +dnl CF_PATH_SYNTAX version: 14 updated: 2012/06/19 20:58:54 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 @@ -4407,7 +4814,7 @@ case ".[$]$1" in #(vi ;; .[[a-zA-Z]]:[[\\/]]*) #(vi OS/2 EMX ;; -.\[$]{*prefix}*) #(vi +.\[$]{*prefix}*|.\[$]{*dir}*) #(vi eval $1="[$]$1" case ".[$]$1" in #(vi .NONE/*) @@ -4604,6 +5011,19 @@ 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: 3 updated: 2010/08/14 18:25:37 dnl -------------- dnl Analogous to AC_PROG_CC_C_O, but more useful: tests only $CC, ensures that @@ -4643,31 +5063,6 @@ else fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_PROG_CC_U_D version: 1 updated: 2005/07/14 16:59:30 -dnl -------------- -dnl Check if C (preprocessor) -U and -D options are processed in the order -dnl given rather than by type of option. Some compilers insist on apply all -dnl of the -U options after all of the -D options. Others allow mixing them, -dnl and may predefine symbols that conflict with those we define. -AC_DEFUN([CF_PROG_CC_U_D], -[ -AC_CACHE_CHECK(if $CC -U and -D options work together,cf_cv_cc_u_d_options,[ - cf_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-UU_D_OPTIONS -DU_D_OPTIONS -DD_U_OPTIONS -UD_U_OPTIONS" - AC_TRY_COMPILE([],[ -#ifndef U_D_OPTIONS -make an undefined-error -#endif -#ifdef D_U_OPTIONS -make a defined-error -#endif - ],[ - cf_cv_cc_u_d_options=yes],[ - cf_cv_cc_u_d_options=no]) - CPPFLAGS="$cf_save_CPPFLAGS" -]) -])dnl -dnl --------------------------------------------------------------------------- dnl CF_PROG_EGREP version: 1 updated: 2006/09/16 11:40:59 dnl ------------- dnl AC_PROG_EGREP was introduced in autoconf 2.53. @@ -4683,32 +5078,7 @@ AC_DEFUN([CF_PROG_EGREP], test -z "$EGREP" && AC_MSG_ERROR(No egrep program found) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_PROG_EXT version: 10 updated: 2004/01/03 19:28:18 -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") -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_PROG_GNAT version: 1 updated: 2010/06/19 15:22:18 +dnl CF_PROG_GNAT version: 2 updated: 2011/10/22 14:01:47 dnl ------------ dnl Check for gnatmake, ensure that it is complete. AC_DEFUN([CF_PROG_GNAT],[ @@ -4716,6 +5086,7 @@ 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) @@ -4759,7 +5130,7 @@ case $INSTALL in esac ])dnl dnl --------------------------------------------------------------------------- -dnl CF_PROG_LDCONFIG version: 2 updated: 2008/12/13 14:08:40 +dnl CF_PROG_LDCONFIG version: 3 updated: 2011/06/04 20:09:13 dnl ---------------- dnl Check for ldconfig, needed to fixup shared libraries that would be built dnl and then used in the install. @@ -4768,7 +5139,7 @@ if test "$cross_compiling" = yes ; then LDCONFIG=: else case "$cf_cv_system_name" in #(vi -dragonfly*|freebsd*) #(vi +dragonfly*|mirbsd*|freebsd*) #(vi test -z "$LDCONFIG" && LDCONFIG="/sbin/ldconfig -R" ;; *) LDPATH=$PATH:/sbin:/usr/sbin @@ -4809,7 +5180,7 @@ AC_MSG_RESULT($cf_prog_ln_sf) test "$cf_prog_ln_sf" = yes && LN_S="$LN_S -f" ])dnl dnl --------------------------------------------------------------------------- -dnl CF_REGEX version: 8 updated: 2010/08/07 14:09:44 +dnl CF_REGEX version: 10 updated: 2012/10/04 20:12:20 dnl -------- dnl Attempt to determine if we've got one of the flavors of regular-expression dnl code that we can support. @@ -4821,7 +5192,7 @@ cf_regex_func=no cf_regex_libs="regex re" case $host_os in #(vi mingw*) - cf_regex_libs="regex.dll $cf_regex_libs" + cf_regex_libs="gnurx $cf_regex_libs" ;; esac @@ -4883,9 +5254,9 @@ esac case $cf_cv_regex_hdrs in #(vi no) AC_MSG_WARN(no regular expression header found) ;; #(vi - regex.h) AC_DEFINE(HAVE_REGEX_H_FUNCS) ;; #(vi - regexp.h) AC_DEFINE(HAVE_REGEXP_H_FUNCS) ;; #(vi - regexpr.h) AC_DEFINE(HAVE_REGEXPR_H_FUNCS) ;; + regex.h) AC_DEFINE(HAVE_REGEX_H_FUNCS,1,[Define to 1 to include regex.h for regular expressions]) ;; #(vi + regexp.h) AC_DEFINE(HAVE_REGEXP_H_FUNCS,1,[Define to 1 to include regexp.h for regular expressions]) ;; #(vi + regexpr.h) AC_DEFINE(HAVE_REGEXPR_H_FUNCS,1,[Define to 1 to include regexpr.h for regular expressions]) ;; esac ])dnl dnl --------------------------------------------------------------------------- @@ -4919,7 +5290,7 @@ define([CF_REMOVE_LIB], $1=`echo "$2" | sed -e 's/-l$3[[ ]]//g' -e 's/-l$3[$]//'` ])dnl dnl --------------------------------------------------------------------------- -dnl CF_RPATH_HACK version: 9 updated: 2011/02/13 13:31:33 +dnl CF_RPATH_HACK version: 11 updated: 2013/09/01 13:02:00 dnl ------------- AC_DEFUN([CF_RPATH_HACK], [ @@ -4936,8 +5307,8 @@ if test -n "$LD_RPATH_OPT" ; then AC_TRY_LINK([#include ], [printf("Hello");], - [cf_rpath_oops=`$cf_ldd_prog conftest$ac_exeext | fgrep ' not found' | sed -e 's% =>.*$%%' |sort -u` - cf_rpath_list=`$cf_ldd_prog conftest$ac_exeext | fgrep / | sed -e 's%^.*[[ ]]/%/%' -e 's%/[[^/]][[^/]]*$%%' |sort -u`]) + [cf_rpath_oops=`$cf_ldd_prog conftest$ac_exeext | fgrep ' not found' | sed -e 's% =>.*$%%' |sort | uniq` + cf_rpath_list=`$cf_ldd_prog conftest$ac_exeext | fgrep / | sed -e 's%^.*[[ ]]/%/%' -e 's%/[[^/]][[^/]]*$%%' |sort | uniq`]) # If we passed the link-test, but get a "not found" on a given library, # this could be due to inept reconfiguration of gcc to make it only @@ -4970,6 +5341,8 @@ AC_TRY_LINK([#include ], CF_RPATH_HACK_2(LIBS) CF_VERBOSE(...checked EXTRA_LDFLAGS $EXTRA_LDFLAGS) +else + AC_MSG_RESULT(no) fi AC_SUBST(EXTRA_LDFLAGS) ])dnl @@ -5034,18 +5407,19 @@ CF_VERBOSE(...checked $1 [$]$1) AC_SUBST(EXTRA_LDFLAGS) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_SHARED_OPTS version: 65 updated: 2011/05/28 19:39:44 +dnl CF_SHARED_OPTS version: 84 updated: 2013/11/03 06:26:10 dnl -------------- dnl -------------- dnl Attempt to determine the appropriate CC/LD options for creating a shared dnl library. dnl -dnl Note: ${LOCAL_LDFLAGS} is used to link executables that will run within the -dnl build-tree, i.e., by making use of the libraries that are compiled in ../lib -dnl We avoid compiling-in a ../lib path for the shared library since that can -dnl lead to unexpected results at runtime. -dnl ${LOCAL_LDFLAGS2} has the same intention but assumes that the shared libraries -dnl are compiled in ../../lib +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. @@ -5060,12 +5434,19 @@ dnl dnl Some loaders leave 'so_locations' lying around. It's nice to clean up. AC_DEFUN([CF_SHARED_OPTS], [ - AC_REQUIRE([CF_SUBST_NCURSES_VERSION]) 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= @@ -5090,6 +5471,7 @@ AC_DEFUN([CF_SHARED_OPTS], 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= @@ -5109,10 +5491,14 @@ AC_DEFUN([CF_SHARED_OPTS], cf_cv_shlib_version_infix=no case $cf_cv_system_name in #(vi - aix[[56]]*) #(vi + aix4.[3-9]*|aix[[5-7]]*) #(vi if test "$GCC" = yes; then CC_SHARED_OPTS= - MK_SHARED_LIB='$(CC) -shared' + MK_SHARED_LIB='${CC} -shared -Wl,-brtl -Wl,-blibpath:${RPATH_LIST}:/usr/lib -o [$]@' + else + # CC_SHARED_OPTS='-qpic=large -G' + # perhaps "-bM:SRE -bnoentry -bexpall" + MK_SHARED_LIB='${CC} -G -Wl,-brtl -Wl,-blibpath:${RPATH_LIST}:/usr/lib -o [$]@' fi ;; beos*) #(vi @@ -5120,9 +5506,12 @@ AC_DEFUN([CF_SHARED_OPTS], ;; cygwin*) #(vi CC_SHARED_OPTS= - MK_SHARED_LIB='sh ../mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}' + MK_SHARED_LIB='sh '$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 #!/bin/sh SHARED_LIB=\[$]1 @@ -5133,12 +5522,34 @@ AC_DEFUN([CF_SHARED_OPTS], ** SHARED_LIB \[$]SHARED_LIB ** IMPORT_LIB \[$]IMPORT_LIB EOF - exec \[$]* -shared -Wl,--out-implib=../lib/\[$]{IMPORT_LIB} -Wl,--export-all-symbols -o ../lib/\[$]{SHARED_LIB} + exec \[$]* -shared -Wl,--out-implib=\[$]{IMPORT_LIB} -Wl,--export-all-symbols -o \[$]{SHARED_LIB} +CF_EOF + chmod +x mk_shared_lib.sh + ;; + msys*) #(vi + CC_SHARED_OPTS= + MK_SHARED_LIB='sh '$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 + #!/bin/sh + 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*) #(vi - EXTRA_CFLAGS="-no-cpp-precomp" + 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 @@ -5152,6 +5563,14 @@ CF_EOF LDFLAGS="$LDFLAGS -Wl,-search_paths_first" fi ;; + hpux[[7-8]]*) #(vi + # 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*) #(vi # (tested with gcc 2.7.2 -- I don't have c89) if test "$GCC" = yes; then @@ -5173,11 +5592,11 @@ CF_EOF cf_shared_soname='`basename $@`' fi CC_SHARED_OPTS= - MK_SHARED_LIB='${CC} -shared -Wl,-rpath,${libdir} -Wl,-h,'$cf_shared_soname' -o $@' + MK_SHARED_LIB='${CC} -shared -Wl,-rpath,${RPATH_LIST} -Wl,-h,'$cf_shared_soname' -o $@' ;; irix*) #(vi if test "$cf_cv_enable_rpath" = yes ; then - EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS" + EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS" fi # tested with IRIX 5.2 and 'cc'. if test "$GCC" != yes; then @@ -5194,18 +5613,45 @@ CF_EOF LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" fi if test "$cf_cv_enable_rpath" = yes ; then - EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_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 $[@]' ;; - openbsd[[2-9]].*) #(vi + mingw*) #(vi + 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='sh '$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 + #!/bin/sh + 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*) #(vi 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}\${libdir} $EXTRA_LDFLAGS" + EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS" fi CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC" CF_SHARED_SONAME @@ -5216,12 +5662,12 @@ CF_EOF MK_SHARED_LIB='${LD} -Bshareable -o $[@]' test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel ;; - freebsd*) #(vi + dragonfly*|freebsd*) #(vi 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}\${libdir} $LOCAL_LDFLAGS" - EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS" + 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='${LD} -shared -Bshareable -soname=`basename $[@]` -o $[@]' @@ -5231,7 +5677,7 @@ CF_EOF 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}\${libdir} $EXTRA_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 @@ -5242,7 +5688,7 @@ CF_EOF CF_SHARED_SONAME MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname' -o $[@]' else - MK_SHARED_LIB='${LD} -shared -Bshareable -o $[@]' + MK_SHARED_LIB='${CC} -Wl,-shared -Wl,-Bshareable -o $[@]' fi ;; osf*|mls+*) #(vi @@ -5336,20 +5782,57 @@ CF_EOF ;; esac - if test -n "$cf_ld_rpath_opt" ; then - MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\${libdir}" + if test -n "$cf_try_cflags" + then +cat > conftest.$ac_ext < +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 @@ -5429,7 +5912,7 @@ done fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_SIG_ATOMIC_T version: 2 updated: 2005/09/18 17:27:12 +dnl CF_SIG_ATOMIC_T version: 3 updated: 2012/10/04 20:12:20 dnl --------------- dnl signal handler, but there are some gcc depedencies in that recommendation. dnl Try anyway. @@ -5461,10 +5944,10 @@ static void handler(int sig) done ]) AC_MSG_RESULT($cf_cv_sig_atomic_t) -test "$cf_cv_sig_atomic_t" != no && AC_DEFINE_UNQUOTED(SIG_ATOMIC_T, $cf_cv_sig_atomic_t) +test "$cf_cv_sig_atomic_t" != no && AC_DEFINE_UNQUOTED(SIG_ATOMIC_T, $cf_cv_sig_atomic_t,[Define to signal global datatype]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_SIZECHANGE version: 8 updated: 2000/11/04 12:22:16 +dnl CF_SIZECHANGE version: 9 updated: 2012/10/06 11:17:15 dnl ------------- dnl Check for definitions & structures needed for window size-changing dnl FIXME: check that this works with "snake" (HP-UX 10.x) @@ -5525,7 +6008,7 @@ do done ]) if test "$cf_cv_sizechange" != no ; then - AC_DEFINE(HAVE_SIZECHANGE) + AC_DEFINE(HAVE_SIZECHANGE,1,[Define to 1 if sizechar declarations are provided]) case $cf_cv_sizechange in #(vi NEED*) AC_DEFINE_UNQUOTED($cf_cv_sizechange ) @@ -5534,7 +6017,7 @@ if test "$cf_cv_sizechange" != no ; then fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_SRC_MODULES version: 21 updated: 2010/09/04 17:37:40 +dnl CF_SRC_MODULES version: 27 updated: 2013/08/03 18:18:08 dnl -------------- dnl For each parameter, test if the source-directory exists, and if it contains dnl a 'modules' file. If so, add to the list $cf_cv_src_modules which we'll @@ -5557,6 +6040,7 @@ else TEST_ARG2="-l${LIB_NAME}${DFT_ARG_SUFFIX} $TEST_ARG2" fi +PC_MODULES_TO_MAKE="ncurses${DFT_ARG_SUFFIX}" cf_cv_src_modules= for cf_dir in $1 do @@ -5595,6 +6079,7 @@ do TEST_ARGS="-l${cf_dir}${DFT_ARG_SUFFIX} $TEST_ARGS" TEST_ARG2="-l${cf_dir}${DFT_ARG_SUFFIX} $TEST_ARG2" fi + PC_MODULES_TO_MAKE="${PC_MODULES_TO_MAKE} ${cf_dir}${DFT_ARG_SUFFIX}" fi fi done @@ -5621,11 +6106,21 @@ done if test "x$cf_with_tests" != "xno" ; then SRC_SUBDIRS="$SRC_SUBDIRS test" fi -test -z "$MAKE_TERMINFO" && SRC_SUBDIRS="$SRC_SUBDIRS misc" -test "$cf_with_cxx_binding" != no && SRC_SUBDIRS="$SRC_SUBDIRS c++" +if test "x$cf_with_db_install" = xyes; then + test -z "$MAKE_TERMINFO" && SRC_SUBDIRS="$SRC_SUBDIRS misc" +fi +if test "$cf_with_cxx_binding" != no; then + PC_MODULES_TO_MAKE="${PC_MODULES_TO_MAKE} ncurses++${DFT_ARG_SUFFIX}" + SRC_SUBDIRS="$SRC_SUBDIRS c++" +fi + +test "x$with_termlib" != xno && PC_MODULES_TO_MAKE="$PC_MODULES_TO_MAKE $TINFO_ARG_SUFFIX" +test "x$with_ticlib" != xno && PC_MODULES_TO_MAKE="$PC_MODULES_TO_MAKE $TICS_ARG_SUFFIX" + +AC_SUBST(PC_MODULES_TO_MAKE) ADA_SUBDIRS= -if test "$cf_cv_prog_gnat_correct" = yes && test -f $srcdir/Ada95/Makefile.in; then +if test "x$cf_with_ada" = "xyes" && test "x$cf_cv_prog_gnat_correct" = xyes && test -f $srcdir/Ada95/Makefile.in; then SRC_SUBDIRS="$SRC_SUBDIRS Ada95" ADA_SUBDIRS="gen src" if test "x$cf_with_tests" != "xno" ; then @@ -5684,7 +6179,7 @@ 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_STRUCT_SIGACTION version: 4 updated: 2011/04/16 11:52:53 +dnl CF_STRUCT_SIGACTION version: 5 updated: 2012/10/06 17:56:13 dnl ------------------- dnl Check if we need _POSIX_SOURCE defined to use struct sigaction. We'll only dnl do this if we've found the sigaction function. @@ -5705,13 +6200,13 @@ AC_TRY_COMPILE([ #include ], [struct sigaction act], [sigact_bad=yes - AC_DEFINE(_POSIX_SOURCE)], + AC_DEFINE(_POSIX_SOURCE,1,[Define to 1 if we must define _POSIX_SOURCE])], [sigact_bad=unknown])]) AC_MSG_RESULT($sigact_bad) fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_STRUCT_TERMIOS version: 6 updated: 2011/04/16 11:52:53 +dnl CF_STRUCT_TERMIOS version: 7 updated: 2012/10/06 17:56:13 dnl ----------------- dnl Some machines require _POSIX_SOURCE to completely define struct termios. AC_DEFUN([CF_STRUCT_TERMIOS],[ @@ -5742,7 +6237,7 @@ if test "$ac_cv_header_termios_h" = yes ; then #include ], [struct termios foo; int x = foo.c_iflag], termios_bad=unknown, - termios_bad=yes AC_DEFINE(_POSIX_SOURCE)) + termios_bad=yes AC_DEFINE(_POSIX_SOURCE,1,[Define to 1 if we must define _POSIX_SOURCE])) ]) AC_MSG_RESULT($termios_bad) fi @@ -5766,23 +6261,6 @@ CF_ADD_SUBDIR_PATH($1,$2,$3,/opt,$prefix) CF_ADD_SUBDIR_PATH($1,$2,$3,[$]HOME,$prefix) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_SUBST version: 4 updated: 2006/06/17 12:33:03 -dnl -------- -dnl Shorthand macro for substituting things that the user may override -dnl with an environment variable. -dnl -dnl $1 = long/descriptive name -dnl $2 = environment variable -dnl $3 = default value -AC_DEFUN([CF_SUBST], -[AC_CACHE_VAL(cf_cv_subst_$2,[ -AC_MSG_CHECKING(for $1 (symbol $2)) -CF_SUBST_IF([-z "[$]$2"], [$2], [$3]) -cf_cv_subst_$2=[$]$2 -AC_MSG_RESULT([$]$2) -]) -])dnl -dnl --------------------------------------------------------------------------- dnl CF_SUBST_IF version: 2 updated: 2006/06/17 12:33:03 dnl ----------- dnl Shorthand macro for substituting things that the user may override @@ -5828,7 +6306,7 @@ AC_SUBST(cf_cv_header_stdbool_h) AC_SUBST(cf_cv_type_of_bool)dnl ])dnl dnl --------------------------------------------------------------------------- -dnl CF_SYS_TIME_SELECT version: 4 updated: 2000/10/04 09:18:40 +dnl CF_SYS_TIME_SELECT version: 5 updated: 2012/10/04 05:24:07 dnl ------------------ dnl Check if we can include with ; this breaks on dnl older SCO configurations. @@ -5848,19 +6326,58 @@ AC_TRY_COMPILE([ [cf_cv_sys_time_select=no]) ]) AC_MSG_RESULT($cf_cv_sys_time_select) -test "$cf_cv_sys_time_select" = yes && AC_DEFINE(HAVE_SYS_TIME_SELECT) +test "$cf_cv_sys_time_select" = yes && AC_DEFINE(HAVE_SYS_TIME_SELECT,1,[Define to 1 if we can include with ]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_TOP_BUILDDIR version: 1 updated: 2006/10/15 16:33:23 +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=`pwd` +top_builddir=ifelse($1,,`pwd`,$1) AC_SUBST(top_builddir) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_TYPEOF_CHTYPE version: 8 updated: 2006/12/16 12:33:30 +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 +#include +#include +],[ +#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 +#include +#include +],[ +#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_TYPEOF_CHTYPE version: 9 updated: 2012/10/06 17:56:13 dnl ---------------- dnl Determine the type we should use for chtype (and attr_t, which is treated dnl as the same thing). We want around 32 bits, so on most machines want a @@ -5909,10 +6426,10 @@ int main() AC_MSG_RESULT($cf_cv_typeof_chtype) AC_SUBST(cf_cv_typeof_chtype) -AC_DEFINE_UNQUOTED(TYPEOF_CHTYPE,$cf_cv_typeof_chtype) +AC_DEFINE_UNQUOTED(TYPEOF_CHTYPE,$cf_cv_typeof_chtype,[Define to actual type if needed for chtype]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_TYPE_SIGACTION version: 3 updated: 2000/08/12 23:18:52 +dnl CF_TYPE_SIGACTION version: 4 updated: 2012/10/06 17:56:13 dnl ----------------- dnl AC_DEFUN([CF_TYPE_SIGACTION], @@ -5925,7 +6442,7 @@ AC_CACHE_VAL(cf_cv_type_sigaction,[ [cf_cv_type_sigaction=yes], [cf_cv_type_sigaction=no])]) AC_MSG_RESULT($cf_cv_type_sigaction) -test "$cf_cv_type_sigaction" = yes && AC_DEFINE(HAVE_TYPE_SIGACTION) +test "$cf_cv_type_sigaction" = yes && AC_DEFINE(HAVE_TYPE_SIGACTION,1,[Define to 1 if we have the sigaction_t type]) ])dnl dnl --------------------------------------------------------------------------- dnl CF_UNSIGNED_LITERALS version: 2 updated: 1998/02/07 22:10:16 @@ -5952,7 +6469,7 @@ AC_DEFUN([CF_UPPER], $1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` ])dnl dnl --------------------------------------------------------------------------- -dnl CF_UTF8_LIB version: 7 updated: 2010/06/20 09:24:28 +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], @@ -5971,14 +6488,14 @@ AC_CACHE_CHECK(for multibyte character support,cf_cv_utf8_lib,[ # 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) + 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_VA_COPY version: 2 updated: 2010/03/04 05:37:29 +dnl CF_VA_COPY version: 3 updated: 2012/10/06 11:17:15 dnl ---------- dnl check for va_copy, part of stdarg.h dnl Also, workaround for glibc's __va_copy, by checking for both. @@ -5993,7 +6510,7 @@ AC_TRY_LINK([ cf_cv_have_va_copy=yes, cf_cv_have_va_copy=no)]) -test "$cf_cv_have_va_copy" = yes && AC_DEFINE(HAVE_VA_COPY) +test "$cf_cv_have_va_copy" = yes && AC_DEFINE(HAVE_VA_COPY,1,[Define to 1 if we have va_copy]) AC_CACHE_CHECK(for __va_copy, cf_cv_have___va_copy,[ AC_TRY_LINK([ @@ -6005,7 +6522,7 @@ AC_TRY_LINK([ cf_cv_have___va_copy=yes, cf_cv_have___va_copy=no)]) -test "$cf_cv_have___va_copy" = yes && AC_DEFINE(HAVE___VA_COPY) +test "$cf_cv_have___va_copy" = yes && AC_DEFINE(HAVE___VA_COPY,1,[Define to 1 if we have __va_copy]) ]) dnl --------------------------------------------------------------------------- dnl CF_VERBOSE version: 3 updated: 2007/07/29 09:55:12 @@ -6016,7 +6533,7 @@ AC_DEFUN([CF_VERBOSE], CF_MSG_LOG([$1]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_WCHAR_TYPE version: 3 updated: 2010/05/26 16:44:57 +dnl CF_WCHAR_TYPE version: 4 updated: 2012/10/06 16:39:58 dnl ------------- dnl Check if type wide-character type $1 is declared, and if so, which header dnl file is needed. The second parameter is used to set a shell variable when @@ -6048,7 +6565,7 @@ AC_TRY_COMPILE([ [cf_cv_$1=unknown])])]) if test "$cf_cv_$1" = yes ; then - AC_DEFINE(NEED_WCHAR_H) + AC_DEFINE(NEED_WCHAR_H,1,[Define to 1 if we must include wchar.h]) NEED_WCHAR_H=1 fi @@ -6153,14 +6670,14 @@ AC_SUBST(ADA_OBJECTS) AC_MSG_RESULT($ADA_OBJECTS) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_WITH_ADA_SHAREDLIB version: 2 updated: 2010/06/26 17:35:58 +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=XX build Ada95 shared-library], + [ --with-ada-sharedlib=soname build shared-library (requires GNAT projects)], [with_ada_sharedlib=$withval], [with_ada_sharedlib=no]) AC_MSG_RESULT($with_ada_sharedlib) @@ -6211,7 +6728,7 @@ if test "$with_dmalloc" = yes ; then fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_WITH_GPM version: 7 updated: 2008/03/23 14:48:54 +dnl CF_WITH_GPM version: 8 updated: 2012/10/06 17:56:13 dnl ----------- dnl dnl The option parameter (if neither yes/no) is assumed to be the name of @@ -6227,10 +6744,10 @@ AC_MSG_RESULT($with_gpm) if test "$with_gpm" != no ; then AC_CHECK_HEADER(gpm.h,[ - AC_DEFINE(HAVE_GPM_H) + AC_DEFINE(HAVE_GPM_H,1,[Define to 1 if we have gpm.h header]) if test "$with_gpm" != yes && test "$with_gpm" != maybe ; then CF_VERBOSE(assuming we really have GPM library) - AC_DEFINE(HAVE_LIBGPM) + AC_DEFINE(HAVE_LIBGPM,1,[Define to 1 if we have the gpm library]) else AC_CHECK_LIB(gpm,Gpm_Open,[:],[ AC_MSG_ERROR(Cannot link with GPM library) @@ -6244,7 +6761,7 @@ if test "$with_gpm" != no ; then fi ]) dnl --------------------------------------------------------------------------- -dnl CF_WITH_LIBTOOL version: 26 updated: 2010/10/23 15:55:24 +dnl CF_WITH_LIBTOOL version: 30 updated: 2013/09/07 13:54:05 dnl --------------- dnl Provide a configure option to incorporate libtool. Define several useful dnl symbols for the makefile rules. @@ -6314,13 +6831,20 @@ ifdef([AC_PROG_LIBTOOL],[ CF_PATH_SYNTAX(with_libtool) LIBTOOL=$with_libtool else - AC_PATH_PROG(LIBTOOL,libtool) + AC_CHECK_TOOLS(LIBTOOL,[libtool glibtool],none) + CF_LIBTOOL_VERSION + if test -z "$cf_cv_libtool_version" && test "$LIBTOOL" = libtool + then + CF_FORGET_TOOL(LIBTOOL) + AC_CHECK_TOOLS(LIBTOOL,[glibtool],none) + CF_LIBTOOL_VERSION + fi fi if test -z "$LIBTOOL" ; then AC_MSG_ERROR(Cannot find libtool) fi ])dnl - LIB_CREATE='${LIBTOOL} --mode=link ${CC} -rpath ${DESTDIR}${libdir} ${LIBTOOL_VERSION} `cut -f1 ${srcdir}/VERSION` ${LIBTOOL_OPTS} ${LT_UNDEF} -o' + LIB_CREATE='${LIBTOOL} --mode=link ${CC} -rpath ${DESTDIR}${libdir} ${LIBTOOL_VERSION} `cut -f1 ${srcdir}/VERSION` ${LIBTOOL_OPTS} ${LT_UNDEF} $(LIBS) -o' LIB_OBJECT='${OBJECTS:.o=.lo}' LIB_SUFFIX=.la LIB_CLEAN='${LIBTOOL} --mode=clean' @@ -6330,22 +6854,12 @@ ifdef([AC_PROG_LIBTOOL],[ LIB_UNINSTALL='${LIBTOOL} --mode=uninstall' LIB_PREP=: - # Show the version of libtool - AC_MSG_CHECKING(version of libtool) - - # Save the version in a cache variable - this is not entirely a good - # thing, but the version string from libtool is very ugly, and for - # bug reports it might be useful to have the original string. "(" - cf_cv_libtool_version=`$LIBTOOL --version 2>&1 | sed -e '/^$/d' |sed -e '2,$d' -e 's/([[^)]]*)//g' -e 's/^[[^1-9]]*//' -e 's/[[^0-9.]].*//'` - AC_MSG_RESULT($cf_cv_libtool_version) - if test -z "$cf_cv_libtool_version" ; then - AC_MSG_ERROR(This is not GNU libtool) - fi + CF_CHECK_LIBTOOL_VERSION # special hack to add -no-undefined (which libtool should do for itself) LT_UNDEF= case "$cf_cv_system_name" in #(vi - cygwin*|mingw32*|uwin*|aix[[456]]) #(vi + cygwin*|msys*|mingw32*|uwin*|aix[[4-7]]) #(vi LT_UNDEF=-no-undefined ;; esac @@ -6385,7 +6899,33 @@ AC_SUBST(LIB_UNINSTALL) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_WITH_PATH version: 10 updated: 2010/10/23 15:44:18 +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. @@ -6402,11 +6942,11 @@ ifelse([$4],,[withval="${$3}"],[withval="${$3:-ifelse([$5],,[$4],[$5])}"]))dnl if ifelse([$5],,true,[test -n "$5"]) ; then CF_PATH_SYNTAX(withval) fi -$3="$withval" +eval $3="$withval" AC_SUBST($3)dnl ])dnl dnl --------------------------------------------------------------------------- -dnl CF_WITH_PATHLIST version: 7 updated: 2010/10/23 16:10:30 +dnl CF_WITH_PATHLIST version: 9 updated: 2012/10/18 05:05:24 dnl ---------------- dnl Process an option specifying a list of colon-separated paths. dnl @@ -6427,7 +6967,7 @@ cf_dst_path= for cf_src_path in $withval do CF_PATH_SYNTAX(cf_src_path) - test -n "$cf_dst_path" && cf_dst_path="${cf_dst_path}:" + test -n "$cf_dst_path" && cf_dst_path="${cf_dst_path}$PATH_SEPARATOR" cf_dst_path="${cf_dst_path}${cf_src_path}" done IFS="$ac_save_ifs" @@ -6443,12 +6983,65 @@ esac cf_dst_path=`echo "$cf_dst_path" | sed -e 's/\\\\/\\\\\\\\/g'` ]) -eval '$3="$cf_dst_path"' +# This may use the prefix/exec_prefix symbols which will only yield "NONE" +# so we have to check/work around. We do prefer the result of "eval"... +eval cf_dst_eval="$cf_dst_path" +case "x$cf_dst_eval" in #(vi +xNONE*) #(vi + $3=$cf_dst_path + ;; +*) + $3="$cf_dst_eval" + ;; +esac AC_SUBST($3)dnl ])dnl dnl --------------------------------------------------------------------------- -dnl CF_WITH_PTHREAD version: 3 updated: 2010/05/29 16:31:02 +dnl CF_WITH_PKG_CONFIG_LIBDIR version: 2 updated: 2011/12/10 18:58:47 +dnl ------------------------- +dnl Allow the choice of the pkg-config library directory to be overridden. +AC_DEFUN([CF_WITH_PKG_CONFIG_LIBDIR],[ +if test "$PKG_CONFIG" != none ; then + AC_MSG_CHECKING(for $PKG_CONFIG library directory) + AC_ARG_WITH(pkg-config-libdir, + [ --with-pkg-config-libdir=XXX use given directory for installing pc-files], + [PKG_CONFIG_LIBDIR=$withval], + [PKG_CONFIG_LIBDIR=yes]) + + case x$PKG_CONFIG_LIBDIR in #(vi + x/*) #(vi + ;; + xyes) #(vi + # look for the library directory using the same prefix as the executable + cf_path=`echo "$PKG_CONFIG" | sed -e 's,/[[^/]]*/[[^/]]*$,,'` + case x`(arch) 2>/dev/null` in #(vi + *64) #(vi + for cf_config in $cf_path/share $cf_path/lib64 $cf_path/lib32 $cf_path/lib + do + if test -d $cf_config/pkgconfig + then + PKG_CONFIG_LIBDIR=$cf_config/pkgconfig + break + fi + done + ;; + *) + PKG_CONFIG_LIBDIR=$cf_path/lib/pkgconfig + ;; + esac + ;; + *) + ;; + esac + + AC_MSG_RESULT($PKG_CONFIG_LIBDIR) +fi + +AC_SUBST(PKG_CONFIG_LIBDIR) +])dnl +dnl --------------------------------------------------------------------------- +dnl CF_WITH_PTHREAD version: 6 updated: 2012/10/06 17:41:51 dnl --------------- dnl Check for POSIX thread library. AC_DEFUN([CF_WITH_PTHREAD], @@ -6462,25 +7055,30 @@ AC_MSG_RESULT($with_pthread) if test "$with_pthread" != no ; then AC_CHECK_HEADER(pthread.h,[ - AC_DEFINE(HAVE_PTHREADS_H) + AC_DEFINE(HAVE_PTHREADS_H,1,[Define to 1 if we have pthreads.h header]) - AC_MSG_CHECKING(if we can link with the pthread library) - cf_save_LIBS="$LIBS" - CF_ADD_LIB(pthread) - AC_TRY_LINK([ + 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 ],[ - int rc = pthread_create(0,0,0,0); + 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) - - if test "$with_pthread" = yes ; then - CF_ADD_LIB(pthread) - AC_DEFINE(HAVE_LIBPTHREADS) - else - AC_MSG_ERROR(Cannot link with pthread library) - fi + 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 ]) @@ -6510,7 +7108,7 @@ ifelse($1,,[ ]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_WITH_SYSMOUSE version: 2 updated: 2003/03/22 19:13:43 +dnl CF_WITH_SYSMOUSE version: 3 updated: 2012/10/06 17:56:13 dnl ---------------- dnl If we can compile with sysmouse, make it available unless it is not wanted. AC_DEFUN([CF_WITH_SYSMOUSE],[ @@ -6536,10 +7134,30 @@ AC_ARG_WITH(sysmouse, ],[cf_with_sysmouse=yes],[cf_with_sysmouse=no]) fi AC_MSG_RESULT($cf_with_sysmouse) -test "$cf_with_sysmouse" = yes && AC_DEFINE(USE_SYSMOUSE) +test "$cf_with_sysmouse" = yes && AC_DEFINE(USE_SYSMOUSE,1,[Define to 1 if we can/should use the sysmouse interface]) fi ])dnl 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_WITH_VALGRIND version: 1 updated: 2006/12/14 18:00:21 dnl ---------------- AC_DEFUN([CF_WITH_VALGRIND],[ @@ -6548,7 +7166,7 @@ CF_NO_LEAKS_OPTION(valgrind, [USE_VALGRIND]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_XOPEN_SOURCE version: 35 updated: 2011/02/20 20:37:37 +dnl CF_XOPEN_SOURCE version: 47 updated: 2014/07/23 17:11:49 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, @@ -6558,16 +7176,17 @@ 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 #(vi -aix[[456]]*) #(vi +aix[[4-7]]*) #(vi cf_xopen_source="-D_ALL_SOURCE" ;; -cygwin) #(vi +cygwin|msys) #(vi cf_XOPEN_SOURCE=600 ;; darwin[[0-8]].*) #(vi @@ -6575,6 +7194,7 @@ darwin[[0-8]].*) #(vi ;; darwin*) #(vi cf_xopen_source="-D_DARWIN_C_SOURCE" + cf_XOPEN_SOURCE= ;; freebsd*|dragonfly*) #(vi # 5.x headers associate @@ -6592,15 +7212,26 @@ hpux*) #(vi ;; irix[[56]].*) #(vi cf_xopen_source="-D_SGI_SOURCE" + cf_XOPEN_SOURCE= ;; linux*|gnu*|mint*|k*bsd*-gnu) #(vi CF_GNU_SOURCE ;; +minix*) #(vi + cf_xopen_source="-D_NETBSD_SOURCE" # POSIX.1-2001 features are ifdef'd with this... + ;; mirbsd*) #(vi - # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks + # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks and other headers which use u_int / u_short types + cf_XOPEN_SOURCE= + CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE) ;; netbsd*) #(vi - # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw + 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]]*) #(vi + # 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*) #(vi # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw @@ -6614,41 +7245,46 @@ nto-qnx*) #(vi sco*) #(vi # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer ;; -solaris2.1[[0-9]]) #(vi - cf_xopen_source="-D__EXTENSIONS__ -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" - ;; -solaris2.[[1-9]]) #(vi +solaris2.*) #(vi cf_xopen_source="-D__EXTENSIONS__" + cf_cv_xopen_source=broken ;; *) - AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[ - AC_TRY_COMPILE([#include ],[ + 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 ],[ #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 ],[ -#ifdef _XOPEN_SOURCE + [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 ],[ +#if (_XOPEN_SOURCE - 0) < $cf_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) + [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 - CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE) - ;; -esac - -if test -n "$cf_xopen_source" ; then - CF_ADD_CFLAGS($cf_xopen_source) fi ])