X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=misc%2Fncurses-config.in;h=7b02ac27dc30faaa8c4e612a943a9c0ab8deb062;hp=9028fc5e10c1d719b0deac8ac1b39d0ca7dde470;hb=HEAD;hpb=d479dbaecb05c5d5fbd064835c930c468898c7b1 diff --git a/misc/ncurses-config.in b/misc/ncurses-config.in index 9028fc5e..c9f1cf80 100644 --- a/misc/ncurses-config.in +++ b/misc/ncurses-config.in @@ -1,7 +1,8 @@ #!@SHELL@ -# $Id: ncurses-config.in,v 1.42 2019/12/25 00:54:55 tom Exp $ +# $Id: ncurses-config.in,v 1.52 2022/07/26 21:36:28 tom Exp $ ############################################################################## -# Copyright (c) 2006-2018,2019 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"), # @@ -97,10 +98,10 @@ fi # 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. +# 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_LDFLAGS@ $LIBS +for opt in -L$libdir @EXTRA_PKG_LDFLAGS@ $LIBS do case $opt in -specs*) # ignore linker specs-files which were used to build library @@ -109,11 +110,50 @@ do -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*) - [ -d ${opt##-L} ] || continue - case ${opt##-L} in + lib_check=`echo "x$opt" | sed -e 's/^.-L//'` + [ -d "$lib_check" ] || continue + case "$lib_check" in @LD_SEARCHPATH@) # skip standard libdir - continue + 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 @@ -133,7 +173,7 @@ do lib_flags="$lib_flags $opt" done -[ $# = 0 ] && exec @SHELL@ $0 --error +[ $# = 0 ] && exec @SHELL@ "$0" --error while [ $# -gt 0 ]; do case "$1" in @@ -164,7 +204,7 @@ ENDECHO [ -n "$OPTS" ] && OPTS="$OPTS " OPTS="${OPTS}${opt}" done - printf "%s\n" "$OPTS" + printf '%s\n' "$OPTS" ;; --libs-only-L) OPTS= @@ -177,7 +217,7 @@ ENDECHO ;; esac done - printf "%s\n" "$OPTS" + printf '%s\n' "$OPTS" ;; --libs-only-l) OPTS= @@ -190,7 +230,7 @@ ENDECHO ;; esac done - printf "%s\n" "$OPTS" + printf '%s\n' "$OPTS" ;; --libs-only-other) OPTS= @@ -205,7 +245,7 @@ ENDECHO ;; esac done - printf "%s\n" "$OPTS" + printf '%s\n' "$OPTS" ;; # identification --version) @@ -231,7 +271,7 @@ ENDECHO elif [ "${includedir}" != /usr/include ]; then INCS="${includedir}" fi - echo $INCS + echo "$INCS" ;; --libdir) echo "${libdir}" @@ -251,7 +291,7 @@ ENDECHO # general info --help) cat <&2 + @SHELL@ "$0" --help 1>&2 exit 1 ;; esac