]> ncurses.scripts.mit.edu Git - ncurses.git/blob - misc/ncurses-config.in
ncurses 6.1 - patch 20200118
[ncurses.git] / misc / ncurses-config.in
1 #!@SHELL@
2 # $Id: ncurses-config.in,v 1.42 2019/12/25 00:54:55 tom Exp $
3 ##############################################################################
4 # Copyright (c) 2006-2018,2019 Free Software Foundation, Inc.                #
5 #                                                                            #
6 # Permission is hereby granted, free of charge, to any person obtaining a    #
7 # copy of this software and associated documentation files (the "Software"), #
8 # to deal in the Software without restriction, including without limitation  #
9 # the rights to use, copy, modify, merge, publish, distribute, distribute    #
10 # with modifications, sublicense, and/or sell copies of the Software, and to #
11 # permit persons to whom the Software is furnished to do so, subject to the  #
12 # following conditions:                                                      #
13 #                                                                            #
14 # The above copyright notice and this permission notice shall be included in #
15 # all copies or substantial portions of the Software.                        #
16 #                                                                            #
17 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
18 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
19 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
20 # THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
21 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
22 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
23 # DEALINGS IN THE SOFTWARE.                                                  #
24 #                                                                            #
25 # Except as contained in this notice, the name(s) of the above copyright     #
26 # holders shall not be used in advertising or otherwise to promote the sale, #
27 # use or other dealings in this Software without prior written               #
28 # authorization.                                                             #
29 ##############################################################################
30 #
31 # Author: Thomas E. Dickey, 2006-on
32
33 LANG=C;         export LANG
34 LANGUAGE=C;     export LANGUAGE
35 LC_ALL=C;       export LC_ALL
36 LC_CTYPE=C;     export LC_CTYPE
37
38 prefix="@prefix@"
39 exec_prefix="@exec_prefix@"
40
41 bindir="@bindir@"
42 includedir="@includedir@"
43 libdir="@libdir@"
44 datarootdir="@datarootdir@"
45 datadir="@datadir@"
46 mandir="@mandir@"
47
48 THIS="@LIB_NAME@@USE_LIB_SUFFIX@"
49 TINFO_LIB="@TINFO_ARG_SUFFIX@"
50 RPATH_LIST="@RPATH_LIST@"
51
52 includesubdir="@includedir@/${THIS}"
53
54 # Ensure that RPATH_LIST contains only absolute pathnames, if it is nonempty.
55 # We cannot filter it out within the build-process since the variable is used
56 # in some special cases of installation using a relative path.
57 if [ -n "$RPATH_LIST" ]
58 then
59         save_IFS="$IFS"
60         IFS='@PATH_SEPARATOR@'
61         filtered=
62         for item in $RPATH_LIST
63         do
64                 case "$item" in
65                 ./*|../*|*/..|*/../*)
66                         ;;
67                 *)
68                         [ -n "$filtered" ] && filtered="${filtered}@PATH_SEPARATOR@"
69                         filtered="${filtered}${item}"
70                         ;;
71                 esac
72         done
73         IFS="$save_IFS"
74         # if the result is empty, there is little we can do to fix it
75         RPATH_LIST="$filtered"
76 fi
77
78 # with --disable-overwrite, we installed into a subdirectory, but transformed
79 # the headers to include like this:
80 #       <ncurses@LIB_SUFFIX@/curses.h>
81 if [ x@WITH_OVERWRITE@ = xno ]; then
82         case $includedir in
83         $prefix/include/ncurses@LIB_SUFFIX@@EXTRA_SUFFIX@)
84                 includedir=`echo "$includedir" | sed -e 's,/[^/]*$,,'`
85                 ;;
86         esac
87 fi
88
89 LIBS="@LIBS@"
90 if [ "@TINFO_NAME@" = "@LIB_NAME@" ]; then
91         LIBS="-l${THIS} $LIBS"
92 else
93         LIBS="-l${THIS} -l${TINFO_LIB} $LIBS"
94 fi
95
96 # Ignore -L options which do not correspond to an actual directory, or which
97 # are standard library directories (i.e., the linker is supposed to search
98 # those directories).
99 #
100 # There is no portable way to find the list of standard library directories. 
101 # Require a POSIX shell anyway, to keep this simple.
102 lib_flags=
103 for opt in -L$libdir @LDFLAGS@ @EXTRA_LDFLAGS@ $LIBS
104 do
105         case $opt in
106         -specs*) # ignore linker specs-files which were used to build library
107                 continue
108                 ;;
109         -Wl,-z,*) # ignore flags used to manipulate shared image
110                 continue
111                 ;;
112         -L*)
113                 [ -d ${opt##-L} ] || continue
114                 case ${opt##-L} in
115                 @LD_SEARCHPATH@) # skip standard libdir
116                         continue
117                         ;;
118                 *)
119                         found=no
120                         for check in $lib_flags
121                         do
122                                 if [ "x$check" = "x$opt" ]
123                                 then
124                                         found=yes
125                                         break
126                                 fi
127                         done
128                         [ $found = yes ] && continue
129                         ;;
130                 esac
131                 ;;
132         esac
133         lib_flags="$lib_flags $opt"
134 done
135
136 [ $# = 0 ] && exec @SHELL@ $0 --error
137
138 while [ $# -gt 0 ]; do
139         case "$1" in
140         # basic configuration
141         --prefix)
142                 echo "$prefix"
143                 ;;
144         --exec-prefix)
145                 echo "$exec_prefix"
146                 ;;
147         # compile/link
148         --cflags)
149                 INCS="@PKG_CFLAGS@"
150                 if [ "x@WITH_OVERWRITE@" = xno ]; then
151                         INCS="$INCS -I${includesubdir}"
152                 fi
153                 if [ "${includedir}" != /usr/include ]; then
154                         INCS="$INCS -I${includedir}"
155                 fi
156                 sed -e 's,^[ ]*,,' -e 's, [ ]*, ,g' -e 's,[ ]*$,,' <<-ENDECHO
157                         $INCS
158 ENDECHO
159                 ;;
160         --libs)
161                 OPTS=
162                 for opt in $lib_flags
163                 do
164                         [ -n "$OPTS" ] && OPTS="$OPTS "
165                         OPTS="${OPTS}${opt}"
166                 done
167                 printf "%s\n" "$OPTS"
168                 ;;
169         --libs-only-L)
170                 OPTS=
171                 for opt in $lib_flags
172                 do
173                         case "x$opt" in
174                         x-L*)
175                                 [ -n "$OPTS" ] && OPTS="$OPTS "
176                                 OPTS="${OPTS}${opt}"
177                                 ;;
178                         esac
179                 done
180                 printf "%s\n" "$OPTS"
181                 ;;
182         --libs-only-l)
183                 OPTS=
184                 for opt in $lib_flags
185                 do
186                         case "x$opt" in
187                         x-l*)
188                                 [ -n "$OPTS" ] && OPTS="$OPTS "
189                                 OPTS="${OPTS}${opt}"
190                                 ;;
191                         esac
192                 done
193                 printf "%s\n" "$OPTS"
194                 ;;
195         --libs-only-other)
196                 OPTS=
197                 for opt in $lib_flags
198                 do
199                         case "x$opt" in
200                         x-[lL]*)
201                                 ;;
202                         *)
203                                 [ -n "$OPTS" ] && OPTS="$OPTS "
204                                 OPTS="${OPTS}${opt}"
205                                 ;;
206                         esac
207                 done
208                 printf "%s\n" "$OPTS"
209                 ;;
210         # identification
211         --version)
212                 echo "@NCURSES_MAJOR@.@NCURSES_MINOR@.@NCURSES_PATCH@"
213                 ;;
214         --abi-version)
215                 echo "@cf_cv_abi_version@"
216                 ;;
217         --mouse-version)
218                 echo "@NCURSES_MOUSE_VERSION@"
219                 ;;
220         # locations
221         --bindir)
222                 echo "${bindir}"
223                 ;;
224         --datadir)
225                 echo "${datadir}"
226                 ;;
227         --includedir)
228                 INCS=
229                 if [ "x@WITH_OVERWRITE@" = xno ]; then
230                         INCS="${includesubdir}"
231                 elif [ "${includedir}" != /usr/include ]; then
232                         INCS="${includedir}"
233                 fi
234                 echo $INCS
235                 ;;
236         --libdir)
237                 echo "${libdir}"
238                 ;;
239         --mandir)
240                 echo "${mandir}"
241                 ;;
242         --terminfo)
243                 echo "@TERMINFO@"
244                 ;;
245         --terminfo-dirs)
246                 echo "@TERMINFO_DIRS@"
247                 ;;
248         --termpath)
249                 echo "@TERMPATH@"
250                 ;;
251         # general info
252         --help)
253                 cat <<ENDHELP
254 Usage: `basename $0` [options]
255
256 Options:
257   --prefix           echos the package-prefix of ${THIS}
258   --exec-prefix      echos the executable-prefix of ${THIS}
259
260   --cflags           echos the C compiler flags needed to compile with ${THIS}
261   --libs             echos the libraries needed to link with ${THIS}
262
263   --libs-only-L      echos -L linker options (search path) for ${THIS}
264   --libs-only-l      echos -l linker options (libraries) for ${THIS}
265   --libs-only-other  echos linker options other than -L/-l
266
267   --version          echos the release+patchdate version of ${THIS}
268   --abi-version      echos the ABI version of ${THIS}
269   --mouse-version    echos the mouse-interface version of ${THIS}
270
271   --bindir           echos the directory containing ${THIS} programs
272   --datadir          echos the directory containing ${THIS} data
273   --includedir       echos the directory containing ${THIS} header files
274   --libdir           echos the directory containing ${THIS} libraries
275   --mandir           echos the directory containing ${THIS} manpages
276   --terminfo         echos the \$TERMINFO terminfo database path
277   --terminfo-dirs    echos the \$TERMINFO_DIRS directory list
278   --termpath         echos the \$TERMPATH termcap list
279
280   --help             prints this message
281 ENDHELP
282                 ;;
283         --error|*)
284                 @SHELL@ $0 --help 1>&2
285                 exit 1
286                 ;;
287         esac
288         shift
289 done
290 # vi:ts=4 sw=4
291 # vile:shmode