X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=misc%2Fncurses-config.in;h=a4b89c5a5428ea3669ccb8deb58c1b77b145e9dc;hp=74a45107c534a94654812159a6162734becd2511;hb=2ba352d86b57bddd1dd2a6e20892f380c34180b7;hpb=cecf06633520e80b392644f66fe362009583fedb;ds=sidebyside diff --git a/misc/ncurses-config.in b/misc/ncurses-config.in index 74a45107..a4b89c5a 100644 --- a/misc/ncurses-config.in +++ b/misc/ncurses-config.in @@ -1,7 +1,8 @@ #!@SHELL@ -# $Id: ncurses-config.in,v 1.26 2011/05/07 19:23:01 tom Exp $ +# $Id: ncurses-config.in,v 1.44 2020/05/23 17:56:52 tom Exp $ ############################################################################## -# Copyright (c) 2006-2010,2011 Free Software Foundation, Inc. # +# Copyright 2018-2019,2020 Thomas E. Dickey # +# Copyright 2006-2015,2017 Free Software Foundation, Inc. # # # # Permission is hereby granted, free of charge, to any person obtaining a # # copy of this software and associated documentation files (the "Software"), # @@ -30,37 +31,112 @@ # # Author: Thomas E. Dickey, 2006-on +LANG=C; export LANG +LANGUAGE=C; export LANGUAGE +LC_ALL=C; export LC_ALL +LC_CTYPE=C; export LC_CTYPE + prefix="@prefix@" exec_prefix="@exec_prefix@" bindir="@bindir@" includedir="@includedir@" libdir="@libdir@" +datarootdir="@datarootdir@" datadir="@datadir@" mandir="@mandir@" -THIS="@LIB_NAME@@DFT_ARG_SUFFIX@" +THIS="@LIB_NAME@@USE_LIB_SUFFIX@" TINFO_LIB="@TINFO_ARG_SUFFIX@" +RPATH_LIST="@RPATH_LIST@" -LANG=C; export LANG -LANGUAGE=C; export LANGUAGE -LC_ALL=C; export LC_ALL -LC_CTYPE=C; export LC_CTYPE +includesubdir="@includedir@/${THIS}" + +# Ensure that RPATH_LIST contains only absolute pathnames, if it is nonempty. +# We cannot filter it out within the build-process since the variable is used +# in some special cases of installation using a relative path. +if [ -n "$RPATH_LIST" ] +then + save_IFS="$IFS" + IFS='@PATH_SEPARATOR@' + filtered= + for item in $RPATH_LIST + do + case "$item" in + ./*|../*|*/..|*/../*) + ;; + *) + [ -n "$filtered" ] && filtered="${filtered}@PATH_SEPARATOR@" + filtered="${filtered}${item}" + ;; + esac + done + IFS="$save_IFS" + # if the result is empty, there is little we can do to fix it + RPATH_LIST="$filtered" +fi # with --disable-overwrite, we installed into a subdirectory, but transformed # the headers to include like this: # -if test x@WITH_OVERWRITE@ = xno ; then +if [ x@WITH_OVERWRITE@ = xno ]; then case $includedir in - $prefix/include/ncurses@LIB_SUFFIX@) + $prefix/include/ncurses@LIB_SUFFIX@@EXTRA_SUFFIX@) includedir=`echo "$includedir" | sed -e 's,/[^/]*$,,'` ;; esac fi -test $# = 0 && exec @SHELL@ $0 --error +LIBS="@LIBS@" +if [ "@TINFO_NAME@" = "@LIB_NAME@" ]; then + LIBS="-l${THIS} $LIBS" +else + LIBS="-l${THIS} -l${TINFO_LIB} $LIBS" +fi -while test $# -gt 0; do +# Ignore -L options which do not correspond to an actual directory, or which +# are standard library directories (i.e., the linker is supposed to search +# those directories). +# +# There is no portable way to find the list of standard library directories. +# Require a POSIX shell anyway, to keep this simple. +lib_flags= +for opt in -L$libdir @LDFLAGS@ @EXTRA_PKG_LDFLAGS@ $LIBS +do + case $opt in + -specs*) # ignore linker specs-files which were used to build library + continue + ;; + -Wl,-z,*) # ignore flags used to manipulate shared image + continue + ;; + -L*) + [ -d ${opt##-L} ] || continue + case ${opt##-L} in + @LD_SEARCHPATH@) # skip standard libdir + continue + ;; + *) + found=no + for check in $lib_flags + do + if [ "x$check" = "x$opt" ] + then + found=yes + break + fi + done + [ $found = yes ] && continue + ;; + esac + ;; + esac + lib_flags="$lib_flags $opt" +done + +[ $# = 0 ] && exec @SHELL@ $0 --error + +while [ $# -gt 0 ]; do case "$1" in # basic configuration --prefix) @@ -71,11 +147,11 @@ while test $# -gt 0; do ;; # compile/link --cflags) - INCS= - if test "x@WITH_OVERWRITE@" = xno ; then - INCS="$INCS -I${includedir}/${THIS}" + INCS="@PKG_CFLAGS@" + if [ "x@WITH_OVERWRITE@" = xno ]; then + INCS="$INCS -I${includesubdir}" fi - if test "${includedir}" != /usr/include ; then + if [ "${includedir}" != /usr/include ]; then INCS="$INCS -I${includedir}" fi sed -e 's,^[ ]*,,' -e 's, [ ]*, ,g' -e 's,[ ]*$,,' <<-ENDECHO @@ -83,21 +159,54 @@ while test $# -gt 0; do ENDECHO ;; --libs) - if test "$libdir" = /usr/lib - then - LIBDIR= - else - LIBDIR=-L$libdir - fi - if test @TINFO_NAME@ = @LIB_NAME@ ; then - sed -e 's,^[ ]*,,' -e 's, [ ]*, ,g' -e 's,[ ]*$,,' <<-ENDECHO - $LIBDIR @EXTRA_LDFLAGS@ -l${THIS} @LIBS@ -ENDECHO - else - sed -e 's,^[ ]*,,' -e 's, [ ]*, ,g' -e 's,[ ]*$,,' <<-ENDECHO - $LIBDIR @EXTRA_LDFLAGS@ -l${THIS} -l${TINFO_LIB} @LIBS@ -ENDECHO - fi + OPTS= + for opt in $lib_flags + do + [ -n "$OPTS" ] && OPTS="$OPTS " + OPTS="${OPTS}${opt}" + done + printf "%s\n" "$OPTS" + ;; + --libs-only-L) + OPTS= + for opt in $lib_flags + do + case "x$opt" in + x-L*) + [ -n "$OPTS" ] && OPTS="$OPTS " + OPTS="${OPTS}${opt}" + ;; + esac + done + printf "%s\n" "$OPTS" + ;; + --libs-only-l) + OPTS= + for opt in $lib_flags + do + case "x$opt" in + x-l*) + [ -n "$OPTS" ] && OPTS="$OPTS " + OPTS="${OPTS}${opt}" + ;; + esac + done + printf "%s\n" "$OPTS" + ;; + --libs-only-other) + OPTS= + for opt in $lib_flags + do + case "x$opt" in + x-[lL]*) + ;; + *) + [ -n "$OPTS" ] && OPTS="$OPTS " + OPTS="${OPTS}${opt}" + ;; + esac + done + printf "%s\n" "$OPTS" ;; # identification --version) @@ -117,7 +226,13 @@ ENDECHO echo "${datadir}" ;; --includedir) - echo "${includedir}" + INCS= + if [ "x@WITH_OVERWRITE@" = xno ]; then + INCS="${includesubdir}" + elif [ "${includedir}" != /usr/include ]; then + INCS="${includedir}" + fi + echo $INCS ;; --libdir) echo "${libdir}" @@ -137,7 +252,7 @@ ENDECHO # general info --help) cat <