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 GCC_PRAGMA_FLAGS
="@GCC_PRAGMA_FLAGS@"
52 CODE_GEN_FLAGS
="@CODE_GEN_FLAGS@"
53 CODE_GEN_FLAGS_CXX
="@CODE_GEN_FLAGS_CXX@"
54 LDFLAGS_EXE
="@LDFLAGS_EXE@"
55 MACRESWXCONFIG
="@MACRESWXCONFIG@"
56 EXTRALIBS_GUI
="@EXTRALIBS_GUI@"
58 WXCONFIG_LDFLAGS_GUI
="@WXCONFIG_LDFLAGS_GUI@"
61 # Linker flags for sublibraries:
63 CORE_BASE_LIBS
="@CORE_BASE_LIBS@"
64 CORE_GUI_LIBS
="@CORE_GUI_LIBS@"
66 ldlibs_base
="@WXCONFIG_EXTRALIBS@"
67 ldlibs_core
="@EXTRALIBS_GUI@"
68 ldlibs_xml
="@EXTRALIBS_XML@"
69 ldlibs_html
="@EXTRALIBS_HTML@"
70 ldlibs_odbc
="@EXTRALIBS_ODBC@"
71 ldlibs_adv
="@EXTRALIBS_SDL@"
73 ldflags_gl
="@LDFLAGS_GL@"
74 ldlibs_gl
="@OPENGL_LIBS@"
78 # -------------------------------------------------------------------------
80 # -------------------------------------------------------------------------
84 # is $1 among the rest of arguments?
91 if test $iii = $value ; then isin
=yes ; fi
96 # output linker commands needed to link against libraries passed as arguments
97 # (does not handle monolithic/multilib):
100 if test "$cross_compiling" = "yes" ; then
101 target_tag
="-${target}"
109 eval xlibs
=\
$ldlibs_$lib
110 eval xflags
=\
$ldflags_$lib
111 if isinlist
$lib $CORE_BASE_LIBS ; then
112 basename=$basename_nogui
114 basename=$basename_gui
116 if test $lib = "base" ; then
119 libname
="${basename}_${lib}"
122 all_ldflags
="$all_ldflags $xflags"
123 if test $static_flag = yes ; then
124 wxlibs
="$wxlibs ${libdir}/lib${libname}-${release}${target_tag}.a"
125 all_libs
="$all_libs $xlibs"
127 wxlibs
="$wxlibs -l${libname}-${release}${target_tag}"
131 echo $all_ldflags $wxlibs $all_libs
134 # output $(WXCONFIG_LDFLAGS_GUI) if any of libs passed as arguments is GUI
135 # library, nothing otherwise:
140 if isinlist
$lib $CORE_GUI_LIBS ; then
141 flags_to_ret
="$WXCONFIG_LDFLAGS_GUI"
150 Usage: wx-config [--prefix[=DIR]] [--exec-prefix[=DIR]] [--inplace]
151 [--toolkit=TOOLKIT] [--unicode[=yes|no]] [--debug[=yes|no]]
152 [--universal[=yes|no]] [--host=HOST]
153 [--version[=VERSION]] [--release]
154 [--list] [--basename] [--static] [--libs] [--gl-libs]
155 [--cppflags] [--cflags] [--cxxflags] [--ldflags] [--rezflags]
156 [--cc] [--cxx] [--ld] [LIBRARIES]
158 wx-config returns configuration information about the installed
159 version of wxWidgets. It may be used to query its version and
160 installation directories and also retrieve the C and C++ compilers
161 and linker which were used for its building and the corresponding
164 Ordinarily it should be installed to the appropriate system location
165 along with the headers and library files, but it is also possible to
166 use it to enable builds with an uninstalled wxWidgets version for
167 package building and bleeding edge developers. To do so, use it like
170 \${wx_builddir}/wx-config --inplace
172 Note that any other options supplied must come *after* --inplace
173 for it to take effect.
175 --static must come before --cppflags, --cflags, --cxxflags,
176 --libs and --gl-libs and --libs must come before the other ones.
178 --libs can take optional argument that contains comma-separated list of
179 wxWidgets libraries to link against. This list can include both core
180 and contrib libraries. Special value "std" stands for all libraries linked
183 --gl-libs option is deprecated, use "--libs gl" instead.
185 If there are several different builds of wxWidgets installed in same prefix,
186 you can use --host, --toolkit, --unicode, --debug, --universal and --version
187 options to select one of them. Use --list option to show all available builds
188 that match given criteria.
197 # we should never specify -I/usr/include on the compiler command line: this
198 # is at best useless and at worst breaks compilation on the systems where
199 # the system headers are non-ANSI because gcc works around this by storing
200 # the ANSI-fied versions of them in its private directory which is searched
201 # after all the directories on the cmd line.
203 # the situation is a bit more complicated with -I/usr/local/include:
204 # it shouldn't be specified with some gcc installations which look there
205 # by default anyhow and give warnings (at least 3.1 does) if it is
206 # specified explicitly --
207 # but this -I switch *is* needed for other gcc installation and for
208 # the other compilers.
209 # So I put a suitable test into configure.in and reuse the result here.
211 # note that we assume that if we use GNU cc we also use GNU c++ and vice
212 # versa, i.e. this won't work (either for --cflags or --cxxflags) if GNU C
213 # compiler and non-GNU C++ compiler are used or vice versa -- we'll fix
214 # this when/if anybody complains about it
215 if test "${includedir}" != "/usr/include" \
216 -a "${includedir}" != "/usr/include/c++" \
217 -a \
( "${GCC_SEARCHES_USR_LOCAL_INCLUDE}" != "yes" \
218 -o "${includedir}" != "/usr/local/include" \
) \
219 -a \
( "${cross_compiling}" != "yes" \
220 -o "${includedir}" != "/usr/${target}/include" \
) ;
222 includes
=" -I${includedir}"
225 includes
="-I${libdir}/wx/include/${TOOLCHAIN_NAME}$includes"
227 # in inplace case we need to also add path to contrib headers -- do it
228 # unconditionally as they might be used and we have no way of knowing if
230 if test $inplace_flag = yes ; then
231 includes
="$includes -I${prefix}/contrib/include"
234 flags
="$includes ${WXDEBUG_DEFINE} ${TOOLCHAIN_DEFS}"
235 if test $static_flag != yes ; then
236 flags
="$flags ${TOOLCHAIN_DLL_DEFS}"
239 if test $nogui_flag = "yes" ; then
240 flags
="$flags -DwxUSE_GUI=0"
243 echo "$flags${WXCONFIG_INCLUDE} ${WX_LARGEFILE_FLAGS} ${GCC_PRAGMA_FLAGS}"
246 if test $# -eq 0; then
251 # handle libraries list:
260 libs_list
="$libs_list `echo "$arg" | tr ',' ' '`"
265 if test "x$libs_list" = "x" ; then
266 if test "$is_monolithic" = "0" ; then
267 # link against all libs if none given explicitly:
268 libs_list
="$CORE_GUI_LIBS $CORE_BASE_LIBS"
271 # always add wxBase, any wxApp needs it:
272 libs_list
="$libs_list base"
275 # determine if at least one gui lib was used:
277 for i
in $libs_list; do
290 while test $# -gt 0; do
292 -*=*) optarg
=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
302 if test $exec_prefix_set = no
; then
319 echo ${WX_MAJOR_VERSION_NUMBER}.
${WX_MINOR_VERSION_NUMBER}.
${WX_RELEASE_NUMBER}
334 echo `cppflags` ${CODE_GEN_FLAGS}
337 echo `cppflags` ${CODE_GEN_FLAGS} ${CODE_GEN_FLAGS_CXX}
343 echo `eval echo ${MACRESWXCONFIG}`
347 # include install directory only if it is not default:
348 if test "${libdir}" != "/usr/lib" \
349 -a \
( "${cross_compiling}" != "yes" \
350 -o "${libdir}" != "/usr/${target}/lib" \
) ;
355 # it's simpler to avoid handling "base" itself at all as we add it in the
356 # end to the list of libraries anyhow
357 # in monolithic build, link against the main library:
358 if test "$is_monolithic" = "1" ; then
359 # filter out core libs, leave only contrib in libs_list:
361 for i
in $libs_list ; do
362 if isinlist
$i $CORE_GUI_LIBS $CORE_BASE_LIBS; then
363 libs_list
="" # do nothing
365 newlist
="$newlist $i"
371 contrib_libs
=`output_libs $libs_list`
372 if test $static_flag = yes ; then
373 echo "$libs ${LDFLAGS} ${WXCONFIG_LDFLAGS_GUI} ${WXCONFIG_RPATH} $contrib_libs ${libdir}/${WXCONFIG_LIBS_STATIC} ${EXTRALIBS_GUI} ${LIBS} ${DMALLOC_LIBS}"
375 echo $libs ${LDFLAGS} ${WXCONFIG_LDFLAGS_GUI} ${WXCONFIG_RPATH} $contrib_libs ${WXCONFIG_LIBS} ${DMALLOC_LIBS}
378 # we may need to replace "std" alias with its expansion
381 for i
in $libs_list; do
388 # if we have std, we're going to add base anyhow, avoid
389 # having it twice in the end
390 if [ $hadstd = 0 ]; then
391 newlist
="$newlist $i"
396 newlist
="$newlist $i"
401 if [ $hadstd = 1 ]; then
402 libs_list
="$libs_list $CORE_GUI_LIBS $CORE_BASE_LIBS"
405 # in multilib mode, link against all sublibraries:
406 wxlibs
=`output_libs $libs_list`
407 guildflags
=`get_ldflags_gui $libs_list`
408 echo $libs ${LDFLAGS} ${guildflags} ${WXCONFIG_RPATH} $wxlibs ${DMALLOC_LIBS}
428 # unrecognized flag is error