X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=misc%2Fncurses-config.in;h=7b02ac27dc30faaa8c4e612a943a9c0ab8deb062;hp=1da156c7d61a4a642002f58346ae70b3d8913b3c;hb=HEAD;hpb=027ae42953e3186daed8f3882da73de48291b606 diff --git a/misc/ncurses-config.in b/misc/ncurses-config.in index 1da156c7..c9f1cf80 100644 --- a/misc/ncurses-config.in +++ b/misc/ncurses-config.in @@ -1,7 +1,8 @@ #!@SHELL@ -# $Id: ncurses-config.in,v 1.11 2006/10/28 20:22:52 tom Exp $ +# $Id: ncurses-config.in,v 1.52 2022/07/26 21:36:28 tom Exp $ ############################################################################## -# Copyright (c) 2006 Free Software Foundation, Inc. # +# Copyright 2018-2021,2022 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"), # @@ -28,62 +29,223 @@ # authorization. # ############################################################################## # -# Author: Thomas E. Dickey, 2006 +# 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="ncurses@DFT_ARG_SUFFIX@" +THIS="@LIB_NAME@@USE_LIB_SUFFIX@" +TINFO_LIB="@TINFO_ARG_SUFFIX@" +RPATH_LIST="@RPATH_LIST@" -test $# = 0 && exec @SHELL@ $0 --error +includesubdir="@includedir@/${THIS}" -while test $# -gt 0; do - case "$1" in - -*=*) - ARG=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` +# 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 [ x@WITH_OVERWRITE@ = xno ]; then + case $includedir in + $prefix/include/ncurses@LIB_SUFFIX@@EXTRA_SUFFIX@) + includedir=`echo "$includedir" | sed -e 's,/[^/]*$,,'` ;; - *) - ARG= + esac +fi + +LIBS="@LIBS@" +if [ "@TINFO_NAME@" = "@LIB_NAME@" ]; then + LIBS="-l${THIS} $LIBS" +else + LIBS="-l${THIS} -l${TINFO_LIB} $LIBS" +fi + +# 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 @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 + ;; + -Wl,--dynamic-linker*) # ignore ELF interpreter + continue + ;; + -Wl,--as-needed|-Wl,--build-id=*|-Wl,-dT,*|-Wl,-T,*) + continue + ;; + -L*) + lib_check=`echo "x$opt" | sed -e 's/^.-L//'` + [ -d "$lib_check" ] || continue + case "$lib_check" in + @LD_SEARCHPATH@) # skip standard libdir + if [ "$lib_check" = "$libdir" ] + then + lib_first=yes + IFS_save="$IFS" + IFS='|' + LIBDIRS="@LD_SEARCHPATH@" + for lib_check in $LIBDIRS + do + if [ -d "$lib_check" ] + then + if [ "$lib_check" != "$libdir" ] + then + lib_first=no + fi + break + fi + done + IFS="$IFS_save" + [ $lib_first = yes ] && continue + found=no + for check in $lib_flags + do + if [ "x$check" = "x$opt" ] + then + found=yes + break + fi + done + [ $found = yes ] && continue + : + else + continue + fi + ;; + *) + 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=*) - prefix="$ARG" - test -z "$exec_prefix" && exec_prefix="$ARG" - ;; --prefix) echo "$prefix" ;; - --exec-prefix=*) - exec_prefix="$ARG" - ;; --exec-prefix) echo "$exec_prefix" ;; # compile/link --cflags) - INCS= - if test "${prefix}/include" != /usr/include ; then - INCS="-I${prefix}/include" + INCS="@PKG_CFLAGS@" + if [ "x@WITH_OVERWRITE@" = xno ]; then + INCS="$INCS -I${includesubdir}" fi - if test "@WITH_OVERWRITE@" != no ; then - INCS="$INCS -I${prefix}/include/${THIS}" + if [ "${includedir}" != /usr/include ]; then + INCS="$INCS -I${includedir}" fi sed -e 's,^[ ]*,,' -e 's, [ ]*, ,g' -e 's,[ ]*$,,' <<-ENDECHO $INCS ENDECHO ;; --libs) - sed -e 's,^[ ]*,,' -e 's, [ ]*, ,g' -e 's,[ ]*$,,' <<-ENDECHO - -L${exec_prefix}/lib @EXTRA_LDFLAGS@ -l${THIS} @LIBS@ -ENDECHO + 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) @@ -102,6 +264,15 @@ ENDECHO --datadir) echo "${datadir}" ;; + --includedir) + INCS= + if [ "x@WITH_OVERWRITE@" = xno ]; then + INCS="${includesubdir}" + elif [ "${includedir}" != /usr/include ]; then + INCS="${includedir}" + fi + echo "$INCS" + ;; --libdir) echo "${libdir}" ;; @@ -120,23 +291,26 @@ ENDECHO # general info --help) cat <&2 + @SHELL@ "$0" --help 1>&2 exit 1 ;; esac shift done +# vi:ts=4 sw=4 # vile:shmode