wxWidgets/wx-config.in
Václav Slavík c74dc1630d don't link wxBase against GUI libraries
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21712 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-07-06 18:55:09 +00:00

199 lines
5.4 KiB
Bash
Executable File

#!/bin/sh
prefix=@prefix@
exec_prefix=@exec_prefix@
exec_prefix_set=no
CC="@CC@"
GCC="@GCC@"
CXX="@CXX@"
LD="@SHARED_LD@"
srcdir=@top_srcdir@
builddir=@top_builddir_wxconfig@
cross_compiling=@cross_compiling@
target=@host_alias@
static_flag=@STATIC_FLAG@
# return the absolute path prepending builddir to it if needed
makeabs()
{
path=$1
# TODO: this only works under Unix and even there it could be
# enhanced to remove ".." and "."
if [ `echo $path | sed 's/^\(.\).*/\1/'` != "/" ]; then
if [ $path = "." ]; then
path=$builddir
else
path="$builddir/$path"
fi
fi
echo $path
}
usage()
{
cat <<EOF
Usage: wx-config [--prefix[=DIR]] [--exec-prefix[=DIR]] [--version] [--release]
[--basename] [--static] [--libs] [--gl-libs]
[--cppflags] [--cflags] [--cxxflags] [--ldflags] [--rezflags]
[--cc] [--cxx] [--ld]
wx-config returns configuration information about the installed
version of wxWindows. It may be used to query its version and
installation directories and also retrieve the C and C++ compilers
and linker which were used for its building and the corresponding
flags.
Ordinarily it should be installed to the appropriate system location
along with the headers and library files, but it is also possible to
use it to enable builds with an uninstalled wxWindows version for
package building and bleeding edge developers. To do so, use it like
this:
\${wx_builddir}/wx-config --prefix=\${wx_srcdir} --exec-prefix=\${wx_builddir}
Note that any other options supplied must come *after* the prefix
specification for it to take effect.
EOF
exit $1
}
cppflags()
{
# we should never specify -I/usr/include on the compiler command line: this
# is at best useless and at worst breaks compilation on the systems where
# the system headers are non-ANSI because gcc works around this by storing
# the ANSI-fied versions of them in its private directory which is searched
# after all the directories on the cmd line.
#
# the situation is a bit more complicated with -I/usr/local/include: again,
# it shouldn't be specified with gcc which looks there by default anyhow
# and gives warnings (at least 3.1 does) if it is specified explicitly --
# but this -I switch *is* needed for the other compilers
#
# note that we assume that if we use GNU cc we also use GNU c++ and vice
# versa, i.e. this won't work (either for --cflags or --cxxflags) if GNU C
# compiler and non-GNU C++ compiler are used or vice versa -- we'll fix
# this when/if anybody complains about it
if test "@includedir@" != "/usr/include" \
-a "@includedir@" != "/usr/include/c++" \
-a \( "${GCC}" != "yes" \
-o "@includedir@" != "/usr/local/include" \) \
-a \( "${cross_compiling}" != "yes" \
-o "@includedir@" != "/usr/${target}/include" \) ;
then
includes=" -I@includedir@"
fi
includes="-I@libdir@/wx/include/@TOOLCHAIN_NAME@$includes"
if test $static_flag = yes ; then
echo $includes @WXDEBUG_DEFINE@ @TOOLCHAIN_DEFS@ @WXCONFIG_INCLUDE@ @WX_LARGEFILE_FLAGS@
else
echo $includes @WXDEBUG_DEFINE@ @TOOLCHAIN_DEFS@ @TOOLCHAIN_DLL_DEFS@ @WXCONFIG_INCLUDE@ @WX_LARGEFILE_FLAGS@
fi
}
if test $# -eq 0; then
usage 1 1>&2
fi
while test $# -gt 0; do
case "$1" in
-*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
*) optarg= ;;
esac
case $1 in
--inplace)
prefix=`makeabs $srcdir`
exec_prefix=`makeabs $builddir`
exec_prefix_set=yes
;;
--prefix=*)
prefix=$optarg
if test $exec_prefix_set = no ; then
exec_prefix=$optarg
fi
;;
--prefix)
echo $prefix
;;
--exec-prefix=*)
exec_prefix=$optarg
exec_prefix_set=yes
;;
--exec-prefix)
echo $exec_prefix
;;
--version)
echo @WX_MAJOR_VERSION_NUMBER@.@WX_MINOR_VERSION_NUMBER@.@WX_RELEASE_NUMBER@
;;
--release)
# Should echo @WX_RELEASE@ instead, but that doesn't seem to be replaced after
# configure has run on this file.
echo @WX_MAJOR_VERSION_NUMBER@.@WX_MINOR_VERSION_NUMBER@
;;
--basename)
echo @WX_LIBRARY_BASENAME@
;;
--static)
static_flag=yes
;;
--cppflags)
cppflags
;;
--cflags)
echo `cppflags` @CODE_GEN_FLAGS@
;;
--cxxflags)
echo `cppflags` @CODE_GEN_FLAGS@ @CODE_GEN_FLAGS_CXX@
;;
--ldflags)
echo @LDFLAGS_EXE@
;;
--rezflags)
echo @MACRESWXCONFIG@
;;
--libs)
if test "@libdir@" != "/usr/lib" \
-a \( "${cross_compiling}" != "yes" \
-o "@libdir@" != "/usr/${target}/lib" \) ;
then
libs="-L@libdir@"
fi
if test $static_flag = yes ; then
echo "$libs @LDFLAGS@ @WXCONFIG_RPATH@ @libdir@/@WXCONFIG_LIBS_STATIC@ @EXTRALIBS_GUI@ @LIBS@ @DMALLOC_LIBS@"
else
echo $libs @LDFLAGS@ @WXCONFIG_RPATH@ @WXCONFIG_LIBS@ @DMALLOC_LIBS@
fi
;;
--gl-libs)
if test $static_flag = yes -a "x" != "x@WXCONFIG_LIBS_STATIC_GL@" ; then
gllibs="@libdir@/@WXCONFIG_LIBS_STATIC_GL@"
else
gllibs="@WXCONFIG_LIBS_GL@"
fi
echo @LDFLAGS_GL@ $gllibs
;;
--cc)
echo $CC
;;
--cxx)
echo $CXX
;;
--ld)
echo $LD
;;
*)
usage 1 1>&2
;;
esac
shift
done