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 *
dnl
dnl Author: Thomas E. Dickey 1995-on
dnl
-dnl $Id: aclocal.m4,v 1.719 2014/12/06 13:37:21 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
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.
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
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
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 <<CF_EOF
+
+# Generated by CF_LIB_RULES
+resulting.map: $UNALTERED_SYMS
+ sed $cf_sed_options < $UNALTERED_SYMS >\[$]@
+
+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)
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],
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)
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
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
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"
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 "#".
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
])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
[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)
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)
;;
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 <<EOF
+module_1.0 {
+global:
+ globalf1;
+local:
+ localf1;
+};
+module_2.0 {
+global:
+ globalf2;
+local:
+ localf2;
+ _*;
+} module_1.0;
+submodule_1.0 {
+global:
+ subglobalf1;
+ _ismissing;
+local:
+ sublocalf1;
+};
+submodule_2.0 {
+global:
+ subglobalf2;
+local:
+ sublocalf2;
+ _*;
+} submodule_1.0;
+EOF
+ cat >conftest.$ac_ext <<EOF
+#line __oline__ "configure"
+int _ismissing(void) { return 1; }
+int _localf1(void) { return 1; }
+int _localf2(void) { return 2; }
+int globalf1(void) { return 1; }
+int globalf2(void) { return 2; }
+int _sublocalf1(void) { return 1; }
+int _sublocalf2(void) { return 2; }
+int subglobalf1(void) { return 1; }
+int subglobalf2(void) { return 2; }
+EOF
+ cat >conftest.mk <<EOF
+CC=${CC}
+CFLAGS=${CFLAGS}
+CPPFLAGS=${CPPFLAGS}
+LDFLAGS=${LDFLAGS}
+LIBS=${LIBS}
+VERSIONED_SYMS=${VERSIONED_SYMS}
+RESULTING_SYMS=conftest.ver
+MK_SHARED_LIB=${MK_SHARED_LIB}
+conftest.so: conftest.$ac_cv_objext
+ \$(MK_SHARED_LIB) conftest.$ac_cv_objext
+EOF
+
+ # compile source, make library
+ if make -f conftest.mk 2>&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