e90ed8ad58
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21365 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
199 lines
5.4 KiB
Bash
Executable File
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@ @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
|
|
|