X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=aclocal.m4;h=12c8f5acd76d0e9b4a9fd291b6d2c8e2895b9f27;hp=74d3791a57b306b54676011857b4dd0c0d66ea8a;hb=fe6abf09238512f5a902bc1aeab2263d1e997396;hpb=50acaeeb9b282767ffe9c6a80f120b32ce3bd966 diff --git a/aclocal.m4 b/aclocal.m4 index 74d3791a..12c8f5ac 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,5 +1,5 @@ dnl*************************************************************************** -dnl Copyright (c) 1998-2013,2014 Free Software Foundation, Inc. * +dnl Copyright (c) 1998-2014,2015 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.718 2014/11/16 00:08:34 tom Exp $ +dnl $Id: aclocal.m4,v 1.734 2015/01/22 01:13:38 tom Exp $ dnl Macros used in NCURSES auto-configuration script. dnl dnl These macros are maintained separately from NCURSES. The copyright on @@ -1336,7 +1336,7 @@ 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 CF_ENABLE_PC_FILES version: 11 updated: 2015/01/10 17:03:43 dnl ------------------ dnl This is the "--enable-pc-files" option, which is available if there is a dnl pkg-config configuration on the local machine. @@ -1344,20 +1344,35 @@ AC_DEFUN([CF_ENABLE_PC_FILES],[ AC_REQUIRE([CF_PKG_CONFIG]) AC_REQUIRE([CF_WITH_PKG_CONFIG_LIBDIR]) -if test "$PKG_CONFIG" != none ; then +if test "x$PKG_CONFIG" != xnone +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 +else + AC_MSG_CHECKING(if we should install .pc files) +fi + +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 "x$enable_pc_files" != xno +then + case "x$PKG_CONFIG_LIBDIR" in #(vi + xno|xyes) #(vi + AC_MSG_WARN(no PKG_CONFIG_LIBDIR was found) + MAKE_PC_FILES="#" + ;; + *) CF_PATH_SYNTAX(PKG_CONFIG_LIBDIR) - fi + MAKE_PC_FILES= + ;; + esac else - enable_pc_files=no + MAKE_PC_FILES="#" fi +AC_SUBST(MAKE_PC_FILES) ])dnl dnl --------------------------------------------------------------------------- dnl CF_ENABLE_RPATH version: 2 updated: 2010/03/27 18:39:42 @@ -3176,7 +3191,7 @@ ifelse($1,,,[$1=$LIB_PREFIX]) AC_SUBST(LIB_PREFIX) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_LIB_RULES version: 75 updated: 2014/09/20 20:16:32 +dnl CF_LIB_RULES version: 78 updated: 2015/01/21 20:10:54 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 @@ -3228,6 +3243,31 @@ do SHARED_LIB= Libs_To_Make= + + cf_sed_options= + if test -n "${cf_cv_abi_version}" && test "x${cf_cv_abi_version}" != "x5" + then + cf_sed_options="$cf_sed_options -e \"s/NCURSES\\([[WT]]\\+\\)\?_/NCURSES\\1${cf_cv_abi_version}_/g\"" + fi + + if test "x$WILDCARD_SYMS" = xno + then + cf_sed_options="$cf_sed_options -e \"s/_\*;//g\"" + fi + + if test "x$cf_sed_options" != "x" + then + cat >>$cf_dir/Makefile <\[$]@ + +clean:: + rm -f resulting.map +CF_EOF + fi + for cf_item in $cf_LIST_MODELS do CF_LIB_SUFFIX($cf_item,cf_suffix,cf_depsuf) @@ -4841,7 +4881,7 @@ case ".[$]$1" in #(vi esac ])dnl dnl --------------------------------------------------------------------------- -dnl CF_PKG_CONFIG version: 7 updated: 2011/04/29 04:53:22 +dnl CF_PKG_CONFIG version: 8 updated: 2014/12/13 18:48:46 dnl ------------- dnl Check for the package-config program, unless disabled by command-line. AC_DEFUN([CF_PKG_CONFIG], @@ -4870,6 +4910,8 @@ esac test -z "$PKG_CONFIG" && PKG_CONFIG=none if test "$PKG_CONFIG" != none ; then CF_PATH_SYNTAX(PKG_CONFIG) +else + AC_MSG_WARN(pkg-config is not installed) fi AC_SUBST(PKG_CONFIG) @@ -5417,7 +5459,7 @@ CF_VERBOSE(...checked $1 [$]$1) AC_SUBST(EXTRA_LDFLAGS) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_SHARED_OPTS version: 84 updated: 2013/11/03 06:26:10 +dnl CF_SHARED_OPTS version: 86 updated: 2015/01/21 20:10:54 dnl -------------- dnl -------------- dnl Attempt to determine the appropriate CC/LD options for creating a shared @@ -5574,7 +5616,7 @@ CF_EOF fi ;; hpux[[7-8]]*) #(vi - # HP-UX 8.07 ld lacks "+b" option used for libdir search-list + # HP-UX 8.07 ld lacks "+b" option used for libdir search-list if test "$GCC" != yes; then CC_SHARED_OPTS='+Z' fi @@ -5680,7 +5722,7 @@ CF_EOF EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS" fi CF_SHARED_SONAME - MK_SHARED_LIB='${LD} -shared -Bshareable -soname=`basename $[@]` -o $[@]' + MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]' ;; netbsd*) #(vi CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC" @@ -6253,7 +6295,7 @@ if test "$ac_cv_header_termios_h" = yes ; then fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_SUBDIR_PATH version: 6 updated: 2010/04/21 06:20:50 +dnl CF_SUBDIR_PATH version: 7 updated: 2014/12/04 04:33:06 dnl -------------- dnl Construct a search-list for a nonstandard header/lib-file dnl $1 = the variable to return as result @@ -6263,11 +6305,18 @@ AC_DEFUN([CF_SUBDIR_PATH], [ $1= -CF_ADD_SUBDIR_PATH($1,$2,$3,/usr,$prefix) CF_ADD_SUBDIR_PATH($1,$2,$3,$prefix,NONE) -CF_ADD_SUBDIR_PATH($1,$2,$3,/usr/local,$prefix) -CF_ADD_SUBDIR_PATH($1,$2,$3,/opt,$prefix) -CF_ADD_SUBDIR_PATH($1,$2,$3,[$]HOME,$prefix) + +for cf_subdir_prefix in \ + /usr \ + /usr/local \ + /usr/pkg \ + /opt \ + /opt/local \ + [$]HOME +do + CF_ADD_SUBDIR_PATH($1,$2,$3,$cf_subdir_prefix,$prefix) +done ])dnl dnl --------------------------------------------------------------------------- dnl CF_SUBST_IF version: 2 updated: 2006/06/17 12:33:03 @@ -6825,7 +6874,7 @@ if test "$with_dmalloc" = yes ; then fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_WITH_EXPORT_SYMS version: 2 updated: 2014/11/15 19:05:29 +dnl CF_WITH_EXPORT_SYMS version: 3 updated: 2014/12/20 19:16:08 dnl ------------------- dnl Use this with libtool to specify the list of symbols that may be exported. dnl The input file contains one symbol per line; comments work with "#". @@ -6846,7 +6895,7 @@ fi AC_MSG_RESULT($with_export_syms) if test "x$with_export_syms" != xno then - EXPORT_SYMS="$EXPORT_SYMS -export-symbols $with_export_syms" + EXPORT_SYMS="-export-symbols $with_export_syms" AC_SUBST(EXPORT_SYMS) fi ])dnl @@ -7147,45 +7196,71 @@ AC_SUBST($3)dnl ])dnl dnl --------------------------------------------------------------------------- -dnl CF_WITH_PKG_CONFIG_LIBDIR version: 2 updated: 2011/12/10 18:58:47 +dnl CF_WITH_PKG_CONFIG_LIBDIR version: 5 updated: 2015/01/21 20:10:54 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 +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 + if test "x$PKG_CONFIG" = xnone + then + cf_path=$prefix + else 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 + fi + + # If you don't like using the default architecture, you have to specify the + # intended library directory and corresponding compiler/linker options. + # + # This case allows for Debian's 2014-flavor of multiarch, along with the + # most common variations before that point. Some other variants spell the + # directory differently, e.g., "pkg-config", and put it in unusual places. + # pkg-config has always been poorly standardized, which is ironic... + case x`(arch) 2>/dev/null` in #(vi + *64) #(vi + cf_search_path="\ + $cf_path/lib/*64-linux-gnu \ + $cf_path/share \ + $cf_path/lib64 \ + $cf_path/lib32 \ + $cf_path/lib" ;; *) + cf_search_path="\ + $cf_path/lib/*-linux-gnu \ + $cf_path/share \ + $cf_path/lib32 \ + $cf_path/lib \ + $cf_path/libdata" ;; esac - AC_MSG_RESULT($PKG_CONFIG_LIBDIR) -fi + CF_VERBOSE(list...) + for cf_config in $cf_search_path + do + CF_VERBOSE(checking $cf_config/pkgconfig) + if test -d $cf_config/pkgconfig + then + PKG_CONFIG_LIBDIR=$cf_config/pkgconfig + AC_MSG_CHECKING(done) + break + fi + done + ;; +*) + ;; +esac + +AC_MSG_RESULT($PKG_CONFIG_LIBDIR) AC_SUBST(PKG_CONFIG_LIBDIR) ])dnl @@ -7315,13 +7390,13 @@ CF_NO_LEAKS_OPTION(valgrind, [USE_VALGRIND]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_WITH_VERSIONED_SYMS version: 2 updated: 2014/11/15 19:05:29 +dnl CF_WITH_VERSIONED_SYMS version: 4 updated: 2015/01/21 20:10:54 dnl ---------------------- dnl Use this when building shared library with ELF, to markup symbols with the dnl version identifier from the given input file. Generally that identifier is dnl the same as the SONAME at which the symbol was first introduced. dnl -dnl $1 = basename of the ".sym" file (default $PACKAGE) +dnl $1 = basename of the ".map" file (default $PACKAGE) AC_DEFUN([CF_WITH_VERSIONED_SYMS], [ AC_MSG_CHECKING(if versioned-symbols file should be used) @@ -7336,17 +7411,21 @@ then fi AC_MSG_RESULT($with_versioned_syms) +RESULTING_SYMS= +VERSIONED_SYMS= +WILDCARD_SYMS= + if test "x$with_versioned_syms" != xno then - AC_SUBST(VERSIONED_SYMS) + RESULTING_SYMS=$with_versioned_syms case "x$MK_SHARED_LIB" in *-Wl,*) #(vi - VERSIONED_SYMS="-Wl,--version-script,$with_versioned_syms" + VERSIONED_SYMS="-Wl,--version-script,\${RESULTING_SYMS}" MK_SHARED_LIB=`echo "$MK_SHARED_LIB" | sed -e "s%-Wl,%\\[$]{VERSIONED_SYMS} -Wl,%"` CF_VERBOSE(MK_SHARED_LIB: $MK_SHARED_LIB) ;; - *-dy*) #(vi - VERSIONED_SYMS="-Wl,-M,$with_versioned_syms" + *-dy\ *) #(vi + VERSIONED_SYMS="-Wl,-M,\${RESULTING_SYMS}" MK_SHARED_LIB=`echo "$MK_SHARED_LIB" | sed -e "s%-dy%\\[$]{VERSIONED_SYMS} -dy%"` CF_VERBOSE(MK_SHARED_LIB: $MK_SHARED_LIB) ;; @@ -7354,7 +7433,88 @@ then AC_MSG_WARN(this system does not support versioned-symbols) ;; esac + + # Linux ld can selectively override scope, e.g., of symbols beginning with + # "_" by first declaring some as global, and then using a wildcard to + # declare the others as local. Some other loaders cannot do this. Check + # by constructing a (very) simple shared library and inspecting its + # symbols. + if test "x$VERSIONED_SYMS" != "x" + then + AC_MSG_CHECKING(if wildcards can be used to selectively omit symbols) + WILDCARD_SYMS=no + + # make sources + rm -f conftest.* + + cat >conftest.ver <conftest.$ac_ext <conftest.mk <&AC_FD_CC >/dev/null + then + # test for missing symbol + cf_missing=`nm -P conftest.so 2>&AC_FD_CC |fgrep _ismissing | egrep '[[ ]]T[[ ]]'` + test -n "$cf_missing" && WILDCARD_SYMS=yes + fi + AC_MSG_RESULT($WILDCARD_SYMS) + rm -f conftest.* + fi fi +AC_SUBST(RESULTING_SYMS) +AC_SUBST(VERSIONED_SYMS) +AC_SUBST(WILDCARD_SYMS) ])dnl dnl --------------------------------------------------------------------------- dnl CF_XOPEN_SOURCE version: 48 updated: 2014/09/01 12:29:14