
| Current Path : /bin/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : //bin/xapian-config |
#!/bin/sh
# xapian-config. Generated from xapian-config.in by configure.
#
# Copyright (C) 2002,2003,2004,2005,2006,2007,2009,2010,2012,2014,2015 Olly Betts
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 2 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
# USA
PROG_NAME=xapian-config
PROG_DESC="report information about the installed version of xapian"
# ${prefix} and ${exec_prefix} are used in some @-substitutions, and
# ${prefix} is usually used in the exec_prefix @-substitution.
prefix="/usr"
exec_prefix="${prefix}"
# Show usage information and exit with the specified exit status.
show_usage() {
cat <<EOF
Usage: $PROG_NAME OPTION...
Options:
--cxxflags output all preprocessor and C++ compiler flags
--libs output all linker flags
--ltlibs output linker flags for linking using GNU libtool
--static make other options report values for static linking
--swigflags output preprocessor flags for use with SWIG
--help output this help and exit
--version output version information and exit
Report bugs to <https://xapian.org/bugs>.
EOF
exit "$1"
}
# This script requires at least one argument.
[ 0 != "$#" ] || show_usage 1 1>&2
need_explicit_dependencies()
{
# For static libraries, we need to explicitly link with dependency_libs
# on all platforms. For shared libraries, it depends on the platform.
# xapian-config --static means static libraries.
[ no = "$static" ] || return 0 # "true"
# If the .la file hasn't been installed, assume there are shared libraries.
if [ -f "/usr/lib/x86_64-linux-gnu/libxapian.la" ] ; then
# If "$dlname" is empty, we only have static libraries.
extract_dlname "/usr/lib/x86_64-linux-gnu/libxapian.la"
[ -n "$dlname" ] || return 0 # "true"
fi
# Vanilla libtool set this to either "yes" or "unknown" and then handles
# both of these the same way, but our configure forces this to "no" on
# platforms where we know that is appropriate.
[ no != "no" ] || return 1 # "false"
return 0 # "true"
}
# Any extra ldflags needed.
set_F_to_extra_ldflags() {
F=
[ -n "" ] && F=" "
}
# -L option required (if any).
set_L_to_library_path() {
L=
[ /usr/lib != "/usr/lib/x86_64-linux-gnu" ] && L="-L/usr/lib/x86_64-linux-gnu "
}
set_I() {
# Adding -I/usr/include to CXXFLAGS causes problems with certain
# versions of GCC on some platforms where GCC generates "fixed"
# versions of vendor supplied include headers at install time.
# Normally these are used instead of those in /usr/include, but if
# you explicitly pass -I/usr/include you get the non-fixed
# versions. More recent GCC versions simply ignore -I/usr/include
# but we want to support older versions too.
case "${prefix}/include" in
/usr/include|/usr/include/c++) I= ;;
*) I="-I${prefix}/include" ;;
esac
}
set_I_swig() {
I="-I${prefix}/include"
}
# Extract dlname from a libtool .la file.
extract_dlname() {
dlname=
# Need to quote ^ for Solaris /bin/sh.
assignment=`grep '^dlname=' "$1" 2>/dev/null`
eval "$assignment"
}
# Extract dependency_libs recursively from a libtool .la file, converting
# .la references into appropriate -L and -l options.
extract_dependency_libs() {
deps=
# Multiple whitespace (space or tab).
mws='[ ][ ]*'
la='\(/[^ ]*\)\(/lib\)\([^ ]*\).la'
pat='\(.* \)'"$la"'\( .*\)'
extract_dependency_libs_ "$1"
dependency_libs=`echo "$deps"|sed 's/ */ /g;s/^ //;s/ $//'`
}
# Internal helper function for extract_dependency_libs.
extract_dependency_libs_() {
dependency_libs=
# Need to quote ^ for Solaris /bin/sh.
assignment=`grep '^dependency_libs=' "$1" 2>/dev/null`
eval "$assignment"
dependency_libs=`echo " $dependency_libs "|sed "s/$mws/ /g"`
while true ; do
file=`echo "$dependency_libs"|sed "s,$pat"',\2\3\4.la,'`
case $file in
*.la)
# Replace "/path/to/libfoo.la" with "-L/path/to -lfoo".
deps="$deps "`echo "$dependency_libs"|sed "s,$pat"',\1-L\2 -l\4,'`
# Put the trailing part in $1 which is a local variable.
set "`echo "$dependency_libs"|sed "s,$pat"',\5,'`"
# And expand any dependency libs from libfoo.la.
extract_dependency_libs_ "$file"
# Set dependency_libs to the trailing part, ready for the
# next pass of the loop which checks for more .la files.
dependency_libs=$1
;;
*)
deps=$deps$dependency_libs
break
;;
esac
done
}
builddir=`echo "$0"|sed 's![^/]*$!!'`
xo_lib_xapian=no
static=no
actions=
while [ 0 != "$#" ] ; do
arg=$1
shift
case $arg in
--help)
echo "$PROG_NAME - $PROG_DESC"
echo
show_usage 0
;;
--version)
echo "$PROG_NAME - xapian-core 1.4.14"
exit 0
;;
--cxxflags|--swigflags|--libs|--ltlibs)
actions="$actions $arg"
;;
--static)
static=yes
;;
--from-xo-lib-xapian)
# Top Secret option which allows us to give a more helpful error
# message if we're asked to link with an uninstalled libxapian
# and libtool isn't in use.
xo_lib_xapian=yes
;;
-*)
echo "$0: Unrecognized option: $arg" 1>&2
show_usage 1 1>&2
;;
*)
show_usage 1 1>&2
;;
esac
done
for arg in $actions ; do
case $arg in
--cxxflags)
set_I
F=
[ -n "" ] && F=" "
echo "$I$F"
;;
--swigflags)
set_I_swig
echo "$I"
;;
--libs)
set_F_to_extra_ldflags
set_L_to_library_path
D=
if need_explicit_dependencies ; then
extract_dependency_libs "/usr/lib/x86_64-linux-gnu/libxapian.la"
[ -n "$dependency_libs" ] && D=" $dependency_libs"
fi
echo "$F$L-lxapian$D"
;;
--ltlibs)
set_F_to_extra_ldflags
# If we need to pull in dependency_libs, we need libxapian.la.
# Otherwise just use the appropriate -L and -l options.
# Upstream libtool currently never sets link_all_deplibs_CXX=no.
# Some Linux distros patch libtool to return no, and some have an
# unhelpful policy of not packaging .la files in an attempt to work
# around this. So avoiding using libtool here gives more consistent
# behaviour.
if need_explicit_dependencies ; then
if [ -f "/usr/lib/x86_64-linux-gnu/libxapian.la" ]; then
echo "${F}/usr/lib/x86_64-linux-gnu/libxapian.la"
continue
fi
echo "$0: Can't find libxapian.la to link against." 1>&2
exit 1
fi
set_L_to_library_path
echo "$F$L-lxapian"
;;
esac
done
exit 0