b63b07a809
the project name change. Applied patch from ABX to make tex2rtf unicode compatible, then removed wxSprintf lameness from it so it might actually work. Also modified it to return true from tex2rtf OnInit in console builds so the app will exit with a successful return code rather than always returning failure even when it succeeds. Implemented unicode capable wxCtime for glibc systems also needed by tex2rtf. Wrapped dde include in tex2rtf in a guard and assert that dde is MSW only in its forwarding header. Lowered the limit of maxlen in wxSprintf so it actually has a chance to segfault on people instead of failing silently and mysteriously with glibc. Silenced some other 'potentially uninitialised variable' warnings from gcc3, most of which were bogus, one potentially not so. Added missing newline at the end of fontdlg.cpp. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@26094 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
371 lines
10 KiB
Bash
Executable File
371 lines
10 KiB
Bash
Executable File
#!/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@"
|
|
GCC_SEARCHES_USR_LOCAL_INCLUDE="@GCC_SEARCHES_USR_LOCAL_INCLUDE@"
|
|
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@"
|
|
WXCONFIG_LDFLAGS_GUI="@WXCONFIG_LDFLAGS_GUI@"
|
|
|
|
|
|
# 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_html="@EXTRALIBS_HTML@"
|
|
ldlibs_odbc="@EXTRALIBS_ODBC@"
|
|
ldlibs_adv="@EXTRALIBS_SDL@"
|
|
|
|
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
|
|
}
|
|
|
|
# output $(WXCONFIG_LDFLAGS_GUI) if any of libs passed as arguments is GUI
|
|
# library, nothing otherwise:
|
|
get_ldflags_gui()
|
|
{
|
|
flags_to_ret=""
|
|
for lib in $* ; do
|
|
if isinlist $lib $CORE_GUI_LIBS ; then
|
|
flags_to_ret="$WXCONFIG_LDFLAGS_GUI"
|
|
fi
|
|
done
|
|
echo $flags_to_ret
|
|
}
|
|
|
|
# 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 wxWidgets. 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 wxWidgets 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
|
|
wxWidgets 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:
|
|
# it shouldn't be specified with some gcc installations which look there
|
|
# by default anyhow and give warnings (at least 3.1 does) if it is
|
|
# specified explicitly --
|
|
# but this -I switch *is* needed for other gcc installation and for
|
|
# the other compilers.
|
|
# So I put a suitable test into configure.in and reuse the result here.
|
|
#
|
|
# 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_SEARCHES_USR_LOCAL_INCLUDE}" != "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
|
|
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 `eval 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" \) ;
|
|
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_LDFLAGS_GUI} ${WXCONFIG_RPATH} $contrib_libs ${libdir}/${WXCONFIG_LIBS_STATIC} ${EXTRALIBS_GUI} ${LIBS} ${DMALLOC_LIBS}"
|
|
else
|
|
echo $libs ${LDFLAGS} ${WXCONFIG_LDFLAGS_GUI} ${WXCONFIG_RPATH} $contrib_libs ${WXCONFIG_LIBS} ${DMALLOC_LIBS}
|
|
fi
|
|
else
|
|
# in multilib mode, link against all sublibraries:
|
|
wxlibs=`output_libs $libs_list`
|
|
guildflags=`get_ldflags_gui $libs_list`
|
|
echo $libs ${LDFLAGS} ${guildflags} ${WXCONFIG_RPATH} $wxlibs ${DMALLOC_LIBS}
|
|
fi
|
|
|
|
;;
|
|
--gl-libs)
|
|
output_libs gl
|
|
;;
|
|
--cc)
|
|
echo $CC
|
|
;;
|
|
--cxx)
|
|
echo $CXX
|
|
;;
|
|
--ld)
|
|
echo $LD
|
|
;;
|
|
*)
|
|
usage 1 1>&2
|
|
;;
|
|
esac
|
|
shift
|
|
done
|
|
|