diff options
Diffstat (limited to 'misc/gen-pkgconfig.in')
-rw-r--r-- | misc/gen-pkgconfig.in | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/misc/gen-pkgconfig.in b/misc/gen-pkgconfig.in new file mode 100644 index 000000000000..efd29105b571 --- /dev/null +++ b/misc/gen-pkgconfig.in @@ -0,0 +1,139 @@ +#!@SHELL@ +# $Id: gen-pkgconfig.in,v 1.8 2010/02/06 22:12:07 Miroslav.Lichvar Exp $ +############################################################################## +# Copyright (c) 2009,2010 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"), # +# to deal in the Software without restriction, including without limitation # +# the rights to use, copy, modify, merge, publish, distribute, distribute # +# with modifications, sublicense, and/or sell copies of the Software, and to # +# permit persons to whom the Software is furnished to do so, subject to the # +# following conditions: # +# # +# The above copyright notice and this permission notice shall be included in # +# all copies or substantial portions of the Software. # +# # +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # +# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # +# DEALINGS IN THE SOFTWARE. # +# # +# Except as contained in this notice, the name(s) of the above copyright # +# holders shall not be used in advertising or otherwise to promote the sale, # +# use or other dealings in this Software without prior written # +# authorization. # +############################################################################## +# +# Author: Thomas E. Dickey, 2009 +# +# The complete configure script for ncurses is the ncurses5-config (or similar +# name, depending on the flavor, e.g., ncursesw5-config, ncurses6-config, etc). +# That provides more information than pkg-config, and is the portable and +# recommended solution. +# +# For each library, generate a ".pc" file which depends on the base ncurses +# library, except that the tinfo library does not depend on ncurses. +LIB_NAME=@LIB_NAME@ +TINFO_NAME=@TINFO_NAME@ +PANEL_NAME=panel # @PANEL_NAME@ +MENU_NAME=menu # @MENU_NAME@ +FORM_NAME=form # @FORM_NAME@ +CXX_NAME=ncurses++ # @CXX_NAME@ +DFT_DEP_SUFFIX=@DFT_DEP_SUFFIX@ +TINFO_ARG_SUFFIX=@TINFO_ARG_SUFFIX@ +CXX_LIB_SUFFIX=@CXX_LIB_SUFFIX@ + +prefix="@prefix@" +exec_prefix="@exec_prefix@" +includedir="@includedir@" +libdir="@libdir@" + +show_prefix='@prefix@' +show_exec_prefix='@exec_prefix@' +show_includedir='@includedir@' +show_libdir='@libdir@' + +MAIN_LIBRARY="${LIB_NAME}@DFT_ARG_SUFFIX@" +SUB_LIBRARY="${TINFO_ARG_SUFFIX}" +PANEL_LIBRARY="${PANEL_NAME}@DFT_ARG_SUFFIX@" +MENU_LIBRARY="${MENU_NAME}@DFT_ARG_SUFFIX@" +FORM_LIBRARY="${FORM_NAME}@DFT_ARG_SUFFIX@" + +SUB_LIBRARY_REQ=${SUB_LIBRARY} +if test $TINFO_NAME = $LIB_NAME ; then + SUB_LIBRARY_REQ= +fi + +for lib in ../lib/* +do + name=`basename $lib` + if test "$name" = "*" ; then + break + fi + + root=`basename $name "$DFT_DEP_SUFFIX"` + if test "$name" = "$root" ; then + root=`basename $name "$CXX_LIB_SUFFIX"` + if test "$name" = "$root" ; then + continue + fi + fi + + name=`echo "$name" | sed -e 's/^lib//' -e 's/\..*$//'` + + desc="ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" + if test $name = $MAIN_LIBRARY ; then + reqs=$SUB_LIBRARY_REQ + desc="$desc library" + elif test $name = $SUB_LIBRARY ; then + reqs= + desc="$desc terminal interface library" + elif expr $name : ".*${CXX_NAME}.*" >/dev/null ; then + reqs="$PANEL_LIBRARY $MENU_LIBRARY $FORM_LIBRARY $MAIN_LIBRARY $SUB_LIBRARY_REQ" + desc="$desc add-on library" + else + reqs="$MAIN_LIBRARY $SUB_LIBRARY_REQ" + desc="$desc add-on library" + fi + + if test "$includedir" = "/usr/include" ; then + cflags= + else + cflags="-I\${includedir}" + fi + + if test "$libdir" = "/usr/lib" ; then + libs= + else + libs="-L\${libdir}" + fi + libs="$libs -l$name" + + # add dependencies that pkg-config cannot guess about + if test -z "$reqs" ; then + libs="$libs @LIBS@" + fi + + echo "** creating ${name}.pc" + cat >${name}.pc <<EOF +prefix=$show_prefix +exec_prefix=$show_exec_prefix +libdir=$show_libdir +includedir=$show_includedir +major_version=@NCURSES_MAJOR@ +version=@NCURSES_MAJOR@.@NCURSES_MINOR@.@NCURSES_PATCH@ + +Name: $name +Description: $desc +Version: \${version} +Requires: $reqs +Libs: $libs +Cflags: $cflags +EOF + # pr -f ${name}.pc +done +# vile:shmode |