aboutsummaryrefslogtreecommitdiff
path: root/misc/ncurses-config.in
diff options
context:
space:
mode:
Diffstat (limited to 'misc/ncurses-config.in')
-rw-r--r--misc/ncurses-config.in45
1 files changed, 39 insertions, 6 deletions
diff --git a/misc/ncurses-config.in b/misc/ncurses-config.in
index 7f8ba697d118..eae39a516ff3 100644
--- a/misc/ncurses-config.in
+++ b/misc/ncurses-config.in
@@ -1,7 +1,7 @@
#!@SHELL@
-# $Id: ncurses-config.in,v 1.43 2020/02/02 23:34:34 tom Exp $
+# $Id: ncurses-config.in,v 1.46 2021/01/23 23:47:46 tom Exp $
##############################################################################
-# Copyright 2018-2019,2020 Thomas E. Dickey #
+# Copyright 2018-2020,2021 Thomas E. Dickey #
# Copyright 2006-2015,2017 Free Software Foundation, Inc. #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
@@ -101,7 +101,7 @@ fi
# 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 @LDFLAGS@ @EXTRA_PKG_LDFLAGS@ $LIBS
do
case $opt in
-specs*) # ignore linker specs-files which were used to build library
@@ -111,10 +111,43 @@ do
continue
;;
-L*)
- [ -d ${opt##-L} ] || continue
- case ${opt##-L} in
+ lib_check=${opt##-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