3 # -------------------------------------------------------------------------
5 # -------------------------------------------------------------------------
7 # Version and build type information:
9 WX_MAJOR_VERSION_NUMBER
="@WX_MAJOR_VERSION_NUMBER@"
10 WX_MINOR_VERSION_NUMBER
="@WX_MINOR_VERSION_NUMBER@"
11 WX_RELEASE_NUMBER
="@WX_RELEASE_NUMBER@"
12 release
="@WX_MAJOR_VERSION_NUMBER@.@WX_MINOR_VERSION_NUMBER@"
13 is_monolithic
="@MONOLITHIC@"
14 cross_compiling
="@cross_compiling@"
16 static_flag
="@STATIC_FLAG@"
19 # Misc configuration variables:
23 includedir
="@includedir@"
27 exec_prefix
="@exec_prefix@"
32 GCC_SEARCHES_USR_LOCAL_INCLUDE
="@GCC_SEARCHES_USR_LOCAL_INCLUDE@"
36 builddir
="@top_builddir_wxconfig@"
37 basename_nogui
="@WX_LIBRARY_BASENAME_NOGUI@"
38 basename_gui
="@WX_LIBRARY_BASENAME_GUI@"
40 TOOLCHAIN_NAME
="@TOOLCHAIN_NAME@"
42 WXCONFIG_RPATH
="@WXCONFIG_RPATH@"
43 DMALLOC_LIBS
="@DMALLOC_LIBS@"
44 WXCONFIG_LIBS
="@WXCONFIG_LIBS@"
45 WXCONFIG_LIBS_STATIC
="@WXCONFIG_LIBS_STATIC@"
46 WXDEBUG_DEFINE
="@WXDEBUG_DEFINE@"
47 TOOLCHAIN_DEFS
="@TOOLCHAIN_DEFS@"
48 TOOLCHAIN_DLL_DEFS
="@TOOLCHAIN_DLL_DEFS@"
49 WXCONFIG_INCLUDE
="@WXCONFIG_INCLUDE@"
50 WX_LARGEFILE_FLAGS
="@WX_LARGEFILE_FLAGS@"
51 CODE_GEN_FLAGS
="@CODE_GEN_FLAGS@"
52 CODE_GEN_FLAGS_CXX
="@CODE_GEN_FLAGS_CXX@"
53 LDFLAGS_EXE
="@LDFLAGS_EXE@"
54 MACRESWXCONFIG
="@MACRESWXCONFIG@"
55 EXTRALIBS_GUI
="@EXTRALIBS_GUI@"
57 WXCONFIG_LDFLAGS_GUI
="@WXCONFIG_LDFLAGS_GUI@"
60 # Linker flags for sublibraries:
62 CORE_BASE_LIBS
="@CORE_BASE_LIBS@"
63 CORE_GUI_LIBS
="@CORE_GUI_LIBS@"
65 ldlibs_base
="@WXCONFIG_EXTRALIBS@"
66 ldlibs_core
="@EXTRALIBS_GUI@"
67 ldlibs_xml
="@EXTRALIBS_XML@"
68 ldlibs_html
="@EXTRALIBS_HTML@"
69 ldlibs_odbc
="@EXTRALIBS_ODBC@"
70 ldlibs_adv
="@EXTRALIBS_SDL@"
72 ldflags_gl
="@LDFLAGS_GL@"
73 ldlibs_gl
="@OPENGL_LIBS@"
77 # -------------------------------------------------------------------------
79 # -------------------------------------------------------------------------
83 # is $1 among the rest of arguments?
90 if test $iii = $value ; then isin
=yes ; fi
95 # output linker commands needed to link against libraries passed as arguments
96 # (does not handle monolithic/multilib):
99 if test "$cross_compiling" = "yes" ; then
100 target_tag
="-${target}"
108 eval xlibs
=\
$ldlibs_$lib
109 eval xflags
=\
$ldflags_$lib
110 if isinlist
$lib $CORE_BASE_LIBS ; then
111 basename=$basename_nogui
113 basename=$basename_gui
115 if test $lib = "base" ; then
118 libname
="${basename}_${lib}"
121 all_ldflags
="$all_ldflags $xflags"
122 if test $static_flag = yes ; then
123 wxlibs
="$wxlibs ${libdir}/lib${libname}-${release}${target_tag}.a"
124 all_libs
="$all_libs $xlibs"
126 wxlibs
="$wxlibs -l${libname}-${release}${target_tag}"
130 echo $all_ldflags $wxlibs $all_libs
133 # output $(WXCONFIG_LDFLAGS_GUI) if any of libs passed as arguments is GUI
134 # library, nothing otherwise:
139 if isinlist
$lib $CORE_GUI_LIBS ; then
140 flags_to_ret
="$WXCONFIG_LDFLAGS_GUI"
146 # return the absolute path prepending builddir to it if needed
150 # TODO: this only works under Unix and even there it could be
151 # enhanced to remove ".." and "."
152 if [ `echo $path | sed 's/^\(.\).*/\1/'` != "/" ]; then
153 if [ $path = "." ]; then
156 path
="$builddir/$path"
166 Usage: wx-config [--prefix[=DIR]] [--exec-prefix[=DIR]] [--version] [--release]
167 [--basename] [--static] [--libs[=LIBS]] [--gl-libs]
168 [--cppflags] [--cflags] [--cxxflags] [--ldflags] [--rezflags]
169 [--cc] [--cxx] [--ld]
171 wx-config returns configuration information about the installed
172 version of wxWidgets. It may be used to query its version and
173 installation directories and also retrieve the C and C++ compilers
174 and linker which were used for its building and the corresponding
177 Ordinarily it should be installed to the appropriate system location
178 along with the headers and library files, but it is also possible to
179 use it to enable builds with an uninstalled wxWidgets version for
180 package building and bleeding edge developers. To do so, use it like
183 \${wx_builddir}/wx-config --prefix=\${wx_srcdir} --exec-prefix=\${wx_builddir}
185 Note that any other options supplied must come *after* the prefix
186 specification for it to take effect.
188 --static must come before --libs and --gl-libs.
190 --libs can take optional argument that contains comma-separated list of
191 wxWidgets libraries to link against. This list can include both core
192 and contrib libraries.
194 --gl-libs option is deprecated, used --libs=gl instead.
203 # we should never specify -I/usr/include on the compiler command line: this
204 # is at best useless and at worst breaks compilation on the systems where
205 # the system headers are non-ANSI because gcc works around this by storing
206 # the ANSI-fied versions of them in its private directory which is searched
207 # after all the directories on the cmd line.
209 # the situation is a bit more complicated with -I/usr/local/include:
210 # it shouldn't be specified with some gcc installations which look there
211 # by default anyhow and give warnings (at least 3.1 does) if it is
212 # specified explicitly --
213 # but this -I switch *is* needed for other gcc installation and for
214 # the other compilers.
215 # So I put a suitable test into configure.in and reuse the result here.
217 # note that we assume that if we use GNU cc we also use GNU c++ and vice
218 # versa, i.e. this won't work (either for --cflags or --cxxflags) if GNU C
219 # compiler and non-GNU C++ compiler are used or vice versa -- we'll fix
220 # this when/if anybody complains about it
221 if test "${includedir}" != "/usr/include" \
222 -a "${includedir}" != "/usr/include/c++" \
223 -a \
( "${GCC_SEARCHES_USR_LOCAL_INCLUDE}" != "yes" \
224 -o "${includedir}" != "/usr/local/include" \
) \
225 -a \
( "${cross_compiling}" != "yes" \
226 -o "${includedir}" != "/usr/${target}/include" \
) ;
228 includes
=" -I${includedir}"
231 includes
="-I${libdir}/wx/include/${TOOLCHAIN_NAME}$includes"
233 if test $static_flag = yes ; then
234 echo $includes ${WXDEBUG_DEFINE} ${TOOLCHAIN_DEFS} ${WXCONFIG_INCLUDE} ${WX_LARGEFILE_FLAGS}
236 echo $includes ${WXDEBUG_DEFINE} ${TOOLCHAIN_DEFS} ${TOOLCHAIN_DLL_DEFS} ${WXCONFIG_INCLUDE} ${WX_LARGEFILE_FLAGS}
240 if test $# -eq 0; then
244 while test $# -gt 0; do
246 -*=*) optarg
=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
252 prefix
=`makeabs $srcdir`
253 exec_prefix
=`makeabs $builddir`
259 if test $exec_prefix_set = no
; then
276 echo ${WX_MAJOR_VERSION_NUMBER}.
${WX_MINOR_VERSION_NUMBER}.
${WX_RELEASE_NUMBER}
291 echo `cppflags` ${CODE_GEN_FLAGS}
294 echo `cppflags` ${CODE_GEN_FLAGS} ${CODE_GEN_FLAGS_CXX}
300 echo `eval echo ${MACRESWXCONFIG}`
304 # find if the argument was --libs=list,of,libs or --libs:
305 if test "x$optarg" = "x" ; then
306 if test "$is_monolithic" = "0" ; then
307 # link against all libs if none given explicitly:
308 libs_list
="$CORE_GUI_LIBS $CORE_BASE_LIBS"
311 libs_list
=`echo "$optarg" | tr ',' ' '`
312 # always add wxBase, any wxApp needs it:
313 libs_list
="$libs_list base"
316 # include install directory only if it is not default:
317 if test "${libdir}" != "/usr/lib" \
318 -a \
( "${cross_compiling}" != "yes" \
319 -o "${libdir}" != "/usr/${target}/lib" \
) ;
324 # in monolithic build, link against the main library:
325 if test "$is_monolithic" = "1" ; then
326 # filter out core libs, leave only contrib in libs_list:
328 for i
in $libs_list ; do
329 if isinlist
$i $CORE_BASE_LIBS $CORE_GUI_LIBS ; then
330 libs_list
="" # do nothing
332 newlist
="$newlist $i"
338 contrib_libs
=`output_libs $libs_list`
339 if test $static_flag = yes ; then
340 echo "$libs ${LDFLAGS} ${WXCONFIG_LDFLAGS_GUI} ${WXCONFIG_RPATH} $contrib_libs ${libdir}/${WXCONFIG_LIBS_STATIC} ${EXTRALIBS_GUI} ${LIBS} ${DMALLOC_LIBS}"
342 echo $libs ${LDFLAGS} ${WXCONFIG_LDFLAGS_GUI} ${WXCONFIG_RPATH} $contrib_libs ${WXCONFIG_LIBS} ${DMALLOC_LIBS}
345 # in multilib mode, link against all sublibraries:
346 wxlibs
=`output_libs $libs_list`
347 guildflags
=`get_ldflags_gui $libs_list`
348 echo $libs ${LDFLAGS} ${guildflags} ${WXCONFIG_RPATH} $wxlibs ${DMALLOC_LIBS}