wxWidgets/wx-config.in

350 lines
9.6 KiB
Plaintext
Raw Normal View History

#!/bin/sh
# -------------------------------------------------------------------------
# Configured settings:
# -------------------------------------------------------------------------
# Version and build type information:
WX_MAJOR_VERSION_NUMBER="@WX_MAJOR_VERSION_NUMBER@"
WX_MINOR_VERSION_NUMBER="@WX_MINOR_VERSION_NUMBER@"
WX_RELEASE_NUMBER="@WX_RELEASE_NUMBER@"
release="@WX_MAJOR_VERSION_NUMBER@.@WX_MINOR_VERSION_NUMBER@"
is_monolithic="@MONOLITHIC@"
cross_compiling="@cross_compiling@"
target="@host_alias@"
static_flag="@STATIC_FLAG@"
# Misc configuration variables:
update_prefixes()
{
includedir="@includedir@"
libdir="@libdir@"
}
prefix="@prefix@"
exec_prefix="@exec_prefix@"
update_prefixes
CC="@CC@"
GCC="@GCC@"
CXX="@CXX@"
LD="@SHARED_LD@"
srcdir="@top_srcdir@"
builddir="@top_builddir_wxconfig@"
basename_nogui="@WX_LIBRARY_BASENAME_NOGUI@"
basename_gui="@WX_LIBRARY_BASENAME_GUI@"
TOOLCHAIN_NAME="@TOOLCHAIN_NAME@"
LDFLAGS="@LDFLAGS@"
WXCONFIG_RPATH="@WXCONFIG_RPATH@"
DMALLOC_LIBS="@DMALLOC_LIBS@"
WXCONFIG_LIBS="@WXCONFIG_LIBS@"
WXCONFIG_LIBS_STATIC="@WXCONFIG_LIBS_STATIC@"
WXDEBUG_DEFINE="@WXDEBUG_DEFINE@"
TOOLCHAIN_DEFS="@TOOLCHAIN_DEFS@"
TOOLCHAIN_DLL_DEFS="@TOOLCHAIN_DLL_DEFS@"
WXCONFIG_INCLUDE="@WXCONFIG_INCLUDE@"
WX_LARGEFILE_FLAGS="@WX_LARGEFILE_FLAGS@"
CODE_GEN_FLAGS="@CODE_GEN_FLAGS@"
CODE_GEN_FLAGS_CXX="@CODE_GEN_FLAGS_CXX@"
LDFLAGS_EXE="@LDFLAGS_EXE@"
MACRESWXCONFIG="@MACRESWXCONFIG@"
EXTRALIBS_GUI="@EXTRALIBS_GUI@"
LIBS="@LIBS@"
# Linker flags for sublibraries:
CORE_BASE_LIBS="@CORE_BASE_LIBS@"
CORE_GUI_LIBS="@CORE_GUI_LIBS@"
ldlibs_base="@WXCONFIG_EXTRALIBS@"
ldlibs_core="@EXTRALIBS_GUI@"
ldlibs_xml="@EXTRALIBS_XML@"
ldlibs_odbc="@EXTRALIBS_ODBC@"
ldflags_gl="@LDFLAGS_GL@"
ldlibs_gl="@OPENGL_LIBS@"
# -------------------------------------------------------------------------
# Script code:
# -------------------------------------------------------------------------
exec_prefix_set=no
# is $1 among the rest of arguments?
isinlist()
{
value=$1
shift
isin=no
for iii in $* ; do
if test $iii = $value ; then isin=yes ; fi
done
test $isin = yes
}
# output linker commands needed to link against libraries passed as arguments
# (does not handle monolithic/multilib):
output_libs()
{
if test "$cross_compiling" = "yes" ; then
target_tag="-${target}"
fi
all_libs=""
all_ldflags=""
wxlibs=""
for lib in $* ; do
eval xlibs=\$ldlibs_$lib
eval xflags=\$ldflags_$lib
if isinlist $lib $CORE_BASE_LIBS ; then
basename=$basename_nogui
else
basename=$basename_gui
fi
if test $lib = "base" ; then
libname="$basename"
else
libname="${basename}_${lib}"
fi
all_ldflags="$all_ldflags $xflags"
if test $static_flag = yes ; then
wxlibs="$wxlibs ${libdir}/lib${libname}-${release}${target_tag}.a"
all_libs="$all_libs $xlibs"
else
wxlibs="$wxlibs -l${libname}-${release}${target_tag}"
fi
done
echo $all_ldflags $wxlibs $all_libs
}
# 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[=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.
--static must come before --libs and --gl-libs.
--libs can take optional argument that contains comma-separated list of
wxWindows libraries to link against. This list can include both core
and contrib libraries.
--gl-libs option is deprecated, used --libs=gl instead.
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" \) ;
More build system polishing.. mostly. Some stuff ported over from recent changes to the 2.2 branch. Rationalised the autoconf scripts again, removed lots of stuff that shouldn't be there anymore and pounded the rest into an even tighter furball. (There's more work to be done here, but we're getting there..) Implemented the library naming scheme outlined in tn0012.txt -- introduced 'toolchain' and 'widget set' into the autoconf scripts, obsoleted the top level wx/setup.h and much of the mess associated with it. More changes for cross compiling and 2.3 debs. s/burnt_name/soname/g ; s/CC/CXX/g ; s/CCC/CC/g ; Just because it's Right. (Thanks Vadim for already doing *FLAGS..) Fixed libfl Makefile to actually work. Removed *_DEPS from tmake templates, in every case they can be determined from the relevant *_OBJS Added BASE_MSW_OBJS, a couple of missing #includes, some missing files to the 'dist' targets, and fixed some compile warnings. Changed setup.py to use wx-config --gl-libs instead of hard coded constants. Modified Files: Makefile.in configure configure.in setup.h.in wx-config.in wxBase.spec wxGTK.spec wxMotif.spec contrib/include/wx/applet/window.h contrib/src/Makefile.in contrib/src/applet/appletwindow.cpp contrib/src/fl/Makefile.in debian/changelog debian/control.in debian/libwxbase-dbg.dirs debian/libwxbase-dbg.links debian/libwxbase-dbg.postinst debian/libwxbase-dbg.prerm debian/libwxbase-dev.dirs debian/libwxbase-dev.files debian/libwxbase-dev.links debian/libwxbase-dev.postinst debian/libwxbase-dev.prerm debian/libwxgtk-dbg.dirs debian/libwxgtk-dbg.links debian/libwxgtk-dbg.postinst debian/libwxgtk-dbg.prerm debian/libwxgtk-dev.dirs debian/libwxgtk-dev.files debian/libwxgtk-dev.links debian/libwxgtk-dev.postinst debian/libwxgtk-dev.prerm debian/rules distrib/msw/tmake/base.t distrib/msw/tmake/gtk.t distrib/msw/tmake/mgl.t distrib/msw/tmake/motif.t distrib/msw/tmake/msw.t distrib/msw/tmake/os2.t distrib/msw/tmake/univ.t docs/motif/install.txt include/wx/msw/private.h include/wx/os2/SETUP.H include/wx/os2/SETUP0.H samples/ipc/Makefile.in samples/sockets/Makefile.in src/files.lst src/make.env.in src/makelib.env.in src/makeprog.env.in src/common/strconv.cpp src/gtk/files.lst src/mgl/files.lst src/motif/files.lst src/msw/files.lst src/msw/gsocket.c src/msw/gsockmsw.c src/msw/toplevel.cpp src/msw/utils.cpp src/os2/files.lst src/univ/files.lst wxPython/setup.py Added Files: debian/libwxbase-msw-dev.dirs debian/libwxbase-msw-dev.links debian/libwxbase-msw-dev.postinst debian/libwxbase-msw-dev.prerm debian/libwxmsw-dev.dirs debian/libwxmsw-dev.links debian/libwxmsw-dev.postinst debian/libwxmsw-dev.prerm debian/wxwin-doc.doc-base debian/wxwin-headers-msw.dirs Removed Files: debian/wxwin-doc.doc-base.in include/wx/setup.h git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@11713 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-09-28 03:00:13 -04:00
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
More build system polishing.. mostly. Some stuff ported over from recent changes to the 2.2 branch. Rationalised the autoconf scripts again, removed lots of stuff that shouldn't be there anymore and pounded the rest into an even tighter furball. (There's more work to be done here, but we're getting there..) Implemented the library naming scheme outlined in tn0012.txt -- introduced 'toolchain' and 'widget set' into the autoconf scripts, obsoleted the top level wx/setup.h and much of the mess associated with it. More changes for cross compiling and 2.3 debs. s/burnt_name/soname/g ; s/CC/CXX/g ; s/CCC/CC/g ; Just because it's Right. (Thanks Vadim for already doing *FLAGS..) Fixed libfl Makefile to actually work. Removed *_DEPS from tmake templates, in every case they can be determined from the relevant *_OBJS Added BASE_MSW_OBJS, a couple of missing #includes, some missing files to the 'dist' targets, and fixed some compile warnings. Changed setup.py to use wx-config --gl-libs instead of hard coded constants. Modified Files: Makefile.in configure configure.in setup.h.in wx-config.in wxBase.spec wxGTK.spec wxMotif.spec contrib/include/wx/applet/window.h contrib/src/Makefile.in contrib/src/applet/appletwindow.cpp contrib/src/fl/Makefile.in debian/changelog debian/control.in debian/libwxbase-dbg.dirs debian/libwxbase-dbg.links debian/libwxbase-dbg.postinst debian/libwxbase-dbg.prerm debian/libwxbase-dev.dirs debian/libwxbase-dev.files debian/libwxbase-dev.links debian/libwxbase-dev.postinst debian/libwxbase-dev.prerm debian/libwxgtk-dbg.dirs debian/libwxgtk-dbg.links debian/libwxgtk-dbg.postinst debian/libwxgtk-dbg.prerm debian/libwxgtk-dev.dirs debian/libwxgtk-dev.files debian/libwxgtk-dev.links debian/libwxgtk-dev.postinst debian/libwxgtk-dev.prerm debian/rules distrib/msw/tmake/base.t distrib/msw/tmake/gtk.t distrib/msw/tmake/mgl.t distrib/msw/tmake/motif.t distrib/msw/tmake/msw.t distrib/msw/tmake/os2.t distrib/msw/tmake/univ.t docs/motif/install.txt include/wx/msw/private.h include/wx/os2/SETUP.H include/wx/os2/SETUP0.H samples/ipc/Makefile.in samples/sockets/Makefile.in src/files.lst src/make.env.in src/makelib.env.in src/makeprog.env.in src/common/strconv.cpp src/gtk/files.lst src/mgl/files.lst src/motif/files.lst src/msw/files.lst src/msw/gsocket.c src/msw/gsockmsw.c src/msw/toplevel.cpp src/msw/utils.cpp src/os2/files.lst src/univ/files.lst wxPython/setup.py Added Files: debian/libwxbase-msw-dev.dirs debian/libwxbase-msw-dev.links debian/libwxbase-msw-dev.postinst debian/libwxbase-msw-dev.prerm debian/libwxmsw-dev.dirs debian/libwxmsw-dev.links debian/libwxmsw-dev.postinst debian/libwxmsw-dev.prerm debian/wxwin-doc.doc-base debian/wxwin-headers-msw.dirs Removed Files: debian/wxwin-doc.doc-base.in include/wx/setup.h git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@11713 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-09-28 03:00:13 -04:00
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
update_prefixes
;;
--prefix=*)
prefix=$optarg
if test $exec_prefix_set = no ; then
exec_prefix=$optarg
fi
update_prefixes
;;
--prefix)
echo $prefix
;;
--exec-prefix=*)
exec_prefix=$optarg
exec_prefix_set=yes
update_prefixes
;;
--exec-prefix)
echo $exec_prefix
;;
--version)
echo ${WX_MAJOR_VERSION_NUMBER}.${WX_MINOR_VERSION_NUMBER}.${WX_RELEASE_NUMBER}
;;
--release)
echo $release
;;
--basename)
echo $basename_gui
;;
--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*)
# find if the argument was --libs=list,of,libs or --libs:
if test "x$optarg" = "x" ; then
if test "$is_monolithic" = "0" ; then
# link against all libs if none given explicitly:
libs_list="$CORE_GUI_LIBS $CORE_BASE_LIBS"
fi
else
libs_list=`echo "$optarg" | tr ',' ' '`
# always add wxBase, any wxApp needs it:
libs_list="$libs_list base"
fi
# include install directory only if it is not default:
if test "${libdir}" != "/usr/lib" \
-a \( "${cross_compiling}" != "yes" \
-o "${libdir}" != "/usr/${target}/lib" \) ;
More build system polishing.. mostly. Some stuff ported over from recent changes to the 2.2 branch. Rationalised the autoconf scripts again, removed lots of stuff that shouldn't be there anymore and pounded the rest into an even tighter furball. (There's more work to be done here, but we're getting there..) Implemented the library naming scheme outlined in tn0012.txt -- introduced 'toolchain' and 'widget set' into the autoconf scripts, obsoleted the top level wx/setup.h and much of the mess associated with it. More changes for cross compiling and 2.3 debs. s/burnt_name/soname/g ; s/CC/CXX/g ; s/CCC/CC/g ; Just because it's Right. (Thanks Vadim for already doing *FLAGS..) Fixed libfl Makefile to actually work. Removed *_DEPS from tmake templates, in every case they can be determined from the relevant *_OBJS Added BASE_MSW_OBJS, a couple of missing #includes, some missing files to the 'dist' targets, and fixed some compile warnings. Changed setup.py to use wx-config --gl-libs instead of hard coded constants. Modified Files: Makefile.in configure configure.in setup.h.in wx-config.in wxBase.spec wxGTK.spec wxMotif.spec contrib/include/wx/applet/window.h contrib/src/Makefile.in contrib/src/applet/appletwindow.cpp contrib/src/fl/Makefile.in debian/changelog debian/control.in debian/libwxbase-dbg.dirs debian/libwxbase-dbg.links debian/libwxbase-dbg.postinst debian/libwxbase-dbg.prerm debian/libwxbase-dev.dirs debian/libwxbase-dev.files debian/libwxbase-dev.links debian/libwxbase-dev.postinst debian/libwxbase-dev.prerm debian/libwxgtk-dbg.dirs debian/libwxgtk-dbg.links debian/libwxgtk-dbg.postinst debian/libwxgtk-dbg.prerm debian/libwxgtk-dev.dirs debian/libwxgtk-dev.files debian/libwxgtk-dev.links debian/libwxgtk-dev.postinst debian/libwxgtk-dev.prerm debian/rules distrib/msw/tmake/base.t distrib/msw/tmake/gtk.t distrib/msw/tmake/mgl.t distrib/msw/tmake/motif.t distrib/msw/tmake/msw.t distrib/msw/tmake/os2.t distrib/msw/tmake/univ.t docs/motif/install.txt include/wx/msw/private.h include/wx/os2/SETUP.H include/wx/os2/SETUP0.H samples/ipc/Makefile.in samples/sockets/Makefile.in src/files.lst src/make.env.in src/makelib.env.in src/makeprog.env.in src/common/strconv.cpp src/gtk/files.lst src/mgl/files.lst src/motif/files.lst src/msw/files.lst src/msw/gsocket.c src/msw/gsockmsw.c src/msw/toplevel.cpp src/msw/utils.cpp src/os2/files.lst src/univ/files.lst wxPython/setup.py Added Files: debian/libwxbase-msw-dev.dirs debian/libwxbase-msw-dev.links debian/libwxbase-msw-dev.postinst debian/libwxbase-msw-dev.prerm debian/libwxmsw-dev.dirs debian/libwxmsw-dev.links debian/libwxmsw-dev.postinst debian/libwxmsw-dev.prerm debian/wxwin-doc.doc-base debian/wxwin-headers-msw.dirs Removed Files: debian/wxwin-doc.doc-base.in include/wx/setup.h git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@11713 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-09-28 03:00:13 -04:00
then
libs="-L${libdir}"
fi
# in monolithic build, link against the main library:
if test "$is_monolithic" = "1" ; then
# filter out core libs, leave only contrib in libs_list:
newlist=
for i in $libs_list ; do
if isinlist $i $CORE_BASE_LIBS $CORE_GUI_LIBS ; then
libs_list="" # do nothing
else
newlist="$newlist $i"
fi
done
libs_list="$newlist"
# output link flags:
contrib_libs=`output_libs $libs_list`
if test $static_flag = yes ; then
echo "$libs ${LDFLAGS} ${WXCONFIG_RPATH} $contrib_libs ${libdir}/${WXCONFIG_LIBS_STATIC} ${EXTRALIBS_GUI} ${LIBS} ${DMALLOC_LIBS}"
else
echo $libs ${LDFLAGS} ${WXCONFIG_RPATH} $contrib_libs ${WXCONFIG_LIBS} ${DMALLOC_LIBS}
fi
else
# in multilib mode, link against all sublibraries:
wxlibs=`output_libs $libs_list`
echo $libs ${LDFLAGS} ${WXCONFIG_RPATH} $wxlibs ${DMALLOC_LIBS}
fi
More build system polishing.. mostly. Some stuff ported over from recent changes to the 2.2 branch. Rationalised the autoconf scripts again, removed lots of stuff that shouldn't be there anymore and pounded the rest into an even tighter furball. (There's more work to be done here, but we're getting there..) Implemented the library naming scheme outlined in tn0012.txt -- introduced 'toolchain' and 'widget set' into the autoconf scripts, obsoleted the top level wx/setup.h and much of the mess associated with it. More changes for cross compiling and 2.3 debs. s/burnt_name/soname/g ; s/CC/CXX/g ; s/CCC/CC/g ; Just because it's Right. (Thanks Vadim for already doing *FLAGS..) Fixed libfl Makefile to actually work. Removed *_DEPS from tmake templates, in every case they can be determined from the relevant *_OBJS Added BASE_MSW_OBJS, a couple of missing #includes, some missing files to the 'dist' targets, and fixed some compile warnings. Changed setup.py to use wx-config --gl-libs instead of hard coded constants. Modified Files: Makefile.in configure configure.in setup.h.in wx-config.in wxBase.spec wxGTK.spec wxMotif.spec contrib/include/wx/applet/window.h contrib/src/Makefile.in contrib/src/applet/appletwindow.cpp contrib/src/fl/Makefile.in debian/changelog debian/control.in debian/libwxbase-dbg.dirs debian/libwxbase-dbg.links debian/libwxbase-dbg.postinst debian/libwxbase-dbg.prerm debian/libwxbase-dev.dirs debian/libwxbase-dev.files debian/libwxbase-dev.links debian/libwxbase-dev.postinst debian/libwxbase-dev.prerm debian/libwxgtk-dbg.dirs debian/libwxgtk-dbg.links debian/libwxgtk-dbg.postinst debian/libwxgtk-dbg.prerm debian/libwxgtk-dev.dirs debian/libwxgtk-dev.files debian/libwxgtk-dev.links debian/libwxgtk-dev.postinst debian/libwxgtk-dev.prerm debian/rules distrib/msw/tmake/base.t distrib/msw/tmake/gtk.t distrib/msw/tmake/mgl.t distrib/msw/tmake/motif.t distrib/msw/tmake/msw.t distrib/msw/tmake/os2.t distrib/msw/tmake/univ.t docs/motif/install.txt include/wx/msw/private.h include/wx/os2/SETUP.H include/wx/os2/SETUP0.H samples/ipc/Makefile.in samples/sockets/Makefile.in src/files.lst src/make.env.in src/makelib.env.in src/makeprog.env.in src/common/strconv.cpp src/gtk/files.lst src/mgl/files.lst src/motif/files.lst src/msw/files.lst src/msw/gsocket.c src/msw/gsockmsw.c src/msw/toplevel.cpp src/msw/utils.cpp src/os2/files.lst src/univ/files.lst wxPython/setup.py Added Files: debian/libwxbase-msw-dev.dirs debian/libwxbase-msw-dev.links debian/libwxbase-msw-dev.postinst debian/libwxbase-msw-dev.prerm debian/libwxmsw-dev.dirs debian/libwxmsw-dev.links debian/libwxmsw-dev.postinst debian/libwxmsw-dev.prerm debian/wxwin-doc.doc-base debian/wxwin-headers-msw.dirs Removed Files: debian/wxwin-doc.doc-base.in include/wx/setup.h git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@11713 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-09-28 03:00:13 -04:00
;;
--gl-libs)
output_libs gl
;;
--cc)
echo $CC
;;
--cxx)
echo $CXX
;;
--ld)
echo $LD
;;
*)
usage 1 1>&2
;;
esac
shift
done