Compare commits

..

1 Commits

Author SHA1 Message Date
Bryan Petty
6b87fdbb87 This commit was manufactured by cvs2svn to create tag 'WX_2_6_3'.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/tags/WX_2_6_3@38365 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-25 12:04:37 +00:00
8753 changed files with 2305948 additions and 943310 deletions

78
.cvsignore Normal file
View File

@@ -0,0 +1,78 @@
system.list
bin
.gdb_history
Test
config.cache
configarg.cache
config.status
system.list
linux.system.cache
wx-config
config.log
linux-gnu.system.cache
*.dsp
*.dsw
*.plg
*.opt
*.aps
*.ncb
*.pro
*.opt
*.d
*.swp
*.swo
*.vcp
*.vcw
Release
Debug
ReleaseUnicode
DebugUnicode
ReleaseUnicodeARM
DebugUnicodeARM
ReleaseUnicodeMIPS
DebugUnicodeMIPS
ReleaseUnicodeSH3
DebugUnicodeSH3
ReleaseUnicodeX86
DebugUnicodeX86
ReleaseUnicodeX86EM
DebugUnicodeX86EM
ReleaseDLL
DebugDLL
ReleaseUnicodeDLL
DebugUnicodeDLL
UnivRelease
UnivDebug
BaseRelease
BaseDebug
BaseReleaseDLL
BaseDebugDLL
build-debug
robert
stamp-h.in
Makefile
setup.h
stamp-h
libtool
base
gtk
gtk2
motif
win32
x11
univ
univ-debug
univ-release
base-debug
gtk-debug
motif-debug
win32-debug
base-release
gtk-release
motif-release
win32-release
*tags
log
univtags.cmd
.DS_Store
autom4te.cache

262
BuildCVS.txt Normal file
View File

@@ -0,0 +1,262 @@
------------------------------------------------------------------------
How to build the sources from CVS
------------------------------------------------------------------------
Please use the install.txt files in docs/gtk, docs/msw, docs/motif, docs/mac
etc. alongside these instructions.
I) Windows using plain makefiles
----------------------------------------
a) If using Microsoft Visual C++ 5.0 or 6.0
Ensure that the command-line compiler and tools (including
nmake) are installed and ready to run. Depending on your
installation there may be a batch file (commonly named VCVARS32.BAT)
that needs to be run to set correct environment variables and PATH entries.
Continue with item c) below.
b) If using the MinGW or Cygwin compilers
You can get MinGW from http://www.mingw.org/
Cygwin is available at http://www.cygwin.com/
If you are using Cygwin or MinGW together with the MSYS environment, you
can build the library using configure (see "Unix ports" and
"Windows using configure" below). You can also
build wxWidgets without configure using native makefile, but only with
MinGW. Using Cygwin together with Windows makefile is no longer supported.
If building with MinGW without configure:
-> Set your path so that it includes the directory
where your compiler and tools reside
-> Make sure you have GNU Make installed. It must be Windows native version.
Download it from http://www.mingw.org, the executable will be called
mingw32-make.exe.
-> Modern version of MinGW is required; preferably MinGW 2.0 (with gcc3),
but MinGW with gcc-2.95.3 will suffice. If you are using 2.95, you will
have to change variable GCC_VERSION in config.gcc (see msw/install.txt
for details).
If using configure, Unix instructions apply.
c) Build instructions
Assumming that you installed the wxWidgets sources
into c:\wxWidgets:
-> Copy c:\wxWidgets\include\wx\msw\setup0.h
to c:\wxWidgets\include\wx\msw\setup.h
-> Edit c:\wxWidgets\include\wx\msw\setup.h to choose
the features you would like to compile wxWidgets with[out].
and std iostreams are disabled with
#define wxUSE_STD_IOSTREAM 0
-> type: cd c:\wxWidgets\build\msw
-> type: make -f makefile.gcc (if using GNU tools)
or type: nmake -f makefile.vc (if using MS VC++)
etc.
See also docs/msw/install.txt for additional compilation options.
d) Borland (including free command line tools)
Download tools from http://www.borland.com/downloads/
See docs/msw/install.txt for details; in brief:
-> type cd c:\wxWidgets\build\msw
-> type make -f makefile.bcc
You can customize many things in the build process, detailed description is
in docs/msw/install.txt.
II) Unix ports
--------------
Building wxGTK or wxMotif completely without configure
won't ever work, but there is now a new makefile system
that works without libtool and automake, using only
configure to create what is needed.
In order to create configure, you need to have the
GNU autoconf package (version > 2.54) installed
on your system and type run "autoconf" in the base
directory (or run the autogen.sh script in the same
directory, which just calls autoconf). Note that you usually don't
need to do this because configure is included in CVS.
Set WXWIN environment variable to the base directory such
as ~/wxWidgets (this is actually not really needed).
-> type: export WXWIN=~/wxWidgets
-> type: md mybuild
-> type: cd mybuild
-> type: ../configure --with-motif
or type: ../configure --with-gtk
-> type: make
-> type: su <type root password>
-> type: make install
-> type: ldconfig
-> type: exit
Call configure with --disable-shared to create a static
library. Calling "make uninstall" will remove the installed
library and "make dist" will create a distribution (not
yet complete).
III) Windows using configure
----------------------------------------
wxWidgets can be built on Windows using MSYS (see
http://www.mingw.org/), which is a POSIX build environment
for Windows. With MSYS you can just ./configure && make (see also VII,
Unix->Windows cross-compiling using configure).
Of course, you can also build the library using plain makefiles (see
section I).
IV) Classic MacOS using CodeWarrior (eg MacOS 8.x/9.x)
----------------------------------------
Refer to the readme.txt and install.txt files in docs/mac to build
wxWidgets under Classic Mac OS using CodeWarrior.
If you are checking out the CVS sources using cvs under Mac OS X and
compiling under Classic Mac OS:
- make sure that all text files have a Mac OS type of 'TEXT' otherwise
CodeWarrior may ignore them. Checking out the CVS sources using cvs
under Mac OS X creates untyped files which can lead to compilation
errors under CodeWarrior which are hard to track down.
- convert the xml files to CodeWarrior binary projects using the supplied
AppleScript in docs/mac (M5xml2mcp.applescript for CodeWarrior 5.3)
V) MacOS X using configure and the Developer Tools
----------------------------------------
You need to have the Developer Tools installed. If this is not the case,
you will need to register at the Apple Developer web site (this is a free
registration) in order to download the Developer Tools installer.
In order to create configure, you need to have the
GNU autoconf package (version >= 2.54) installed
on your system and type run "autoconf" in the base
directory (or run the autogen.sh script in the same
directory, which just calls autoconf).
-> type: mkdir macbuild
-> type: cd macbuild
-> type: ../configure --with-mac
or type: ../configure
-> type: make
VI) OS/2
----------------------------------------
No notes.
VII) Unix->Windows cross-compiling using configure
--------------------------------------------------
First you'll need a cross-compiler; linux glibc binaries of MinGW and
Cygwin (both based on egcs) can be found at
ftp://ftp.objsw.com/pub/crossgcc/linux-x-win32. Alternative binaries,
based on the latest MinGW release can be found at
http://members.telering.at/jessich/mingw/mingwcross/mingw_cross.html
Otherwise you can compile one yourself.
[ A Note about Cygwin and MinGW: the main difference is that Cygwin
binaries are always linked against cygwin.dll. This dll encapsulates most
standard Unix C extensions, which is very handy if you're porting unix
software to windows. However, wxMSW doesn't need this, so MinGW is
preferable if you write portable C(++). ]
You might want to build both Unix and Windows binaries in the same source
tree; to do this make subdirs for each e.g. unix and win32. If you've
already build wxWidgets in the main dir, do a 'make distclean' there,
otherwise configure will get confused. (In any case, read the section 'Unix
using configure' and make sure you're able to build a native wxWidgets
library; cross-compiling errors can be pretty obscure and you'll want to be
sure that your configure setup is basically sound.)
To cross compile the windows library, do
-> cd win32
(or whatever you called it)
Now run configure. There are two ways to do this
-> ../configure --host=i586-mingw32 --build=i586-linux --with-mingw
where --build= should read whatever platform you're building on. Configure
will notice that build and host platforms differ, and automatically prepend
i586-mingw32- to gcc, ar, ld, etc (make sure they're in the PATH!).
The other way to run configure is by specifying the names of the binaries
yourself:
-> CC=i586-mingw32-gcc CXX=i586-mingw32-g++ RANLIB=i586-mingw32-ranlib \
DLLTOOL=i586-mingw32-dlltool LD=i586-mingw32-ld NM=i586-mingw32-nm \
../configure --host=i586-mingw32 --with-mingw
(all assuming you're using MinGW)
By default this will compile a DLL, if you want a static library,
specify --disable-shared.
Type
-> make
and wait, wait, wait. Don't leave the room, because the minute you do there
will be a compile error :-)
NB: if you are using a very old compiler you risk to get quite a few warnings
about "ANSI C++ forbids implicit conversion from 'void *'" in all places
where va_arg macro is used. This is due to a bug in (some versions of)
MinGW headers which may be corrected by upgrading your compier,
otherwise you might edit the file
${install_prefix}/lib/gcc-lib/i586-mingw32/egcs-2.91.57/include/stdarg.h
(instead of egcs-2.91.57 you may have something different), searching for
the lines
/* Define __gnuc_va_list. */
#ifndef __GNUC_VA_LIST
#define __GNUC_VA_LIST
#if defined(__svr4__) || defined(_AIX) || defined(_M_UNIX) || defined(__NetBSD__)
typedef char *__gnuc_va_list;
#else
typedef void *__gnuc_va_list;
#endif
#endif
and adding "|| defined(_WIN32)" to the list of platforms on which
__gnuc_va_list is char *.
If this is successful, you end up with a wx23_2.dll/libwx23_2.a in win32/lib
(or just libwx_msw.a if you opted for a static build).
Now try building the minimal sample:
-> cd samples/minimal
-> make
and run it with wine, for example (or copy to a Windows box)
-> wine minimal.exe
If all is well, do an install; from win32
-> make install
Native and cross-compiled installations can co-exist peacefully
(as long as their widget sets differ), except for wx-config. You might
want to rename the cross-compiled one to i586-mingw32-wx-config, or something.
Cross-compiling TODO:
---------------------
- resource compiling must be done manually for now (should/can we link the
default wx resources into libwx_msw.a?) [ No we can't; the linker won't
link it in... you have to supply an object file ]
- static executables are HUGE -- there must be room for improvement.

View File

@@ -1,261 +0,0 @@
------------------------------------------------------------------------
How to build the sources from SVN
------------------------------------------------------------------------
Please use the install.txt files in docs/gtk, docs/msw, docs/motif, docs/mac
etc. alongside these instructions.
I) Windows using plain makefiles
----------------------------------------
a) If using Microsoft Visual C++ 5.0 or 6.0
Ensure that the command-line compiler and tools (including
nmake) are installed and ready to run. Depending on your
installation there may be a batch file (commonly named VCVARS32.BAT)
that needs to be run to set correct environment variables and PATH entries.
Continue with item c) below.
b) If using the MinGW or Cygwin compilers
You can get MinGW from http://www.mingw.org/
Cygwin is available at http://www.cygwin.com/
If you are using Cygwin or MinGW together with the MSYS environment, you
can build the library using configure (see "Unix ports" and
"Windows using configure" below). You can also
build wxWidgets without configure using native makefile, but only with
MinGW. Using Cygwin together with Windows makefile is no longer supported.
If building with MinGW without configure:
-> Set your path so that it includes the directory
where your compiler and tools reside
-> Make sure you have GNU Make installed. It must be Windows native version.
Download it from http://www.mingw.org, the executable will be called
mingw32-make.exe.
-> Modern version of MinGW is required; preferably MinGW 2.0 (with gcc3),
but MinGW with gcc-2.95.3 will suffice. If you are using 2.95, you will
have to change variable GCC_VERSION in config.gcc (see msw/install.txt
for details).
If using configure, Unix instructions apply.
c) Build instructions
Assuming that you installed the wxWidgets sources into c:\wxWidgets:
-> Copy c:\wxWidgets\include\wx\msw\setup0.h
to c:\wxWidgets\include\wx\msw\setup.h
-> Edit c:\wxWidgets\include\wx\msw\setup.h to choose
the features you would like to compile wxWidgets with[out].
and std iostreams are disabled with
#define wxUSE_STD_IOSTREAM 0
-> type: cd c:\wxWidgets\build\msw
-> type: make -f makefile.gcc (if using GNU tools)
or type: nmake -f makefile.vc (if using MS VC++)
etc.
See also docs/msw/install.txt for additional compilation options.
d) Borland (including free command line tools)
Download tools from http://www.borland.com/downloads/
See docs/msw/install.txt for details; in brief:
-> type cd c:\wxWidgets\build\msw
-> type make -f makefile.bcc
You can customize many things in the build process, detailed description is
in docs/msw/install.txt.
II) Unix ports
--------------
Building wxGTK or wxMotif completely without configure
won't ever work, but there is now a new makefile system
that works without libtool and automake, using only
configure to create what is needed.
In order to create configure, you need to have the
GNU autoconf package (version > 2.54) installed
on your system and type run "autoconf" in the base
directory (or run the autogen.sh script in the same
directory, which just calls autoconf). Note that you usually don't
need to do this because configure is included in SVN.
Set WXWIN environment variable to the base directory such
as ~/wxWidgets (this is actually not really needed).
-> type: export WXWIN=~/wxWidgets
-> type: md mybuild
-> type: cd mybuild
-> type: ../configure --with-motif
or type: ../configure --with-gtk
-> type: make
-> type: su <type root password>
-> type: make install
-> type: ldconfig
-> type: exit
Call configure with --disable-shared to create a static
library. Calling "make uninstall" will remove the installed
library and "make dist" will create a distribution (not
yet complete).
III) Windows using configure
----------------------------------------
wxWidgets can be built on Windows using MSYS (see
http://www.mingw.org/), which is a POSIX build environment
for Windows. With MSYS you can just ./configure && make (see also VII,
Unix->Windows cross-compiling using configure).
Of course, you can also build the library using plain makefiles (see
section I).
IV) Classic MacOS using CodeWarrior (eg MacOS 8.x/9.x)
----------------------------------------
Refer to the readme.txt and install.txt files in docs/mac to build
wxWidgets under Classic Mac OS using CodeWarrior.
If you are checking out the SVN sources using svn under Mac OS X and
compiling under Classic Mac OS:
- make sure that all text files have a Mac OS type of 'TEXT' otherwise
CodeWarrior may ignore them. Checking out the SVN sources using svn
under Mac OS X creates untyped files which can lead to compilation
errors under CodeWarrior which are hard to track down.
- convert the xml files to CodeWarrior binary projects using the supplied
AppleScript in docs/mac (M5xml2mcp.applescript for CodeWarrior 5.3)
V) MacOS X using configure and the Developer Tools
----------------------------------------
You need to have the Developer Tools installed. If this is not the case,
you will need to register at the Apple Developer web site (this is a free
registration) in order to download the Developer Tools installer.
In order to create configure, you need to have the
GNU autoconf package (version >= 2.54) installed
on your system and type run "autoconf" in the base
directory (or run the autogen.sh script in the same
directory, which just calls autoconf).
-> type: mkdir macbuild
-> type: cd macbuild
-> type: ../configure --with-mac
or type: ../configure
-> type: make
VI) OS/2
----------------------------------------
No notes.
VII) Unix->Windows cross-compiling using configure
--------------------------------------------------
First you'll need a cross-compiler; linux glibc binaries of MinGW and
Cygwin (both based on egcs) can be found at
ftp://ftp.objsw.com/pub/crossgcc/linux-x-win32. Alternative binaries,
based on the latest MinGW release can be found at
http://members.telering.at/jessich/mingw/mingwcross/mingw_cross.html
Otherwise you can compile one yourself.
[ A Note about Cygwin and MinGW: the main difference is that Cygwin
binaries are always linked against cygwin.dll. This dll encapsulates most
standard Unix C extensions, which is very handy if you're porting unix
software to windows. However, wxMSW doesn't need this, so MinGW is
preferable if you write portable C(++). ]
You might want to build both Unix and Windows binaries in the same source
tree; to do this make subdirs for each e.g. unix and win32. If you've
already build wxWidgets in the main dir, do a 'make distclean' there,
otherwise configure will get confused. (In any case, read the section 'Unix
using configure' and make sure you're able to build a native wxWidgets
library; cross-compiling errors can be pretty obscure and you'll want to be
sure that your configure setup is basically sound.)
To cross compile the windows library, do
-> cd win32
(or whatever you called it)
Now run configure. There are two ways to do this
-> ../configure --host=i586-mingw32 --build=i586-linux --with-mingw
where --build= should read whatever platform you're building on. Configure
will notice that build and host platforms differ, and automatically prepend
i586-mingw32- to gcc, ar, ld, etc (make sure they're in the PATH!).
The other way to run configure is by specifying the names of the binaries
yourself:
-> CC=i586-mingw32-gcc CXX=i586-mingw32-g++ RANLIB=i586-mingw32-ranlib \
DLLTOOL=i586-mingw32-dlltool LD=i586-mingw32-ld NM=i586-mingw32-nm \
../configure --host=i586-mingw32 --with-mingw
(all assuming you're using MinGW)
By default this will compile a DLL, if you want a static library,
specify --disable-shared.
Type
-> make
and wait, wait, wait. Don't leave the room, because the minute you do there
will be a compile error :-)
NB: if you are using a very old compiler you risk to get quite a few warnings
about "ANSI C++ forbids implicit conversion from 'void *'" in all places
where va_arg macro is used. This is due to a bug in (some versions of)
MinGW headers which may be corrected by upgrading your compier,
otherwise you might edit the file
${install_prefix}/lib/gcc-lib/i586-mingw32/egcs-2.91.57/include/stdarg.h
(instead of egcs-2.91.57 you may have something different), searching for
the lines
/* Define __gnuc_va_list. */
#ifndef __GNUC_VA_LIST
#define __GNUC_VA_LIST
#if defined(__svr4__) || defined(_AIX) || defined(_M_UNIX) || defined(__NetBSD__)
typedef char *__gnuc_va_list;
#else
typedef void *__gnuc_va_list;
#endif
#endif
and adding "|| defined(_WIN32)" to the list of platforms on which
__gnuc_va_list is char *.
If this is successful, you end up with a wx23_2.dll/libwx23_2.a in win32/lib
(or just libwx_msw.a if you opted for a static build).
Now try building the minimal sample:
-> cd samples/minimal
-> make
and run it with wine, for example (or copy to a Windows box)
-> wine minimal.exe
If all is well, do an install; from win32
-> make install
Native and cross-compiled installations can co-exist peacefully
(as long as their widget sets differ), except for wx-config. You might
want to rename the cross-compiled one to i586-mingw32-wx-config, or something.
Cross-compiling TODO:
---------------------
- resource compiling must be done manually for now (should/can we link the
default wx resources into libwx_msw.a?) [ No we can't; the linker won't
link it in... you have to supply an object file ]
- static executables are HUGE -- there must be room for improvement.

14934
Makefile.in

File diff suppressed because it is too large Load Diff

View File

@@ -132,7 +132,7 @@ AC_DEFUN([WX_CPP_NEW_HEADERS],
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_CHECK_HEADERS([iostream],,, [ ])
AC_CHECK_HEADERS(iostream)
if test "$ac_cv_header_iostream" = "yes" ; then
ifelse([$1], , :, [$1])
@@ -227,72 +227,6 @@ AC_DEFUN([WX_CPP_EXPLICIT],
fi
])
dnl ---------------------------------------------------------------------------
dnl WX_CHECK_FUNCS(FUNCTIONS...,
dnl [ACTION-IF-FOUND],
dnl [ACTION-IF-NOT-FOUND],
dnl [EXTRA-DEFINES-AND-INCLUDES],
dnl [EXTRA-TEST-CODE])
dnl
dnl Checks that the functions listed in FUNCTIONS exist in the headers and the
dnl libs. For each function, if it is found then defines 'HAVE_FUNCTION' and
dnl executes ACTION-IF-FOUND, otherwise executes ACTION-IF-NOT-FOUND.
dnl
dnl The code from EXTRA-DEFINES-AND-INCLUDES is inserted into the test before
dnl the default headers are included, and EXTRA-TEST-CODE is inserted into
dnl the main() function after the default test for existence.
dnl
dnl Examples:
dnl # the simple case
dnl WX_CHECK_FUNCS(stat)
dnl # use break to finish the loop early
dnl WX_CHECK_FUNCS(mkstemp mktemp, break)
dnl # extra defines
dnl WX_CHECK_FUNCS(strtok_r, [], [], [#define _RREENTRANT])
dnl # extra includes
dnl WX_CHECK_FUNCS(swprintf, [], [], [#include <wchar.h>])
dnl # checking the signature with extra test code
dnl WX_CHECK_FUNCS(gettimeofday, [], [], [#include <sys/time.h>]
dnl [struct timeval tv; struct timezone tz; gettimeofday(&tv, &tz)])
dnl ---------------------------------------------------------------------------
AC_DEFUN([WX_CHECK_FUNCS],
[
for wx_func in $1
do
AC_CACHE_CHECK(
[for $wx_func],
[wx_cv_func_$wx_func],
[
AC_LINK_IFELSE(
[
AC_LANG_PROGRAM(
[
$4
AC_INCLUDES_DEFAULT
],
[
#ifndef $wx_func
&$wx_func;
#endif
$5
])
],
[eval wx_cv_func_$wx_func=yes],
[eval wx_cv_func_$wx_func=no])
])
if eval test \$wx_cv_func_$wx_func = yes
then
AC_DEFINE_UNQUOTED([AS_TR_CPP([HAVE_$wx_func])])
$2
else
:
$3
fi
done
])
dnl ---------------------------------------------------------------------------
dnl a slightly better AC_C_BIGENDIAN macro which allows cross-compiling
dnl ---------------------------------------------------------------------------
@@ -350,50 +284,41 @@ AC_DEFUN([WX_ARG_CACHE_FLUSH],
mv ${wx_arg_cache_file}.tmp ${wx_arg_cache_file}
])
dnl return the name of the variable to store the value of the given
dnl WX_ARG_WITH/ENABLE option
AC_DEFUN([WX_ARG_CACHE_NAME],)
dnl this macro checks for a three-valued command line --with argument:
dnl possible arguments are 'yes', 'no', 'sys', or 'builtin'
dnl usage: WX_ARG_SYS_WITH(option, helpmessage, variable-name)
dnl
dnl the default value (used if the option is not specified at all) is the value
dnl of wxUSE_ALL_FEATURES (which is "yes" by default but can be changed by
dnl giving configure --disable-all-features option)
AC_DEFUN([WX_ARG_SYS_WITH],
[
AC_MSG_CHECKING([for --with-$1])
no_cache=0
AC_ARG_WITH($1, [$2],
[
if test "$withval" = yes; then
AS_TR_SH(wx_cv_use_$1)='$3=yes'
ac_cv_use_$1='$3=yes'
elif test "$withval" = no; then
AS_TR_SH(wx_cv_use_$1)='$3=no'
ac_cv_use_$1='$3=no'
elif test "$withval" = sys; then
AS_TR_SH(wx_cv_use_$1)='$3=sys'
ac_cv_use_$1='$3=sys'
elif test "$withval" = builtin; then
AS_TR_SH(wx_cv_use_$1)='$3=builtin'
ac_cv_use_$1='$3=builtin'
else
AC_MSG_ERROR([Invalid value for --with-$1: should be yes, no, sys, or builtin])
fi
cache=yes
],
[
LINE=`grep "^$3=" ${wx_arg_cache_file}`
LINE=`grep "$3" ${wx_arg_cache_file}`
if test "x$LINE" != x ; then
eval "DEFAULT_$LINE"
cache=yes
eval "DEFAULT_$LINE"
else
cache=no
no_cache=1
fi
AS_TR_SH(wx_cv_use_$1)='$3=${'DEFAULT_$3":-$wxUSE_ALL_FEATURES}"
ac_cv_use_$1='$3='$DEFAULT_$3
])
eval "$AS_TR_SH(wx_cv_use_$1)"
if test "x$cache" = xyes; then
echo "$3=$$3" >> ${wx_arg_cache_file}.tmp
eval "$ac_cv_use_$1"
if test "$no_cache" != 1; then
echo $ac_cv_use_$1 >> ${wx_arg_cache_file}.tmp
fi
if test "$$3" = yes; then
@@ -410,173 +335,85 @@ AC_DEFUN([WX_ARG_SYS_WITH],
])
dnl this macro checks for a command line argument and caches the result
dnl usage: WX_ARG_WITH(option, helpmessage, variable-name, [withstring])
dnl usage: WX_ARG_WITH(option, helpmessage, variable-name)
AC_DEFUN([WX_ARG_WITH],
[
withstring=$4
defaultval=$wxUSE_ALL_FEATURES
if test -z "$defaultval"; then
if test x"$withstring" = xwithout; then
defaultval=yes
else
defaultval=no
fi
fi
AC_MSG_CHECKING([for --${withstring:-with}-$1])
AC_MSG_CHECKING([for --with-$1])
no_cache=0
AC_ARG_WITH($1, [$2],
[
if test "$withval" = yes; then
AS_TR_SH(wx_cv_use_$1)='$3=yes'
ac_cv_use_$1='$3=yes'
else
AS_TR_SH(wx_cv_use_$1)='$3=no'
ac_cv_use_$1='$3=no'
fi
cache=yes
],
[
LINE=`grep "^$3=" ${wx_arg_cache_file}`
LINE=`grep "$3" ${wx_arg_cache_file}`
if test "x$LINE" != x ; then
eval "DEFAULT_$LINE"
cache=yes
eval "DEFAULT_$LINE"
else
cache=no
no_cache=1
fi
AS_TR_SH(wx_cv_use_$1)='$3=${'DEFAULT_$3":-$defaultval}"
ac_cv_use_$1='$3='$DEFAULT_$3
])
eval "$AS_TR_SH(wx_cv_use_$1)"
if test "x$cache" = xyes; then
echo "$3=$$3" >> ${wx_arg_cache_file}.tmp
eval "$ac_cv_use_$1"
if test "$no_cache" != 1; then
echo $ac_cv_use_$1 >> ${wx_arg_cache_file}.tmp
fi
if test x"$withstring" = xwithout; then
if test $$3 = yes; then
result=no
else
result=yes
fi
if test "$$3" = yes; then
AC_MSG_RESULT(yes)
else
result=$$3
AC_MSG_RESULT(no)
fi
AC_MSG_RESULT($result)
])
dnl same as WX_ARG_WITH but makes it clear that the option is enabled by default
AC_DEFUN([WX_ARG_WITHOUT], [WX_ARG_WITH($1, [$2], $3, without)])
dnl like WX_ARG_WITH but uses AC_ARG_ENABLE instead of AC_ARG_WITH
dnl usage: WX_ARG_ENABLE(option, helpmessage, var, [enablestring], [default])
dnl usage: WX_ARG_ENABLE(option, helpmessage, variable-name, enablestring)
dnl
dnl enablestring can be omitted or a literal string "disable" and allows to
dnl show "checking for --disable-foo" message when running configure instead of
dnl the default "checking for --enable-foo" one whih is useful for the options
dnl enabled by default
dnl
dnl the "default" argument can be omitted or contain the default value to use
dnl for the option if it's unspecified
dnl enablestring is a hack and allows to show "checking for --disable-foo"
dnl message when running configure instead of the default "checking for
dnl --enable-foo" one whih is useful for the options enabled by default
AC_DEFUN([WX_ARG_ENABLE],
[
enablestring=$4
defaultval=$5
if test -z "$defaultval"; then
if test x"$enablestring" = xdisable; then
defaultval=yes
else
defaultval=no
fi
fi
enablestring=$4
AC_MSG_CHECKING([for --${enablestring:-enable}-$1])
no_cache=0
AC_ARG_ENABLE($1, [$2],
[
if test "$enableval" = yes; then
AS_TR_SH(wx_cv_use_$1)='$3=yes'
ac_cv_use_$1='$3=yes'
else
AS_TR_SH(wx_cv_use_$1)='$3=no'
ac_cv_use_$1='$3=no'
fi
cache=yes
],
[
LINE=`grep "^$3=" ${wx_arg_cache_file}`
if test "x$LINE" != x ; then
eval "DEFAULT_$LINE"
cache=yes
else
cache=no
fi
AS_TR_SH(wx_cv_use_$1)='$3=${'DEFAULT_$3":-$defaultval}"
])
eval "$AS_TR_SH(wx_cv_use_$1)"
if test "x$cache" = xyes; then
echo "$3=$$3" >> ${wx_arg_cache_file}.tmp
fi
if test x"$enablestring" = xdisable; then
if test $$3 = yes; then
result=no
else
result=yes
fi
else
result=$$3
fi
AC_MSG_RESULT($result)
])
dnl the same as WX_ARG_ENABLE but makes it more clear that the option is
dnl enabled by default
AC_DEFUN([WX_ARG_DISABLE], [WX_ARG_ENABLE($1, [$2], $3, disable)])
dnl same as WX_ARG_ENABLE but defaults to wxUSE_ALL_FEATURES instead of "yes"
AC_DEFUN([WX_ARG_FEATURE], [WX_ARG_ENABLE($1, [$2], $3,, $wxUSE_ALL_FEATURES)])
dnl Like WX_ARG_ENABLE but accepts a parameter.
dnl
dnl Usage:
dnl WX_ARG_ENABLE_PARAM(option, helpmessage, variable-name, enablestring)
dnl
dnl Example:
dnl WX_ARG_ENABLE_PARAM(foo, [[ --enable-foo[=bar] use foo]], wxUSE_FOO)
dnl
dnl --enable-foo wxUSE_FOO=yes
dnl --disable-foo wxUSE_FOO=no
dnl --enable-foo=bar wxUSE_FOO=bar
dnl <not given> value from configarg.cache or
dnl wxUSE_FOO=$DEFAULT_wxUSE_FOO
dnl
AC_DEFUN([WX_ARG_ENABLE_PARAM],
[
enablestring=$4
AC_MSG_CHECKING([for --${enablestring:-enable}-$1])
AC_ARG_ENABLE($1, [$2],
[
wx_cv_use_$1="$3='$enableval'"
cache=yes
],
[
LINE=`grep "^$3=" ${wx_arg_cache_file}`
LINE=`grep "$3" ${wx_arg_cache_file}`
if test "x$LINE" != x ; then
eval "DEFAULT_$LINE"
cache=yes
else
cache=no
no_cache=1
fi
wx_cv_use_$1='$3='$DEFAULT_$3
ac_cv_use_$1='$3='$DEFAULT_$3
])
eval "$wx_cv_use_$1"
if test "x$cache" = xyes; then
echo "$3=$$3" >> ${wx_arg_cache_file}.tmp
eval "$ac_cv_use_$1"
if test "$no_cache" != 1; then
echo $ac_cv_use_$1 >> ${wx_arg_cache_file}.tmp
fi
AC_MSG_RESULT([$$3])
if test "$$3" = yes; then
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
])
dnl ===========================================================================
dnl Linker features test
dnl ===========================================================================
@@ -590,80 +427,81 @@ dnl call WX_VERSIONED_SYMBOLS(versionfile)
dnl ---------------------------------------------------------------------------
AC_DEFUN([WX_VERSIONED_SYMBOLS],
[
case "${host}" in
*-*-cygwin* | *-*-mingw* )
dnl although ld does support version script option on these
dnl platforms, it doesn't make much sense to use it under Win32
dnl and, moreover, this breaks linking because of a bug in handling
dnl paths in -Wl,--version-script,path option (if we ever do need
dnl to use it for cygwin/mingw32, keep in mind that replacing last
dnl comma with the equal sign works) so
dnl simply disable it
wx_cv_version_script=no
;;
found_versioning=no
*)
AC_CACHE_CHECK([if the linker accepts --version-script], wx_cv_version_script,
[
echo "VER_1 { *; };" >conftest.sym
echo "int main() { return 0; }" >conftest.cpp
dnl FIXME - doesn't work, Solaris linker doesn't accept wildcards
dnl in the script.
dnl dnl Check for known non-gcc cases:
dnl case "${host}" in
dnl *-*-solaris2* )
dnl if test "x$GCC" != "xyes" ; then
dnl LDFLAGS_VERSIONING="-M $1"
dnl found_versioning=yes
dnl fi
dnl ;;
dnl esac
dnl Generic check for GCC or GCC-like behaviour (Intel C++, GCC):
if test $found_versioning = no ; then
AC_CACHE_CHECK([if the linker accepts --version-script], wx_cv_version_script,
[
echo "VER_1 { *; };" >conftest.sym
echo "int main() { return 0; }" >conftest.cpp
if AC_TRY_COMMAND([
$CXX -o conftest.output $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.cpp
-Wl,--version-script,conftest.sym >/dev/null 2>conftest.stderr]) ; then
if test -s conftest.stderr ; then
wx_cv_version_script=no
else
wx_cv_version_script=yes
fi
else
wx_cv_version_script=no
fi
if AC_TRY_COMMAND([
$CXX -o conftest.output $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.cpp
-Wl,--version-script,conftest.sym >/dev/null 2>conftest.stderr]) ; then
if test -s conftest.stderr ; then
wx_cv_version_script=no
else
wx_cv_version_script=yes
fi
else
wx_cv_version_script=no
fi
dnl There's a problem in some old linkers with --version-script that
dnl can cause linking to fail when you have objects with vtables in
dnl libs 3 deep. This is known to happen in netbsd and openbsd with
dnl ld 2.11.2.
dnl
dnl To test for this we need to make some shared libs and
dnl unfortunately we can't be sure of the right way to do that. If the
dnl first two compiles don't succeed then it looks like the test isn't
dnl working and the result is ignored, but if OTOH the first two
dnl succeed but the third does not then the bug has been detected and
dnl the --version-script flag is dropped.
if test $wx_cv_version_script = yes
then
echo "struct B { virtual ~B() { } }; \
struct D : public B { }; \
void F() { D d; }" > conftest.cpp
dnl There's a problem in some old linkers with --version-script that
dnl can cause linking to fail when you have objects with vtables in
dnl libs 3 deep. This is known to happen in netbsd and openbsd with
dnl ld 2.11.2.
dnl
dnl To test for this we need to make some shared libs and
dnl unfortunately we can't be sure of the right way to do that. If the
dnl first two compiles don't succeed then it looks like the test isn't
dnl working and the result is ignored, but if OTOH the first two
dnl succeed but the third does not then the bug has been detected and
dnl the --version-script flag is dropped.
if test $wx_cv_version_script = yes
then
echo "struct B { virtual ~B() { } }; \
struct D : public B { }; \
void F() { D d; }" > conftest.cpp
if AC_TRY_COMMAND([
$CXX -shared -fPIC -o conftest1.output $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.cpp
-Wl,--version-script,conftest.sym >/dev/null 2>/dev/null]) &&
AC_TRY_COMMAND([
$CXX -shared -fPIC -o conftest2.output $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.cpp
-Wl,--version-script,conftest.sym conftest1.output >/dev/null 2>/dev/null])
then
if AC_TRY_COMMAND([
$CXX -shared -fPIC -o conftest3.output $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.cpp
-Wl,--version-script,conftest.sym conftest2.output conftest1.output >/dev/null 2>/dev/null])
then
wx_cv_version_script=yes
else
wx_cv_version_script=no
fi
fi
fi
rm -f conftest.output conftest.stderr conftest.sym conftest.cpp
rm -f conftest1.output conftest2.output conftest3.output
])
if test $wx_cv_version_script = yes ; then
LDFLAGS_VERSIONING="-Wl,--version-script,$1"
if AC_TRY_COMMAND([
$CXX -shared -fPIC -o conftest1.output $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.cpp
-Wl,--version-script,conftest.sym >/dev/null 2>/dev/null]) &&
AC_TRY_COMMAND([
$CXX -shared -fPIC -o conftest2.output $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.cpp
-Wl,--version-script,conftest.sym conftest1.output >/dev/null 2>/dev/null])
then
if AC_TRY_COMMAND([
$CXX -shared -fPIC -o conftest3.output $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.cpp
-Wl,--version-script,conftest.sym conftest2.output conftest1.output >/dev/null 2>/dev/null])
then
wx_cv_version_script=yes
else
wx_cv_version_script=no
fi
;;
esac
fi
fi
rm -f conftest.output conftest.stderr conftest.sym conftest.cpp
rm -f conftest1.output conftest2.output conftest3.output
])
if test $wx_cv_version_script = yes ; then
LDFLAGS_VERSIONING="-Wl,--version-script,$1"
fi
fi
])

9
aclocal.m4 vendored
View File

@@ -1,7 +1,7 @@
# generated automatically by aclocal 1.10 -*- Autoconf -*-
# generated automatically by aclocal 1.9.6 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005, 2006 Free Software Foundation, Inc.
# 2005 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -11,10 +11,6 @@
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
m4_include([build/aclocal/ac_raf_func_which_getservbyname_r.m4])
m4_include([build/aclocal/atomic_builtins.m4])
m4_include([build/aclocal/ax_func_which_gethostbyname_r.m4])
m4_include([build/aclocal/bakefile-dllar.m4])
m4_include([build/aclocal/bakefile-lang.m4])
m4_include([build/aclocal/bakefile.m4])
m4_include([build/aclocal/cppunit.m4])
@@ -22,5 +18,4 @@ m4_include([build/aclocal/gtk-2.0.m4])
m4_include([build/aclocal/gtk.m4])
m4_include([build/aclocal/pkg.m4])
m4_include([build/aclocal/sdl.m4])
m4_include([build/aclocal/visibility.m4])
m4_include([acinclude.m4])

View File

@@ -1,21 +1,21 @@
/* XPM */
static char * back_xpm[] = {
"16 15 3 1",
" c None",
". c Black",
"X c Gray100",
" ",
" ",
" . ",
" .. ",
" .X. ",
" .XX........ ",
" .XXXXXXXXXX. ",
" .XXXXXXXXXXX. ",
" .XXXXXXXXXXX. ",
" .XXXXXXXXXX. ",
" .XX........ ",
" .X. ",
" .. ",
" . ",
" "};
/* XPM */
static char * back_xpm[] = {
"16 15 3 1",
" c None",
". c Black",
"X c Gray100",
" ",
" ",
" . ",
" .. ",
" .X. ",
" .XX........ ",
" .XXXXXXXXXX. ",
" .XXXXXXXXXXX. ",
" .XXXXXXXXXXX. ",
" .XXXXXXXXXX. ",
" .XX........ ",
" .X. ",
" .. ",
" . ",
" "};

View File

@@ -1,17 +1,17 @@
/* XPM */
static char *cross_xpm[] = {
/* columns rows colors chars-per-pixel */
"10 10 2 1",
" c Gray0",
"# c None",
/* pixels */
" ######## ",
" #### ",
"# ## #",
"## ##",
"### ###",
"### ###",
"## ##",
"# ## #",
" #### ",
" ###### "};
/* XPM */
static char *cross_xpm[] = {
/* columns rows colors chars-per-pixel */
"10 10 2 1",
" c Gray0",
"# c None",
/* pixels */
" ######## ",
" #### ",
"# ## #",
"## ##",
"### ###",
"### ###",
"## ##",
"# ## #",
" #### ",
" ###### "};

View File

@@ -1,21 +1,21 @@
/* XPM */
static char * down_xpm[] = {
"16 15 3 1",
" c None",
". c Black",
"X c Gray100",
" ",
" ...... ",
" .XXXX. ",
" .XXXX. ",
" .XXXX. ",
" .XXXX. ",
" .XXXX. ",
" .XXXX. ",
" ....XXXX.... ",
" .XXXXXXXX. ",
" .XXXXXX. ",
" .XXXX. ",
" .XX. ",
" .. ",
" "};
/* XPM */
static char * down_xpm[] = {
"16 15 3 1",
" c None",
". c Black",
"X c Gray100",
" ",
" ...... ",
" .XXXX. ",
" .XXXX. ",
" .XXXX. ",
" .XXXX. ",
" .XXXX. ",
" .XXXX. ",
" ....XXXX.... ",
" .XXXXXXXX. ",
" .XXXXXX. ",
" .XXXX. ",
" .XX. ",
" .. ",
" "};

View File

@@ -1,21 +1,21 @@
/* XPM */
static char * forward_xpm[] = {
"16 15 3 1",
" c None",
". c Black",
"X c Gray100",
" ",
" ",
" . ",
" .. ",
" .X. ",
" ........XX. ",
" .XXXXXXXXXX. ",
" .XXXXXXXXXXX. ",
" .XXXXXXXXXXX. ",
" .XXXXXXXXXX. ",
" ........XX. ",
" .X. ",
" .. ",
" . ",
" "};
/* XPM */
static char * forward_xpm[] = {
"16 15 3 1",
" c None",
". c Black",
"X c Gray100",
" ",
" ",
" . ",
" .. ",
" .X. ",
" ........XX. ",
" .XXXXXXXXXX. ",
" .XXXXXXXXXXX. ",
" .XXXXXXXXXXX. ",
" .XXXXXXXXXX. ",
" ........XX. ",
" .X. ",
" .. ",
" . ",
" "};

View File

@@ -1,25 +1,25 @@
/* XPM */
static char * htmbook_xpm[] = {
"16 16 6 1",
" c None",
". c Black",
"X c #000080",
"o c #c0c0c0",
"O c #808080",
"+ c Gray100",
" ",
" .. ",
" ..XX. ",
" ..XXXXX. ",
" ..XXXXXXXX. ",
".oXXXXXXXXXX. ",
".XoXXXXXXXXXX. ",
".XXoXXXXXXXXXX. ",
".XXXoXXXXXXXXX..",
".XXXXoXXXXXX..O ",
" .XXXXoXXX..O+O ",
" .XXXXo..O++o..",
" .XXX.O+++o.. ",
" .XX.o+o.. ",
" .X.o.. ",
" ... "};
/* XPM */
static char * htmbook_xpm[] = {
"16 16 6 1",
" c None",
". c Black",
"X c #000080",
"o c #c0c0c0",
"O c #808080",
"+ c Gray100",
" ",
" .. ",
" ..XX. ",
" ..XXXXX. ",
" ..XXXXXXXX. ",
".oXXXXXXXXXX. ",
".XoXXXXXXXXXX. ",
".XXoXXXXXXXXXX. ",
".XXXoXXXXXXXXX..",
".XXXXoXXXXXX..O ",
" .XXXXoXXX..O+O ",
" .XXXXo..O++o..",
" .XXX.O+++o.. ",
" .XX.o+o.. ",
" .X.o.. ",
" ... "};

View File

@@ -1,25 +1,25 @@
/* XPM */
static char * htmfoldr_xpm[] = {
"16 16 6 1",
" c None",
". c Black",
"X c #000080",
"o c #c0c0c0",
"O c #808080",
"+ c Gray100",
" ",
" .. ",
" ..XX. ",
" ..XXXXX. ",
" ..XXXXXXXX. ",
".oXXXXXXXXXX. ",
".XoXXXXXXXXXX. ",
".XXoXXXXXXXXXX. ",
".XXXoXXXXXXXXX..",
".XXXXoXXXXXX..O ",
" .XXXXoXXX..O+O ",
" .XXXXo..O++o..",
" .XXX.O+++o.. ",
" .XX.o+o.. ",
" .X.o.. ",
" ... "};
/* XPM */
static char * htmfoldr_xpm[] = {
"16 16 6 1",
" c None",
". c Black",
"X c #000080",
"o c #c0c0c0",
"O c #808080",
"+ c Gray100",
" ",
" .. ",
" ..XX. ",
" ..XXXXX. ",
" ..XXXXXXXX. ",
".oXXXXXXXXXX. ",
".XoXXXXXXXXXX. ",
".XXoXXXXXXXXXX. ",
".XXXoXXXXXXXXX..",
".XXXXoXXXXXX..O ",
" .XXXXoXXX..O+O ",
" .XXXXo..O++o..",
" .XXX.O+++o.. ",
" .XX.o+o.. ",
" .X.o.. ",
" ... "};

View File

@@ -1,20 +1,20 @@
/* XPM */
static char * htmoptns_xpm[] = {
"16 15 2 1",
" c None",
". c #000000",
" ",
" .. ",
" ... ",
" .... ",
" . ... ",
" .. ... ",
" . .. ",
" .. ... ",
" . .. ",
" ......... ",
" .. ... ",
" . ... ",
" .. ... ",
" .... ....... ",
" "};
/* XPM */
static char * htmoptns_xpm[] = {
"16 15 2 1",
" c None",
". c #000000",
" ",
" .. ",
" ... ",
" .... ",
" . ... ",
" .. ... ",
" . .. ",
" .. ... ",
" . .. ",
" ......... ",
" .. ... ",
" . ... ",
" .. ... ",
" .... ....... ",
" "};

View File

@@ -1,23 +1,23 @@
/* XPM */
static char * htmpage_xpm[] = {
"16 16 4 1",
" c None",
". c #808080",
"X c Gray100",
"o c Black",
" ",
" .......... ",
" .XXXXXXXX.. ",
" .XXXXXXXXooo ",
" .X......XXXo ",
" .XXXXXXXXXXo ",
" .X........Xo ",
" .XXXXXXXXXXo ",
" .X........Xo ",
" .XXXXXXXXXXo ",
" .X........Xo ",
" .XXXXXXXXXXo ",
" .X........Xo ",
" .XXXXXXXXXXo ",
" .XXXXXXXXXXo ",
" oooooooooooo "};
/* XPM */
static char * htmpage_xpm[] = {
"16 16 4 1",
" c None",
". c #808080",
"X c Gray100",
"o c Black",
" ",
" .......... ",
" .XXXXXXXX.. ",
" .XXXXXXXXooo ",
" .X......XXXo ",
" .XXXXXXXXXXo ",
" .X........Xo ",
" .XXXXXXXXXXo ",
" .X........Xo ",
" .XXXXXXXXXXo ",
" .X........Xo ",
" .XXXXXXXXXXo ",
" .X........Xo ",
" .XXXXXXXXXXo ",
" .XXXXXXXXXXo ",
" oooooooooooo "};

View File

@@ -1,17 +1,17 @@
/* XPM */
static char *tick_xpm[] = {
/* columns rows colors chars-per-pixel */
"10 10 2 1",
". c Gray0",
" c None",
/* pixels */
" ",
" ..",
" ...",
" ... ",
".. ... ",
"... ... ",
" ..... ",
" ... ",
" . ",
" "};
/* XPM */
static char *tick_xpm[] = {
/* columns rows colors chars-per-pixel */
"10 10 2 1",
". c Gray0",
" c None",
/* pixels */
" ",
" ..",
" ...",
" ... ",
".. ... ",
"... ... ",
" ..... ",
" ... ",
" . ",
" "};

View File

@@ -1,21 +1,21 @@
/* XPM */
static char * toparent_xpm[] = {
"16 15 3 1",
" c None",
". c Black",
"X c Gray100",
" ",
" .. ",
" .XX. ",
" .XXXX. ",
" .XXXXXX. ",
" .XXXXXXXX. ",
" ....XXXX.... ",
" .XXXX. ",
" .XXXX..... ",
" .XXXXXXXX. ",
" .XXXXXXXX. ",
" .XXXXXXXX. ",
" .XXXXXXXX. ",
" .......... ",
" "};
/* XPM */
static char * toparent_xpm[] = {
"16 15 3 1",
" c None",
". c Black",
"X c Gray100",
" ",
" .. ",
" .XX. ",
" .XXXX. ",
" .XXXXXX. ",
" .XXXXXXXX. ",
" ....XXXX.... ",
" .XXXX. ",
" .XXXX..... ",
" .XXXXXXXX. ",
" .XXXXXXXX. ",
" .XXXXXXXX. ",
" .XXXXXXXX. ",
" .......... ",
" "};

View File

@@ -1,21 +1,21 @@
/* XPM */
static char * up_xpm[] = {
"16 15 3 1",
" c None",
". c Black",
"X c Gray100",
" ",
" .. ",
" .XX. ",
" .XXXX. ",
" .XXXXXX. ",
" .XXXXXXXX. ",
" ....XXXX.... ",
" .XXXX. ",
" .XXXX. ",
" .XXXX. ",
" .XXXX. ",
" .XXXX. ",
" .XXXX. ",
" ...... ",
" "};
/* XPM */
static char * up_xpm[] = {
"16 15 3 1",
" c None",
". c Black",
"X c Gray100",
" ",
" .. ",
" .XX. ",
" .XXXX. ",
" .XXXXXX. ",
" .XXXXXXXX. ",
" ....XXXX.... ",
" .XXXX. ",
" .XXXX. ",
" .XXXX. ",
" .XXXX. ",
" .XXXX. ",
" .XXXX. ",
" ...... ",
" "};

View File

@@ -1,25 +1,25 @@
/* XPM */
static char *wxwin16x16_xpm[] = {
"16 16 6 1",
" c None",
". c #000000",
"X c #000084",
"o c #FFFFFF",
"O c #FFFF00",
"+ c #FF0000",
" ",
" ",
" ....... ",
" .XXXXX. ",
" .oXXXX. ",
" .oXXX.......",
".....oXXX.OOOOO.",
".+++.XXXX.oOOOO.",
".o++......oOOOO.",
".o++++. .oOOOO.",
".o++++. .OOOOO.",
".+++++. .......",
"....... ",
" ",
" ",
" "};
/* XPM */
static char *wxwin16x16_xpm[] = {
"16 16 6 1",
" c None",
". c #000000",
"X c #000084",
"o c #FFFFFF",
"O c #FFFF00",
"+ c #FF0000",
" ",
" ",
" ....... ",
" .XXXXX. ",
" .oXXXX. ",
" .oXXX.......",
".....oXXX.OOOOO.",
".+++.XXXX.oOOOO.",
".o++......oOOOO.",
".o++++. .oOOOO.",
".o++++. .OOOOO.",
".+++++. .......",
"....... ",
" ",
" ",
" "};

File diff suppressed because one or more lines are too long

1
build/.cvsignore Normal file
View File

@@ -0,0 +1 @@
wince

View File

@@ -1,27 +0,0 @@
autogen.mk
autogen.mk is a makefile provided to automatically update the GNU autotools
build system. It will run Bakefile, aclocal, and autoconf as appropriate.
The .m4 files required for running aclocal are located in build/aclocal.
When upgrading software that wxWidgets depends on (for example, Bakefile,
cppunit, GTK, SDL, or others) it is advisable to upgrade the .m4 files
located in the build/aclocal directory.
It is particularly important that if you use a newer version of Bakefile
to generate the Makefile.in files that you use the newer bakefile*.m4.
Because build/autogen.mk is a Makefile it will automatically rerun
aclocal and autoconf as necessary whenever any m4 in build/aclocal is
newer than the generated aclocal.m4.
You can achieve this simply by copying the new bakefile*.m4 files from
PREFIX/share/aclocal/ into the build/aclocal/ directory and
rerunning make -f build/autogen.mk. Note that you should _not_ preserve
source file times (don't use cp -p) or else it's possible your .m4 files
will be older than the generated aclocal.m4).
Example:
cp /usr/share/aclocal/bakefile*.m4 build/aclocal/
make -f build/autogen.mk
Please don't forget to commit updated .m4 files as well as updated aclocal.m4,
configure, and Makefile.in files to wxWidgets.

View File

@@ -1,78 +0,0 @@
dnl @synopsis AC_raf_FUNC_WHICH_GETSERVBYNAME_R
dnl
dnl Provides a test to determine the correct way to call
dnl getservbyname_r:
dnl
dnl - defines HAVE_FUNC_GETSERVBYNAME_R_6 if it needs 6 arguments (e.g linux)
dnl - defines HAVE_FUNC_GETSERVBYNAME_R_5 if it needs 5 arguments (e.g. solaris)
dnl - defines HAVE_FUNC_GETSERVBYNAME_R_4 if it needs 4 arguments (e.g. osf/1)
dnl
dnl An example use can be found at
dnl http://raf.org/autoconf/net_getservbyname.c
dnl
dnl Based on Caolan McNamara's gethostbyname_r macro. Based on David
dnl Arnold's autoconf suggestion in the threads faq.
dnl
dnl @category Misc
dnl @author raf <raf@raf.org>
dnl @version 2001-08-20
dnl @license GPLWithACException
AC_DEFUN([AC_raf_FUNC_WHICH_GETSERVBYNAME_R],
[
AC_CACHE_CHECK(how many arguments getservbyname_r() takes,
ac_cv_func_which_getservbyname_r,
[
dnl we need to use C++ to detect missing prototypes
AC_LANG_PUSH(C++)
AC_TRY_COMPILE([#include <netdb.h>],
[
char *name;
char *proto;
struct servent *se, *res;
char buffer[2048];
int buflen = 2048;
(void) getservbyname_r(name, proto, se, buffer, buflen, &res)
],
ac_cv_func_which_getservbyname_r=six,
[
AC_TRY_COMPILE([#include <netdb.h>],
[
char *name;
char *proto;
struct servent *se;
char buffer[2048];
int buflen = 2048;
(void) getservbyname_r(name, proto, se, buffer, buflen)
],
ac_cv_func_which_getservbyname_r=five,
[
AC_TRY_COMPILE([#include <netdb.h>],
[
char *name;
char *proto;
struct servent *se;
struct servent_data data;
(void) getservbyname_r(name, proto, se, &data);
],
ac_cv_func_which_getservbyname_r=four,
ac_cv_func_which_getservbyname_r=no
)
]
)
]
)
AC_LANG_POP()
]
)
if test $ac_cv_func_which_getservbyname_r = six; then
AC_DEFINE(HAVE_FUNC_GETSERVBYNAME_R_6)
elif test $ac_cv_func_which_getservbyname_r = five; then
AC_DEFINE(HAVE_FUNC_GETSERVBYNAME_R_5)
elif test $ac_cv_func_which_getservbyname_r = four; then
AC_DEFINE(HAVE_FUNC_GETSERVBYNAME_R_4)
fi
])

View File

@@ -1,26 +0,0 @@
dnl Checks for availability of GCC's atomic operations builtins.
dnl Defines HAVE_GCC_ATOMIC_BUILTINS if available.
AC_DEFUN([WX_ATOMIC_BUILTINS],
[
AC_REQUIRE([AC_PROG_CC])
if test -n "$GCC"; then
AC_MSG_CHECKING([for __sync_fetch_* builtins])
AC_CACHE_VAL(wx_cv_cc_gcc_atomic_builtins, [
AC_TRY_COMPILE(
[],
[
int value=0;
__sync_fetch_and_add(&value, 1);
__sync_sub_and_fetch(&value, 1);
],
wx_cv_cc_gcc_atomic_builtins=yes,
wx_cv_cc_gcc_atomic_builtins=no)
])
AC_MSG_RESULT([$wx_cv_cc_gcc_atomic_builtins])
if test $wx_cv_cc_gcc_atomic_builtins = yes; then
AC_DEFINE([HAVE_GCC_ATOMIC_BUILTINS])
fi
fi
])

View File

@@ -1,155 +0,0 @@
dnl @synopsis AX_FUNC_WHICH_GETHOSTBYNAME_R
dnl
dnl Determines which historical variant of the gethostbyname_r() call
dnl (taking three, five, or six arguments) is available on the system
dnl and defines one of the following macros accordingly:
dnl
dnl HAVE_FUNC_GETHOSTBYNAME_R_6
dnl HAVE_FUNC_GETHOSTBYNAME_R_5
dnl HAVE_FUNC_GETHOSTBYNAME_R_3
dnl
dnl If used in conjunction with gethostname.c, the API demonstrated in
dnl test.c can be used regardless of which gethostbyname_r() is
dnl available. These example files can be found at
dnl http://www.csn.ul.ie/~caolan/publink/gethostbyname_r
dnl
dnl based on David Arnold's autoconf suggestion in the threads faq
dnl
dnl Originally named "AC_caolan_FUNC_WHICH_GETHOSTBYNAME_R". Rewritten
dnl for Autoconf 2.5x by Daniel Richard G.
dnl
dnl @category InstalledPackages
dnl @author Caolan McNamara <caolan@skynet.ie>
dnl @author Daniel Richard G. <skunk@iskunk.org>
dnl @version 2005-01-21
dnl @license GPLWithACException
AC_DEFUN([AX_FUNC_WHICH_GETHOSTBYNAME_R], [
AC_LANG_PUSH(C)
AC_MSG_CHECKING([how many arguments gethostbyname_r() takes])
AC_CACHE_VAL(ac_cv_func_which_gethostbyname_r, [
################################################################
ac_cv_func_which_gethostbyname_r=unknown
#
# ONE ARGUMENT (sanity check)
#
# This should fail, as there is no variant of gethostbyname_r() that takes
# a single argument. If it actually compiles, then we can assume that
# netdb.h is not declaring the function, and the compiler is thereby
# assuming an implicit prototype. In which case, we're out of luck.
#
AC_COMPILE_IFELSE(
AC_LANG_PROGRAM(
[[#include <netdb.h>]],
[[
char *name = "www.gnu.org";
(void)gethostbyname_r(name) /* ; */
]]),
ac_cv_func_which_gethostbyname_r=no)
#
# SIX ARGUMENTS
# (e.g. Linux)
#
if test "$ac_cv_func_which_gethostbyname_r" = "unknown"; then
AC_COMPILE_IFELSE(
AC_LANG_PROGRAM(
[[#include <netdb.h>]],
[[
char *name = "www.gnu.org";
struct hostent ret, *retp;
char buf@<:@1024@:>@;
int buflen = 1024;
int my_h_errno;
(void)gethostbyname_r(name, &ret, buf, buflen, &retp, &my_h_errno) /* ; */
]]),
ac_cv_func_which_gethostbyname_r=six)
fi
#
# FIVE ARGUMENTS
# (e.g. Solaris)
#
if test "$ac_cv_func_which_gethostbyname_r" = "unknown"; then
AC_COMPILE_IFELSE(
AC_LANG_PROGRAM(
[[#include <netdb.h>]],
[[
char *name = "www.gnu.org";
struct hostent ret;
char buf@<:@1024@:>@;
int buflen = 1024;
int my_h_errno;
(void)gethostbyname_r(name, &ret, buf, buflen, &my_h_errno) /* ; */
]]),
ac_cv_func_which_gethostbyname_r=five)
fi
#
# THREE ARGUMENTS
# (e.g. AIX, HP-UX, Tru64)
#
if test "$ac_cv_func_which_gethostbyname_r" = "unknown"; then
AC_COMPILE_IFELSE(
AC_LANG_PROGRAM(
[[#include <netdb.h>]],
[[
char *name = "www.gnu.org";
struct hostent ret;
struct hostent_data data;
(void)gethostbyname_r(name, &ret, &data) /* ; */
]]),
ac_cv_func_which_gethostbyname_r=three)
fi
################################################################
]) dnl end AC_CACHE_VAL
case "$ac_cv_func_which_gethostbyname_r" in
three)
AC_MSG_RESULT([three])
AC_DEFINE(HAVE_FUNC_GETHOSTBYNAME_R_3)
;;
five)
AC_MSG_RESULT([five])
AC_DEFINE(HAVE_FUNC_GETHOSTBYNAME_R_5)
;;
six)
AC_MSG_RESULT([six])
AC_DEFINE(HAVE_FUNC_GETHOSTBYNAME_R_6)
;;
no)
AC_MSG_RESULT([cannot find function declaration in netdb.h])
;;
unknown)
AC_MSG_RESULT([can't tell])
;;
*)
AC_MSG_ERROR([internal error])
;;
esac
AC_LANG_POP(C)
]) dnl end AC_DEFUN

View File

@@ -1,483 +0,0 @@
AC_DEFUN([AC_BAKEFILE_CREATE_FILE_DLLAR_SH],
[
dnl ===================== dllar.sh begins here =====================
dnl (Created by merge-scripts.py from dllar.sh
dnl file do not edit here!)
D='$'
cat <<EOF >dllar.sh
#!/bin/sh
#
# dllar - a tool to build both a .dll and an .a file
# from a set of object (.o) files for EMX/OS2.
#
# Written by Andrew Zabolotny, bit@freya.etu.ru
# Ported to Unix like shell by Stefan Neis, Stefan.Neis@t-online.de
#
# This script will accept a set of files on the command line.
# All the public symbols from the .o files will be exported into
# a .DEF file, then linker will be run (through gcc) against them to
# build a shared library consisting of all given .o files. All libraries
# (.a) will be first decompressed into component .o files then act as
# described above. You can optionally give a description (-d "description")
# which will be put into .DLL. To see the list of accepted options (as well
# as command-line format) simply run this program without options. The .DLL
# is built to be imported by name (there is no guarantee that new versions
# of the library you build will have same ordinals for same symbols).
#
# dllar is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# dllar is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with dllar; see the file COPYING. If not, write to the Free
# Software Foundation, 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# To successfuly run this program you will need:
# - Current drive should have LFN support (HPFS, ext2, network, etc)
# (Sometimes dllar generates filenames which won't fit 8.3 scheme)
# - gcc
# (used to build the .dll)
# - emxexp
# (used to create .def file from .o files)
# - emximp
# (used to create .a file from .def file)
# - GNU text utilites (cat, sort, uniq)
# used to process emxexp output
# - GNU file utilities (mv, rm)
# - GNU sed
# - lxlite (optional, see flag below)
# (used for general .dll cleanup)
#
flag_USE_LXLITE=1;
#
# helper functions
# basnam, variant of basename, which does _not_ remove the path, _iff_
# second argument (suffix to remove) is given
basnam(){
case ${D}# in
1)
echo ${D}1 | sed 's/.*\\///' | sed 's/.*\\\\//'
;;
2)
echo ${D}1 | sed 's/'${D}2'${D}//'
;;
*)
echo "error in basnam ${D}*"
exit 8
;;
esac
}
# Cleanup temporary files and output
CleanUp() {
cd ${D}curDir
for i in ${D}inputFiles ; do
case ${D}i in
*!)
rm -rf \`basnam ${D}i !\`
;;
*)
;;
esac
done
# Kill result in case of failure as there is just to many stupid make/nmake
# things out there which doesn't do this.
if @<:@ ${D}# -eq 0 @:>@; then
rm -f ${D}arcFile ${D}arcFile2 ${D}defFile ${D}dllFile
fi
}
# Print usage and exit script with rc=1.
PrintHelp() {
echo 'Usage: dllar.sh @<:@-o@<:@utput@:>@ output_file@:>@ @<:@-i@<:@mport@:>@ importlib_name@:>@'
echo ' @<:@-name-mangler-script script.sh@:>@'
echo ' @<:@-d@<:@escription@:>@ "dll descrption"@:>@ @<:@-cc "CC"@:>@ @<:@-f@<:@lags@:>@ "CFLAGS"@:>@'
echo ' @<:@-ord@<:@inals@:>@@:>@ -ex@<:@clude@:>@ "symbol(s)"'
echo ' @<:@-libf@<:@lags@:>@ "{INIT|TERM}{GLOBAL|INSTANCE}"@:>@ @<:@-nocrt@<:@dll@:>@@:>@ @<:@-nolxl@<:@ite@:>@@:>@'
echo ' @<:@*.o@:>@ @<:@*.a@:>@'
echo '*> "output_file" should have no extension.'
echo ' If it has the .o, .a or .dll extension, it is automatically removed.'
echo ' The import library name is derived from this and is set to "name".a,'
echo ' unless overridden by -import'
echo '*> "importlib_name" should have no extension.'
echo ' If it has the .o, or .a extension, it is automatically removed.'
echo ' This name is used as the import library name and may be longer and'
echo ' more descriptive than the DLL name which has to follow the old '
echo ' 8.3 convention of FAT.'
echo '*> "script.sh may be given to override the output_file name by a'
echo ' different name. It is mainly useful if the regular make process'
echo ' of some package does not take into account OS/2 restriction of'
echo ' DLL name lengths. It takes the importlib name as input and is'
echo ' supposed to procude a shorter name as output. The script should'
echo ' expect to get importlib_name without extension and should produce'
echo ' a (max.) 8 letter name without extension.'
echo '*> "cc" is used to use another GCC executable. (default: gcc.exe)'
echo '*> "flags" should be any set of valid GCC flags. (default: -s -Zcrtdll)'
echo ' These flags will be put at the start of GCC command line.'
echo '*> -ord@<:@inals@:>@ tells dllar to export entries by ordinals. Be careful.'
echo '*> -ex@<:@clude@:>@ defines symbols which will not be exported. You can define'
echo ' multiple symbols, for example -ex "myfunc yourfunc _GLOBAL*".'
echo ' If the last character of a symbol is "*", all symbols beginning'
echo ' with the prefix before "*" will be exclude, (see _GLOBAL* above).'
echo '*> -libf@<:@lags@:>@ can be used to add INITGLOBAL/INITINSTANCE and/or'
echo ' TERMGLOBAL/TERMINSTANCE flags to the dynamically-linked library.'
echo '*> -nocrt@<:@dll@:>@ switch will disable linking the library against emx''s'
echo ' C runtime DLLs.'
echo '*> -nolxl@<:@ite@:>@ switch will disable running lxlite on the resulting DLL.'
echo '*> All other switches (for example -L./ or -lmylib) will be passed'
echo ' unchanged to GCC at the end of command line.'
echo '*> If you create a DLL from a library and you do not specify -o,'
echo ' the basename for DLL and import library will be set to library name,'
echo ' the initial library will be renamed to 'name'_s.a (_s for static)'
echo ' i.e. "dllar gcc.a" will create gcc.dll and gcc.a, and the initial'
echo ' library will be renamed into gcc_s.a.'
echo '--------'
echo 'Example:'
echo ' dllar -o gcc290.dll libgcc.a -d "GNU C runtime library" -ord'
echo ' -ex "__main __ctordtor*" -libf "INITINSTANCE TERMINSTANCE"'
CleanUp
exit 1
}
# Execute a command.
# If exit code of the commnad <> 0 CleanUp() is called and we'll exit the script.
# @Uses Whatever CleanUp() uses.
doCommand() {
echo "${D}*"
eval ${D}*
rcCmd=${D}?
if @<:@ ${D}rcCmd -ne 0 @:>@; then
echo "command failed, exit code="${D}rcCmd
CleanUp
exit ${D}rcCmd
fi
}
# main routine
# setup globals
cmdLine=${D}*
outFile=""
outimpFile=""
inputFiles=""
renameScript=""
description=""
CC=gcc.exe
CFLAGS="-s -Zcrtdll"
EXTRA_CFLAGS=""
EXPORT_BY_ORDINALS=0
exclude_symbols=""
library_flags=""
curDir=\`pwd\`
curDirS=curDir
case ${D}curDirS in
*/)
;;
*)
curDirS=${D}{curDirS}"/"
;;
esac
# Parse commandline
libsToLink=0
omfLinking=0
while @<:@ ${D}1 @:>@; do
case ${D}1 in
-ord*)
EXPORT_BY_ORDINALS=1;
;;
-o*)
shift
outFile=${D}1
;;
-i*)
shift
outimpFile=${D}1
;;
-name-mangler-script)
shift
renameScript=${D}1
;;
-d*)
shift
description=${D}1
;;
-f*)
shift
CFLAGS=${D}1
;;
-c*)
shift
CC=${D}1
;;
-h*)
PrintHelp
;;
-ex*)
shift
exclude_symbols=${D}{exclude_symbols}${D}1" "
;;
-libf*)
shift
library_flags=${D}{library_flags}${D}1" "
;;
-nocrt*)
CFLAGS="-s"
;;
-nolxl*)
flag_USE_LXLITE=0
;;
-* | /*)
case ${D}1 in
-L* | -l*)
libsToLink=1
;;
-Zomf)
omfLinking=1
;;
*)
;;
esac
EXTRA_CFLAGS=${D}{EXTRA_CFLAGS}" "${D}1
;;
*.dll)
EXTRA_CFLAGS="${D}{EXTRA_CFLAGS} \`basnam ${D}1 .dll\`"
if @<:@ ${D}omfLinking -eq 1 @:>@; then
EXTRA_CFLAGS="${D}{EXTRA_CFLAGS}.lib"
else
EXTRA_CFLAGS="${D}{EXTRA_CFLAGS}.a"
fi
;;
*)
found=0;
if @<:@ ${D}libsToLink -ne 0 @:>@; then
EXTRA_CFLAGS=${D}{EXTRA_CFLAGS}" "${D}1
else
for file in ${D}1 ; do
if @<:@ -f ${D}file @:>@; then
inputFiles="${D}{inputFiles} ${D}file"
found=1
fi
done
if @<:@ ${D}found -eq 0 @:>@; then
echo "ERROR: No file(s) found: "${D}1
exit 8
fi
fi
;;
esac
shift
done # iterate cmdline words
#
if @<:@ -z "${D}inputFiles" @:>@; then
echo "dllar: no input files"
PrintHelp
fi
# Now extract all .o files from .a files
newInputFiles=""
for file in ${D}inputFiles ; do
case ${D}file in
*.a | *.lib)
case ${D}file in
*.a)
suffix=".a"
AR="ar"
;;
*.lib)
suffix=".lib"
AR="emxomfar"
EXTRA_CFLAGS="${D}EXTRA_CFLAGS -Zomf"
;;
*)
;;
esac
dirname=\`basnam ${D}file ${D}suffix\`"_%"
mkdir ${D}dirname
if @<:@ ${D}? -ne 0 @:>@; then
echo "Failed to create subdirectory ./${D}dirname"
CleanUp
exit 8;
fi
# Append '!' to indicate archive
newInputFiles="${D}newInputFiles ${D}{dirname}!"
doCommand "cd ${D}dirname; ${D}AR x ../${D}file"
cd ${D}curDir
found=0;
for subfile in ${D}dirname/*.o* ; do
if @<:@ -f ${D}subfile @:>@; then
found=1
if @<:@ -s ${D}subfile @:>@; then
# FIXME: This should be: is file size > 32 byte, _not_ > 0!
newInputFiles="${D}newInputFiles ${D}subfile"
fi
fi
done
if @<:@ ${D}found -eq 0 @:>@; then
echo "WARNING: there are no files in archive \\'${D}file\\'"
fi
;;
*)
newInputFiles="${D}{newInputFiles} ${D}file"
;;
esac
done
inputFiles="${D}newInputFiles"
# Output filename(s).
do_backup=0;
if @<:@ -z ${D}outFile @:>@; then
do_backup=1;
set outFile ${D}inputFiles; outFile=${D}2
fi
# If it is an archive, remove the '!' and the '_%' suffixes
case ${D}outFile in
*_%!)
outFile=\`basnam ${D}outFile _%!\`
;;
*)
;;
esac
case ${D}outFile in
*.dll)
outFile=\`basnam ${D}outFile .dll\`
;;
*.DLL)
outFile=\`basnam ${D}outFile .DLL\`
;;
*.o)
outFile=\`basnam ${D}outFile .o\`
;;
*.obj)
outFile=\`basnam ${D}outFile .obj\`
;;
*.a)
outFile=\`basnam ${D}outFile .a\`
;;
*.lib)
outFile=\`basnam ${D}outFile .lib\`
;;
*)
;;
esac
case ${D}outimpFile in
*.a)
outimpFile=\`basnam ${D}outimpFile .a\`
;;
*.lib)
outimpFile=\`basnam ${D}outimpFile .lib\`
;;
*)
;;
esac
if @<:@ -z ${D}outimpFile @:>@; then
outimpFile=${D}outFile
fi
defFile="${D}{outFile}.def"
arcFile="${D}{outimpFile}.a"
arcFile2="${D}{outimpFile}.lib"
#create ${D}dllFile as something matching 8.3 restrictions,
if @<:@ -z ${D}renameScript @:>@ ; then
dllFile="${D}outFile"
else
dllFile=\`${D}renameScript ${D}outimpFile\`
fi
if @<:@ ${D}do_backup -ne 0 @:>@ ; then
if @<:@ -f ${D}arcFile @:>@ ; then
doCommand "mv ${D}arcFile ${D}{outFile}_s.a"
fi
if @<:@ -f ${D}arcFile2 @:>@ ; then
doCommand "mv ${D}arcFile2 ${D}{outFile}_s.lib"
fi
fi
# Extract public symbols from all the object files.
tmpdefFile=${D}{defFile}_%
rm -f ${D}tmpdefFile
for file in ${D}inputFiles ; do
case ${D}file in
*!)
;;
*)
doCommand "emxexp -u ${D}file >> ${D}tmpdefFile"
;;
esac
done
# Create the def file.
rm -f ${D}defFile
echo "LIBRARY \`basnam ${D}dllFile\` ${D}library_flags" >> ${D}defFile
dllFile="${D}{dllFile}.dll"
if @<:@ ! -z ${D}description @:>@; then
echo "DESCRIPTION \\"${D}{description}\\"" >> ${D}defFile
fi
echo "EXPORTS" >> ${D}defFile
doCommand "cat ${D}tmpdefFile | sort.exe | uniq.exe > ${D}{tmpdefFile}%"
grep -v "^ *;" < ${D}{tmpdefFile}% | grep -v "^ *${D}" >${D}tmpdefFile
# Checks if the export is ok or not.
for word in ${D}exclude_symbols; do
grep -v ${D}word < ${D}tmpdefFile >${D}{tmpdefFile}%
mv ${D}{tmpdefFile}% ${D}tmpdefFile
done
if @<:@ ${D}EXPORT_BY_ORDINALS -ne 0 @:>@; then
sed "=" < ${D}tmpdefFile | \\
sed '
N
: loop
s/^\\(@<:@0-9@:>@\\+\\)\\(@<:@^;@:>@*\\)\\(;.*\\)\\?/\\2 @\\1 NONAME/
t loop
' > ${D}{tmpdefFile}%
grep -v "^ *${D}" < ${D}{tmpdefFile}% > ${D}tmpdefFile
else
rm -f ${D}{tmpdefFile}%
fi
cat ${D}tmpdefFile >> ${D}defFile
rm -f ${D}tmpdefFile
# Do linking, create implib, and apply lxlite.
gccCmdl="";
for file in ${D}inputFiles ; do
case ${D}file in
*!)
;;
*)
gccCmdl="${D}gccCmdl ${D}file"
;;
esac
done
doCommand "${D}CC ${D}CFLAGS -Zdll -o ${D}dllFile ${D}defFile ${D}gccCmdl ${D}EXTRA_CFLAGS"
touch "${D}{outFile}.dll"
doCommand "emximp -o ${D}arcFile ${D}defFile"
if @<:@ ${D}flag_USE_LXLITE -ne 0 @:>@; then
add_flags="";
if @<:@ ${D}EXPORT_BY_ORDINALS -ne 0 @:>@; then
add_flags="-ynd"
fi
doCommand "lxlite -cs -t: -mrn -mln ${D}add_flags ${D}dllFile"
fi
doCommand "emxomf -s -l ${D}arcFile"
# Successful exit.
CleanUp 1
exit 0
EOF
dnl ===================== dllar.sh ends here =====================
])

View File

@@ -1,36 +1,74 @@
dnl
dnl This file is part of Bakefile (http://www.bakefile.org)
dnl
dnl Copyright (C) 2003-2007 Vaclav Slavik, David Elliott and others
dnl
dnl Permission is hereby granted, free of charge, to any person obtaining a
dnl copy of this software and associated documentation files (the "Software"),
dnl to deal in the Software without restriction, including without limitation
dnl the rights to use, copy, modify, merge, publish, distribute, sublicense,
dnl and/or sell copies of the Software, and to permit persons to whom the
dnl Software is furnished to do so, subject to the following conditions:
dnl
dnl The above copyright notice and this permission notice shall be included in
dnl all copies or substantial portions of the Software.
dnl
dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
dnl IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
dnl FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
dnl THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
dnl LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
dnl FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
dnl DEALINGS IN THE SOFTWARE.
dnl
dnl $Id$
dnl
dnl Compiler detection macros by David Elliott and Vadim Zeitlin
dnl
dnl ---------------------------------------------------------------------------
dnl Compiler detection macros by David Elliott
dnl ---------------------------------------------------------------------------
dnl ===========================================================================
dnl Macros to detect different C/C++ compilers
dnl Macros to detect non-GNU compilers (MetroWerks, XLC)
dnl ===========================================================================
dnl Based on autoconf _AC_LANG_COMPILER_GNU
AC_DEFUN([_AC_BAKEFILE_LANG_COMPILER_MWERKS],
[AC_CACHE_CHECK([whether we are using the Metrowerks _AC_LANG compiler],
[bakefile_cv_[]_AC_LANG_ABBREV[]_compiler_mwerks],
[AC_TRY_COMPILE([],[#ifndef __MWERKS__
choke me
#endif
],
[bakefile_compiler_mwerks=yes],
[bakefile_compiler_mwerks=no])
bakefile_cv_[]_AC_LANG_ABBREV[]_compiler_mwerks=$bakefile_compiler_mwerks
])
])
dnl Loosely based on autoconf AC_PROG_CC
dnl TODO: Maybe this should wrap the call to AC_PROG_CC and be used instead.
AC_DEFUN([AC_BAKEFILE_PROG_MWCC],
[AC_LANG_PUSH(C)
_AC_BAKEFILE_LANG_COMPILER_MWERKS
MWCC=`test $bakefile_cv_c_compiler_mwerks = yes && echo yes`
AC_LANG_POP(C)
])
dnl Loosely based on autoconf AC_PROG_CXX
dnl TODO: Maybe this should wrap the call to AC_PROG_CXX and be used instead.
AC_DEFUN([AC_BAKEFILE_PROG_MWCXX],
[AC_LANG_PUSH(C++)
_AC_BAKEFILE_LANG_COMPILER_MWERKS
MWCXX=`test $bakefile_cv_cxx_compiler_mwerks = yes && echo yes`
AC_LANG_POP(C++)
])
dnl Based on autoconf _AC_LANG_COMPILER_GNU
AC_DEFUN([_AC_BAKEFILE_LANG_COMPILER_XLC],
[AC_CACHE_CHECK([whether we are using the IBM xlC _AC_LANG compiler],
[bakefile_cv_[]_AC_LANG_ABBREV[]_compiler_xlc],
[AC_TRY_COMPILE([],[#ifndef __xlC__
choke me
#endif
],
[bakefile_compiler_xlc=yes],
[bakefile_compiler_xlc=no])
bakefile_cv_[]_AC_LANG_ABBREV[]_compiler_xlc=$bakefile_compiler_xlc
])
])
dnl Loosely based on autoconf AC_PROG_CC
AC_DEFUN([AC_BAKEFILE_PROG_XLCC],
[AC_LANG_PUSH(C)
_AC_BAKEFILE_LANG_COMPILER_XLC
XLCC=`test $bakefile_cv_c_compiler_xlc = yes && echo yes`
AC_LANG_POP(C)
])
dnl Loosely based on autoconf AC_PROG_CXX
AC_DEFUN([AC_BAKEFILE_PROG_XLCXX],
[AC_LANG_PUSH(C++)
_AC_BAKEFILE_LANG_COMPILER_XLC
XLCXX=`test $bakefile_cv_cxx_compiler_xlc = yes && echo yes`
AC_LANG_POP(C++)
])
dnl Based on autoconf _AC_LANG_COMPILER_GNU
dnl _AC_BAKEFILE_LANG_COMPILER(NAME, LANG, SYMBOL, IF-YES, IF-NO)
AC_DEFUN([_AC_BAKEFILE_LANG_COMPILER],
@@ -51,34 +89,12 @@ AC_DEFUN([_AC_BAKEFILE_LANG_COMPILER],
)
]
)
AC_LANG_POP($2)
if test "x$bakefile_cv_[]_AC_LANG_ABBREV[]_compiler_[]$3" = "xyes"; then
:; $4
else
:; $5
fi
AC_LANG_POP($2)
])
dnl CodeWarrior Metrowerks compiler defines __MWERKS__ for both C and C++
AC_DEFUN([AC_BAKEFILE_PROG_MWCC],
[
_AC_BAKEFILE_LANG_COMPILER(Metrowerks, C, __MWERKS__, MWCC=yes)
])
AC_DEFUN([AC_BAKEFILE_PROG_MWCXX],
[
_AC_BAKEFILE_LANG_COMPILER(Metrowerks, C++, __MWERKS__, MWCXX=yes)
])
dnl IBM xlC compiler defines __xlC__ for both C and C++
AC_DEFUN([AC_BAKEFILE_PROG_XLCC],
[
_AC_BAKEFILE_LANG_COMPILER([IBM xlC], C, __xlC__, XLCC=yes)
])
AC_DEFUN([AC_BAKEFILE_PROG_XLCXX],
[
_AC_BAKEFILE_LANG_COMPILER([IBM xlC], C++, __xlC__, XLCXX=yes)
])
dnl recent versions of SGI mipsPro compiler define _SGI_COMPILER_VERSION
@@ -188,12 +204,7 @@ dnl _AC_BAKEFILE_PROG_COMPILER(LANG)
AC_DEFUN([_AC_BAKEFILE_PROG_COMPILER],
[
AC_PROG_$1
dnl Intel compiler can be used under several different OS and even
dnl different architectures (x86, amd64 and Itanium) so it's easier to just
dnl always test for it
AC_BAKEFILE_PROG_INTEL$1
dnl if we're using gcc, we can't be using any of incompatible compilers
if test "x$G$1" != "xyes"; then
if test "x$1" = "xC"; then
@@ -220,11 +231,6 @@ AC_DEFUN([_AC_BAKEFILE_PROG_COMPILER],
AC_BAKEFILE_PROG_SGI$1
;;
Linux*)
dnl Sun CC is now available under Linux too
AC_BAKEFILE_PROG_SUN$1
;;
HP-UX*)
AC_BAKEFILE_PROG_HP$1
;;

View File

@@ -1,36 +1,9 @@
dnl
dnl This file is part of Bakefile (http://bakefile.sourceforge.net)
dnl
dnl Copyright (C) 2003-2007 Vaclav Slavik and others
dnl
dnl Permission is hereby granted, free of charge, to any person obtaining a
dnl copy of this software and associated documentation files (the "Software"),
dnl to deal in the Software without restriction, including without limitation
dnl the rights to use, copy, modify, merge, publish, distribute, sublicense,
dnl and/or sell copies of the Software, and to permit persons to whom the
dnl Software is furnished to do so, subject to the following conditions:
dnl
dnl The above copyright notice and this permission notice shall be included in
dnl all copies or substantial portions of the Software.
dnl
dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
dnl IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
dnl FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
dnl THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
dnl LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
dnl FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
dnl DEALINGS IN THE SOFTWARE.
dnl
dnl $Id$
dnl
dnl Support macros for makefiles generated by BAKEFILE.
dnl
dnl ---------------------------------------------------------------------------
dnl Support macros for makefiles generated by BAKEFILE.
dnl ---------------------------------------------------------------------------
dnl Lots of compiler & linker detection code contained here was taken from
dnl wxWidgets configure.in script (see http://www.wxwidgets.org)
dnl ---------------------------------------------------------------------------
dnl wxWindows configure.in script (see http://www.wxwindows.org)
@@ -78,7 +51,7 @@ AC_DEFUN([AC_BAKEFILE_PLATFORM],
PLATFORM_OS2=0
PLATFORM_BEOS=0
if test "x$BAKEFILE_FORCE_PLATFORM" = "x"; then
if test "x$BAKEFILE_FORCE_PLATFORM" = "x"; then
case "${BAKEFILE_HOST}" in
*-*-mingw32* )
PLATFORM_WIN32=1
@@ -92,7 +65,7 @@ AC_DEFUN([AC_BAKEFILE_PLATFORM],
*-*-darwin* )
PLATFORM_MAC=1
PLATFORM_MACOSX=1
;;
;;
*-*-beos* )
PLATFORM_BEOS=1
;;
@@ -126,8 +99,7 @@ AC_DEFUN([AC_BAKEFILE_PLATFORM],
PLATFORM_BEOS=1
;;
* )
dnl wxWidgets-specific: allow unknown Unix systems
dnl AC_MSG_ERROR([Unknown platform: $BAKEFILE_FORCE_PLATFORM])
AC_MSG_ERROR([Unknown platform: $BAKEFILE_FORCE_PLATFORM])
;;
esac
fi
@@ -154,7 +126,7 @@ AC_DEFUN([AC_BAKEFILE_PLATFORM_SPECIFICS],
AC_ARG_ENABLE([omf], AS_HELP_STRING([--enable-omf],
[use OMF object format (OS/2)]),
[bk_os2_use_omf="$enableval"])
case "${BAKEFILE_HOST}" in
*-*-darwin* )
dnl For Unix to MacOS X porting instructions, see:
@@ -181,7 +153,7 @@ AC_DEFUN([AC_BAKEFILE_PLATFORM_SPECIFICS],
OS2_LIBEXT="a"
fi
;;
i*86-*-beos* )
LDFLAGS="-L/boot/develop/lib/x86 $LDFLAGS"
;;
@@ -206,7 +178,7 @@ AC_DEFUN([AC_BAKEFILE_SUFFIXES],
DLLPREFIX_MODULE=""
DLLIMP_SUFFIX=""
dlldir="$libdir"
case "${BAKEFILE_HOST}" in
*-hp-hpux* )
SO_SUFFIX="sl"
@@ -289,7 +261,7 @@ AC_DEFUN([AC_BAKEFILE_SHARED_LD],
dnl the switch for gcc is the same under all platforms
PIC_FLAG="-fPIC"
fi
dnl Defaults for GCC and ELF .so shared libs:
SHARED_LD_CC="\$(CC) -shared ${PIC_FLAG} -o"
SHARED_LD_CXX="\$(CXX) -shared ${PIC_FLAG} -o"
@@ -309,17 +281,27 @@ AC_DEFUN([AC_BAKEFILE_SHARED_LD],
;;
*-*-linux* )
if test "$INTELCC" = "yes"; then
PIC_FLAG="-KPIC"
elif test "x$SUNCXX" = "xyes"; then
SHARED_LD_CC="${CC} -G -o"
SHARED_LD_CXX="${CXX} -G -o"
PIC_FLAG="-KPIC"
if test "x$GCC" != "xyes"; then
AC_CACHE_CHECK([for Intel compiler], bakefile_cv_prog_icc,
[
AC_TRY_COMPILE([],
[
#ifndef __INTEL_COMPILER
#error Not ICC
#endif
],
bakefile_cv_prog_icc=yes,
bakefile_cv_prog_icc=no
)
])
if test "$bakefile_cv_prog_icc" = "yes"; then
PIC_FLAG="-KPIC"
fi
fi
;;
*-*-solaris2* )
if test "x$SUNCXX" = xyes ; then
if test "x$GCC" != xyes ; then
SHARED_LD_CC="${CC} -G -o"
SHARED_LD_CXX="${CXX} -G -o"
PIC_FLAG="-KPIC"
@@ -347,7 +329,7 @@ AC_DEFUN([AC_BAKEFILE_SHARED_LD],
[
#if (__GNUC__ < 3) || \
((__GNUC__ == 3) && (__GNUC_MINOR__ < 1))
This is old gcc
#error old gcc
#endif
],
[
@@ -439,7 +421,6 @@ AC_DEFUN([AC_BAKEFILE_SHARED_LD],
powerpc-apple-macos* | \
*-*-freebsd* | *-*-openbsd* | *-*-netbsd* | *-*-k*bsd*-gnu | \
*-*-mirbsd* | \
*-*-sunos4* | \
*-*-osf* | \
*-*-dgux5* | \
@@ -490,11 +471,7 @@ AC_DEFUN([AC_BAKEFILE_SHARED_VERSIONS],
case "${BAKEFILE_HOST}" in
*-*-linux* | *-*-freebsd* | *-*-k*bsd*-gnu )
if test "x$SUNCXX" = "xyes"; then
SONAME_FLAG="-h "
else
SONAME_FLAG="-Wl,-soname,"
fi
SONAME_FLAG="-Wl,-soname,"
USE_SOVERSION=1
USE_SOVERLINUX=1
USE_SOSYMLINKS=1
@@ -541,10 +518,9 @@ AC_DEFUN([AC_BAKEFILE_DEPS],
AS_HELP_STRING([--disable-dependency-tracking],
[don't use dependency tracking even if the compiler can]),
[bk_use_trackdeps="$enableval"])
AC_MSG_CHECKING([for dependency tracking method])
BK_DEPS=""
if test "x$bk_use_trackdeps" = "xno" ; then
DEPS_TRACKING=0
AC_MSG_RESULT([disabled])
@@ -592,14 +568,10 @@ AC_DEFUN([AC_BAKEFILE_DEPS],
if test $DEPS_TRACKING = 1 ; then
AC_BAKEFILE_CREATE_FILE_BK_DEPS
chmod +x bk-deps
dnl FIXME: make this $(top_builddir)/bk-deps once autoconf-2.60
dnl is required (and so top_builddir is never empty):
BK_DEPS="`pwd`/bk-deps"
fi
fi
AC_SUBST(DEPS_TRACKING)
AC_SUBST(BK_DEPS)
])
dnl ---------------------------------------------------------------------------
@@ -617,25 +589,8 @@ AC_DEFUN([AC_BAKEFILE_CHECK_BASIC_STUFF],
AC_PROG_MAKE_SET
AC_SUBST(MAKE_SET)
if test "x$SUNCXX" = "xyes"; then
dnl Sun C++ compiler requires special way of creating static libs;
dnl see here for more details:
dnl https://sourceforge.net/tracker/?func=detail&atid=109863&aid=1229751&group_id=9863
AR=$CXX
AROPTIONS="-xar -o"
AC_SUBST(AR)
elif test "x$SGICC" = "xyes"; then
dnl Almost the same as above for SGI mipsPro compiler
AR=$CXX
AROPTIONS="-ar -o"
AC_SUBST(AR)
else
AC_CHECK_TOOL(AR, ar, ar)
AROPTIONS=rcu
fi
AC_SUBST(AROPTIONS)
AC_CHECK_TOOL(AR, ar, ar)
AC_CHECK_TOOL(STRIP, strip, :)
AC_CHECK_TOOL(NM, nm, :)
@@ -645,10 +600,7 @@ AC_DEFUN([AC_BAKEFILE_CHECK_BASIC_STUFF],
dnl use it there
INSTALL_DIR="mkdir -p"
;;
* )
dnl we must refer to makefile's $(INSTALL) variable and not
dnl current value of shell variable, hence the single quoting:
INSTALL_DIR='$(INSTALL) -d'
*) INSTALL_DIR="$INSTALL -d"
;;
esac
AC_SUBST(INSTALL_DIR)
@@ -670,12 +622,12 @@ dnl ---------------------------------------------------------------------------
AC_DEFUN([AC_BAKEFILE_RES_COMPILERS],
[
case ${BAKEFILE_HOST} in
case ${BAKEFILE_HOST} in
*-*-cygwin* | *-*-mingw32* )
dnl Check for win32 resources compiler:
AC_CHECK_TOOL(WINDRES, windres)
;;
*-*-darwin* | powerpc-apple-macos* )
AC_CHECK_PROG(REZ, Rez, Rez, /Developer/Tools/Rez)
AC_CHECK_PROG(SETFILE, SetFile, SetFile, /Developer/Tools/SetFile)
@@ -704,9 +656,8 @@ AC_DEFUN([AC_BAKEFILE_PRECOMP_HEADERS],
GCC_PCH=0
ICC_PCH=0
USE_PCH=0
BK_MAKE_PCH=""
case ${BAKEFILE_HOST} in
case ${BAKEFILE_HOST} in
*-*-cygwin* )
dnl PCH support is broken in cygwin gcc because of unportable
dnl assumptions about mmap() in gcc code which make PCH generation
@@ -722,16 +673,16 @@ AC_DEFUN([AC_BAKEFILE_PRECOMP_HEADERS],
AC_TRY_COMPILE([],
[
#if !defined(__GNUC__) || !defined(__GNUC_MINOR__)
There is no PCH support
#error "no pch support"
#endif
#if (__GNUC__ < 3)
There is no PCH support
#error "no pch support"
#endif
#if (__GNUC__ == 3) && \
((!defined(__APPLE_CC__) && (__GNUC_MINOR__ < 4)) || \
( defined(__APPLE_CC__) && (__GNUC_MINOR__ < 3))) || \
( defined(__INTEL_COMPILER) )
There is no PCH support
#error "no pch support"
#endif
],
[
@@ -743,7 +694,7 @@ AC_DEFUN([AC_BAKEFILE_PRECOMP_HEADERS],
[
#if !defined(__INTEL_COMPILER) || \
(__INTEL_COMPILER < 800)
There is no PCH support
#error "no pch support"
#endif
],
[
@@ -758,17 +709,12 @@ AC_DEFUN([AC_BAKEFILE_PRECOMP_HEADERS],
USE_PCH=1
AC_BAKEFILE_CREATE_FILE_BK_MAKE_PCH
chmod +x bk-make-pch
dnl FIXME: make this $(top_builddir)/bk-make-pch once
dnl autoconf-2.60 is required (and so top_builddir is
dnl never empty):
BK_MAKE_PCH="`pwd`/bk-make-pch"
fi
fi
fi
AC_SUBST(GCC_PCH)
AC_SUBST(ICC_PCH)
AC_SUBST(BK_MAKE_PCH)
])
@@ -796,7 +742,7 @@ dnl ---------------------------------------------------------------------------
AC_DEFUN([AC_BAKEFILE],
[
AC_PREREQ([2.58])
AC_PREREQ(2.58)
if test "x$BAKEFILE_HOST" = "x"; then
if test "x${host}" = "x" ; then
@@ -818,25 +764,509 @@ AC_DEFUN([AC_BAKEFILE],
AC_BAKEFILE_DEPS
AC_BAKEFILE_RES_COMPILERS
BAKEFILE_BAKEFILE_M4_VERSION="0.2.2"
BAKEFILE_BAKEFILE_M4_VERSION="0.2.0"
dnl includes autoconf_inc.m4:
$1
if test "$BAKEFILE_AUTOCONF_INC_M4_VERSION" = "" ; then
AC_MSG_ERROR([No version found in autoconf_inc.m4 - bakefile macro was changed to take additional argument, perhaps configure.in wasn't updated (see the documentation)?])
fi
if test "$BAKEFILE_BAKEFILE_M4_VERSION" != "$BAKEFILE_AUTOCONF_INC_M4_VERSION" ; then
AC_MSG_ERROR([Versions of Bakefile used to generate makefiles ($BAKEFILE_AUTOCONF_INC_M4_VERSION) and configure ($BAKEFILE_BAKEFILE_M4_VERSION) do not match.])
fi
])
dnl ---------------------------------------------------------------------------
dnl Embedded copies of helper scripts follow:
dnl ---------------------------------------------------------------------------
AC_DEFUN([AC_BAKEFILE_CREATE_FILE_DLLAR_SH],
[
dnl ===================== dllar.sh begins here =====================
dnl (Created by merge-scripts.py from dllar.sh
dnl file do not edit here!)
D='$'
cat <<EOF >dllar.sh
#!/bin/sh
#
# dllar - a tool to build both a .dll and an .a file
# from a set of object (.o) files for EMX/OS2.
#
# Written by Andrew Zabolotny, bit@freya.etu.ru
# Ported to Unix like shell by Stefan Neis, Stefan.Neis@t-online.de
#
# This script will accept a set of files on the command line.
# All the public symbols from the .o files will be exported into
# a .DEF file, then linker will be run (through gcc) against them to
# build a shared library consisting of all given .o files. All libraries
# (.a) will be first decompressed into component .o files then act as
# described above. You can optionally give a description (-d "description")
# which will be put into .DLL. To see the list of accepted options (as well
# as command-line format) simply run this program without options. The .DLL
# is built to be imported by name (there is no guarantee that new versions
# of the library you build will have same ordinals for same symbols).
#
# dllar is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# dllar is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with dllar; see the file COPYING. If not, write to the Free
# Software Foundation, 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# To successfuly run this program you will need:
# - Current drive should have LFN support (HPFS, ext2, network, etc)
# (Sometimes dllar generates filenames which won't fit 8.3 scheme)
# - gcc
# (used to build the .dll)
# - emxexp
# (used to create .def file from .o files)
# - emximp
# (used to create .a file from .def file)
# - GNU text utilites (cat, sort, uniq)
# used to process emxexp output
# - GNU file utilities (mv, rm)
# - GNU sed
# - lxlite (optional, see flag below)
# (used for general .dll cleanup)
#
flag_USE_LXLITE=1;
#
# helper functions
# basnam, variant of basename, which does _not_ remove the path, _iff_
# second argument (suffix to remove) is given
basnam(){
case ${D}# in
1)
echo ${D}1 | sed 's/.*\\///' | sed 's/.*\\\\//'
;;
2)
echo ${D}1 | sed 's/'${D}2'${D}//'
;;
*)
echo "error in basnam ${D}*"
exit 8
;;
esac
}
# Cleanup temporary files and output
CleanUp() {
cd ${D}curDir
for i in ${D}inputFiles ; do
case ${D}i in
*!)
rm -rf \`basnam ${D}i !\`
;;
*)
;;
esac
done
# Kill result in case of failure as there is just to many stupid make/nmake
# things out there which doesn't do this.
if @<:@ ${D}# -eq 0 @:>@; then
rm -f ${D}arcFile ${D}arcFile2 ${D}defFile ${D}dllFile
fi
}
# Print usage and exit script with rc=1.
PrintHelp() {
echo 'Usage: dllar.sh @<:@-o@<:@utput@:>@ output_file@:>@ @<:@-i@<:@mport@:>@ importlib_name@:>@'
echo ' @<:@-name-mangler-script script.sh@:>@'
echo ' @<:@-d@<:@escription@:>@ "dll descrption"@:>@ @<:@-cc "CC"@:>@ @<:@-f@<:@lags@:>@ "CFLAGS"@:>@'
echo ' @<:@-ord@<:@inals@:>@@:>@ -ex@<:@clude@:>@ "symbol(s)"'
echo ' @<:@-libf@<:@lags@:>@ "{INIT|TERM}{GLOBAL|INSTANCE}"@:>@ @<:@-nocrt@<:@dll@:>@@:>@ @<:@-nolxl@<:@ite@:>@@:>@'
echo ' @<:@*.o@:>@ @<:@*.a@:>@'
echo '*> "output_file" should have no extension.'
echo ' If it has the .o, .a or .dll extension, it is automatically removed.'
echo ' The import library name is derived from this and is set to "name".a,'
echo ' unless overridden by -import'
echo '*> "importlib_name" should have no extension.'
echo ' If it has the .o, or .a extension, it is automatically removed.'
echo ' This name is used as the import library name and may be longer and'
echo ' more descriptive than the DLL name which has to follow the old '
echo ' 8.3 convention of FAT.'
echo '*> "script.sh may be given to override the output_file name by a'
echo ' different name. It is mainly useful if the regular make process'
echo ' of some package does not take into account OS/2 restriction of'
echo ' DLL name lengths. It takes the importlib name as input and is'
echo ' supposed to procude a shorter name as output. The script should'
echo ' expect to get importlib_name without extension and should produce'
echo ' a (max.) 8 letter name without extension.'
echo '*> "cc" is used to use another GCC executable. (default: gcc.exe)'
echo '*> "flags" should be any set of valid GCC flags. (default: -s -Zcrtdll)'
echo ' These flags will be put at the start of GCC command line.'
echo '*> -ord@<:@inals@:>@ tells dllar to export entries by ordinals. Be careful.'
echo '*> -ex@<:@clude@:>@ defines symbols which will not be exported. You can define'
echo ' multiple symbols, for example -ex "myfunc yourfunc _GLOBAL*".'
echo ' If the last character of a symbol is "*", all symbols beginning'
echo ' with the prefix before "*" will be exclude, (see _GLOBAL* above).'
echo '*> -libf@<:@lags@:>@ can be used to add INITGLOBAL/INITINSTANCE and/or'
echo ' TERMGLOBAL/TERMINSTANCE flags to the dynamically-linked library.'
echo '*> -nocrt@<:@dll@:>@ switch will disable linking the library against emx''s'
echo ' C runtime DLLs.'
echo '*> -nolxl@<:@ite@:>@ switch will disable running lxlite on the resulting DLL.'
echo '*> All other switches (for example -L./ or -lmylib) will be passed'
echo ' unchanged to GCC at the end of command line.'
echo '*> If you create a DLL from a library and you do not specify -o,'
echo ' the basename for DLL and import library will be set to library name,'
echo ' the initial library will be renamed to 'name'_s.a (_s for static)'
echo ' i.e. "dllar gcc.a" will create gcc.dll and gcc.a, and the initial'
echo ' library will be renamed into gcc_s.a.'
echo '--------'
echo 'Example:'
echo ' dllar -o gcc290.dll libgcc.a -d "GNU C runtime library" -ord'
echo ' -ex "__main __ctordtor*" -libf "INITINSTANCE TERMINSTANCE"'
CleanUp
exit 1
}
# Execute a command.
# If exit code of the commnad <> 0 CleanUp() is called and we'll exit the script.
# @Uses Whatever CleanUp() uses.
doCommand() {
echo "${D}*"
eval ${D}*
rcCmd=${D}?
if @<:@ ${D}rcCmd -ne 0 @:>@; then
echo "command failed, exit code="${D}rcCmd
CleanUp
exit ${D}rcCmd
fi
}
# main routine
# setup globals
cmdLine=${D}*
outFile=""
outimpFile=""
inputFiles=""
renameScript=""
description=""
CC=gcc.exe
CFLAGS="-s -Zcrtdll"
EXTRA_CFLAGS=""
EXPORT_BY_ORDINALS=0
exclude_symbols=""
library_flags=""
curDir=\`pwd\`
curDirS=curDir
case ${D}curDirS in
*/)
;;
*)
curDirS=${D}{curDirS}"/"
;;
esac
# Parse commandline
libsToLink=0
omfLinking=0
while @<:@ ${D}1 @:>@; do
case ${D}1 in
-ord*)
EXPORT_BY_ORDINALS=1;
;;
-o*)
shift
outFile=${D}1
;;
-i*)
shift
outimpFile=${D}1
;;
-name-mangler-script)
shift
renameScript=${D}1
;;
-d*)
shift
description=${D}1
;;
-f*)
shift
CFLAGS=${D}1
;;
-c*)
shift
CC=${D}1
;;
-h*)
PrintHelp
;;
-ex*)
shift
exclude_symbols=${D}{exclude_symbols}${D}1" "
;;
-libf*)
shift
library_flags=${D}{library_flags}${D}1" "
;;
-nocrt*)
CFLAGS="-s"
;;
-nolxl*)
flag_USE_LXLITE=0
;;
-* | /*)
case ${D}1 in
-L* | -l*)
libsToLink=1
;;
-Zomf)
omfLinking=1
;;
*)
;;
esac
EXTRA_CFLAGS=${D}{EXTRA_CFLAGS}" "${D}1
;;
*.dll)
EXTRA_CFLAGS="${D}{EXTRA_CFLAGS} \`basnam ${D}1 .dll\`"
if @<:@ ${D}omfLinking -eq 1 @:>@; then
EXTRA_CFLAGS="${D}{EXTRA_CFLAGS}.lib"
else
EXTRA_CFLAGS="${D}{EXTRA_CFLAGS}.a"
fi
;;
*)
found=0;
if @<:@ ${D}libsToLink -ne 0 @:>@; then
EXTRA_CFLAGS=${D}{EXTRA_CFLAGS}" "${D}1
else
for file in ${D}1 ; do
if @<:@ -f ${D}file @:>@; then
inputFiles="${D}{inputFiles} ${D}file"
found=1
fi
done
if @<:@ ${D}found -eq 0 @:>@; then
echo "ERROR: No file(s) found: "${D}1
exit 8
fi
fi
;;
esac
shift
done # iterate cmdline words
#
if @<:@ -z "${D}inputFiles" @:>@; then
echo "dllar: no input files"
PrintHelp
fi
# Now extract all .o files from .a files
newInputFiles=""
for file in ${D}inputFiles ; do
case ${D}file in
*.a | *.lib)
case ${D}file in
*.a)
suffix=".a"
AR="ar"
;;
*.lib)
suffix=".lib"
AR="emxomfar"
EXTRA_CFLAGS="${D}EXTRA_CFLAGS -Zomf"
;;
*)
;;
esac
dirname=\`basnam ${D}file ${D}suffix\`"_%"
mkdir ${D}dirname
if @<:@ ${D}? -ne 0 @:>@; then
echo "Failed to create subdirectory ./${D}dirname"
CleanUp
exit 8;
fi
# Append '!' to indicate archive
newInputFiles="${D}newInputFiles ${D}{dirname}!"
doCommand "cd ${D}dirname; ${D}AR x ../${D}file"
cd ${D}curDir
found=0;
for subfile in ${D}dirname/*.o* ; do
if @<:@ -f ${D}subfile @:>@; then
found=1
if @<:@ -s ${D}subfile @:>@; then
# FIXME: This should be: is file size > 32 byte, _not_ > 0!
newInputFiles="${D}newInputFiles ${D}subfile"
fi
fi
done
if @<:@ ${D}found -eq 0 @:>@; then
echo "WARNING: there are no files in archive \\'${D}file\\'"
fi
;;
*)
newInputFiles="${D}{newInputFiles} ${D}file"
;;
esac
done
inputFiles="${D}newInputFiles"
# Output filename(s).
do_backup=0;
if @<:@ -z ${D}outFile @:>@; then
do_backup=1;
set outFile ${D}inputFiles; outFile=${D}2
fi
# If it is an archive, remove the '!' and the '_%' suffixes
case ${D}outFile in
*_%!)
outFile=\`basnam ${D}outFile _%!\`
;;
*)
;;
esac
case ${D}outFile in
*.dll)
outFile=\`basnam ${D}outFile .dll\`
;;
*.DLL)
outFile=\`basnam ${D}outFile .DLL\`
;;
*.o)
outFile=\`basnam ${D}outFile .o\`
;;
*.obj)
outFile=\`basnam ${D}outFile .obj\`
;;
*.a)
outFile=\`basnam ${D}outFile .a\`
;;
*.lib)
outFile=\`basnam ${D}outFile .lib\`
;;
*)
;;
esac
case ${D}outimpFile in
*.a)
outimpFile=\`basnam ${D}outimpFile .a\`
;;
*.lib)
outimpFile=\`basnam ${D}outimpFile .lib\`
;;
*)
;;
esac
if @<:@ -z ${D}outimpFile @:>@; then
outimpFile=${D}outFile
fi
defFile="${D}{outFile}.def"
arcFile="${D}{outimpFile}.a"
arcFile2="${D}{outimpFile}.lib"
#create ${D}dllFile as something matching 8.3 restrictions,
if @<:@ -z ${D}renameScript @:>@ ; then
dllFile="${D}outFile"
else
dllFile=\`${D}renameScript ${D}outimpFile\`
fi
if @<:@ ${D}do_backup -ne 0 @:>@ ; then
if @<:@ -f ${D}arcFile @:>@ ; then
doCommand "mv ${D}arcFile ${D}{outFile}_s.a"
fi
if @<:@ -f ${D}arcFile2 @:>@ ; then
doCommand "mv ${D}arcFile2 ${D}{outFile}_s.lib"
fi
fi
# Extract public symbols from all the object files.
tmpdefFile=${D}{defFile}_%
rm -f ${D}tmpdefFile
for file in ${D}inputFiles ; do
case ${D}file in
*!)
;;
*)
doCommand "emxexp -u ${D}file >> ${D}tmpdefFile"
;;
esac
done
# Create the def file.
rm -f ${D}defFile
echo "LIBRARY \`basnam ${D}dllFile\` ${D}library_flags" >> ${D}defFile
dllFile="${D}{dllFile}.dll"
if @<:@ ! -z ${D}description @:>@; then
echo "DESCRIPTION \\"${D}{description}\\"" >> ${D}defFile
fi
echo "EXPORTS" >> ${D}defFile
doCommand "cat ${D}tmpdefFile | sort.exe | uniq.exe > ${D}{tmpdefFile}%"
grep -v "^ *;" < ${D}{tmpdefFile}% | grep -v "^ *${D}" >${D}tmpdefFile
# Checks if the export is ok or not.
for word in ${D}exclude_symbols; do
grep -v ${D}word < ${D}tmpdefFile >${D}{tmpdefFile}%
mv ${D}{tmpdefFile}% ${D}tmpdefFile
done
if @<:@ ${D}EXPORT_BY_ORDINALS -ne 0 @:>@; then
sed "=" < ${D}tmpdefFile | \\
sed '
N
: loop
s/^\\(@<:@0-9@:>@\\+\\)\\(@<:@^;@:>@*\\)\\(;.*\\)\\?/\\2 @\\1 NONAME/
t loop
' > ${D}{tmpdefFile}%
grep -v "^ *${D}" < ${D}{tmpdefFile}% > ${D}tmpdefFile
else
rm -f ${D}{tmpdefFile}%
fi
cat ${D}tmpdefFile >> ${D}defFile
rm -f ${D}tmpdefFile
# Do linking, create implib, and apply lxlite.
gccCmdl="";
for file in ${D}inputFiles ; do
case ${D}file in
*!)
;;
*)
gccCmdl="${D}gccCmdl ${D}file"
;;
esac
done
doCommand "${D}CC ${D}CFLAGS -Zdll -o ${D}dllFile ${D}defFile ${D}gccCmdl ${D}EXTRA_CFLAGS"
touch "${D}{outFile}.dll"
doCommand "emximp -o ${D}arcFile ${D}defFile"
if @<:@ ${D}flag_USE_LXLITE -ne 0 @:>@; then
add_flags="";
if @<:@ ${D}EXPORT_BY_ORDINALS -ne 0 @:>@; then
add_flags="-ynd"
fi
doCommand "lxlite -cs -t: -mrn -mln ${D}add_flags ${D}dllFile"
fi
doCommand "emxomf -s -l ${D}arcFile"
# Successful exit.
CleanUp 1
exit 0
EOF
dnl ===================== dllar.sh ends here =====================
])
AC_DEFUN([AC_BAKEFILE_CREATE_FILE_BK_DEPS],
[
dnl ===================== bk-deps begins here =====================
@@ -981,7 +1411,7 @@ while test ${D}# -gt 0; do
args="${D}{args} ${D}1 ${D}2"
shift
;;
-s|-Wl,*)
# collect these load args
ldargs="${D}{ldargs} ${D}1"

View File

@@ -28,7 +28,6 @@ AC_ARG_WITH(cppunit-exec-prefix,[ --with-cppunit-exec-prefix=PFX Exec prefix w
AC_MSG_CHECKING(for Cppunit - version >= $cppunit_version_min)
no_cppunit=""
if test "$CPPUNIT_CONFIG" = "no" ; then
AC_MSG_RESULT(no)
no_cppunit=yes
else
CPPUNIT_CFLAGS=`$CPPUNIT_CONFIG --cflags`

View File

@@ -1,156 +1,57 @@
# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
#
# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# PKG_PROG_PKG_CONFIG([MIN-VERSION])
# ----------------------------------
AC_DEFUN([PKG_PROG_PKG_CONFIG],
[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl
if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
fi
if test -n "$PKG_CONFIG"; then
_pkg_min_version=m4_default([$1], [0.9.0])
AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
PKG_CONFIG=""
fi
fi[]dnl
])# PKG_PROG_PKG_CONFIG
dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not)
dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page
dnl also defines GSTUFF_PKG_ERRORS on error
AC_DEFUN([PKG_CHECK_MODULES], [
succeeded=no
# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
#
# Check to see whether a particular set of modules exists. Similar
# to PKG_CHECK_MODULES(), but does not set variables or print errors.
#
#
# Similar to PKG_CHECK_MODULES, make sure that the first instance of
# this or PKG_CHECK_MODULES is called, or make sure to call
# PKG_CHECK_EXISTS manually
# --------------------------------------------------------------
AC_DEFUN([PKG_CHECK_EXISTS],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
if test -n "$PKG_CONFIG" && \
AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
m4_ifval([$2], [$2], [:])
m4_ifvaln([$3], [else
$3])dnl
fi])
if test -z "$PKG_CONFIG"; then
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
fi
if test "$PKG_CONFIG" = "no" ; then
echo "*** The pkg-config script could not be found. Make sure it is"
echo "*** in your path, or set the PKG_CONFIG environment variable"
echo "*** to the full path to pkg-config."
echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
else
PKG_CONFIG_MIN_VERSION=0.9.0
if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
AC_MSG_CHECKING(for $2)
# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
# ---------------------------------------------
m4_define([_PKG_CONFIG],
[if test -n "$PKG_CONFIG"; then
if test -n "$$1"; then
pkg_cv_[]$1="$$1"
else
PKG_CHECK_EXISTS([$3],
[pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
[pkg_failed=yes])
fi
else
pkg_failed=untried
fi[]dnl
])# _PKG_CONFIG
if $PKG_CONFIG --exists "$2" ; then
AC_MSG_RESULT(yes)
succeeded=yes
# _PKG_SHORT_ERRORS_SUPPORTED
# -----------------------------
AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
_pkg_short_errors_supported=yes
else
_pkg_short_errors_supported=no
fi[]dnl
])# _PKG_SHORT_ERRORS_SUPPORTED
AC_MSG_CHECKING($1_CFLAGS)
$1_CFLAGS=`$PKG_CONFIG --cflags "$2"`
AC_MSG_RESULT($$1_CFLAGS)
# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
# [ACTION-IF-NOT-FOUND])
#
#
# Note that if there is a possibility the first call to
# PKG_CHECK_MODULES might not happen, you should be sure to include an
# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
#
#
# --------------------------------------------------------------
AC_DEFUN([PKG_CHECK_MODULES],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
pkg_failed=no
AC_MSG_CHECKING([for $1])
_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
_PKG_CONFIG([$1][_LIBS], [libs], [$2])
m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
and $1[]_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.])
if test $pkg_failed = yes; then
_PKG_SHORT_ERRORS_SUPPORTED
if test $_pkg_short_errors_supported = yes; then
$1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"`
else
$1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
AC_MSG_CHECKING($1_LIBS)
$1_LIBS=`$PKG_CONFIG --libs "$2"`
AC_MSG_RESULT($$1_LIBS)
else
$1_CFLAGS=""
$1_LIBS=""
## If we have a custom action on failure, don't print errors, but
## do set a variable so people can do so.
$1_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
ifelse([$4], ,echo $$1_PKG_ERRORS,)
fi
# Put the nasty error message in config.log where it belongs
echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
ifelse([$4], , [AC_MSG_ERROR(dnl
[Package requirements ($2) were not met:
AC_SUBST($1_CFLAGS)
AC_SUBST($1_LIBS)
else
echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
echo "*** See http://www.freedesktop.org/software/pkgconfig"
fi
fi
$$1_PKG_ERRORS
if test $succeeded = yes; then
ifelse([$3], , :, [$3])
else
ifelse([$4], , AC_MSG_ERROR([Library requirements ($2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.]), [$4])
fi
])
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
_PKG_TEXT
])],
[$4])
elif test $pkg_failed = untried; then
ifelse([$4], , [AC_MSG_FAILURE(dnl
[The pkg-config script could not be found or is too old. Make sure it
is in your PATH or set the PKG_CONFIG environment variable to the full
path to pkg-config.
_PKG_TEXT
To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.])],
[$4])
else
$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
AC_MSG_RESULT([yes])
ifelse([$3], , :, [$3])
fi[]dnl
])# PKG_CHECK_MODULES

View File

@@ -20,21 +20,20 @@ AC_ARG_ENABLE(sdltest, [ --disable-sdltest Do not try to compile and run
, enable_sdltest=yes)
if test x$sdl_exec_prefix != x ; then
sdl_args="$sdl_args --exec-prefix=$sdl_exec_prefix"
if test x${SDL_CONFIG+set} != xset ; then
SDL_CONFIG=$sdl_exec_prefix/bin/sdl-config
fi
sdl_args="$sdl_args --exec-prefix=$sdl_exec_prefix"
if test x${SDL_CONFIG+set} != xset ; then
SDL_CONFIG=$sdl_exec_prefix/bin/sdl-config
fi
fi
if test x$sdl_prefix != x ; then
sdl_args="$sdl_args --prefix=$sdl_prefix"
if test x${SDL_CONFIG+set} != xset ; then
SDL_CONFIG=$sdl_prefix/bin/sdl-config
fi
sdl_args="$sdl_args --prefix=$sdl_prefix"
if test x${SDL_CONFIG+set} != xset ; then
SDL_CONFIG=$sdl_prefix/bin/sdl-config
fi
fi
if test "x$prefix" != xNONE; then
PATH="$prefix/bin:$prefix/usr/bin:$PATH"
fi
AC_REQUIRE([AC_CANONICAL_TARGET])
PATH="$prefix/bin:$prefix/usr/bin:$PATH"
AC_PATH_PROG(SDL_CONFIG, sdl-config, no, [$PATH])
min_sdl_version=ifelse([$1], ,0.11.0,$1)
AC_MSG_CHECKING(for SDL - version >= $min_sdl_version)

View File

@@ -1,132 +0,0 @@
dnl visibility.m4 serial 1 (gettext-0.15)
dnl Copyright (C) 2005 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl From Bruno Haible.
dnl Modified for use in wxWidgets by Vaclav Slavik:
dnl - don't define HAVE_VISIBILITY (=0) if not supported
dnl - use -fvisibility-inlines-hidden too
dnl - test in C++ mode
dnl Tests whether the compiler supports the command-line option
dnl -fvisibility=hidden and the function and variable attributes
dnl __attribute__((__visibility__("hidden"))) and
dnl __attribute__((__visibility__("default"))).
dnl Does *not* test for __visibility__("protected") - which has tricky
dnl semantics (see the 'vismain' test in glibc) and does not exist e.g. on
dnl MacOS X.
dnl Does *not* test for __visibility__("internal") - which has processor
dnl dependent semantics.
dnl Does *not* test for #pragma GCC visibility push(hidden) - which is
dnl "really only recommended for legacy code".
dnl Set the variable CFLAG_VISIBILITY.
dnl Defines and sets the variable HAVE_VISIBILITY.
AC_DEFUN([WX_VISIBILITY],
[
AC_REQUIRE([AC_PROG_CC])
if test -n "$GCC"; then
CFLAGS_VISIBILITY="-fvisibility=hidden"
CXXFLAGS_VISIBILITY="-fvisibility=hidden -fvisibility-inlines-hidden"
AC_MSG_CHECKING([for symbols visibility support])
AC_CACHE_VAL(wx_cv_cc_visibility, [
wx_save_CXXFLAGS="$CXXFLAGS"
CXXFLAGS="$CXXFLAGS $CXXFLAGS_VISIBILITY"
AC_LANG_PUSH(C++)
AC_TRY_COMPILE(
[
/* we need gcc >= 4.0, older versions with visibility support
didn't have class visibility: */
#if defined(__GNUC__) && __GNUC__ < 4
error this gcc is too old;
#endif
/* visibility only makes sense for ELF shared libs: */
#if !defined(__ELF__) && !defined(__APPLE__)
error this platform has no visibility;
#endif
extern __attribute__((__visibility__("hidden"))) int hiddenvar;
extern __attribute__((__visibility__("default"))) int exportedvar;
extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void);
extern __attribute__((__visibility__("default"))) int exportedfunc (void);
class __attribute__((__visibility__("default"))) Foo {
Foo() {}
};
],
[],
wx_cv_cc_visibility=yes,
wx_cv_cc_visibility=no)
AC_LANG_POP()
CXXFLAGS="$wx_save_CXXFLAGS"])
AC_MSG_RESULT([$wx_cv_cc_visibility])
if test $wx_cv_cc_visibility = yes; then
dnl we do have basic visibility support, now check if we can use it:
dnl
dnl Debian/Ubuntu's gcc 4.1 is affected:
dnl https://bugs.launchpad.net/ubuntu/+source/gcc-4.1/+bug/109262
AC_MSG_CHECKING([for broken libstdc++ visibility])
AC_CACHE_VAL(wx_cv_cc_broken_libstdcxx_visibility, [
wx_save_CXXFLAGS="$CXXFLAGS"
wx_save_LDFLAGS="$LDFLAGS"
CXXFLAGS="$CXXFLAGS $CXXFLAGS_VISIBILITY"
LDFLAGS="$LDFLAGS -shared -fPIC"
AC_LANG_PUSH(C++)
AC_TRY_LINK(
[
#include <string>
],
[
std::string s("hello");
return s.length();
],
wx_cv_cc_broken_libstdcxx_visibility=no,
wx_cv_cc_broken_libstdcxx_visibility=yes)
AC_LANG_POP()
CXXFLAGS="$wx_save_CXXFLAGS"
LDFLAGS="$wx_save_LDFLAGS"])
AC_MSG_RESULT([$wx_cv_cc_broken_libstdcxx_visibility])
if test $wx_cv_cc_broken_libstdcxx_visibility = yes; then
AC_MSG_CHECKING([whether we can work around it])
AC_CACHE_VAL(wx_cv_cc_visibility_workaround, [
AC_LANG_PUSH(C++)
AC_TRY_LINK(
[
#pragma GCC visibility push(default)
#include <string>
#pragma GCC visibility pop
],
[
std::string s("hello");
return s.length();
],
wx_cv_cc_visibility_workaround=no,
wx_cv_cc_visibility_workaround=yes)
AC_LANG_POP()
])
AC_MSG_RESULT([$wx_cv_cc_visibility_workaround])
if test $wx_cv_cc_visibility_workaround = no; then
dnl we can't use visibility at all then
wx_cv_cc_visibility=no
fi
fi
fi
if test $wx_cv_cc_visibility = yes; then
AC_DEFINE([HAVE_VISIBILITY])
if test $wx_cv_cc_broken_libstdcxx_visibility = yes; then
AC_DEFINE([HAVE_BROKEN_LIBSTDCXX_VISIBILITY])
fi
else
CFLAGS_VISIBILITY=""
CXXFLAGS_VISIBILITY=""
fi
AC_SUBST([CFLAGS_VISIBILITY])
AC_SUBST([CXXFLAGS_VISIBILITY])
fi
])

View File

@@ -1,26 +0,0 @@
# Created: 2005/03/12
# Author: David Elliott
# For autoconf: Debian in their infinite wisdom decided to improve upon
# the standard autoconf 2.59 macros. Thus Debian's autoconf generates
# a totally different configure script. This fixes it to look
# mostly like Debian's. There are also some fixes pulled in from the OS/2
# fork of autoconf.
# Rule to freeze the m4 so autoconf will actually use it.
# NOTE: VERY important to cd to somewhere there are no .m4 files.
# or at least no aclocal.m4 or else autom4te helpfully picks it up.
.PHONY: all
all: autoconf/autoconf.m4f
AUTOCONF_SOURCES = \
autoconf/c.m4 \
autoconf/general.m4 \
autoconf/libs.m4 \
autoconf/status.m4
AUTOM4TE=autom4te
autoconf/autoconf.m4f: $(AUTOCONF_SOURCES)
$(AUTOM4TE) -B . --language=Autoconf --freeze --output=autoconf/autoconf.m4f

View File

@@ -1,22 +0,0 @@
wxAutohacks
wxAutohacks is a way of ensuring the configure script remains consistent
between developer commits. Previous releases include a build/aclocal_include
which has now been moved into the wxWidgets build/aclocal directory.
At the moment, it is intended to be copied and or symlinked into a wxWidgets
source tree. For example, assume you have wxWidgets checked out in the
/home/myname/wxCVS/wxWidgets/ path. Then from /home/myname/wxCVS do this:
cvs -d :pserver:anoncvs@cvs.wxwidgets.org:/pack/cvsroots/wxwidgets checkout wxAutohacks
You will now have wxAutohacks in /home/myname/wxCVS/wxAutohacks/. Now go into
the wxWidgets build (/home/myname/wxCVS/wxWidgets/build/) and do this:
ln -s ../../wxAutohacks/build/autoconf_prepend-include .
From now on from the root of your wxWidgets source tree when you do this:
make -f build/autogen.mk
you will also build an autoconf.m4f file which will ensure the configure
script stays consistent.
Alternatively you can do this:
make -f build/autogen.mk AUTOHACKS_PREPEND_INCLUDE_DIR=../wxAutohacks/build/autoconf_prepend-include

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,496 +0,0 @@
# This file is part of Autoconf. -*- Autoconf -*-
# Checking for libraries.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
# As a special exception, the Free Software Foundation gives unlimited
# permission to copy, distribute and modify the configure scripts that
# are the output of Autoconf. You need not follow the terms of the GNU
# General Public License when using or distributing such scripts, even
# though portions of the text of Autoconf appear in them. The GNU
# General Public License (GPL) does govern all other use of the material
# that constitutes the Autoconf program.
#
# Certain portions of the Autoconf source text are designed to be copied
# (in certain cases, depending on the input) into the output of
# Autoconf. We call these the "data" portions. The rest of the Autoconf
# source text consists of comments plus executable code that decides which
# of the data portions to output in any given case. We call these
# comments and executable code the "non-data" portions. Autoconf never
# copies any of the non-data portions into its output.
#
# This special exception to the GPL applies to versions of Autoconf
# released by the Free Software Foundation. When you make and
# distribute a modified version of Autoconf, you may extend this special
# exception to the GPL to apply to your modified version as well, *unless*
# your modified version has the potential to copy into its output some
# of the text that was the non-data portion of the version that you started
# with. (In other words, unless your change moves or copies text from
# the non-data portions to the data portions.) If your modification has
# such potential, you must delete any notice of this special exception
# to the GPL from your modified version.
#
# Written by David MacKenzie, with help from
# Franc,ois Pinard, Karl Berry, Richard Pixley, Ian Lance Taylor,
# Roland McGrath, Noah Friedman, david d zuhn, and many others.
# Table of contents
#
# 1. Generic tests for libraries
# 2. Tests for specific libraries
## --------------------------------- ##
## 1. Generic tests for libraries.## ##
## --------------------------------- ##
# AC_SEARCH_LIBS(FUNCTION, SEARCH-LIBS,
# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND],
# [OTHER-LIBRARIES])
# --------------------------------------------------------
# Search for a library defining FUNC, if it's not already available.
AC_DEFUN([AC_SEARCH_LIBS],
[AS_VAR_PUSHDEF([ac_Search], [ac_cv_search_$1])dnl
AC_CACHE_CHECK([for library containing $1], [ac_Search],
[ac_func_search_save_LIBS=$LIBS
AC_LANG_CONFTEST([AC_LANG_CALL([], [$1])])
for ac_lib in '' $2; do
if test -z "$ac_lib"; then
ac_res="none required"
else
ac_res=-l$ac_lib
LIBS="-l$ac_lib $5 $ac_func_search_save_LIBS"
fi
AC_LINK_IFELSE([], [AS_VAR_SET([ac_Search], [$ac_res])])
AS_VAR_SET_IF([ac_Search], [break])dnl
done
AS_VAR_SET_IF([ac_Search], , [AS_VAR_SET([ac_Search], [no])])dnl
rm conftest.$ac_ext
LIBS=$ac_func_search_save_LIBS])
ac_res=AS_VAR_GET([ac_Search])
AS_IF([test "$ac_res" != no],
[test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
$3],
[$4])dnl
AS_VAR_POPDEF([ac_Search])dnl
])
# AC_CHECK_LIB(LIBRARY, FUNCTION,
# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND],
# [OTHER-LIBRARIES])
# ------------------------------------------------------
#
# Use a cache variable name containing both the library and function name,
# because the test really is for library $1 defining function $2, not
# just for library $1. Separate tests with the same $1 and different $2s
# may have different results.
#
# Note that using directly AS_VAR_PUSHDEF([ac_Lib], [ac_cv_lib_$1_$2])
# is asking for troubles, since AC_CHECK_LIB($lib, fun) would give
# ac_cv_lib_$lib_fun, which is definitely not what was meant. Hence
# the AS_LITERAL_IF indirection.
#
# FIXME: This macro is extremely suspicious. It DEFINEs unconditionally,
# whatever the FUNCTION, in addition to not being a *S macro. Note
# that the cache does depend upon the function we are looking for.
#
# It is on purpose we used `ac_check_lib_save_LIBS' and not just
# `ac_save_LIBS': there are many macros which don't want to see `LIBS'
# changed but still want to use AC_CHECK_LIB, so they save `LIBS'.
# And ``ac_save_LIBS' is too tempting a name, so let's leave them some
# freedom.
AC_DEFUN([AC_CHECK_LIB],
[m4_ifval([$3], , [AH_CHECK_LIB([$1])])dnl
AS_LITERAL_IF([$1],
[AS_VAR_PUSHDEF([ac_Lib], [ac_cv_lib_$1_$2])],
[AS_VAR_PUSHDEF([ac_Lib], [ac_cv_lib_$1''_$2])])dnl
AC_CACHE_CHECK([for $2 in -l$1], [ac_Lib],
[ac_check_lib_save_LIBS=$LIBS
LIBS="-l$1 $5 $LIBS"
AC_LINK_IFELSE([AC_LANG_CALL([], [$2])],
[AS_VAR_SET([ac_Lib], [yes])],
[AS_VAR_SET([ac_Lib], [no])])
LIBS=$ac_check_lib_save_LIBS])
AS_IF([test AS_VAR_GET([ac_Lib]) = yes],
[m4_default([$3], [AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_LIB$1))
LIBS="-l$1 $LIBS"
])],
[$4])dnl
AS_VAR_POPDEF([ac_Lib])dnl
])# AC_CHECK_LIB
# AH_CHECK_LIB(LIBNAME)
# ---------------------
m4_define([AH_CHECK_LIB],
[AH_TEMPLATE(AS_TR_CPP([HAVE_LIB$1]),
[Define to 1 if you have the `$1' library (-l$1).])])
# AC_HAVE_LIBRARY(LIBRARY,
# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND],
# [OTHER-LIBRARIES])
# ---------------------------------------------------------
#
# This macro is equivalent to calling `AC_CHECK_LIB' with a FUNCTION
# argument of `main'. In addition, LIBRARY can be written as any of
# `foo', `-lfoo', or `libfoo.a'. In all of those cases, the compiler
# is passed `-lfoo'. However, LIBRARY cannot be a shell variable;
# it must be a literal name.
AU_DEFUN([AC_HAVE_LIBRARY],
[m4_pushdef([AC_Lib_Name],
m4_bpatsubst(m4_bpatsubst([[$1]],
[lib\([^\.]*\)\.a], [\1]),
[-l], []))dnl
AC_CHECK_LIB(AC_Lib_Name, main, [$2], [$3], [$4])dnl
ac_cv_lib_[]AC_Lib_Name()=ac_cv_lib_[]AC_Lib_Name()_main
m4_popdef([AC_Lib_Name])dnl
])
## --------------------------------- ##
## 2. Tests for specific libraries. ##
## --------------------------------- ##
# --------------------- #
# Checks for X window. #
# --------------------- #
# _AC_PATH_X_XMKMF
# ----------------
# Internal subroutine of _AC_PATH_X.
# Set ac_x_includes and/or ac_x_libraries.
m4_define([_AC_PATH_X_XMKMF],
[AC_ARG_VAR(XMKMF, [Path to xmkmf, Makefile generator for X Window System])dnl
rm -f -r conftest.dir
if mkdir conftest.dir; then
cd conftest.dir
cat >Imakefile <<'_ACEOF'
incroot:
@echo incroot='${INCROOT}'
usrlibdir:
@echo usrlibdir='${USRLIBDIR}'
libdir:
@echo libdir='${LIBDIR}'
_ACEOF
if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then
# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
for ac_var in incroot usrlibdir libdir; do
eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`"
done
# Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR.
for ac_extension in a so sl; do
if test ! -f "$ac_im_usrlibdir/libX11.$ac_extension" &&
test -f "$ac_im_libdir/libX11.$ac_extension"; then
ac_im_usrlibdir=$ac_im_libdir; break
fi
done
# Screen out bogus values from the imake configuration. They are
# bogus both because they are the default anyway, and because
# using them would break gcc on systems where it needs fixed includes.
case $ac_im_incroot in
/usr/include) ac_x_includes= ;;
*) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;;
esac
case $ac_im_usrlibdir in
/usr/lib | /lib) ;;
*) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;;
esac
fi
cd ..
rm -f -r conftest.dir
fi
])# _AC_PATH_X_XMKMF
# _AC_PATH_X_DIRECT
# -----------------
# Internal subroutine of _AC_PATH_X.
# Set ac_x_includes and/or ac_x_libraries.
m4_define([_AC_PATH_X_DIRECT],
[# Standard set of common directories for X headers.
# Check X11 before X11Rn because it is often a symlink to the current release.
ac_x_header_dirs='
/usr/X11/include
/usr/X11R6/include
/usr/X11R5/include
/usr/X11R4/include
/usr/include/X11
/usr/include/X11R6
/usr/include/X11R5
/usr/include/X11R4
/usr/local/X11/include
/usr/local/X11R6/include
/usr/local/X11R5/include
/usr/local/X11R4/include
/usr/local/include/X11
/usr/local/include/X11R6
/usr/local/include/X11R5
/usr/local/include/X11R4
/usr/X386/include
/usr/x386/include
/usr/XFree86/include/X11
/usr/include
/usr/local/include
/usr/unsupported/include
/usr/athena/include
/usr/local/x11r5/include
/usr/lpp/Xamples/include
/usr/openwin/include
/usr/openwin/share/include'
if test "$ac_x_includes" = no; then
# Guess where to find include files, by looking for Xlib.h.
# First, try using that file with no special directory specified.
AC_PREPROC_IFELSE([AC_LANG_SOURCE([@%:@include <X11/Xlib.h>])],
[# We can compile using X headers with no special include directory.
ac_x_includes=],
[for ac_dir in $ac_x_header_dirs; do
if test -r "$ac_dir/X11/Xlib.h"; then
ac_x_includes=$ac_dir
break
fi
done])
fi # $ac_x_includes = no
if test "$ac_x_libraries" = no; then
# Check for the libraries.
# See if we find them without any special options.
# Don't add to $LIBS permanently.
ac_save_LIBS=$LIBS
LIBS="-lX11 $LIBS"
AC_LINK_IFELSE([AC_LANG_PROGRAM([@%:@include <X11/Xlib.h>],
[XrmInitialize ()])],
[LIBS=$ac_save_LIBS
# We can link X programs with no special library path.
ac_x_libraries=],
[LIBS=$ac_save_LIBS
for ac_dir in `echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g`
do
# Don't even attempt the hair of trying to link an X program!
for ac_extension in a so sl; do
if test -r "$ac_dir/libX11.$ac_extension"; then
ac_x_libraries=$ac_dir
break 2
fi
done
done])
fi # $ac_x_libraries = no
])# _AC_PATH_X_DIRECT
# _AC_PATH_X
# ----------
# Compute ac_cv_have_x.
AC_DEFUN([_AC_PATH_X],
[AC_CACHE_VAL(ac_cv_have_x,
[# One or both of the vars are not set, and there is no cached value.
ac_x_includes=no ac_x_libraries=no
_AC_PATH_X_XMKMF
_AC_PATH_X_DIRECT
case $ac_x_includes,$ac_x_libraries in #(
no,* | *,no | *\'*)
# Didn't find X, or a directory has "'" in its name.
ac_cv_have_x="have_x=no";; #(
*)
# Record where we found X for the cache.
ac_cv_have_x="have_x=yes\
ac_x_includes='$ac_x_includes'\
ac_x_libraries='$ac_x_libraries'"
esac])dnl
])
# AC_PATH_X
# ---------
# If we find X, set shell vars x_includes and x_libraries to the
# paths, otherwise set no_x=yes.
# Uses ac_ vars as temps to allow command line to override cache and checks.
# --without-x overrides everything else, but does not touch the cache.
AN_HEADER([X11/Xlib.h], [AC_PATH_X])
AC_DEFUN([AC_PATH_X],
[dnl Document the X abnormal options inherited from history.
m4_divert_once([HELP_BEGIN], [
X features:
--x-includes=DIR X include files are in DIR
--x-libraries=DIR X library files are in DIR])dnl
AC_MSG_CHECKING([for X])
AC_ARG_WITH(x, [ --with-x use the X Window System])
# $have_x is `yes', `no', `disabled', or empty when we do not yet know.
if test "x$with_x" = xno; then
# The user explicitly disabled X.
have_x=disabled
else
case $x_includes,$x_libraries in #(
*\'*) AC_MSG_ERROR([Cannot use X directory names containing ']);; #(
*,NONE | NONE,*) _AC_PATH_X;; #(
*) have_x=yes;;
esac
eval "$ac_cv_have_x"
fi # $with_x != no
if test "$have_x" != yes; then
AC_MSG_RESULT([$have_x])
no_x=yes
else
# If each of the values was on the command line, it overrides each guess.
test "x$x_includes" = xNONE && x_includes=$ac_x_includes
test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries
# Update the cache value to reflect the command line values.
ac_cv_have_x="have_x=yes\
ac_x_includes='$x_includes'\
ac_x_libraries='$x_libraries'"
AC_MSG_RESULT([libraries $x_libraries, headers $x_includes])
fi
])# AC_PATH_X
# AC_PATH_XTRA
# ------------
# Find additional X libraries, magic flags, etc.
AC_DEFUN([AC_PATH_XTRA],
[AC_REQUIRE([AC_PATH_X])dnl
if test "$no_x" = yes; then
# Not all programs may use this symbol, but it does not hurt to define it.
AC_DEFINE([X_DISPLAY_MISSING], 1,
[Define to 1 if the X Window System is missing or not being used.])
X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS=
else
if test -n "$x_includes"; then
X_CFLAGS="$X_CFLAGS -I$x_includes"
fi
# It would also be nice to do this for all -L options, not just this one.
if test -n "$x_libraries"; then
X_LIBS="$X_LIBS -L$x_libraries"
# For Solaris; some versions of Sun CC require a space after -R and
# others require no space. Words are not sufficient . . . .
AC_MSG_CHECKING([whether -R must be followed by a space])
ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries"
ac_xsave_[]_AC_LANG_ABBREV[]_werror_flag=$ac_[]_AC_LANG_ABBREV[]_werror_flag
ac_[]_AC_LANG_ABBREV[]_werror_flag=yes
AC_LINK_IFELSE([AC_LANG_PROGRAM()],
[AC_MSG_RESULT([no])
X_LIBS="$X_LIBS -R$x_libraries"],
[LIBS="$ac_xsave_LIBS -R $x_libraries"
AC_LINK_IFELSE([AC_LANG_PROGRAM()],
[AC_MSG_RESULT([yes])
X_LIBS="$X_LIBS -R $x_libraries"],
[AC_MSG_RESULT([neither works])])])
ac_[]_AC_LANG_ABBREV[]_werror_flag=$ac_xsave_[]_AC_LANG_ABBREV[]_werror_flag
LIBS=$ac_xsave_LIBS
fi
# Check for system-dependent libraries X programs must link with.
# Do this before checking for the system-independent R6 libraries
# (-lICE), since we may need -lsocket or whatever for X linking.
if test "$ISC" = yes; then
X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet"
else
# Martyn Johnson says this is needed for Ultrix, if the X
# libraries were built with DECnet support. And Karl Berry says
# the Alpha needs dnet_stub (dnet does not exist).
ac_xsave_LIBS="$LIBS"; LIBS="$LIBS $X_LIBS -lX11"
AC_LINK_IFELSE([AC_LANG_CALL([], [XOpenDisplay])],
[],
[AC_CHECK_LIB(dnet, dnet_ntoa, [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"])
if test $ac_cv_lib_dnet_dnet_ntoa = no; then
AC_CHECK_LIB(dnet_stub, dnet_ntoa,
[X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"])
fi])
LIBS="$ac_xsave_LIBS"
# msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT,
# to get the SysV transport functions.
# Chad R. Larson says the Pyramis MIS-ES running DC/OSx (SVR4)
# needs -lnsl.
# The nsl library prevents programs from opening the X display
# on Irix 5.2, according to T.E. Dickey.
# The functions gethostbyname, getservbyname, and inet_addr are
# in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking.
AC_CHECK_FUNC(gethostbyname)
if test $ac_cv_func_gethostbyname = no; then
AC_CHECK_LIB(nsl, gethostbyname, X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl")
if test $ac_cv_lib_nsl_gethostbyname = no; then
AC_CHECK_LIB(bsd, gethostbyname, X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd")
fi
fi
# lieder@skyler.mavd.honeywell.com says without -lsocket,
# socket/setsockopt and other routines are undefined under SCO ODT
# 2.0. But -lsocket is broken on IRIX 5.2 (and is not necessary
# on later versions), says Simon Leinen: it contains gethostby*
# variants that don't use the name server (or something). -lsocket
# must be given before -lnsl if both are needed. We assume that
# if connect needs -lnsl, so does gethostbyname.
AC_CHECK_FUNC(connect)
if test $ac_cv_func_connect = no; then
AC_CHECK_LIB(socket, connect, X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS", ,
$X_EXTRA_LIBS)
fi
# Guillermo Gomez says -lposix is necessary on A/UX.
AC_CHECK_FUNC(remove)
if test $ac_cv_func_remove = no; then
AC_CHECK_LIB(posix, remove, X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix")
fi
# BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
AC_CHECK_FUNC(shmat)
if test $ac_cv_func_shmat = no; then
AC_CHECK_LIB(ipc, shmat, X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc")
fi
fi
# Check for libraries that X11R6 Xt/Xaw programs need.
ac_save_LDFLAGS=$LDFLAGS
test -n "$x_libraries" && LDFLAGS="$LDFLAGS -L$x_libraries"
# SM needs ICE to (dynamically) link under SunOS 4.x (so we have to
# check for ICE first), but we must link in the order -lSM -lICE or
# we get undefined symbols. So assume we have SM if we have ICE.
# These have to be linked with before -lX11, unlike the other
# libraries we check for below, so use a different variable.
# John Interrante, Karl Berry
AC_CHECK_LIB(ICE, IceConnectionNumber,
[X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE"], , $X_EXTRA_LIBS)
LDFLAGS=$ac_save_LDFLAGS
fi
AC_SUBST(X_CFLAGS)dnl
AC_SUBST(X_PRE_LIBS)dnl
AC_SUBST(X_LIBS)dnl
AC_SUBST(X_EXTRA_LIBS)dnl
])# AC_PATH_XTRA

File diff suppressed because it is too large Load Diff

View File

@@ -1,67 +0,0 @@
# Created: 2005/03/12
# Author: David Elliott
# Usage Example:
# make -f build/autogen.mk ACLOCAL=aclocal-1.9
# This is a simple Makefile to update the UNIX build system in such a
# way that doing a cvs diff on its output files should reveal only the
# true changes, not meaningless differences due to slightly different
# autoconf or aclocal m4 files.
# For aclocal: All necessary m4 files are located in the build/aclocal
# directory. Running aclocal -I build/aclocal when using aclocal 1.9
# will result in an aclocal.m4 which uses m4_include for these files.
ACLOCAL=aclocal
AUTOCONF=autoconf
BAKEFILE_GEN=bakefile_gen
AUTOHACKS_PREPEND_INCLUDE_DIR=build/autoconf_prepend-include
# configure depends on everything else so this will build everything.
.PHONY: all
all: configure
.PHONY: autoconf_m4f
# Invoke make on wxAutohacks dir, but don't fail if it's not present
autoconf_m4f:
-make -C $(AUTOHACKS_PREPEND_INCLUDE_DIR)
BAKEFILES=\
build/bakefiles/wx.bkl \
build/bakefiles/common.bkl \
build/bakefiles/files.bkl \
build/bakefiles/monolithic.bkl \
build/bakefiles/multilib.bkl \
build/bakefiles/opengl.bkl \
build/bakefiles/plugins.bkl \
build/bakefiles/build_cfg.bkl
# Run bakefile-gen (which generates everything) whenever a bakefile is newer
# than Makefile.in or autoconf_inc.m4.
# This dep is obviously wrong but probably close enough
autoconf_inc.m4 Makefile.in: $(BAKEFILES)
cd build/bakefiles && \
$(BAKEFILE_GEN) -f autoconf
# Run configure whenever configure.in, aclocal.m4 or autoconf_inc.m4 is updated
# Depend on our custom autoconf.m4f
configure: configure.in aclocal.m4 autoconf_inc.m4 autoconf_m4f
$(AUTOCONF) -B $(AUTOHACKS_PREPEND_INCLUDE_DIR)
ACLOCAL_SOURCES = \
build/aclocal/bakefile.m4 \
build/aclocal/bakefile-lang.m4 \
build/aclocal/cppunit.m4 \
build/aclocal/gst-element-check.m4 \
build/aclocal/gtk-2.0.m4 \
build/aclocal/gtk.m4 \
build/aclocal/pkg.m4 \
build/aclocal/sdl.m4 \
build/aclocal/visibility.m4
# Run aclocal whenever acinclude or one of our local m4s is updated.
aclocal.m4: configure.in acinclude.m4 $(ACLOCAL_SOURCES)
$(ACLOCAL) -I build/aclocal

View File

@@ -0,0 +1,2 @@
.bakefile_gen.state
Bakefiles.local.bkgen

View File

@@ -14,13 +14,20 @@
</bakefile-gen>
Reasons why these formats are disabled (and so not in CVS):
dmars, dmars_smake, msevc4prj - These are generated at release time and
we don't want to clutter the source tree with these files.
dmars - In beta testing, will be added when it stabilizes.
dmars_smake - ditto
msevc4prj - ditto
cbuilderx - Generated projects are too bad to be included in CVS. Please
*do not* enable this format until FIXMEs in .bkl files related
to cbuilderx are addressed. In particular, the project must
be placed into build/msw(?) directory and store object files
in its subdirectory and it must copy setup.h as others do.
cbx_unix - Doesn't integrate well and won't be used by most Unix people.
-->
<disable-formats>dmars,dmars_smake,msevc4prj</disable-formats>
<disable-formats>dmars,dmars_smake,cbx_unix,cbuilderx,msevc4prj</disable-formats>
<!-- These wildcards match all .bkl files in wxWidgets tree: -->
<input>
@@ -44,26 +51,26 @@
<!-- List of output formats to generate: -->
<add-formats>
autoconf,borland,dmars_smake,dmars,mingw,msvc,msvc6prj,msevc4prj,watcom
autoconf,borland,dmars_smake,dmars,mingw,msvc,msvc6prj,msevc4prj,watcom,cbuilderx,cbx_unix
</add-formats>
<del-formats files="../../samples/*.bkl">
autoconf,msvc6prj,msevc4prj,msvs2005prj
autoconf,msvc6prj,msevc4prj,cbuilderx,cbx_unix
</del-formats>
<del-formats files="../../demos/*.bkl">
msvc6prj,msevc4prj,msvs2005prj
msvc6prj,msevc4prj,cbuilderx,cbx_unix
</del-formats>
<del-formats files="../../samples/html/html_samples.bkl">
msvc6prj,msevc4prj,msvs2005prj
msvc6prj,msevc4prj,cbuilderx,cbx_unix
</del-formats>
<del-formats files="../../samples/mobile/mobile_samples.bkl">
msvc6prj,msevc4prj,msvs2005prj
msvc6prj,msevc4prj,cbuilderx,cbx_unix
</del-formats>
<del-formats files="../../samples/opengl/opengl_samples.bkl">
msvc6prj,msevc4prj,msvs2005prj
msvc6prj,msevc4prj,cbuilderx,cbx_unix
</del-formats>
<del-formats files="../../utils/*.bkl">
msvc6prj,msevc4prj,msvs2005prj
msvc6prj,msevc4prj,cbuilderx,cbx_unix
</del-formats>
<!-- WinCE can't have console apps: -->
@@ -73,16 +80,11 @@
<del-formats files="../../contrib/utils/wxrc/*">msevc4prj</del-formats>
<del-formats files="../../tests/*">msevc4prj</del-formats>
<!-- HtmlCtrl sample is Cocoa only (autoconf format) -->
<del-formats files="../../samples/html/htmlctrl/htmlctrl.bkl">
borland,dmars_smake,dmars,mingw,msvc,msvc6prj,msevc4prj,msvs2005prj,watcom
</del-formats>
<!-- Default flags (for all formats and bakefiles): -->
<add-flags>-Iformats</add-flags>
<!-- Directories where the files go: -->
<add-flags files="wx.bkl" formats="autoconf">
-o../../Makefile.in
@@ -108,27 +110,39 @@
<add-flags files="wx.bkl" formats="msvc6prj">
-o../msw/wx.dsw
</add-flags>
<add-flags files="wx.bkl" formats="msvs2005prj">
-o../msw/wx.sln
</add-flags>
<add-flags files="wx.bkl" formats="msevc4prj">
-o../wince/wx.vcw
</add-flags>
<add-flags files="wx.bkl" formats="cbuilderx">
-o../../wx.cbx
</add-flags>
<add-flags files="../../contrib/build/*/*.bkl" formats="autoconf">
-o../../contrib/src/$(INPUT_FILE_BASENAME_NOEXT)/Makefile.in
</add-flags>
<add-flags files="../../contrib/build/*/*.bkl" formats="cbx_unix">
-o../../contrib/src/$(INPUT_FILE_BASENAME_NOEXT)/$(INPUT_FILE_BASENAME_NOEXT)Unix.cbx
</add-flags>
<!-- FIXME: don't do this once it is possible (new CBX version) -->
<add-flags files="../../contrib/build/*/*.bkl" formats="cbuilderx">
-o../../contrib/src/$(INPUT_FILE_BASENAME_NOEXT)/$(INPUT_FILE_BASENAME_NOEXT).cbx
</add-flags>
<add-flags files="../../contrib/build/*/*.bkl"
formats="mingw,borland,dmars_smake,dmars,watcom,msvc,msvc6prj,msevc4prj,msvs2005prj">
formats="mingw,borland,dmars_smake,dmars,watcom,msvc,msvc6prj,msevc4prj">
-DSRCDIR=../../src/$(INPUT_FILE_BASENAME_NOEXT)
</add-flags>
<!-- Format specific settings: -->
<add-flags formats="autoconf">
-DAUTOCONF_MACROS_FILE=../../autoconf_inc.m4
</add-flags>
<add-formats files="wx.bkl">wx24dsp</add-formats>
<add-flags formats="wx24dsp">
-DUSE_GUI=1 -DWXUNIV=0 -o../../src/wxWindows.dsp
</add-flags>
<add-formats files="wx.bkl">rpmspec</add-formats>
@@ -137,11 +151,10 @@
<add-flags formats="borland,dmars_smake,dmars,mingw,msvc,watcom">
-DWRITE_OPTIONS_FILE=0
</add-flags>
<del-flags formats="borland,dmars_smake,dmars,mingw,msvc,watcom"
files="wx.bkl">
<del-flags files="wx.bkl">
-DWRITE_OPTIONS_FILE=0
</del-flags>
<add-flags files="wx.bkl" formats="borland">
-DOPTIONS_FILE=config.bcc
</add-flags>
@@ -165,7 +178,7 @@
<add-flags files="../../*/*/*">-DWXTOPDIR=../../</add-flags>
<add-flags files="../../*/*/*/*">-DWXTOPDIR=../../../</add-flags>
<add-flags files="../../*/*/*/*/*">-DWXTOPDIR=../../../../</add-flags>
<add-flags files="../../*/*" formats="borland">
-DOPTIONS_FILE=../build/msw/config.bcc
</add-flags>
@@ -239,15 +252,6 @@
-DOPTIONS_FILE=../../../../build/msw/config.wat
</add-flags>
<!-- Makefiles for out-of-tree building of samples on Unix: -->
<add-formats files="../../samples/*/*.bkl,../../samples/*/*/*.bkl">
gnu
</add-formats>
<add-flags files="../../samples/*/*.bkl,../../samples/*/*/*.bkl"
formats="gnu">
-DOUT_OF_TREE_MAKEFILES=1 -o$(INPUT_FILE_DIR)/makefile.unx
</add-flags>
<!-- Personal customizations (not in CVS): -->
<include file="Bakefiles.local.bkgen" ignore_missing="1"/>

View File

@@ -8,8 +8,7 @@
the library.
-->
<if cond="FORMAT not in ['autoconf','msvc6prj','msevc4prj','msvs2005prj'] and
TOOLKIT in ['PM','MSW','MGL','MOTIF']">
<if cond="FORMAT!='autoconf' and TOOLKIT in ['MSW','MGL'] and FORMAT!='msvc6prj' and FORMAT!='msevc4prj' and FORMAT!='cbuilderx'">
<set var="BUILD_CFG_FILE" make_var="1">
$(SETUPHDIR)$(DIRSEP)build.cfg
@@ -39,11 +38,9 @@
@echo USE_THREADS=$(USE_THREADS) >>$(BUILD_CFG_FILE)
@echo USE_GUI=$(USE_GUI) >>$(BUILD_CFG_FILE)
@echo USE_HTML=$(USE_HTML) >>$(BUILD_CFG_FILE)
@echo USE_MEDIA=$(USE_MEDIA) >>$(BUILD_CFG_FILE)
@echo USE_ODBC=$(USE_ODBC) >>$(BUILD_CFG_FILE)
@echo USE_OPENGL=$(USE_OPENGL) >>$(BUILD_CFG_FILE)
@echo USE_QA=$(USE_QA) >>$(BUILD_CFG_FILE)
@echo USE_GDIPLUS=$(USE_GDIPLUS) >>$(BUILD_CFG_FILE)
@echo COMPILER=$(COMPILER) >>$(BUILD_CFG_FILE)
@echo CC=$(CC) >>$(BUILD_CFG_FILE)
@echo CXX=$(CXX) >>$(BUILD_CFG_FILE)

View File

@@ -3,7 +3,7 @@
<makefile>
<requires version="0.2.1"/>
<requires version="0.1.7"/>
<!-- bakefile modules we need: -->
<using module="datafiles"/>
@@ -130,7 +130,7 @@
<if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('adv')))</if>
</set>
<set var="WXLIB_MEDIA">
<if cond="MONOLITHIC=='0' and USE_MEDIA=='1'">$(mk.evalExpr(wxwin.mkLibName('media')))</if>
<if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('media')))</if>
</set>
<set var="WXLIB_HTML">
<if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('html')))</if>
@@ -149,15 +149,6 @@
<set var="WXLIB_DBGRID">
<if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('dbgrid')))</if>
</set>
<set var="WXLIB_AUI">
<if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('aui')))</if>
</set>
<set var="WXLIB_RICHTEXT">
<if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('richtext')))</if>
</set>
<set var="WXLIB_STC">
<if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('stc')))</if>
</set>
<set var="WXLIB_MONO">
<if cond="MONOLITHIC=='1'">$(mk.evalExpr(wxwin.mkLibName('mono')))</if>
@@ -183,13 +174,13 @@
<set var="CFG_NAME_PART">
$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WXDLLFLAG)$(CFG)
</set>
<!-- NB: this is make_var so that it can be overriden on command line
like this: nmake -f makefile.vc COMPILER_PREFIX=vc6 -->
<set var="COMPILER_PREFIX" make_var="1">$(COMPILER)</set>
<set var="OBJS" make_var="1">
$(COMPILER_PREFIX)_$(CFG_NAME_PART)$(DIR_SUFFIX_CPU)
<if cond="FORMAT!='cbuilderx'">
$(COMPILER)_$(CFG_NAME_PART)$(DIR_SUFFIX_CPU)
</if>
<!-- FIXME: waiting for removal after CBX has better ../ dirs
support -->
<if cond="FORMAT=='cbuilderx'">build_cbx_$(CFG_NAME_PART)</if>
</set>
<set var="BUILDDIR">$(OBJS)</set>
@@ -203,9 +194,9 @@
</set>
<set var="LIBDIRNAME" make_var="1">
<if cond="FORMAT=='autoconf'">$(wx_top_builddir)/lib</if>
<if cond="FORMAT=='autoconf'">$(top_builddir)lib</if>
<if cond="FORMAT!='autoconf'">
$(nativePaths(TOP_SRCDIR))lib$(DIRSEP)$(COMPILER_PREFIX)$(DIR_SUFFIX_CPU)_$(LIBTYPE_SUFFIX)$(CFG)
$(nativePaths(TOP_SRCDIR))lib$(DIRSEP)$(COMPILER)$(DIR_SUFFIX_CPU)_$(LIBTYPE_SUFFIX)$(CFG)
</if>
</set>
@@ -285,15 +276,6 @@
<if cond="MSLU=='1'">unicows</if>
</set>
<if cond="FORMAT!='autoconf'">
<set var="GDIPLUS_LIB">
<if cond="USE_GDIPLUS=='1'">gdiplus</if>
</set>
<set var="GFXCTX_DEFINE">
<if cond="USE_GDIPLUS=='1'">wxUSE_GRAPHICS_CONTEXT=1</if>
</set>
</if>
<set var="LINK_TARGET_CPU">
<if cond="TARGET_CPU=='amd64'">/MACHINE:AMD64</if>
<if cond="TARGET_CPU=='AMD64'">/MACHINE:AMD64</if>
@@ -324,7 +306,6 @@
<if cond="FORMAT=='msvc'">
<ldflags>$(LINK_TARGET_CPU)</ldflags>
</if>
<include cond="FORMAT=='msevc4prj'">$(TOP_SRCDIR)build/wince/missing</include>
</template>
<template id="anylib">
@@ -350,22 +331,28 @@
<!-- deal with the need to copy setup.h here: -->
<set var="IS_MSVC_PRJ">
$(FORMAT in ['msvc6prj','msevc4prj','msvs2005prj'])
</set>
<set var="IS_MSVC_PRJ">$(FORMAT in ['msvc6prj','msevc4prj'])</set>
<define-tag name="msvc-headers" rules="dll,lib">
<if cond="IS_MSVC_PRJ">
<msvc-project-files>
$(addPrefixToList('include\\', wxwin.headersOnly(value)))
</msvc-project-files>
<!-- FIXME: remove this once we require >=bkl-0.1.9 -->
<if cond="BAKEFILE_VERSION in ['0.1.7', '0.1.8']">
<msvc-project-files>
$(addPrefixToList('include\', wxwin.headersOnly(value)))
</msvc-project-files>
</if>
<if cond="BAKEFILE_VERSION not in ['0.1.7', '0.1.8']">
<msvc-project-files>
$(addPrefixToList('include\\', wxwin.headersOnly(value)))
</msvc-project-files>
</if>
</if>
</define-tag>
<set var="msvc_copy_setup_h_script">
<if cond="IS_MSVC_PRJ">
Creating $(SETUPHDIR)\wx\setup.h
InputPath=..\..\include\wx\%s
InputPath=..\include\wx\%s
"$(SETUPHDIR)\wx\setup.h" : $(DOLLAR)(SOURCE) "$(DOLLAR)(INTDIR)" "$(DOLLAR)(OUTDIR)"
$(TAB)copy "$(DOLLAR)(InputPath)" $(SETUPHDIR)\wx\setup.h
@@ -424,9 +411,8 @@ $(TAB)copy "$(DOLLAR)(InputPath)" $(SETUPHDIR)\wx\setup.h
</set>
<set var="_custom_build_include_wx_msw_genrcdefs_h">
Creating $(SETUPHDIR)\wx\msw\rcdefs.h
InputPath=..\..\include\wx\msw\genrcdefs.h
"$(SETUPHDIR)\wx\msw\rcdefs.h" : "$(DOLLAR)(SOURCE)" "$(SETUPHDIR)\wx\msw"
"$(SETUPHDIR)\wx\msw\rcdefs.h" : "$(DOLLAR)(SOURCE)" "$(DOLLAR)(SETUPHDIR)\wx\msw"
$(TAB)$(VC_COMPILER) /EP /nologo "$(DOLLAR)(InputPath)" > "$(SETUPHDIR)\wx\msw\rcdefs.h"
</set>
</if>
@@ -449,7 +435,6 @@ $(TAB)$(VC_COMPILER) /EP /nologo "$(DOLLAR)(InputPath)" > "$(SETUPHDIR)\wx\msw\r
<include file="tiff.bkl"/>
<include file="odbc.bkl"/>
<include file="expat.bkl"/>
<include file="scintilla.bkl"/>
<!-- =============================================================== -->
@@ -469,13 +454,6 @@ $(TAB)$(VC_COMPILER) /EP /nologo "$(DOLLAR)(InputPath)" > "$(SETUPHDIR)\wx\msw\r
<if cond="MONOLITHIC=='0'">$(EXTRALIBS_GUI)</if>
</set>
<if cond="TOOLKIT=='MGL' and FORMAT=='watcom'">
<set var="MGLLIBPATH">$(DOLLAR)(%SCITECH)/lib/$(BUILD)/dos32/ow10</set>
<set var="MGLPMLIBPATH">
<if cond="DOS32=='DOS4GW'">dos4gw</if>
</set>
</if>
<template id="wx" template="common_settings">
<set var="wxid">$(wxwin.mk_wxid(id))</set>
<define>__WX$(TOOLKIT)__</define>
@@ -486,17 +464,10 @@ $(TAB)$(VC_COMPILER) /EP /nologo "$(DOLLAR)(InputPath)" > "$(SETUPHDIR)\wx\msw\r
<define>$(THREAD_DEFINE)</define>
<define>$(UNICODE_DEFINE)</define>
<define>$(MSLU_DEFINE)</define>
<if cond="FORMAT!='autoconf'"><define>$(GFXCTX_DEFINE)</define></if>
<include cond="FORMAT!='autoconf'">$(SETUPHDIR)</include>
<include cond="FORMAT!='autoconf'">$(TOP_SRCDIR)include</include>
<lib-path>$(LIBDIRNAME)</lib-path>
<if cond="TOOLKIT=='MGL' and FORMAT=='watcom'">
<lib-path>$(MGLLIBPATH)</lib-path>
<lib-path>$(MGLLIBPATH)/$(MGLPMLIBPATH)</lib-path>
</if>
<warnings>max</warnings>
<cxxflags cond="FORMAT=='autoconf'">$(CXXWARNINGS)</cxxflags>
<cppflags-watcom>
-wcd=549 <!-- 'sizeof' operand contains compiler generated information -->
-wcd=656 <!-- define this function inside its class definition (may improve code quality) -->
@@ -511,6 +482,9 @@ $(TAB)$(VC_COMPILER) /EP /nologo "$(DOLLAR)(InputPath)" > "$(SETUPHDIR)\wx\msw\r
<!-- for both GUI and wxBase libs/samples: -->
<template id="wx_append_base_nomono">
<!-- link against builtin 3rd party libs, if needed: -->
<sys-lib>$(LIB_TIFF)</sys-lib>
<sys-lib>$(LIB_JPEG)</sys-lib>
<sys-lib>$(LIB_PNG)</sys-lib>
<sys-lib>$(LIB_ZLIB)</sys-lib>
<sys-lib>$(LIB_ODBC)</sys-lib>
<sys-lib>$(LIB_REGEX)</sys-lib>
@@ -525,17 +499,9 @@ $(TAB)$(VC_COMPILER) /EP /nologo "$(DOLLAR)(InputPath)" > "$(SETUPHDIR)\wx\msw\r
</if>
</if>
<!-- system libraries on mgl: -->
<if cond="FORMAT=='watcom' and TOOLKIT=='MGL'">
<sys-lib>mgl</sys-lib>
<sys-lib>mglcpp</sys-lib>
<sys-lib>pm</sys-lib>
</if>
<!-- system libraries on windows: -->
<if cond="FORMAT!='autoconf' and PLATFORM_WIN32=='1'">
<sys-lib>$(UNICOWS_LIB)</sys-lib>
<sys-lib>$(GDIPLUS_LIB)</sys-lib>
<if cond="FORMAT=='borland'">
<sys-lib>ole2w32</sys-lib>
</if>
@@ -574,10 +540,7 @@ $(TAB)$(VC_COMPILER) /EP /nologo "$(DOLLAR)(InputPath)" > "$(SETUPHDIR)\wx\msw\r
<!-- for GUI libs/samples: -->
<template id="wx_append_nomono" template_append="wx_append_base_nomono">
<sys-lib>$(LIB_TIFF)</sys-lib>
<sys-lib>$(LIB_JPEG)</sys-lib>
<sys-lib>$(LIB_PNG)</sys-lib>
<template id="wx_append_nomono" template="wx_append_base_nomono">
<ldlibs>$(EXTRALIBS_FOR_GUI)</ldlibs>
</template>
@@ -598,13 +561,11 @@ $(TAB)$(VC_COMPILER) /EP /nologo "$(DOLLAR)(InputPath)" > "$(SETUPHDIR)\wx\msw\r
<set var="WXLIBNAME">$(wxwin.mkLibName(wxid))</set>
<libname>$(WXLIBNAME)</libname>
<define>WXBUILDING</define>
<if cond="WX_DISABLE_PRECOMP_HEADERS=='0'">
<if cond="FORMAT!='autoconf' and TOOLKIT in ['MSW','MGL','PM','WINCE']">
<sources>$(WXTOPDIR)src/common/dummy.cpp</sources>
<if cond="FORMAT!='autoconf' and TOOLKIT in ['MSW','WINCE']">
<sources>$(WXTOPDIR)src/msw/dummy.cpp</sources>
<precomp-headers-gen>
$(WXTOPDIR)src/common/dummy.cpp
$(WXTOPDIR)src/msw/dummy.cpp
</precomp-headers-gen>
</if>
<precomp-headers-location>$(WXTOPDIR)include</precomp-headers-location>
@@ -649,10 +610,12 @@ $(TAB)$(VC_COMPILER) /EP /nologo "$(DOLLAR)(InputPath)" > "$(SETUPHDIR)\wx\msw\r
<ldflags cond="FORMAT=='autoconf'">$(WXMACVERSION_CMD)</ldflags>
<!-- version info resources: -->
<res-define>WXDLLNAME=$(WXDLLNAME)</res-define>
<if cond="FORMAT=='autoconf'">
<res-include>$(RCDEFDIR)</res-include>
<res-include>$(TOP_SRCDIR)include</res-include>
<if cond="FORMAT not in ['rpmspec','wx24dsp']"> <!-- FIXME: fix for bkl-0.1.7 only, remove the cond later -->
<res-define>WXDLLNAME=$(WXDLLNAME)</res-define>
<if cond="FORMAT=='autoconf'">
<res-include>$(RCDEFDIR)</res-include>
<res-include>$(TOP_SRCDIR)include</res-include>
</if>
</if>
<win32-res>$(WXTOPDIR)src/msw/version.rc</win32-res>
</template>
@@ -661,7 +624,6 @@ $(TAB)$(VC_COMPILER) /EP /nologo "$(DOLLAR)(InputPath)" > "$(SETUPHDIR)\wx\msw\r
<depends>wxtiff</depends>
<depends>wxjpeg</depends>
<depends>wxpng</depends>
<depends>wxscintilla</depends>
</template>
<template id="wx_3rdparty_dependencies"
@@ -673,10 +635,6 @@ $(TAB)$(VC_COMPILER) /EP /nologo "$(DOLLAR)(InputPath)" > "$(SETUPHDIR)\wx\msw\r
</template>
<template id="wx_3rdparty_includes_gui" cond="USE_GUI=='1'">
<if cond="FORMAT=='watcom' and TOOLKIT=='MGL'">
<include>$(DOLLAR)(%SCITECH)/include</include>
</if>
<include>$(INC_TIFF_BUILD)</include>
<include>$(INC_TIFF)</include>
<include>$(INC_JPEG)</include>
<include>$(INC_PNG)</include>

View File

@@ -3,17 +3,121 @@
<makefile>
<include file="common.bkl"/>
<set var="file_common_samples_included">1</set>
<if cond="not isdefined('OUT_OF_TREE_MAKEFILES')">
<set var="OUT_OF_TREE_MAKEFILES">0</set>
<!-- =============================================================== -->
<!-- Template for wxWidgets samples: -->
<!-- =============================================================== -->
<if cond="FORMAT=='autoconf'">
<set var="MACOSX_RESOURCES">
<if cond="TOOLKIT=='MAC'">
Carbon.r sample.r
</if>
</set>
</if>
<if cond="OUT_OF_TREE_MAKEFILES=='1'">
<include file="common_samples_outoftree.bkl"/>
</if>
<if cond="OUT_OF_TREE_MAKEFILES=='0'">
<include file="common_samples_intree.bkl"/>
<set var="DLLFLAG">
<if cond="SHARED=='1'">WXUSINGDLL</if>
</set>
<template id="wx_util_b" template="wx">
<include>$(SRCDIR)</include>
<define>$(DLLFLAG)</define>
</template>
<template id="wx_util" template="wx_util_b">
<app-type>gui</app-type>
<mac-res cond="FORMAT=='autoconf'">$(MACOSX_RESOURCES)</mac-res>
<!-- resource files includes: -->
<include>$(SRCDIR)/$(WXTOPDIR)samples</include>
<!-- this include is not added via <include> for autoconf, see
common.bkl: -->
<if cond="FORMAT=='autoconf'">
<res-include>$(RCDEFDIR)</res-include>
<res-include>$(TOP_SRCDIR)include</res-include>
</if>
<win32-res>$(WXTOPDIR)samples/sample.rc</win32-res>
<if cond="FORMAT=='autoconf'">
<wx-os2-lib-resource/>
</if>
<!-- FIXME: temporary, until bakefile can reuse existing pch files -->
<if cond="FORMAT!='autoconf'">
<define>NOPCH</define>
</if>
</template>
<template id="wx_util_console" template="wx_util_b">
<app-type>console</app-type>
<define>wxUSE_GUI=0</define>
</template>
<template id="wx_sample" template="wx_util">
<if cond="FORMAT=='autoconf'">
<wx-mac-app-bundle/>
<ldflags>$(SAMPLES_RPATH_FLAG)</ldflags>
<postlink-command>$(SAMPLES_RPATH_POSTLINK)</postlink-command>
</if>
</template>
<template id="wx_sample_console" template="wx_util_console">
<if cond="FORMAT=='autoconf'">
<ldflags>$(SAMPLES_RPATH_FLAG)</ldflags>
<postlink-command>$(SAMPLES_RPATH_POSTLINK)</postlink-command>
</if>
</template>
<!-- =============================================================== -->
<!-- Support for samples data files: -->
<!-- =============================================================== -->
<define-rule name="wx-data" extends="copy-files">
<template>
<dependency-of>all</dependency-of>
<dstdir>$(BUILDDIR)</dstdir>
<srcdir>$(SRCDIR)</srcdir>
</template>
<!--
VS - FIXME:
Don't clean the files because it would wipe out sources files if
BUILDDIR==SRCDIR. This is same behaviour as in the old build system,
but it would be better to delete the files during "make clean" if
BUILDDIR!=SRCDIR.
<define-tag name="files">
<clean-files>
$(' '.join(['$(BUILDDIR)$(DIRSEP)%s'%x for x in value.split()]))
</clean-files>
</define-tag>
-->
</define-rule>
<!-- =============================================================== -->
<!-- Misc platform specialities: -->
<!-- =============================================================== -->
<if cond="FORMAT=='autoconf'">
<include file="mac_bundles.bkl"/>
<!--
A hack to include precompiled OS/2 resource file in apps instead of
compiling it from .rc file (gcc on OS/2 doesn't ship with resource
compiler):
-->
<define-tag name="wx-os2-lib-resource" rules="exe">
<set var="os2_lib_res">
<if cond="PLATFORM_OS2=='1'">
$(TOP_SRCDIR)include/wx/os2/wx.res
</if>
</set>
<set var="__objects" append="1">$(os2_lib_res)</set>
</define-tag>
</if>
</makefile>

View File

@@ -1,121 +0,0 @@
<?xml version="1.0" ?>
<!-- $Id$ -->
<makefile>
<include file="common.bkl"/>
<!-- =============================================================== -->
<!-- Template for wxWidgets samples: -->
<!-- =============================================================== -->
<if cond="FORMAT=='autoconf'">
<set var="MACOSX_RESOURCES">
<if cond="TOOLKIT=='MAC'">
Carbon.r sample.r
</if>
</set>
</if>
<set var="DLLFLAG">
<if cond="SHARED=='1'">WXUSINGDLL</if>
</set>
<template id="wx_util_b" template="wx">
<include>$(SRCDIR)</include>
<define>$(DLLFLAG)</define>
</template>
<template id="wx_util" template="wx_util_b">
<app-type>gui</app-type>
<mac-res cond="FORMAT=='autoconf'">$(MACOSX_RESOURCES)</mac-res>
<!-- resource files includes: -->
<include>$(SRCDIR)/$(WXTOPDIR)samples</include>
<!-- this include is not added via <include> for autoconf, see
common.bkl: -->
<if cond="FORMAT=='autoconf'">
<res-include>$(RCDEFDIR)</res-include>
<res-include>$(TOP_SRCDIR)include</res-include>
</if>
<win32-res>$(WXTOPDIR)samples/sample.rc</win32-res>
<if cond="FORMAT=='autoconf'">
<wx-os2-lib-resource/>
</if>
<!-- FIXME: temporary, until bakefile can reuse existing pch files -->
<if cond="FORMAT!='autoconf'">
<define>NOPCH</define>
</if>
</template>
<template id="wx_util_console" template="wx_util_b">
<app-type>console</app-type>
<define>wxUSE_GUI=0</define>
</template>
<template id="wx_sample" template="wx_util">
<if cond="FORMAT=='autoconf'">
<wx-mac-app-bundle/>
<ldflags>$(SAMPLES_RPATH_FLAG)</ldflags>
<postlink-command>$(SAMPLES_RPATH_POSTLINK)</postlink-command>
</if>
</template>
<template id="wx_sample_console" template="wx_util_console">
<if cond="FORMAT=='autoconf'">
<ldflags>$(SAMPLES_RPATH_FLAG)</ldflags>
<postlink-command>$(SAMPLES_RPATH_POSTLINK)</postlink-command>
</if>
</template>
<!-- =============================================================== -->
<!-- Support for samples data files: -->
<!-- =============================================================== -->
<define-rule name="wx-data" extends="copy-files">
<template>
<dependency-of>all</dependency-of>
<dstdir>$(BUILDDIR)</dstdir>
<srcdir>$(SRCDIR)</srcdir>
</template>
<!--
VS - FIXME:
Don't clean the files because it would wipe out sources files if
BUILDDIR==SRCDIR. This is same behaviour as in the old build system,
but it would be better to delete the files during "make clean" if
BUILDDIR!=SRCDIR.
<define-tag name="files">
<clean-files>
$(' '.join(['$(BUILDDIR)$(DIRSEP)%s'%x for x in value.split()]))
</clean-files>
</define-tag>
-->
</define-rule>
<!-- =============================================================== -->
<!-- Misc platform specialities: -->
<!-- =============================================================== -->
<if cond="FORMAT=='autoconf'">
<include file="mac_bundles.bkl"/>
<!--
A hack to include precompiled OS/2 resource file in apps instead of
compiling it from .rc file (gcc on OS/2 doesn't ship with resource
compiler):
-->
<define-tag name="wx-os2-lib-resource" rules="exe">
<set var="os2_lib_res">
<if cond="PLATFORM_OS2=='1'">
$(TOP_SRCDIR)include/wx/os2/wx.res
</if>
</set>
<set var="__objects" append="1">$(os2_lib_res)</set>
</define-tag>
</if>
</makefile>

View File

@@ -1,43 +0,0 @@
<?xml version="1.0" ?>
<!-- $Id$ -->
<makefile>
<!-- =============================================================== -->
<!-- Templates for out-of-tree Unix makefiles for wxWidgets samples: -->
<!-- =============================================================== -->
<include file="wxpresets/presets/wx.bkl"/>
<template id="wx_app_base" template="wx">
<include>$(SRCDIR)</include>
</template>
<template id="wx_util" template="wx_app_base">
<app-type>gui</app-type>
</template>
<template id="wx_util_console" template="wx_app_base">
<app-type>console</app-type>
</template>
<template id="wx_sample" template="wx_util"/>
<template id="wx_sample_console" template="wx_util_console"/>
<define-rule name="wx-gui-plugin" extends="module">
<template template="wx_app_base"/>
</define-rule>
<!-- empty stubs for things that don't make sense for makefile.unx: -->
<template id="wx_append"/>
<template id="wx_append_base"/>
<define-rule name="wx-data" pseudo="1">
<define-tag name="files"/>
<define-tag name="dstdir"/>
<define-tag name="srcdir"/>
</define-rule>
</makefile>

View File

@@ -49,7 +49,7 @@
<option name="UNICODE">
<values>0,1</values>
<values-description>,Unicode</values-description>
<default-value>1</default-value>
<default-value>0</default-value>
<description>
Compile Unicode build of wxWidgets?
</description>
@@ -79,6 +79,7 @@
<if cond="FORMAT=='msvc'">
<option name="TARGET_CPU">
<values>AMD64,IA64</values>
<default-value>$(DOLLAR)(CPU)</default-value>
<description>
The target processor architecture must be specified when it is not X86.
@@ -86,8 +87,6 @@ This does not affect the compiler output, so you still need to make sure
your environment is set up appropriately with the correct compiler in the
PATH. Rather it affects some options passed to some of the common build
utilities such as the resource compiler and the linker.
Accepted values: AMD64, IA64.
</description>
</option>
</if>
@@ -98,8 +97,8 @@ Accepted values: AMD64, IA64.
<!-- FIXME: restore this once bakefile is fixed to not use
/Gm /GZ (incompatible with /O2) w/ debug-info -->
<set var="DEBUG_INFO_DEFAULT">
<if cond="FORMAT in ['msvc','msvc6prj','msevc4prj','msvs2005prj']">1</if>
<if cond="FORMAT not in ['msvc','msvc6prj','msevc4prj','msvs2005prj']">default</if>
<if cond="FORMAT in ['msvc','msvc6prj','msevc4prj']">1</if>
<if cond="FORMAT not in ['msvc','msvc6prj','msevc4prj']">default</if>
</set>
-->
<set var="DEBUG_INFO_DEFAULT">default</set>
@@ -181,14 +180,6 @@ Acts according to BUILD by default.
</description>
</option>
<option name="USE_MEDIA">
<values>0,1</values>
<default-value>1</default-value>
<description>
Build multimedia library (USE_GUI must be 1)?
</description>
</option>
<option name="USE_XRC">
<values>0,1</values>
<default-value>1</default-value>
@@ -197,30 +188,6 @@ Acts according to BUILD by default.
</description>
</option>
<option name="USE_AUI">
<values>0,1</values>
<default-value>1</default-value>
<description>
Build wxAUI library (USE_GUI must be 1)?
</description>
</option>
<option name="USE_RICHTEXT">
<values>0,1</values>
<default-value>1</default-value>
<description>
Build wxRichTextCtrl library (USE_GUI must be 1)?
</description>
</option>
<option name="USE_STC">
<values>0,1</values>
<default-value>1</default-value>
<description>
Build wxStyledTextCtrl library (USE_GUI must be 1)?
</description>
</option>
<option name="USE_OPENGL">
<values>0,1</values>
<default-value>0</default-value>
@@ -237,14 +204,9 @@ Acts according to BUILD by default.
</description>
</option>
<!-- currently only VC++ can compile wxDebugReport which is in QA lib -->
<set var="USE_QA_DEFAULT">
<if cond="FORMAT in ['msvc','msvc6prj','msvs2005prj']">1</if>
<if cond="FORMAT not in ['msvc','msvc6prj','msvs2005prj']">0</if>
</set>
<option name="USE_QA">
<values>0,1</values>
<default-value>$(USE_QA_DEFAULT)</default-value>
<default-value>0</default-value>
<description>
Build quality assurance classes library (USE_GUI must be 1)?
</description>
@@ -274,16 +236,6 @@ Acts according to BUILD by default.
</description>
</option>
<if cond="FORMAT!='autoconf'">
<option name="USE_GDIPLUS">
<values>0,1</values>
<default-value>0</default-value>
<description>
Link with gdiplus.lib? (Needed for wxGraphicsContext, will also set wxUSE_GRAPHICS_CONTEXT)
</description>
</option>
</if>
<option name="OFFICIAL_BUILD">
<values>0,1</values>
<default-value>0</default-value>
@@ -352,7 +304,6 @@ to run the tests, include CppUnit library here.
<option name="EXTRALIBS_OPENGL"/>
<option name="EXTRALIBS_SDL"/>
<option name="EXTRALIBS_GNOMEPRINT"/>
<option name="CXXWARNINGS"/>
<option name="HOST_SUFFIX"/>
<option name="SAMPLES_RPATH_FLAG"/>
<option name="SAMPLES_RPATH_POSTLINK"/>
@@ -364,8 +315,6 @@ to run the tests, include CppUnit library here.
<option name="WITH_PLUGIN_SDL">
<values>0,1</values>
</option>
<option name="wx_top_builddir"/>
</if>
@@ -389,7 +338,7 @@ it if SHARED=1 unless you know what you are doing.
<set var="TOOLKIT" overwrite="0">
<if cond="FORMAT=='msevc4prj'">WINCE</if>
<if cond="FORMAT!='msevc4prj' and PLATFORM_WIN32=='1'">MSW</if>
<if cond="PLATFORM_MSDOS=='1'">MGL</if>
<if cond="PLATFORM_MSDOS=='1'">DOS</if>
<if cond="PLATFORM_OS2=='1'">PM</if>
</set>
<set var="TOOLKIT_LOWERCASE">$(TOOLKIT.lower())</set>
@@ -402,7 +351,7 @@ it if SHARED=1 unless you know what you are doing.
<set var="EXTRALIBS_ODBC"/>
<set var="EXTRALIBS_GUI"/>
<set var="EXTRALIBS_OPENGL">
<if cond="COMPILER=='wat' and TOOLKIT=='MSW'">opengl32.lib glu32.lib</if>
<if cond="COMPILER=='wat'">opengl32.lib glu32.lib</if>
<if cond="COMPILER in ['vc','evc']">opengl32.lib glu32.lib</if>
<if cond="COMPILER=='gcc'">-lopengl32 -lglu32</if>
</set>
@@ -434,6 +383,12 @@ Set the version of your Mingw installation here.
<set var="EXTRACFLAGS">$(GCCFLAGS) -DHAVE_W32API_H</set>
</if>
<if cond="FORMAT=='cbuilderx'">
<set var="EXTRACFLAGS">
<if cond="COMPILER=='gcc'">-DHAVE_W32API_H</if>
</set>
</if>
<!-- ================================================================== -->
<!-- Project files - hardcode some defaults -->
@@ -442,11 +397,7 @@ Set the version of your Mingw installation here.
<if cond="FORMAT_SUPPORTS_CONDITIONS=='0'">
<set var="RUNTIME_LIBS">dynamic</set>
<set var="OFFICIAL_BUILD">0</set>
<set var="USE_AUI">1</set>
<set var="USE_RICHTEXT">1</set>
<set var="USE_STC">1</set>
<set var="USE_HTML">1</set>
<set var="USE_MEDIA">1</set>
<set var="USE_XRC">1</set>
<set var="USE_OPENGL">1</set>
<set var="USE_ODBC">1</set>
@@ -456,13 +407,25 @@ Set the version of your Mingw installation here.
<set var="USE_EXCEPTIONS">1</set>
<set var="USE_RTTI">1</set>
<set var="USE_THREADS">1</set>
<if cond="FORMAT!='autoconf'"><set var="USE_GDIPLUS">0</set></if>
<set var="DEBUG_INFO">$(DEBUG_INFO_DEFAULT)</set>
<set var="DEBUG_FLAG">default</set>
<set var="MSLU">0</set>
</if>
<!-- FIXME:
C++BuilderX supports only wxMSW, monolithic (sic!) static build
and the project can't be put into build/msw and store objects in
build/msw/something. This *must* be fixed! -->
<if cond="FORMAT=='cbuilderx'">
<set var="WXUNIV">0</set>
<set var="MONOLITHIC">1</set>
<set var="SRCDIR">.</set>
<set var="TOP_SRCDIR">$(SRCDIR)/$(WXTOPDIR)</set>
<set var="SHARED">0</set>
</if>
<!-- DigitalMars make is braindead, it doesn't have conditional
processing: -->
<if cond="FORMAT=='dmars'">
@@ -470,7 +433,7 @@ Set the version of your Mingw installation here.
<set var="BUILD">debug</set>
<set var="SHARED">0</set>
<set var="WXUNIV">0</set>
<set var="UNICODE">1</set>
<set var="UNICODE">0</set>
<!-- Free version does not distribute OpenGL,
in commercial distribution better use dmars_smake format -->
<set var="USE_OPENGL">0</set>
@@ -488,11 +451,4 @@ Set the version of your Mingw installation here.
<set var="USE_EXCEPTIONS">0</set>
</if>
<!-- Need for wxUniv within wxMGL: -->
<if cond="FORMAT!='autoconf' and TOOLKIT=='MGL'">
<set var="WXUNIV">1</set>
<set var="USE_THREADS">0</set>
<set var="RUNTIME_LIBS">static</set>
</if>
</makefile>

View File

@@ -1,6 +1,4 @@
<?xml version="1.0" ?>
<!-- $Id$ -->
<makefile>
<if cond="FORMAT=='autoconf'">
@@ -34,9 +32,6 @@
<define cond="FORMAT=='watcom' and PLATFORM_OS2=='1'">
OS2_32
</define>
<define cond="FORMAT=='watcom' and PLATFORM_MSDOS=='1'">
__MSDOS__
</define>
<cflags-borland>-w-8004 -w-8008 -w-8012 -w-8057 -w-8066</cflags-borland>
<sources>
src/expat/lib/xmlparse.c

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,13 @@
<?xml version="1.0" ?>
<bakefile-manifest>
<format id="wx24dsp">
<description>
src/wxWindows.dsp which makes same files as 2.4 version
</description>
<default-filename>wxWindows.dsp</default-filename>
</format>
<format id="rpmspec">
<description>
@@ -8,5 +15,14 @@
</description>
<default-filename>xxx.spec</default-filename>
</format>
<format id="cbx_unix">
<description>
C++BuilderX projects for Unix (use configure)
</description>
<default-filename>
$(os.path.splitext(os.path.basename(INPUT_FILE))[0])Unix.cbx
</default-filename>
</format>
</bakefile-manifest>

View File

@@ -1,4 +1,6 @@
This directory contains misc Bakefile backends that are wxWidgets-specific:
wx24dsp - generates wx2.4-compatible VC++ project file (src/wxWindows.dsp)
rpmspec - generates part of .spec files with list of wxBase headers
cbx_unix - Borland C++BuilderX project files for configure-based build

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" ?>
<!-- $Id$ -->
<makefile>
<include file="presets/fake.bkl"/>
<set var="COMPILER">vc</set>
<define-tag name="__fake_hook" rules="__fake">
<set var="type" overwrite="0">fake</set>
</define-tag>
<define-tag name="__fake_hook" rules="exe">
<set var="type">exe</set>
</define-tag>
<output file="$(OUTPUT_FILE)" writer="cbx_unix.empy"/>
<set var="FORMAT_OUTPUT_VARIABLES">type</set>
</makefile>

View File

@@ -0,0 +1,77 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--C++BuilderX Project-->
<project>
<property category="build.config" name="active" value="0"/>
<property category="build.config" name="count" value="1"/>
<property category="build.config" name="excludedefaultforzero" value="0"/>
<property category="build.config.0" name="builddir" value="Debug"/>
<property category="build.config.0" name="key" value="Debug_Build"/>
<property category="build.config.0" name="name" value="Debug Build"/>
<property category="build.config.0" name="settings.MinGW" value="default;debug"/>
<property category="build.config.0" name="settings.gnuc++" value="default;debug"/>
<property category="build.config.0" name="settings.intellinia32" value="default;debug"/>
<property category="build.config.0" name="settings.mswin32" value="default;debug"/>
<property category="build.config.0" name="type" value="Toolset"/>
<property category="build.config.1" name="key" value="Release_Build"/>
<property category="build.config.1" name="name" value="Release Build"/>
<property category="build.config.1" name="settings.MinGW" value="default;release"/>
<property category="build.config.1" name="settings.gnuc++" value="default;release"/>
<property category="build.config.1" name="settings.intellinia32" value="default;release"/>
<property category="build.config.1" name="settings.mswin32" value="default;release"/>
<property category="build.config.1" name="type" value="Toolset"/>
<property category="build.node" name="type" value="CBMakefileProjectType"/>
<property category="build.platform" name="active" value="linux"/>
<property category="build.platform" name="linux.Debug_Build.toolset" value="gnuc++"/>
<property category="build.platform" name="linux.Release_Build.toolset" value="gnuc++"/>
<property category="build.platform" name="linux.default" value="gnuc++"/>
<property category="build.platform" name="linux.gnuc++.enabled" value="1"/>
<property category="build.platform" name="linux.mswin32.enabled" value="0"/>
<property category="build.platform" name="linux.win32b.enabled" value="0"/>
<property category="build.platform" name="solaris.default" value="gnuc++"/>
<property category="build.platform" name="solaris.enabled" value="0"/>
<property category="build.platform" name="win32.default" value="MinGW"/>
<property category="build.platform" name="win32.enabled" value="0"/>
<property category="cbproject" name="lastnodeid" value="4"/>
<property category="cbproject" name="version" value="X.1.0"/>
<property category="classbrowser" name="enable" value="0"/>
<property category="classbrowser" name="parser.cpp.skip_standard_directories" value="1"/>
<property category="linux.Debug_Build.gnuc++.g++compile" name="option.I.arg.1" value="/usr/include"/>
<property category="linux.Debug_Build.gnuc++.g++compile" name="option.I.arg.2" value="/usr/include/g++-3"/>
<property category="linux.Debug_Build.gnuc++.g++compile" name="option.I.enabled" value="1"/>
<property category="linux.Debug_Build.gnuc++.g++compile" name="option.MD.enabled" value="1"/>
<property category="linux.Debug_Build.gnuc++.g++compile" name="option.O0.enabled" value="1"/>
<property category="linux.Debug_Build.gnuc++.g++compile" name="option.c.enabled" value="1"/>
<property category="linux.Debug_Build.gnuc++.g++compile" name="option.g.arg" value="2"/>
<property category="linux.Debug_Build.gnuc++.g++compile" name="option.g.enabled" value="1"/>
<property category="linux.Debug_Build.gnuc++.g++compile" name="option.o.enabled" value="1"/>
<property category="linux.Debug_Build.gnuc++.g++link" name="option.o.enabled" value="1"/>
<property category="linux.gnuc++.Debug_Build" name="saved" value="1"/>
<property category="makefileproject" name="makefile.ID.1" value="1"/>
<property category="makefileproject" name="makefile.list.1" value="Makefile"/>
<property category="makefiletarget" name="makefile.1.params" value="-f Makefile"/>
<property category="makefiletarget" name="makefile.1.target.list.1" value="all"/>
<property category="makefiletarget" name="makefile.1.target.list.2" value="clean"/>
<property category="runtime" name="ConfigurationCount" value="@(len([t for t in targets if t.type=='exe'])-1)"/>
@{
ALL_EXES = [x for x in targets if x.type=='exe']
if len(ALL_EXES) == 1:
DEFAULT_EXE = 0
else:
DEFAULT_EXE = -1
}@
<property category="runtime" name="DefaultConfiguration" value="@DEFAULT_EXE"/>
@[for i in range(0,len(ALL_EXES))]@
<property category="runtime.@i" name="BuildTargetOnRun" value="com.borland.cbuilder.build.CBProjectBuilder$ProjectBuildAction;make"/>
<property category="runtime.@i" name="ConfigurationName" value="@ALL_EXES[i].id"/>
<property category="runtime.@i" name="RunnableType" value="com.borland.cbuilder.runtime.ExecutableRunner"/>
<property category="runtime.@i" name="native.exec.path" value="./@ALL_EXES[i].id"/>
<property category="runtime.@i" name="native.startdir.path" value="."/>
<property category="runtime.@i" name="native.target.override" value="1"/>
@[end for]@
<property category="unique" name="id" value="4"/>
<node name="console" type="NavigationDirectory">
<property category="directorynode" name="showSubdirectories" value="1"/>
<property category="directorynode" name="url" value="."/>
<property category="unique" name="id" value="1"/>
</node>
</project>

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" ?>
<!-- $Id$ -->
<makefile>
<include file="win32.bkl"/>
<set var="COMPILER">vc</set>
<include file="presets/fake.bkl"/>
<set var="ALL_SOURCES" eval="0">
$(MONOLIB_SRC) src/msw/dummy.cpp $(OPENGL_SRC)
</set>
<output file="$(OUTPUT_FILE)" writer="wx24dsp.empy"/>
<set var="FORMAT_OUTPUT_VARIABLES">
ALL_SOURCES ALL_HEADERS
</set>
</makefile>

View File

@@ -0,0 +1,461 @@
@{
used = {}
def mkgroup(lst, name, mask):
x = [s for s in lst if s.startswith(mask)]
for s in x:
used[s] = 1
x.sort()
return (name,x)
sources = ALL_SOURCES.split()
SOURCES = []
SOURCES.append(mkgroup(sources,'Common Files','src/common/'))
SOURCES.append(mkgroup(sources,'Generic Files','src/generic/'))
SOURCES.append(mkgroup(sources,'wxHTML Files','src/html/'))
SOURCES.append(mkgroup(sources,'MSW Files','src/msw/'))
otherSrcs = [x for x in sources if x not in used]
otherSrcs.sort()
SOURCES.append(('Other Sources', otherSrcs))
headers = [x for x in ALL_HEADERS.split() if x.endswith('.h')]
HEADERS = []
HEADERS.append(mkgroup(headers,'MSW','wx/msw/'))
HEADERS.append(mkgroup(headers,'Generic','wx/generic/'))
HEADERS.append(mkgroup(headers,'HTML','wx/html/'))
commonHdrs = [x for x in headers if x not in used]
commonHdrs.sort()
HEADERS.insert(0, ('Common', commonHdrs))
}@
# Microsoft Developer Studio Project File - Name="wxWindows" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
# TARGTYPE "Win32 (x86) Static Library" 0x0104
CFG=wxWindows - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "wxWindows.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "wxWindows.mak" CFG="wxWindows - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "wxWindows - Win32 Release Unicode DLL" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE "wxWindows - Win32 Debug Unicode DLL" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE "wxWindows - Win32 Release Unicode" (based on "Win32 (x86) Static Library")
!MESSAGE "wxWindows - Win32 Debug Unicode" (based on "Win32 (x86) Static Library")
!MESSAGE "wxWindows - Win32 Release DLL" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE "wxWindows - Win32 Debug DLL" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE "wxWindows - Win32 Release" (based on "Win32 (x86) Static Library")
!MESSAGE "wxWindows - Win32 Debug" (based on "Win32 (x86) Static Library")
!MESSAGE "wxWindows - Win32 Release With Debug Info" (based on "Win32 (x86) Static Library")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
!IF "$(CFG)" == "wxWindows - Win32 Release Unicode DLL"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "../lib"
# PROP BASE Intermediate_Dir "../ReleaseUnicodeDll"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "../lib"
# PROP Intermediate_Dir "../ReleaseUnicodeDll"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
CPP=cl.exe
# ADD BASE CPP /nologo /MD /W4 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "WXWINDLL_EXPORTS" /YX /FD /c
# ADD CPP /nologo /MD /W4 /O2 /I "../lib/mswdllu" /I "../include" /I "./zlib" /I "./jpeg" /I "./png" /I "./regex" /I "./tiff" /I "./expat/lib" /D "_USRDLL" /D "NDEBUG" /D "WXMAKINGDLL" /D "_UNICODE" /D "UNICODE" /D "WIN32" /D WINVER=0x0400 /D "STRICT" /D wxUSE_BASE=1 /Yu"wx/wxprec.h" /FD /c
MTL=midl.exe
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
RSC=rc.exe
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /i "../include" /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib winmm.lib ..\lib\jpeg.lib ..\lib\tiff.lib ..\lib\expat.lib ..\lib\png.lib ..\lib\regex.lib ..\lib\zlib.lib /nologo /dll /machine:I386 /out:"../lib/wxmsw250u.dll"
# ADD LINK32 kernel32.lib user32.lib gdi32.lib advapi32.lib comdlg32.lib shell32.lib ole32.lib oleaut32.lib odbc32.lib uuid.lib rpcrt4.lib comctl32.lib wsock32.lib winmm.lib ..\lib\jpeg.lib ..\lib\tiff.lib ..\lib\expat.lib ..\lib\png.lib ..\lib\regex.lib ..\lib\zlib.lib /nologo /version:2.5 /dll /machine:I386 /out:"../lib/wxmsw250u.dll"
!ELSEIF "$(CFG)" == "wxWindows - Win32 Debug Unicode DLL"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "../lib"
# PROP BASE Intermediate_Dir "../DebugUnicodeDll"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "../lib"
# PROP Intermediate_Dir "../DebugUnicodeDll"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
CPP=cl.exe
# ADD BASE CPP /nologo /MDd /W4 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "WXWINDLL_EXPORTS" /YX /FD /GZ /c
# ADD CPP /nologo /MDd /W4 /Zi /Od /I "../lib/mswdllud" /I "../include" /I "./zlib" /I "./jpeg" /I "./png" /I "./regex" /I "./tiff" /I "./expat/lib" /D "_USRDLL" /D "_DEBUG" /D "WXMAKINGDLL" /D "_UNICODE" /D "UNICODE" /D "WIN32" /D WINVER=0x0400 /D "STRICT" /D wxUSE_BASE=1 /Yu"wx/wxprec.h" /FD /c
MTL=midl.exe
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
RSC=rc.exe
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /i "../include" /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib winmm.lib ..\lib\jpegd.lib ..\lib\tiffd.lib ..\lib\expatd.lib ..\lib\pngd.lib ..\lib\regexd.lib ..\lib\zlibd.lib /dll /debug /machine:I386 /out:"../lib/wxmsw250ud.dll" /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib advapi32.lib comdlg32.lib shell32.lib ole32.lib oleaut32.lib odbc32.lib uuid.lib rpcrt4.lib comctl32.lib wsock32.lib winmm.lib ..\lib\jpegd.lib ..\lib\tiffd.lib ..\lib\expatd.lib ..\lib\pngd.lib ..\lib\regexd.lib ..\lib\zlibd.lib /nologo /version:2.5 /dll /machine:I386 /out:"../lib/wxmsw250ud.dll"
!ELSEIF "$(CFG)" == "wxWindows - Win32 Release Unicode"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "../lib"
# PROP BASE Intermediate_Dir "../ReleaseUnicode"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "../lib"
# PROP Intermediate_Dir "../ReleaseUnicode"
# PROP Target_Dir ""
CPP=cl.exe
# ADD BASE CPP /nologo /MD /W4 /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
# ADD CPP /nologo /MD /W4 /O2 /I "../lib/mswu" /I "../include" /I "./zlib" /I "./jpeg" /I "./png" /I "./regex" /I "./tiff" /I "./expat/lib" /D "NDEBUG" /D "_UNICODE" /D "UNICODE" /D "WIN32" /D WINVER=0x0400 /D "STRICT" /D wxUSE_BASE=1 /Yu"wx/wxprec.h" /FD /c
RSC=rc.exe
# ADD BASE RSC /l 0x409
# ADD RSC /l 0x409
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo /out:"..\lib\wxmswu.lib"
!ELSEIF "$(CFG)" == "wxWindows - Win32 Debug Unicode"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "../lib"
# PROP BASE Intermediate_Dir "../DebugUnicode"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "../lib"
# PROP Intermediate_Dir "../DebugUnicode"
# PROP Target_Dir ""
CPP=cl.exe
# ADD BASE CPP /nologo /MDd /W4 /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
# ADD CPP /nologo /MDd /W4 /Zi /Od /I "../lib/mswud" /I "../include" /I "./zlib" /I "./jpeg" /I "./png" /I "./regex" /I "./tiff" /I "./expat/lib" /D "_DEBUG" /D "__WXDEBUG__" /D "_UNICODE" /D "UNICODE" /D "WIN32" /D WINVER=0x0400 /D "STRICT" /D wxUSE_BASE=1 /Yu"wx/wxprec.h" /FD /c
RSC=rc.exe
# ADD BASE RSC /l 0x409
# ADD RSC /l 0x409
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo /out:"..\lib\wxmswud.lib"
!ELSEIF "$(CFG)" == "wxWindows - Win32 Release DLL"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "../lib"
# PROP BASE Intermediate_Dir "../ReleaseDll"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "../lib"
# PROP Intermediate_Dir "../ReleaseDll"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
CPP=cl.exe
# ADD BASE CPP /nologo /MD /W4 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "WXWINDLL_EXPORTS" /YX /FD /c
# ADD CPP /nologo /MD /W4 /O2 /I "../lib/mswdll" /I "../include" /I "./zlib" /I "./jpeg" /I "./png" /I "./regex" /I "./tiff" /I "./expat/lib" /D "_USRDLL" /D "NDEBUG" /D "WXMAKINGDLL" /D "WIN32" /D WINVER=0x0400 /D "STRICT" /D wxUSE_BASE=1 /Yu"wx/wxprec.h" /FD /c
MTL=midl.exe
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
RSC=rc.exe
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /i "../include" /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib winmm.lib ..\lib\jpeg.lib ..\lib\tiff.lib ..\lib\expat.lib ..\lib\png.lib ..\lib\regex.lib ..\lib\zlib.lib /nologo /dll /machine:I386 /out:"../lib/wxmsw250.dll"
# ADD LINK32 kernel32.lib user32.lib gdi32.lib advapi32.lib comdlg32.lib shell32.lib ole32.lib oleaut32.lib odbc32.lib uuid.lib rpcrt4.lib comctl32.lib wsock32.lib winmm.lib ..\lib\jpeg.lib ..\lib\tiff.lib ..\lib\expat.lib ..\lib\png.lib ..\lib\regex.lib ..\lib\zlib.lib /nologo /version:2.5 /dll /machine:I386 /out:"../lib/wxmsw250.dll"
!ELSEIF "$(CFG)" == "wxWindows - Win32 Debug DLL"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "../lib"
# PROP BASE Intermediate_Dir "../DebugDll"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "../lib"
# PROP Intermediate_Dir "../DebugDll"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
CPP=cl.exe
# ADD BASE CPP /nologo /MDd /W4 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "WXWINDLL_EXPORTS" /YX /FD /GZ /c
# ADD CPP /nologo /MDd /W4 /Zi /Od /I "../lib/mswdlld" /I "../include" /I "./zlib" /I "./jpeg" /I "./png" /I "./regex" /I "./tiff" /I "./expat/lib" /D "_USRDLL" /D "_DEBUG" /D "WXMAKINGDLL" /D "WIN32" /D WINVER=0x0400 /D "STRICT" /D wxUSE_BASE=1 /Yu"wx/wxprec.h" /FD /c
MTL=midl.exe
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
RSC=rc.exe
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /i "../include" /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib winmm.lib ..\lib\jpegd.lib ..\lib\tiffd.lib ..\lib\expatd.lib ..\lib\pngd.lib ..\lib\regexd.lib ..\lib\zlibd.lib /dll /debug /machine:I386 /out:"../lib/wxmsw250d.dll" /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib advapi32.lib comdlg32.lib shell32.lib ole32.lib oleaut32.lib odbc32.lib uuid.lib rpcrt4.lib comctl32.lib wsock32.lib winmm.lib ..\lib\jpegd.lib ..\lib\tiffd.lib ..\lib\expatd.lib ..\lib\pngd.lib ..\lib\regexd.lib ..\lib\zlibd.lib /nologo /version:2.5 /dll /machine:I386 /out:"../lib/wxmsw250d.dll"
!ELSEIF "$(CFG)" == "wxWindows - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "../lib"
# PROP BASE Intermediate_Dir "../Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "../lib"
# PROP Intermediate_Dir "../Release"
# PROP Target_Dir ""
CPP=cl.exe
# ADD BASE CPP /nologo /MD /W4 /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
# ADD CPP /nologo /MD /W4 /O2 /I "../lib/msw" /I "../include" /I "./zlib" /I "./jpeg" /I "./png" /I "./regex" /I "./tiff" /I "./expat/lib" /D "NDEBUG" /D "WIN32" /D WINVER=0x0400 /D "STRICT" /D wxUSE_BASE=1 /Yu"wx/wxprec.h" /FD /c
RSC=rc.exe
# ADD BASE RSC /l 0x409
# ADD RSC /l 0x409
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo /out:"..\lib\wxmsw.lib"
!ELSEIF "$(CFG)" == "wxWindows - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "../lib"
# PROP BASE Intermediate_Dir "../Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "../lib"
# PROP Intermediate_Dir "../Debug"
# PROP Target_Dir ""
CPP=cl.exe
# ADD BASE CPP /nologo /MDd /W4 /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
# ADD CPP /nologo /MDd /W4 /Zi /Od /I "../lib/mswd" /I "../include" /I "./zlib" /I "./jpeg" /I "./png" /I "./regex" /I "./tiff" /I "./expat/lib" /D "_DEBUG" /D "__WXDEBUG__" /D "WIN32" /D WINVER=0x0400 /D "STRICT" /D wxUSE_BASE=1 /Yu"wx/wxprec.h" /FD /c
RSC=rc.exe
# ADD BASE RSC /l 0x409
# ADD RSC /l 0x409
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo /out:"..\lib\wxmswd.lib"
!ELSEIF "$(CFG)" == "wxWindows - Win32 Release With Debug Info"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "wxWindows___Win32_Release_With_Debug_Info"
# PROP BASE Intermediate_Dir "wxWindows___Win32_Release_With_Debug_Info"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "ReleaseDebug"
# PROP Intermediate_Dir "ReleaseDebug"
# PROP Target_Dir ""
CPP=cl.exe
# ADD BASE CPP /nologo /MD /W4 /O2 /I "../lib/msw" /I "../include" /I "./zlib" /I "./jpeg" /I "./png" /I "./regex" /I "./tiff" /I "./expat/lib" /D "NDEBUG" /D "WIN32" /D WINVER=0x0400 /D "STRICT" /D wxUSE_BASE=1 /Yu"wx/wxprec.h" /FD /c
# ADD CPP /nologo /MD /W4 /Zi /O2 /I "../lib/msw" /I "../include" /I "./zlib" /I "./jpeg" /I "./png" /I "./regex" /I "./tiff" /I "./expat/lib" /D "NDEBUG" /D "WIN32" /D WINVER=0x0400 /D "STRICT" /D wxUSE_BASE=1 /Yu"wx/wxprec.h" /FD /c
RSC=rc.exe
# ADD BASE RSC /l 0x409
# ADD RSC /l 0x409
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo /out:"..\lib\wxmsw.lib"
# ADD LIB32 /nologo /out:"..\lib\wxmsw.lib"
!ENDIF
# Begin Target
# Name "wxWindows - Win32 Release Unicode DLL"
# Name "wxWindows - Win32 Debug Unicode DLL"
# Name "wxWindows - Win32 Release Unicode"
# Name "wxWindows - Win32 Debug Unicode"
# Name "wxWindows - Win32 Release DLL"
# Name "wxWindows - Win32 Debug DLL"
# Name "wxWindows - Win32 Release"
# Name "wxWindows - Win32 Debug"
# Name "wxWindows - Win32 Release With Debug Info"
# Begin Source File
SOURCE="This project is deprecated, please see install.txt"
# End Source File
@[for group in SOURCES]@
# Begin Group "@group[0]"
# PROP Default_Filter ""
@[for src in group[1]]@
# Begin Source File
SOURCE=.\@src[4:].replace('/','\\')
@[if src=='src/msw/dummy.cpp']@
# ADD CPP /Yc"wx/wxprec.h"
@[end if]@
@[if src.endswith('.c')]@
# SUBTRACT CPP /YX /Yc /Yu
@[end if]@
# End Source File
@[end for]@
# End Group
@[end for]@
# Begin Group "Headers"
# PROP Default_Filter ""
# Begin Group "Setup"
# PROP Default_Filter ""
# Begin Source File
SOURCE=..\include\wx\msw\setup.h
!IF "$(CFG)" == "wxWindows - Win32 Release Unicode DLL"
# Begin Custom Build - Creating ..\lib\mswdllu\wx\setup.h from $(InputPath)
InputPath=..\include\wx\msw\setup.h
"../lib/mswdllu/wx/setup.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy "$(InputPath)" ..\lib\mswdllu\wx\setup.h
# End Custom Build
!ELSEIF "$(CFG)" == "wxWindows - Win32 Debug Unicode DLL"
# Begin Custom Build - Creating ..\lib\mswdllud\wx\setup.h from $(InputPath)
InputPath=..\include\wx\msw\setup.h
"../lib/mswdllud/wx/setup.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy "$(InputPath)" ..\lib\mswdllud\wx\setup.h
# End Custom Build
!ELSEIF "$(CFG)" == "wxWindows - Win32 Release Unicode"
# Begin Custom Build - Creating ..\lib\mswu\wx\setup.h from $(InputPath)
InputPath=..\include\wx\msw\setup.h
"../lib/mswu/wx/setup.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy "$(InputPath)" ..\lib\mswu\wx\setup.h
# End Custom Build
!ELSEIF "$(CFG)" == "wxWindows - Win32 Debug Unicode"
# Begin Custom Build - Creating ..\lib\mswud\wx\setup.h from $(InputPath)
InputPath=..\include\wx\msw\setup.h
"../lib/mswud/wx/setup.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy "$(InputPath)" ..\lib\mswud\wx\setup.h
# End Custom Build
!ELSEIF "$(CFG)" == "wxWindows - Win32 Release DLL"
# Begin Custom Build - Creating ..\lib\mswdll\wx\setup.h from $(InputPath)
InputPath=..\include\wx\msw\setup.h
"../lib/mswdll/wx/setup.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy "$(InputPath)" ..\lib\mswdll\wx\setup.h
# End Custom Build
!ELSEIF "$(CFG)" == "wxWindows - Win32 Debug DLL"
# Begin Custom Build - Creating ..\lib\mswdlld\wx\setup.h from $(InputPath)
InputPath=..\include\wx\msw\setup.h
"../lib/mswdlld/wx/setup.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy "$(InputPath)" ..\lib\mswdlld\wx\setup.h
# End Custom Build
!ELSEIF "$(CFG)" == "wxWindows - Win32 Release"
# Begin Custom Build - Creating ..\lib\msw\wx\setup.h from $(InputPath)
InputPath=..\include\wx\msw\setup.h
"../lib/msw/wx/setup.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy "$(InputPath)" ..\lib\msw\wx\setup.h
# End Custom Build
!ELSEIF "$(CFG)" == "wxWindows - Win32 Debug"
# Begin Custom Build - Creating ..\lib\mswd\wx\setup.h from $(InputPath)
InputPath=..\include\wx\msw\setup.h
"../lib/mswd/wx/setup.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy "$(InputPath)" ..\lib\mswd\wx\setup.h
# End Custom Build
!ELSEIF "$(CFG)" == "wxWindows - Win32 Release With Debug Info"
# Begin Custom Build - Creating ..\lib\msw\wx\setup.h from $(InputPath)
InputPath=..\include\wx\msw\setup.h
"../lib/msw/wx/setup.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy "$(InputPath)" ..\lib\msw\wx\setup.h
# End Custom Build
!ENDIF
# End Source File
# End Group
@[for group in HEADERS]@
# Begin Group "@group[0]"
# PROP Default_Filter ""
@[for hdr in group[1]]@
# Begin Source File
SOURCE=..\include\@hdr.replace('/','\\')
# End Source File
@[end for]@
# End Group
@[end for]@
# End Group
# End Target
# End Project

View File

@@ -26,53 +26,52 @@
<dirname>$(LIBDIRNAME)</dirname>
<include cond="FORMAT!='autoconf'">$(SETUPHDIR)</include>
<cflags-borland>-w-8004 -w-8008 -w-8057 -w-8066</cflags-borland>
<cflags-watcom>-wcd=136</cflags-watcom>
<sources>
src/jpeg/jcomapi.c
src/jpeg/jutils.c
src/jpeg/jerror.c
src/jpeg/jmemmgr.c
src/jpeg/jmemnobs.c
src/jpeg/jcapimin.c
src/jpeg/jcapistd.c
src/jpeg/jctrans.c
src/jpeg/jcparam.c
src/jpeg/jdatadst.c
src/jpeg/jcinit.c
src/jpeg/jcmaster.c
src/jpeg/jcmarker.c
src/jpeg/jcmainct.c
src/jpeg/jcprepct.c
src/jpeg/jccoefct.c
src/jpeg/jccolor.c
src/jpeg/jcsample.c
src/jpeg/jchuff.c
src/jpeg/jcphuff.c
src/jpeg/jcdctmgr.c
src/jpeg/jfdctfst.c
src/jpeg/jfdctflt.c
src/jpeg/jfdctint.c
src/jpeg/jdapimin.c
src/jpeg/jdapistd.c
src/jpeg/jdtrans.c
src/jpeg/jdatasrc.c
src/jpeg/jdmaster.c
src/jpeg/jdinput.c
src/jpeg/jdmarker.c
src/jpeg/jdhuff.c
src/jpeg/jdphuff.c
src/jpeg/jdmainct.c
src/jpeg/jdcoefct.c
src/jpeg/jdpostct.c
src/jpeg/jddctmgr.c
src/jpeg/jidctfst.c
src/jpeg/jidctflt.c
src/jpeg/jidctint.c
src/jpeg/jidctred.c
src/jpeg/jdsample.c
src/jpeg/jdcolor.c
src/jpeg/jquant1.c
src/jpeg/jquant2.c
src/jpeg/jutils.c
src/jpeg/jerror.c
src/jpeg/jmemmgr.c
src/jpeg/jmemnobs.c
src/jpeg/jcapimin.c
src/jpeg/jcapistd.c
src/jpeg/jctrans.c
src/jpeg/jcparam.c
src/jpeg/jdatadst.c
src/jpeg/jcinit.c
src/jpeg/jcmaster.c
src/jpeg/jcmarker.c
src/jpeg/jcmainct.c
src/jpeg/jcprepct.c
src/jpeg/jccoefct.c
src/jpeg/jccolor.c
src/jpeg/jcsample.c
src/jpeg/jchuff.c
src/jpeg/jcphuff.c
src/jpeg/jcdctmgr.c
src/jpeg/jfdctfst.c
src/jpeg/jfdctflt.c
src/jpeg/jfdctint.c
src/jpeg/jdapimin.c
src/jpeg/jdapistd.c
src/jpeg/jdtrans.c
src/jpeg/jdatasrc.c
src/jpeg/jdmaster.c
src/jpeg/jdinput.c
src/jpeg/jdmarker.c
src/jpeg/jdhuff.c
src/jpeg/jdphuff.c
src/jpeg/jdmainct.c
src/jpeg/jdcoefct.c
src/jpeg/jdpostct.c
src/jpeg/jddctmgr.c
src/jpeg/jidctfst.c
src/jpeg/jidctflt.c
src/jpeg/jidctint.c
src/jpeg/jidctred.c
src/jpeg/jdsample.c
src/jpeg/jdcolor.c
src/jpeg/jquant1.c
src/jpeg/jquant2.c
src/jpeg/jdmerge.c
</sources>
</lib>

File diff suppressed because it is too large Load Diff

View File

@@ -5,7 +5,7 @@
<set var="MONOLIB_GUI_SRC">
<if cond="USE_GUI=='1'">
$(CORE_SRC) $(ADVANCED_SRC) $(MEDIA_SRC) $(HTML_SRC) $(ODBC_SRC) $(QA_SRC)
$(DBGRID_SRC) $(XRC_SRC) $(AUI_SRC) $(RICHTEXT_SRC) $(STC_SRC)
$(DBGRID_SRC) $(XRC_SRC)
</if>
</set>
<set var="MONOLIB_SRC">
@@ -22,13 +22,6 @@
<ldlibs>$(EXTRALIBS_ODBC)</ldlibs>
<ldlibs>$(PLUGIN_MONOLIB_EXTRALIBS)</ldlibs>
<msvc-headers>$(ALL_HEADERS)</msvc-headers>
<!-- STC stuff, should this be conditionalized? -->
<include>$(TOP_SRCDIR)src/stc/scintilla/include</include>
<include>$(TOP_SRCDIR)src/stc/scintilla/src</include>
<define>__WX__</define>
<define>SCI_LEXER</define>
<define>LINK_LEXERS</define>
<library>$(wxscintilla_library_link)</library>
</dll>
<lib id="monolib" template="wx_lib"
@@ -36,15 +29,6 @@
<define>wxUSE_BASE=1</define>
<sources>$(MONOLIB_SRC) $(PLUGIN_MONOLIB_SRC)</sources>
<msvc-headers>$(ALL_HEADERS)</msvc-headers>
<if cond="FORMAT=='watcom'">
<set var="LIB_PAGESIZE" overwrite="1">8192</set>
</if>
<!-- STC stuff, should this be conditionalized? -->
<include>$(TOP_SRCDIR)src/stc/scintilla/include</include>
<include>$(TOP_SRCDIR)src/stc/scintilla/src</include>
<define>__WX__</define>
<define>SCI_LEXER</define>
<define>LINK_LEXERS</define>
</lib>

View File

@@ -3,20 +3,6 @@
<makefile>
<define-rule name="wxshortcut" extends="phony">
<template>
<set var="name">$(id.replace('wx',''))</set>
<set var="namedll">
<if cond="SHARED=='1'">$(name)dll</if>
</set>
<set var="namelib">
<if cond="SHARED=='0'">$(name)lib</if>
</set>
<depends>$(namedll)</depends>
<depends>$(namelib)</depends>
</template>
</define-rule>
<!-- ================================================================= -->
<!-- wxBase library -->
<!-- ================================================================= -->
@@ -36,8 +22,6 @@
<msvc-headers>$(BASE_CMN_HDR) $(BASE_PLATFORM_HDR)</msvc-headers>
</lib>
<wxshortcut id="wxbase" cond="MONOLITHIC=='0'"/>
<set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">base=baselib+basedll</set>
@@ -60,8 +44,6 @@
<msvc-headers>$(NET_CMN_HDR) $(NET_PLATFORM_HDR)</msvc-headers>
</lib>
<wxshortcut id="wxnet" cond="MONOLITHIC=='0'"/>
<set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">net=netlib+netdll</set>
@@ -86,8 +68,6 @@
<msvc-headers>$(ALL_GUI_HEADERS)</msvc-headers>
</lib>
<wxshortcut id="wxcore" cond="MONOLITHIC=='0' and USE_GUI=='1'"/>
<set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">core=corelib+coredll</set>
@@ -112,8 +92,6 @@
<msvc-headers>$(ADVANCED_HDR)</msvc-headers>
</lib>
<wxshortcut id="wxadv" cond="MONOLITHIC=='0' and USE_GUI=='1'"/>
<set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">adv=advlib+advdll</set>
@@ -122,7 +100,7 @@
<!-- ================================================================= -->
<dll id="mediadll" template="wx_dll"
cond="SHARED=='1' and USE_MEDIA=='1' and USE_GUI=='1' and MONOLITHIC=='0'">
cond="SHARED=='1' and USE_GUI=='1' and MONOLITHIC=='0'">
<define>WXUSINGDLL</define>
<define>WXMAKINGDLL_MEDIA</define>
<sources>$(MEDIA_SRC)</sources>
@@ -132,13 +110,11 @@
</dll>
<lib id="medialib" template="wx_lib"
cond="SHARED=='0' and USE_MEDIA=='1' and USE_GUI=='1' and MONOLITHIC=='0'">
cond="SHARED=='0' and USE_GUI=='1' and MONOLITHIC=='0'">
<sources>$(MEDIA_SRC)</sources>
<msvc-headers>$(MEDIA_HDR)</msvc-headers>
</lib>
<wxshortcut id="wxmedia" cond="MONOLITHIC=='0' and USE_GUI=='1' and USE_MEDIA=='1'"/>
<set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">media=medialib+mediadll</set>
@@ -162,6 +138,7 @@
<msvc-headers>$(ODBC_HDR)</msvc-headers>
</lib>
<dll id="dbgriddll" template="wx_dll"
cond="SHARED=='1' and USE_GUI=='1' and USE_ODBC=='1' and MONOLITHIC=='0'">
<define>WXUSINGDLL</define>
@@ -180,9 +157,6 @@
<msvc-headers>$(DBGRID_HDR)</msvc-headers>
</lib>
<!-- <wxshortcut id="wxodbc" cond="MONOLITHIC=='0' and USE_ODBC=='1'"/> -->
<wxshortcut id="wxdbgrid" cond="MONOLITHIC=='0' and USE_GUI=='1' and USE_ODBC=='1'"/>
<set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">odbc=odbclib+odbcdll</set>
<set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">dbgrid=dbgridlib+dbgriddll</set>
@@ -202,19 +176,12 @@
<msvc-headers>$(HTML_HDR)</msvc-headers>
</dll>
<!-- use this to conditonally link against htmldll with <library>: -->
<set var="htmldll_library_link">
<if cond="SHARED=='1' and USE_GUI=='1' and USE_HTML=='1' and MONOLITHIC=='0'">htmldll</if>
</set>
<lib id="htmllib" template="wx_lib"
cond="SHARED=='0' and USE_GUI=='1' and USE_HTML=='1' and MONOLITHIC=='0'">
<sources>$(HTML_SRC)</sources>
<msvc-headers>$(HTML_HDR)</msvc-headers>
</lib>
<wxshortcut id="wxhtml" cond="MONOLITHIC=='0' and USE_HTML=='1'"/>
<set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">html=htmllib+htmldll</set>
<!-- ================================================================ -->
@@ -247,8 +214,6 @@
<msvc-headers>$(QA_HDR)</msvc-headers>
</lib>
<wxshortcut id="wxqa" cond="MONOLITHIC=='0' and USE_QA=='1'"/>
<set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">qa=qalib+qadll</set>
<!-- ================================================================ -->
@@ -271,8 +236,6 @@
<msvc-headers>$(XML_HDR)</msvc-headers>
</lib>
<wxshortcut id="wxxml" cond="MONOLITHIC=='0'"/>
<set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">xml=xmllib+xmldll</set>
<!-- ================================================================ -->
@@ -284,7 +247,7 @@
<define>WXUSINGDLL</define>
<define>WXMAKINGDLL_XRC</define>
<sources>$(XRC_SRC)</sources>
<library>$(htmldll_library_link)</library>
<library>htmldll</library>
<library>advdll</library>
<library>coredll</library>
<library>xmldll</library>
@@ -298,94 +261,6 @@
<msvc-headers>$(XRC_HDR)</msvc-headers>
</lib>
<wxshortcut id="wxxrc" cond="MONOLITHIC=='0' and USE_XRC=='1'"/>
<set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">xrc=xrclib+xrcdll</set>
<!-- ================================================================ -->
<!-- AUI -->
<!-- ================================================================ -->
<dll id="auidll" template="wx_dll"
cond="SHARED=='1' and USE_AUI=='1' and MONOLITHIC=='0'">
<define>WXUSINGDLL</define>
<define>WXMAKINGDLL_AUI</define>
<sources>$(AUI_SRC)</sources>
<library>advdll</library>
<library>coredll</library>
<library>basedll</library>
<msvc-headers>$(AUI_HDR)</msvc-headers>
</dll>
<lib id="auilib" template="wx_lib"
cond="SHARED=='0' and USE_AUI=='1' and MONOLITHIC=='0'">
<sources>$(AUI_SRC)</sources>
<msvc-headers>$(AUI_HDR)</msvc-headers>
</lib>
<wxshortcut id="wxaui" cond="MONOLITHIC=='0' and USE_AUI=='1'"/>
<set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">aui=auilib+auidll</set>
<!-- ================================================================ -->
<!-- RICHTEXT -->
<!-- ================================================================ -->
<dll id="richtextdll" template="wx_dll"
cond="SHARED=='1' and USE_RICHTEXT=='1' and MONOLITHIC=='0'">
<define>WXUSINGDLL</define>
<define>WXMAKINGDLL_RICHTEXT</define>
<sources>$(RICHTEXT_SRC)</sources>
<library>advdll</library>
<library>$(htmldll_library_link)</library>
<library>xmldll</library>
<library>coredll</library>
<library>basedll</library>
<msvc-headers>$(RICHTEXT_HDR)</msvc-headers>
</dll>
<lib id="richtextlib" template="wx_lib"
cond="SHARED=='0' and USE_RICHTEXT=='1' and MONOLITHIC=='0'">
<sources>$(RICHTEXT_SRC)</sources>
<msvc-headers>$(RICHTEXT_HDR)</msvc-headers>
</lib>
<wxshortcut id="wxrichtext" cond="MONOLITHIC=='0' and USE_RICHTEXT=='1'"/>
<set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">richtext=richtextlib+richtextdll</set>
<!-- ================================================================ -->
<!-- STC -->
<!-- ================================================================ -->
<template id="stc_base">
<include>$(TOP_SRCDIR)src/stc/scintilla/include</include>
<include>$(TOP_SRCDIR)src/stc/scintilla/src</include>
<define>__WX__</define>
<define>SCI_LEXER</define>
<define>LINK_LEXERS</define>
<cppflags-borland>-w-8027</cppflags-borland>
<library>wxscintilla</library>
</template>
<dll id="stcdll" template="wx_dll,stc_base"
cond="SHARED=='1' and USE_STC=='1' and MONOLITHIC=='0'">
<define>WXUSINGDLL</define>
<define>WXMAKINGDLL_STC</define>
<sources>$(STC_SRC)</sources>
<library>coredll</library>
<library>basedll</library>
<msvc-headers>$(STC_HDR)</msvc-headers>
</dll>
<lib id="stclib" template="wx_lib,stc_base"
cond="SHARED=='0' and USE_STC=='1' and MONOLITHIC=='0'">
<sources>$(STC_SRC)</sources>
<msvc-headers>$(STC_HDR)</msvc-headers>
</lib>
<wxshortcut id="wxstc" cond="MONOLITHIC=='0' and USE_STC=='1'"/>
<set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">stc=stclib+stcdll</set>
</makefile>

View File

@@ -38,6 +38,4 @@
<msvc-headers>$(OPENGL_HDR)</msvc-headers>
</lib>
<wxshortcut id="wxgl" cond="USE_GUI=='1' and USE_OPENGL=='1'"/>
</makefile>

View File

@@ -25,26 +25,25 @@
cond="wxUSE_LIBPNG=='builtin' and USE_GUI=='1' and BUILDING_LIB=='1'">
<dirname>$(LIBDIRNAME)</dirname>
<include>$(INC_ZLIB)</include>
<cflags-borland>-w-8004</cflags-borland>
<cflags-watcom>-wcd=124</cflags-watcom>
<cflags-borland>-w-8004</cflags-borland>
<sources>
src/png/png.c
src/png/pngerror.c
src/png/pnggccrd.c
src/png/pngget.c
src/png/pngmem.c
src/png/pngpread.c
src/png/pngread.c
src/png/pngrio.c
src/png/pngrtran.c
src/png/pngrutil.c
src/png/pngset.c
src/png/pngtrans.c
src/png/pngvcrd.c
src/png/pngwio.c
src/png/pngwrite.c
src/png/pngwtran.c
src/png/pngwutil.c
src/png/png.c
src/png/pngerror.c
src/png/pnggccrd.c
src/png/pngget.c
src/png/pngmem.c
src/png/pngpread.c
src/png/pngread.c
src/png/pngrio.c
src/png/pngrtran.c
src/png/pngrutil.c
src/png/pngset.c
src/png/pngtrans.c
src/png/pngvcrd.c
src/png/pngwio.c
src/png/pngwrite.c
src/png/pngwtran.c
src/png/pngwutil.c
</sources>
</lib>

View File

@@ -2,7 +2,7 @@
<!-- $Id$ -->
<makefile>
<if cond="FORMAT=='autoconf'">
<option name="wxUSE_REGEX"/>
<set var="LIB_REGEX">
@@ -38,7 +38,6 @@
<include cond="FORMAT!='autoconf'">$(TOP_SRCDIR)include</include>
<include cond="FORMAT!='autoconf'">$(SETUPHDIR)</include>
<define>__WX$(TOOLKIT)__</define>
<define>$(WXUNIV_DEFINE)</define>
<define>$(UNICODE_DEFINE)</define>
<dirname>$(LIBDIRNAME)</dirname>
<cflags-borland>-w-8008 -w-8012 -w-8057 -w-8064 -w-8066 -w-8070</cflags-borland>

View File

@@ -1,116 +0,0 @@
<?xml version="1.0" ?>
<makefile>
<if cond="FORMAT=='autoconf'">
<set var="LIB_SCINTILLA">
wxscintilla$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
</set>
</if>
<if cond="FORMAT!='autoconf'">
<set var="LIB_SCINTILLA">
wxscintilla$(WXDEBUGFLAG)$(HOST_SUFFIX)
</set>
</if>
<set var="INC_SCINTILLA">
$(TOP_SRCDIR)src/stc/scintilla/include
</set>
<lib id="wxscintilla" template="3rdparty_lib"
cond="USE_STC=='1' and BUILDING_LIB=='1'">
<include>$(TOP_SRCDIR)src/stc/scintilla/include</include>
<include>$(TOP_SRCDIR)src/stc/scintilla/src</include>
<define>__WX__</define>
<define>SCI_LEXER</define>
<define>LINK_LEXERS</define>
<dirname>$(LIBDIRNAME)</dirname>
<sources>
src/stc/scintilla/src/AutoComplete.cxx
src/stc/scintilla/src/CallTip.cxx
src/stc/scintilla/src/CellBuffer.cxx
src/stc/scintilla/src/CharClassify.cxx
src/stc/scintilla/src/ContractionState.cxx
src/stc/scintilla/src/Document.cxx
src/stc/scintilla/src/DocumentAccessor.cxx
src/stc/scintilla/src/Editor.cxx
src/stc/scintilla/src/ExternalLexer.cxx
src/stc/scintilla/src/Indicator.cxx
src/stc/scintilla/src/KeyMap.cxx
src/stc/scintilla/src/KeyWords.cxx
src/stc/scintilla/src/LexAPDL.cxx
src/stc/scintilla/src/LexAU3.cxx
src/stc/scintilla/src/LexAVE.cxx
src/stc/scintilla/src/LexAda.cxx
src/stc/scintilla/src/LexAsm.cxx
src/stc/scintilla/src/LexAsn1.cxx
src/stc/scintilla/src/LexBaan.cxx
src/stc/scintilla/src/LexBash.cxx
src/stc/scintilla/src/LexBasic.cxx
src/stc/scintilla/src/LexBullant.cxx
src/stc/scintilla/src/LexCLW.cxx
src/stc/scintilla/src/LexCPP.cxx
src/stc/scintilla/src/LexCSS.cxx
src/stc/scintilla/src/LexCaml.cxx
src/stc/scintilla/src/LexCsound.cxx
src/stc/scintilla/src/LexConf.cxx
src/stc/scintilla/src/LexCrontab.cxx
src/stc/scintilla/src/LexEScript.cxx
src/stc/scintilla/src/LexEiffel.cxx
src/stc/scintilla/src/LexErlang.cxx
src/stc/scintilla/src/LexFlagship.cxx
src/stc/scintilla/src/LexForth.cxx
src/stc/scintilla/src/LexFortran.cxx
src/stc/scintilla/src/LexGui4Cli.cxx
src/stc/scintilla/src/LexHTML.cxx
src/stc/scintilla/src/LexHaskell.cxx
src/stc/scintilla/src/LexInno.cxx
src/stc/scintilla/src/LexKix.cxx
src/stc/scintilla/src/LexLisp.cxx
src/stc/scintilla/src/LexLout.cxx
src/stc/scintilla/src/LexLua.cxx
src/stc/scintilla/src/LexMMIXAL.cxx
src/stc/scintilla/src/LexMPT.cxx
src/stc/scintilla/src/LexMSSQL.cxx
src/stc/scintilla/src/LexMatlab.cxx
src/stc/scintilla/src/LexMetapost.cxx
src/stc/scintilla/src/LexNsis.cxx
src/stc/scintilla/src/LexOpal.cxx
src/stc/scintilla/src/LexOthers.cxx
src/stc/scintilla/src/LexPB.cxx
src/stc/scintilla/src/LexPOV.cxx
src/stc/scintilla/src/LexPS.cxx
src/stc/scintilla/src/LexPascal.cxx
src/stc/scintilla/src/LexPerl.cxx
src/stc/scintilla/src/LexPython.cxx
src/stc/scintilla/src/LexRebol.cxx
src/stc/scintilla/src/LexRuby.cxx
src/stc/scintilla/src/LexSQL.cxx
src/stc/scintilla/src/LexSmalltalk.cxx
src/stc/scintilla/src/LexTADS3.cxx
src/stc/scintilla/src/LexScriptol.cxx
src/stc/scintilla/src/LexSpecman.cxx
src/stc/scintilla/src/LexSpice.cxx
src/stc/scintilla/src/LexTCL.cxx
src/stc/scintilla/src/LexTeX.cxx
src/stc/scintilla/src/LexVB.cxx
src/stc/scintilla/src/LexVHDL.cxx
src/stc/scintilla/src/LexVerilog.cxx
src/stc/scintilla/src/LexYAML.cxx
src/stc/scintilla/src/LineMarker.cxx
src/stc/scintilla/src/PropSet.cxx
src/stc/scintilla/src/RESearch.cxx
src/stc/scintilla/src/ScintillaBase.cxx
src/stc/scintilla/src/Style.cxx
src/stc/scintilla/src/StyleContext.cxx
src/stc/scintilla/src/UniConversion.cxx
src/stc/scintilla/src/ViewStyle.cxx
src/stc/scintilla/src/WindowAccessor.cxx
src/stc/scintilla/src/XPM.cxx
</sources>
</lib>
<!-- use this to conditonally link against wxscintilla with <library>: -->
<set var="wxscintilla_library_link">
<if cond="USE_STC=='1' and BUILDING_LIB=='1'">wxscintilla</if>
</set>
</makefile>

View File

@@ -1,6 +1,4 @@
<?xml version="1.0" ?>
<!-- $Id$ -->
<makefile>
<if cond="FORMAT=='autoconf'">
@@ -23,24 +21,18 @@
</if>
</set>
</if>
<set var="INC_TIFF_BUILD"></set>
<if cond="FORMAT=='autoconf'">
<set var="INC_TIFF_BUILD">
<if cond="wxUSE_LIBTIFF=='builtin'">$(wx_top_builddir)/src/tiff/libtiff</if>
</set>
</if>
<set var="INC_TIFF">
<if cond="wxUSE_LIBTIFF=='builtin'">$(TOP_SRCDIR)src/tiff/libtiff</if>
<if cond="wxUSE_LIBTIFF=='builtin'">$(TOP_SRCDIR)src/tiff</if>
</set>
<set var="TIFF_PLATFORM_SRC">
<if cond="PLATFORM_UNIX=='1'">src/tiff/libtiff/tif_unix.c</if>
<if cond="PLATFORM_MACOSX=='1'">src/tiff/libtiff/tif_unix.c</if>
<if cond="PLATFORM_OS2=='1'">src/tiff/libtiff/tif_unix.c</if>
<if cond="PLATFORM_WIN32=='1'">src/tiff/libtiff/tif_win32.c</if>
<if cond="PLATFORM_MACOS=='1'">src/tiff/libtiff/tif_apple.c</if>
<if cond="PLATFORM_MSDOS=='1'">src/tiff/libtiff/tif_msdos.c</if>
<if cond="PLATFORM_UNIX=='1'">src/tiff/tif_unix.c</if>
<if cond="PLATFORM_MACOSX=='1'">src/tiff/tif_unix.c</if>
<if cond="PLATFORM_OS2=='1' and FORMAT!='watcom'">src/tiff/tif_unix.c</if>
<if cond="PLATFORM_OS2=='1' and FORMAT=='watcom'">src/tiff/tif_os2.c</if>
<if cond="PLATFORM_WIN32=='1'">src/tiff/tif_win32.c</if>
<if cond="PLATFORM_MACOS=='1'">src/tiff/tif_apple.c</if>
<if cond="PLATFORM_MSDOS=='1'">src/tiff/tif_msdos.c</if>
</set>
<lib id="wxtiff" template="3rdparty_lib"
@@ -48,50 +40,45 @@
<dirname>$(LIBDIRNAME)</dirname>
<include>$(INC_ZLIB)</include>
<include>$(INC_JPEG)</include>
<include>$(INC_TIFF_BUILD)</include>
<include>$(INC_TIFF)</include>
<cflags-borland>-w-8004 -w-8012 -w-8057 -w-8060 -w-8066</cflags-borland>
<cflags-dmars>-w2</cflags-dmars>
<cflags-watcom>-wcd=124</cflags-watcom>
<define cond="PLATFORM_OS2=='1' and FORMAT=='watcom'">OS2_32</define>
<define cond="PLATFORM_MSDOS=='1' and FORMAT=='watcom'">__MSDOS__</define>
<sources>
$(TIFF_PLATFORM_SRC)
src/tiff/libtiff/tif_aux.c
src/tiff/libtiff/tif_close.c
src/tiff/libtiff/tif_codec.c
src/tiff/libtiff/tif_color.c
src/tiff/libtiff/tif_compress.c
src/tiff/libtiff/tif_dir.c
src/tiff/libtiff/tif_dirinfo.c
src/tiff/libtiff/tif_dirread.c
src/tiff/libtiff/tif_dirwrite.c
src/tiff/libtiff/tif_dumpmode.c
src/tiff/libtiff/tif_error.c
src/tiff/libtiff/tif_extension.c
src/tiff/libtiff/tif_fax3.c
src/tiff/libtiff/tif_fax3sm.c
src/tiff/libtiff/tif_flush.c
src/tiff/libtiff/tif_getimage.c
src/tiff/libtiff/tif_jpeg.c
src/tiff/libtiff/tif_luv.c
src/tiff/libtiff/tif_lzw.c
src/tiff/libtiff/tif_next.c
src/tiff/libtiff/tif_ojpeg.c
src/tiff/libtiff/tif_open.c
src/tiff/libtiff/tif_packbits.c
src/tiff/libtiff/tif_pixarlog.c
src/tiff/libtiff/tif_predict.c
src/tiff/libtiff/tif_print.c
src/tiff/libtiff/tif_read.c
src/tiff/libtiff/tif_strip.c
src/tiff/libtiff/tif_swab.c
src/tiff/libtiff/tif_thunder.c
src/tiff/libtiff/tif_tile.c
src/tiff/libtiff/tif_version.c
src/tiff/libtiff/tif_warning.c
src/tiff/libtiff/tif_write.c
src/tiff/libtiff/tif_zip.c
src/tiff/tif_aux.c
src/tiff/tif_close.c
src/tiff/tif_codec.c
src/tiff/tif_color.c
src/tiff/tif_compress.c
src/tiff/tif_dir.c
src/tiff/tif_dirinfo.c
src/tiff/tif_dirread.c
src/tiff/tif_dirwrite.c
src/tiff/tif_dumpmode.c
src/tiff/tif_error.c
src/tiff/tif_extension.c
src/tiff/tif_fax3.c
src/tiff/tif_fax3sm.c
src/tiff/tif_getimage.c
src/tiff/tif_jpeg.c
src/tiff/tif_flush.c
src/tiff/tif_lzw.c
src/tiff/tif_luv.c
src/tiff/tif_next.c
src/tiff/tif_open.c
src/tiff/tif_packbits.c
src/tiff/tif_pixarlog.c
src/tiff/tif_predict.c
src/tiff/tif_print.c
src/tiff/tif_read.c
src/tiff/tif_swab.c
src/tiff/tif_strip.c
src/tiff/tif_thunder.c
src/tiff/tif_tile.c
src/tiff/tif_version.c
src/tiff/tif_warning.c
src/tiff/tif_write.c
src/tiff/tif_zip.c
</sources>
</lib>

View File

@@ -2,30 +2,37 @@
<!-- $Id$ -->
<makefile>
<!-- ================================================================== -->
<!-- Handling of binary compatiblity: -->
<!-- ================================================================== -->
<!--
We use libtool CURRENT:REVISION:AGE versioning scheme. Here are the
rules for updating the values below, this should be done whenever wx
version (wx/version.h) changes (we abbreviate WX_CURRENT:REVISION:AGE
as C:R:A respectively):
0. Set C:R:A = 0:0:0 if major or minor version has changed.
1. If any API has been removed or otherwise changed in backwards
incompatible way, then change C:R:A to C+1:0:0
2. Else, if any API has been added, change C:R:A to C+1:0:A+1
3. Else, i.e. if there were no changes at all to API but only internal
changes, change C:R:A to C:R+1:A
We use libtool CURRENT:REVISION:AGE versioning scheme. Quoting libtool
documentation on how to handle the values:
1. Start with version information of `0:0:0' for each libtool library.
2. Update the version information only immediately before a public
release of your software. More frequent updates are unnecessary,
and only guarantee that the current interface number gets larger
faster.
3. If the library source code has changed at all since the last
update, then increment REVISION (`C:R:A' becomes `C:r+1:A').
4. If any interfaces have been added, removed, or changed since the
last update, increment CURRENT, and set REVISION to 0.
5. If any interfaces have been added since the last public release,
then increment AGE.
6. If any interfaces have been removed since the last public release,
then set AGE to 0.
-->
<set var="WX_CURRENT">0</set>
<set var="WX_REVISION">0</set>
<set var="WX_AGE">0</set>
<set var="WX_CURRENT">3</set>
<set var="WX_REVISION">1</set>
<set var="WX_AGE">3</set>
<!-- ================================================================== -->
@@ -72,8 +79,7 @@
<!-- FIXME: until libtool scheme is implemented in bakefile -->
<set var="WXMACVERSION_CMD">
<if cond="PLATFORM_MACOSX=='1'">
<!-- Version can't be 0, so add 1 to it to force it to be non null -->
-compatibility_version $(int(WX_AGE)+1).0 -current_version $(int(WX_AGE)+1).$(WX_REVISION)
-compatibility_version $(WX_AGE).0 -current_version $(WX_AGE).$(WX_REVISION)
</if>
</set>

View File

@@ -24,7 +24,7 @@
<!-- ...and when there are multiple libraries: -->
<include file="multilib.bkl"/>
<if cond="FORMAT in ['msvc6prj','msevc4prj','msvs2005prj']">
<if cond="FORMAT in ['msvc6prj','msevc4prj']">
<set var="MSVC6PRJ_MERGED_TARGETS">
<if cond="MONOLITHIC=='0'">$(MSVC6PRJ_MERGED_TARGETS_MULTILIB)</if>
<if cond="MONOLITHIC=='1'">$(MSVC6PRJ_MERGED_TARGETS_MONOLIB)</if>
@@ -40,7 +40,7 @@
<subproject id="samples">
<installable>no</installable>
<dir cond="FORMAT=='autoconf'">samples</dir>
<dir cond="FORMAT!='autoconf' and TOOLKIT in ['PM','MSW','MGL','MOTIF']">../../samples</dir>
<dir cond="FORMAT!='autoconf' and TOOLKIT in ['PM','MSW','MGL']">../../samples</dir>
</subproject>
<if cond="FORMAT=='autoconf'">
@@ -61,20 +61,20 @@
<depends>xmllib</depends>
<command>
(if test -d utils/wxrc ; then cd utils/wxrc &amp;&amp; $(DOLLAR)(MAKE) all ; fi)
(test -d utils/wxrc &amp;&amp; cd utils/wxrc &amp;&amp; $(DOLLAR)(MAKE) all) || true
</command>
</action>
<action id="clean-wxrc" cond="USE_XRC=='1'">
<dependency-of>clean</dependency-of>
<command>
(if test -d utils/wxrc ; then cd utils/wxrc &amp;&amp; $(DOLLAR)(MAKE) clean ; fi)
(test -d utils/wxrc &amp;&amp; cd utils/wxrc &amp;&amp; $(DOLLAR)(MAKE) clean) || true
</command>
</action>
<action id="install-wxrc" cond="USE_XRC=='1'">
<dependency-of>install</dependency-of>
<depends>wxrc</depends>
<command>
(if test -d utils/wxrc ; then cd utils/wxrc &amp;&amp; $(DOLLAR)(MAKE) install ; fi)
(test -d utils/wxrc &amp;&amp; cd utils/wxrc &amp;&amp; $(DOLLAR)(MAKE) install) || true
</command>
</action>
@@ -97,7 +97,7 @@
$(INSTALL_DIR) $(DESTDIR)$(BINDIR)
$(INSTALL_DIR) $(DESTDIR)$(LIBDIR)/wx/config
$(INSTALL_PROGRAM) lib/wx/config/$(TOOLCHAIN_FULLNAME) $(DESTDIR)$(LIBDIR)/wx/config
(cd $(DESTDIR)$(BINDIR) &amp;&amp; rm -f wx-config &amp;&amp; $(LN_S) $(LIBDIR)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config)
(cd $(DESTDIR)$(BINDIR) &amp;&amp; rm -f wx-config &amp;&amp; $(LN_S) $(DESTDIR)$(LIBDIR)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config)
</command>
</action>
@@ -168,7 +168,7 @@
<!-- copy setup.h on DOS/OS2/Windows: -->
<if cond="FORMAT!='autoconf' and TOOLKIT in ['PM','MSW','MGL','MOTIF']">
<if cond="FORMAT!='autoconf' and TOOLKIT in ['PM','MSW','MGL']">
<mkdir id="libdir">
<dir>$(LIBDIRNAME)</dir>
</mkdir>

View File

@@ -59,6 +59,34 @@ In a standard install, you need not do anything so long as wx-config is on
your PATH. wx-config is all you need. (See the section of the book on using
wx-config for more information.)
~~~~~~~~~~~~~~
UNIX NOTES: If you are using wxpresets on Unix, and you are linking against
third-party wx components, or if you are using multi-lib builds and link against
non-core libs (e.g. media, gl, adv), you currently need to take special steps
on Unix.
a) To link against third-party wx components, add the following line to your
bakefile, right above the <exe> target.
<set var="BEFORE_WX_LIBS">-lmywxlib</set>
Where "mywxlib" is the name of the library you want to link against. Make sure
that the library is on your linker path.
b) To link against non-core libs, add the following line to your bakefile,
right above the <exe> target:
<set var="BEFORE_WX_LIBS">`$(DOLLAR)(WX_CONFIG) --libs mylib`</set>
Where 'mylib' is the base name of the non-core library you want to link against,
and insert the results into the <ldlibs> tag. For more information, please
see the Bakefile manual.
If you have multiple libs, or combinations, just make sure they appear in <set>
tag and are in the right order. We hope in future releases to have a simpler
solution to these issues.
~~~~~~~~~~~~~~
-- A Sample wx Project Bakefile --
Now that everything is setup, it's time to take Bakefile for a test run. I
@@ -112,6 +140,7 @@ would like to build, separated by commas. Valid values are:
autoconf GNU autoconf Makefile.in files
borland Borland C/C++ makefiles
cbuilderx C++ Builder X project files
dmars Digital Mars makefiles
dmars_smake Digital Mars makefiles for SMAKE
gnu GNU toolchain makefiles (Unix)
@@ -234,8 +263,6 @@ options are:
Option Values Description
------ ------ -------------
WX_MONOLITHIC 0(default),1 Set this to 1 if you built wx
as a monolithic library
WX_SHARED 0(default),1 Specify static or dynamic wx libs
WX_UNICODE 0(defualt),1 Use ANSI or UNICODE wx libs
WX_DEBUG 0,1(default) Use release or debug wx libs

View File

@@ -1,64 +0,0 @@
dnl Process this file with autoconf to produce a configure script.
AC_PREREQ(2.59)
AC_INIT([libsample],[1.2.5],[vslavik@fastmail.fm])
AC_CONFIG_SRCDIR([libsample.cpp])
dnl ---------------------------------------------------------------------------
dnl DEFINE CONFIGURE OPTIONS
dnl ---------------------------------------------------------------------------
dnl define all the wx-config related options
dnl (i.e. --with-wxdir, --with-wx-config, --with-wx-prefix, --with-wx-exec-prefix)
WX_CONFIG_OPTIONS
dnl define all the wxpresets related options
WX_STANDARD_OPTIONS([debug,unicode,shared,toolkit,wxshared])
dnl ---------------------------------------------------------------------------
dnl CONFIGURE CHECKS
dnl ---------------------------------------------------------------------------
dnl these checks are required by bakefile:
AC_CANONICAL_SYSTEM
AC_PROG_AWK
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_RANLIB
AC_PROG_CC
AC_PROG_CXX
AC_PROG_CXXCPP
dnl we want to always have DEBUG==WX_DEBUG and UNICODE==WX_UNICODE
WX_DEBUG=$DEBUG
WX_UNICODE=$UNICODE
dnl the following macros will search for the best matching wxWidgets build
dnl (taking in count the values of the --enable-debug|unicode|shared and of
dnl the --with-toolkit|wxshared options) and then set appropriately all the
dnl WX_* options
WX_CONVERT_STANDARD_OPTIONS_TO_WXCONFIG_FLAGS
WX_CONFIG_CHECK([2.8.0], [wxWin=1],,[core,base],[$WXCONFIG_FLAGS])
WX_DETECT_STANDARD_OPTION_VALUES
dnl here all WX_* option values are available for your own processing...
dnl ---------------------------------------------------------------------------
dnl CONFIGURE END
dnl ---------------------------------------------------------------------------
AC_BAKEFILE([m4_include(autoconf_inc.m4)])
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
dnl show a nice summary of the chosen build settings to the user
WX_STANDARD_OPTIONS_SUMMARY_MSG_BEGIN
WX_STANDARD_OPTIONS_SUMMARY_MSG_END

View File

@@ -1,47 +0,0 @@
<?xml version="1.0" ?>
<!-- $Id$ -->
<makefile>
<!-- a typical nice feature which wxpresets make available to wx-based programs
is to allow the user to build with different configurations those programs;
this is achieved in few fundamental steps:
1) set a different BUILDDIR for different build configurations
2) set different output dirs for the libraries built with a
different shared/static setting
3) set different output names for the libraries built with
different unicode/ansi and release/debug settings
-->
<include file="presets/wx.bkl"/>
<!-- the following line implements step #1: -->
<set-wxlike-builddir/>
<!-- through the use of the 'wx-lib' and 'wxlike' templates, we'll get
the ability to compile against any wxWidgets build using, for our
program, the same configuration of the selected wxWidgets build.
-->
<template id="my" template="wx-lib,wxlike">
<!-- wxlike-dirname implements step #2 (see initial comment) -->
<wxlike-dirname>lib</wxlike-dirname>
<sources>libsample.cpp</sources>
</template>
<lib id="static" template="my" cond="WX_SHARED=='0'">
<!-- wxlike-libname implements step #3 (see initial comment) -->
<wxlike-libname prefix='sample'>test</wxlike-libname>
</lib>
<dll id="shared" template="my" cond="WX_SHARED=='1'">
<!-- wxlike-dllname does step #3 (see initial comment) -->
<wxlike-dllname prefix='sample'>test</wxlike-dllname>
<define>WXMAKINGDLL_LIBSAMPLE</define>
<wx-lib>core</wx-lib>
<wx-lib>base</wx-lib>
</dll>
</makefile>

View File

@@ -1,41 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: libsample.cpp
// Purpose: The source of a dummy sample wx-based library
// Author: Francesco Montorsi
// Modified by:
// Created: 26/11/06
// RCS-ID: $Id$
// Copyright: (c) Francesco Montorsi
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// ============================================================================
// declarations
// ============================================================================
// ----------------------------------------------------------------------------
// headers
// ----------------------------------------------------------------------------
// For compilers that support precompilation, includes "wx/wx.h".
#include "wx/wxprec.h"
#ifdef __BORLANDC__
#pragma hdrstop
#endif
// for all others, include the necessary headers (this file is usually all you
// need because it includes almost all "standard" wxWindows headers)
#ifndef WX_PRECOMP
#include "wx/wx.h"
#endif
// ============================================================================
// implementation
// ============================================================================
void MyUtilityFunction()
{
wxPrintf(wxT("Hello world!\n"));
fflush(stdout);
}

View File

@@ -2,276 +2,14 @@
<!-- $Id$ -->
<!--
Presets for building wxWidgets applications.
These presets provide the following "public" interface:
OPTIONS:
- WX_* : used to let the user of the generated makefile choose a wxWidgets
build among those available; you can use them in your project to
e.g. build a target only if WX_DEBUG is 0 or if WX_PORT is "msw".
VARIABLES:
- WXLIBPOSTFIX: contains the [u][d] string which is typically useful when
defining names of directories/files which should coexist
with other builds using different wxWidgets configurations.
TEMPLATES:
- wx, wx-lib: templates to be used respectively for <dll>/<exe> and <lib>
targets; they add all the wxWidgets-related settings (e.g. the
include and library search paths, the __WXDEBUG__ symbol, etc)
- wxconsole: to be used when building console-only libraries or apps
(adds the wxUSE_GUI=0 define).
- wxlike: this template should be combined with "wx" or "wx-lib" and will
make your project build with the same Unicode, debug & shared
config as the wxWidgets build selected using the WX_* options.
TARGET TAGS:
- <wx-lib>: to define which wxWidgets libraries to link with;
please note that you should use them in the right order or
linking under Unix would result in errors, e.g.
<wx-lib>core</wx-lib>
<wx-lib>base</wx-lib>
is correct, but the reverse is not (if lib A depends on lib B, then
lib A must be listed before B). So <wx-lib>base</wx-lib>
(which must always be present) should be the last wx-lib tag.
- <wxlike-libname>,
<wxlike-dllname>: useful if you want to have a build logic similar to the
wxWidgets build logic which allows different builds to
coexist without conflicts. These tags helps you to name
libraries using the same wxWidgets rules and thus avoid
conflicts between libraries compiled in e.g. Unicode,
shared mode and those compiled in ANSI, shared mode &c.
- <wxlike-lib>: if your library/application needs to link with both
wxWidgets and some other wx-based library, which in turn
follows the wxWidgets naming conventions, then this tag is
what you need to reference the wx-based additional library.
- <wxlike-dirname>: sets the output directory for the current target to $(value)
when on Unix and to e.g. $(value)/vc_lib when on Windows,
i.e. acts like <dirname> just following wxWidgets naming rules.
Useful to allow multiple builds of the
- <wxlike-paths>: if your library/application needs to compile & link with both
wxWidgets and some other wx-based library, which in turn
follows the wxWidgets naming conventions, then this tag is
what you need to add to the compiler and linker flags the paths
of the "include" and "lib" folders of the wx-based additional library.
GLOBAL TAGS:
- <set-wxlike-builddir>: sets BUILDDIR using wxWidgets naming rules to help
to keep object files compiled with different
settings separate.
- <set-wxlike>: sets a variable with the name of a library named with the same
wxWidgets rules.
NOTE: as a reference here is a list of all wxWidgets libraries satisfying
the dependency constraints mentioned in <wx-lib> description:
<wx-lib>richtext</wx-lib>
<wx-lib>aui</wx-lib>
<wx-lib>stc</wx-lib>
<wx-lib>qa</wx-lib>
<wx-lib>dbgrid</wx-lib>
<wx-lib>gl</wx-lib>
<wx-lib>odbc</wx-lib>
<wx-lib>xrc</wx-lib>
<wx-lib>html</wx-lib>
<wx-lib>media</wx-lib>
<wx-lib>adv</wx-lib>
<wx-lib>net</wx-lib>
<wx-lib>xml</wx-lib>
<wx-lib>core</wx-lib>
<wx-lib>base</wx-lib>
Presents for building wxWidgets applications.
FIXME: docs
-->
<makefile>
<requires version="0.2.2"/>
<!-- this variable identifies the version of the wx presets.
this is changed only when major changes to wxpresets take place.
-->
<set var="WX_PRESETS_VERSION">4</set>
<!-- list of known libraries used by wx-lib tag defined in wx_unix.bkl and wx_win32.bkl
VERY IMPORTANT: when updating this list also update the <wx-lib> and <wx-all-libs>
tag definitions.
-->
<set var="WX_LIB_LIST">
base core net xml odbc xrc html adv media gl dbgrid qa aui richtext stc
</set>
<!-- if you define this variable to 0 before including wx presets, the
"test_for_selected_wxbuild" target which is added by default in win32 and GNU
makefiles, won't be added.
This is useful when e.g. you want to have wxWidgets as an optional
dependency and thus you don't want to perform that check unconditionally.
-->
<set var="WX_TEST_FOR_SELECTED_WXBUILD" overwrite="0">
1
</set>
<!-- this is a temporary variable until there is non general -->
<!-- function in bakefiles for returning native markup for -->
<!-- reading envrionment variables -->
<set var="ENV_VAR">
<if cond="FORMAT=='watcom'">%</if>
<if cond="FORMAT!='watcom'"></if>
</set>
<!-- OPTIONS -->
<!-- -->
<!-- These are essentially the configurations you -->
<!-- want in bakefile. -->
<!-- -->
<!-- In MSVC these are the different build -->
<!-- configurations you can have (in the build menu), -->
<!-- and in autoconf is enabled with enable-xxx=xx. -->
<!-- For other compilers a separate configuration -->
<!-- file is created (such as config.gcc on gcc) -->
<!-- which has several options a user can modify. -->
<!-- -->
<!-- Note that the above only happens if an option -->
<!-- is not constant, i.e. if it cannot be determined -->
<!-- by bakefile itself. -->
<!-- Also note that for 'autoconf' format these options -->
<!-- are only useful when used together with wxpresets.m4 -->
<!-- macro file which contains macros for detecting the -->
<!-- option values for wx-based projects. See wxpresets.m4 -->
<!-- comments for more info. -->
<!-- Presets for limited dmars make.exe format: -->
<if cond="FORMAT=='dmars'">
<set var="WX_UNICODE">0</set>
<set var="WX_DEBUG">1</set>
<set var="WX_SHARED">0</set>
</if>
<!-- 'gnu' format needs to redefine the following options later in wx_unix.bkl -->
<if cond="FORMAT=='gnu'">
<set var="WX_UNICODE"/>
<set var="WX_DEBUG"/>
<set var="WX_SHARED"/>
<set var="WX_PORT"/>
<set var="WX_VERSION"/>
</if>
<!-- This is a standard option that determines -->
<!-- whether the user wants to build this library as -->
<!-- a dll or as a static library. -->
<if cond="not isdefined('WX_SHARED')">
<set var="WX_SHARED_DEFAULT" overwrite="0">0</set>
<option name="WX_SHARED">
<values>0,1</values>
<values-description>Static,DLL</values-description>
<default-value>$(WX_SHARED_DEFAULT)</default-value>
<description>
Use DLL build of wx library?
</description>
</option>
</if>
<!-- Configuration for building the bakefile with -->
<!-- unicode strings or not (unicode or ansi). -->
<if cond="not isdefined('WX_UNICODE')">
<set var="WX_UNICODE_DEFAULT" overwrite="0">0</set>
<option name="WX_UNICODE">
<values>0,1</values>
<values-description>ANSI,Unicode</values-description>
<default-value>$(WX_UNICODE_DEFAULT)</default-value>
<description>
Use Unicode build of wxWidgets?
</description>
</option>
</if>
<if cond="not isdefined('WX_DEBUG')">
<set var="WX_DEBUG_DEFAULT" overwrite="0">1</set>
<option name="WX_DEBUG">
<values>0,1</values>
<values-description>Release,Debug</values-description>
<default-value>$(WX_DEBUG_DEFAULT)</default-value>
<description>
Use debug build of wxWidgets (define __WXDEBUG__)?
</description>
</option>
</if>
<if cond="not isdefined('WX_VERSION')">
<set var="WX_VERSION_DEFAULT" overwrite="0">29</set>
<option name="WX_VERSION">
<default-value>$(WX_VERSION_DEFAULT)</default-value>
<description>
Version of the wx library to build against.
</description>
</option>
</if>
<if cond="not isdefined('WX_MONOLITHIC')">
<set var="WX_MONOLITHIC_DEFAULT" overwrite="0">0</set>
<option name="WX_MONOLITHIC">
<values>0,1</values>
<values-description>Multilib,Monolithic</values-description>
<default-value>$(WX_MONOLITHIC_DEFAULT)</default-value>
<description>
Use monolithic build of wxWidgets?
</description>
</option>
</if>
<!-- The directory where wxWidgets is installed: -->
<if cond="not isdefined('WX_DIR')">
<set var="WX_DIR_DEFAULT" overwrite="0">$(DOLLAR)($(ENV_VAR)WXWIN)</set>
<option name="WX_DIR" category="path">
<default-value>$(WX_DIR_DEFAULT)</default-value>
<description>
The directory where wxWidgets library is installed
</description>
</option>
</if>
<!-- HELPER VARIABLES -->
<!-- -->
<!-- These are handy ways of dealing with the -->
<!-- extensions in the library names of the -->
<!-- wxWindows library. -->
<set var="WXLIBPOSTFIX">
<if cond="WX_DEBUG=='1' and WX_UNICODE=='1'">ud</if>
<if cond="WX_DEBUG=='1' and WX_UNICODE=='0'">d</if>
<if cond="WX_DEBUG=='0' and WX_UNICODE=='1'">u</if>
</set>
<!-- this is just a wrapper that includes the real implementation: -->
<set var="__wx_included_impl">0</set>
@@ -290,239 +28,4 @@
<error>This format is not (yet) supported by wx preset.</error>
</if>
<!-- HIGH-LEVEL TEMPLATE -->
<!-- -->
<!-- Combine 'wxlike' with 'wx' or 'wx-lib' templates to have your
project build in the same configuration used by the selected
wxWidgets build -->
<template id="wxlike">
<!-- WX_DEBUG-dependent -->
<set var="_OPT">
<if cond="WX_DEBUG=='1'">off</if>
<if cond="WX_DEBUG=='0'">speed</if>
</set>
<set var="_DEBUGINFO">
<if cond="WX_DEBUG=='1'">on</if>
<if cond="WX_DEBUG=='0'">off</if>
</set>
<if cond="FORMAT!='autoconf'">
<optimize>$(_OPT)</optimize>
<debug-info>$(_DEBUGINFO)</debug-info>
</if>
</template>
<!-- Template for building wx-based console applications -->
<template id="wxconsole" template="wx">
<define>wxUSE_GUI=0</define>
<app-type>console</app-type>
</template>
<!-- UTILITY TAGS -->
<!-- -->
<!-- private helper tag: does the same thing as for <set-wxlike> except that:
- the variable created is always named "__temp"
- can be used (only) inside targets as this is a non-global tag
-->
<define-tag name="__setlibname" rules="lib,dll,module,exe">
<set var="__temp">
<if cond="FORMAT!='autoconf' and FORMAT!='gnu'">
$(attributes['prefix'])_$(WX_PORT)$(WX_VERSION)$(WXLIBPOSTFIX)_$(value)
</if>
<if cond="FORMAT=='autoconf' or FORMAT=='gnu'">
$(attributes['prefix'])_$(WX_PORT)$(WXLIBPOSTFIX)_$(value)-$(WX_VERSION_MAJOR).$(WX_VERSION_MINOR)
</if>
</set>
</define-tag>
<!-- A simple tag which helps you to define a library name using the same rules used
by wxWidgets. Use the 'prefix' attribute to add your lib's prefix.
E.g.:
<wxlike-libname prefix='mylib'>module1</wxlike-libname>
<wxlike-libname prefix='mylib'>module2</wxlike-libname>
-->
<define-tag name="wxlike-libname" rules="lib">
<__setlibname prefix="$(attributes['prefix'])">$(value)</__setlibname>
<libname>$(__temp)</libname>
</define-tag>
<!-- exactly like <wxlike-libname> but this one sets the DLL name (and the DLL lib import name)
and thus must be used only inside a <dll> target...
-->
<define-tag name="wxlike-dllname" rules="dll,module">
<__setlibname prefix="$(attributes['prefix'])">$(value)</__setlibname>
<libname>$(__temp)</libname>
<dllname>$(__temp)</dllname>
</define-tag>
<!-- Links against a library which uses the same wxWidgets conventions.
-->
<define-tag name="wxlike-lib" rules="exe,lib,dll,module">
<__setlibname prefix="$(attributes['prefix'])">$(value)</__setlibname>
<sys-lib>$(__temp)</sys-lib>
</define-tag>
<!-- Sets as output folder for the current target a directory
called "$(value)/$(COMPILER)_lib|dll", just like wxWidgets does.
This makes it possible to keep separed the libraries/exes compiled with
different compilers and with a different value for WX_SHARED.
-->
<define-tag name="wxlike-dirname" rules="lib,dll,exe,module">
<if cond="FORMAT!='autoconf'">
<set var="_DIRNAME_SHARED_SUFFIX">
<if cond="WX_SHARED=='0'">lib</if>
<if cond="WX_SHARED=='1'">dll</if>
</set>
<set var="_DIRNAME">
$(value)/$(COMPILER)_$(_DIRNAME_SHARED_SUFFIX)
</set>
<dirname>$(_DIRNAME)</dirname>
<if cond="FORMAT_SUPPORTS_ACTIONS=='1'">
<set var="__mkdir_tgt">make_dir_$(id)</set>
<add-target target="$(__mkdir_tgt)" type="action"/>
<modify-target target="$(__mkdir_tgt)">
<command cond="TOOLSET=='unix'">
@mkdir -p $(_DIRNAME)
</command>
<command cond="TOOLSET in ['win32','os2','dos']">
if not exist $(nativePaths(_DIRNAME)) mkdir $(nativePaths(_DIRNAME))
</command>
</modify-target>
<!-- the following code is mostly equivalent to a:
<dependency-of>$(id)</dependency-of>
put into the __mkdir_tgt target, except that it does _prepend_
the __mkdir_tgt dependency instead of appending it.
This is required because some compilers (e.g. MSVC) need to store in the
output folder some files (e.g. the PDB file) while compiling and thus
the library output folder must have been created before _any_ source file
is compiled, not just before the library is linked.
-->
<modify-target target="$(id)">
<set var="__deps" prepend="1">
$(substitute(__mkdir_tgt, lambda x: ref('__depname', x), 'DEP'))
</set>
</modify-target>
</if>
</if>
<if cond="FORMAT=='autoconf'">
<set var="_DIRNAME">$(value)</set>
<dirname>$(_DIRNAME)</dirname>
</if>
</define-tag>
<!-- Adds to the compiler & linker flags the path for the "include" and the
"lib" folders of a library following wxWidgets conventions which is
located in $(value).
-->
<define-tag name="wxlike-paths" rules="exe,lib,dll,module">
<if cond="FORMAT!='autoconf' and FORMAT!='gnu'">
<!-- WXLIBPATH is a path like "/lib/vc_lib"
NOTE: even if this template is going to be used for a "lib"
target (which does not uses lib-paths at all), we can still
use the <lib-path> target: it will just be discarded
-->
<lib-path>$(value)$(WXLIBPATH)</lib-path>
<!-- no special include paths for a lib following wxWidgets naming
conventions -->
<include>$(value)/include</include>
</if>
<!-- for autoconf format the user should use CPPFLAGS and LDFLAGS to
specify non-system paths since the wx-based library should have
been installed in standard paths
-->
</define-tag>
<!-- UTILITY GLOBAL TAGS -->
<!-- -->
<!-- Sets the BUILDDIR variable using the same rules used by wxWidgets itself.
This makes it possible to keep separed the object files compiled with
different configuration settings.
-->
<define-global-tag name="set-wxlike-builddir">
<!-- note that the builddir for autoconf should always be '.' -->
<if cond="FORMAT!='autoconf'">
<set var="_BUILDDIR_SHARED_SUFFIX">
<if cond="WX_SHARED=='0'"></if>
<if cond="WX_SHARED=='1'">_dll</if>
</set>
<set var="BUILDDIR">
$(COMPILER)$(WX_PORT)$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)
</set>
</if>
</define-global-tag>
<!-- Sets a variable with the name of the 'var' attribute value using the
same rules used for wxWidgets library naming.
E.g.
<set-wxlike var='MYMODULE_LIBNAME' prefix='mylib'>
mymodule
</set-wxlike>
This tag also supports a 'cond' attribute making it very powerful
for conditional linking a wx-based library:
<option name="USE_MYMODULE">
<values>0,1</values>
</option>
<set-wxlike var='MYMODULE_DEP'
prefix='mylib'
cond="USE_MYMODULE=='1'">
mymodule
</set-wxlike>
...
<exe id="myexe">
<sys-lib>$(MYMODULE_DEP)</sys-lib>
</exe>
-->
<define-global-tag name="set-wxlike">
<if cond="FORMAT!='autoconf' and FORMAT!='gnu'">
<if cond="'cond' not in attributes">
<set var="$(attributes['var'])">
$(attributes['prefix'])_$(WX_PORT)$(WX_VERSION)$(WXLIBPOSTFIX)_$(value)
</set>
</if>
<if cond="'cond' in attributes">
<set var="$(attributes['var'])">
<if cond="$(attributes['cond'])">
$(attributes['prefix'])_$(WX_PORT)$(WX_VERSION)$(WXLIBPOSTFIX)_$(value)
</if>
</set>
</if>
</if>
<if cond="FORMAT=='autoconf' or FORMAT=='gnu'">
<if cond="'cond' not in attributes">
<set var="$(attributes['var'])">
$(attributes['prefix'])_$(WX_PORT)$(WXLIBPOSTFIX)_$(value)-$(WX_VERSION_MAJOR).$(WX_VERSION_MINOR)
</set>
</if>
<if cond="'cond' in attributes">
<set var="$(attributes['var'])">
<if cond="$(attributes['cond'])">
$(attributes['prefix'])_$(WX_PORT)$(WXLIBPOSTFIX)_$(value)-$(WX_VERSION_MAJOR).$(WX_VERSION_MINOR)
</if>
</set>
</if>
</if>
</define-global-tag>
</makefile>

View File

@@ -5,262 +5,92 @@
Presents for building wxWidgets applications using Autoconf or GNU toosets.
See wx.bkl for platform-independent notes.
Usage:
Options WX_CPPFLAGS, WX_CFLAGS, WX_CXXFLAGS, WX_LIBS are defined.
Format-specific notes:
* autoconf:
Beware that you have to use AM_OPTIONS_WXCONFIG and
AM_PATH_WXCONFIG in your configure.in to get at least the
WX_CPPFLAGS, WX_CFLAGS, WX_CXXFLAGS, WX_LIBS option values defined.
To detect the WX_* option values typically you also want to use
the AM_WXPRESETS_OPTIONS and AM_WXPRESETS_CHECKS macros
(see wxpresets.m4 for more info).
AM_PATH_WXCONFIG in your configure.in!
-->
<makefile>
<!-- ============================================================== -->
<!-- Autoconf -->
<!-- ============================================================== -->
<if cond="FORMAT=='autoconf'">
<!-- Autoconf backend is simplicity itself thanks to wx-config... -->
<option name="WX_CFLAGS"/>
<option name="WX_CXXFLAGS"/>
<option name="WX_CPPFLAGS"/>
<option name="WX_LIBS"/>
<option name="WX_RESCOMP"/>
<option name="WX_VERSION_MAJOR"/>
<option name="WX_VERSION_MINOR"/>
<option name="WX_PORT"/>
<!-- wxwin.m4 macros will detect all WX_* options defined above -->
<!-- VERY IMPORTANT: <wx-lib>base</wx-lib> must be the last wx-lib tag
in all your bakefiles !!
-->
<define-tag name="wx-lib" rules="exe,dll,module">
<if cond="value=='base'">
<!-- all wx-dependent libraries should have been already listed
thus we can now add WX_LIBS to the linker line -->
<ldlibs>$(WX_LIBS)</ldlibs>
</if>
<if cond="value not in WX_LIB_LIST.split()">
<error>Unknown wxWidgets library given in the wx-lib tag</error>
</if>
</define-tag>
</if>
<!-- ============================================================== -->
<!-- GNU makefiles for Unix -->
<!-- ============================================================== -->
<if cond="FORMAT=='gnu'">
<!-- remove those WX_* vars which were created just to avoid the definition
of the WX_* options in wx.bkl -->
<unset var="WX_SHARED"/>
<unset var="WX_UNICODE"/>
<unset var="WX_DEBUG"/>
<unset var="WX_PORT"/>
<unset var="WX_VERSION"/>
<set var="WX_CONFIG_DEFAULT" overwrite="0">wx-config</set>
<option name="WX_CONFIG">
<default-value>$(WX_CONFIG_DEFAULT)</default-value>
<default-value>wx-config</default-value>
<description>Location and arguments of wx-config script</description>
</option>
<set var="WX_PORT_DEFAULT" overwrite="0">
$(DOLLAR)(shell $(WX_CONFIG) --selected-config | cut -d '-' -f 1)
</set>
<option name="WX_PORT">
<values>gtk1,gtk2,msw,x11,motif,mgl,mac,dfb</values>
<default-value force="1">$(WX_PORT_DEFAULT)</default-value>
<description>
Port of the wx library to build against
</description>
<option name="WX_CFLAGS">
<default-value>`$(DOLLAR)(WX_CONFIG) --cflags`</default-value>
<description>C flags to use with wxWidgets code</description>
</option>
<set var="WX_SHARED_DEFAULT" overwrite="0">
$(DOLLAR)(shell if test -z `$(WX_CONFIG) --selected-config | cut -d '-' -f 5`; then echo 1; else echo 0; fi)
</set>
<option name="WX_SHARED">
<values>0,1</values>
<values-description>Static,DLL</values-description>
<default-value force="1">$(WX_SHARED_DEFAULT)</default-value>
<description>
Use DLL build of wx library to use?
</description>
<option name="WX_CXXFLAGS">
<default-value>`$(DOLLAR)(WX_CONFIG) --cxxflags`</default-value>
<description>C++ flags to use with wxWidgets code</description>
</option>
<set var="WX_UNICODE_DEFAULT" overwrite="0">
$(DOLLAR)(shell $(WX_CONFIG) --selected-config | cut -d '-' -f 2 | sed 's/unicode/1/;s/ansi/0/')
</set>
<option name="WX_UNICODE">
<values>0,1</values>
<values-description>ANSI,Unicode</values-description>
<default-value force="1">$(WX_UNICODE_DEFAULT)</default-value>
<description>
Compile Unicode build of wxWidgets?
</description>
<option name="WX_CPPFLAGS">
<default-value>`$(DOLLAR)(WX_CONFIG) --cppflags`</default-value>
<description>C preprocessor flags to use with wxWidgets code</description>
</option>
<set var="WX_DEBUG_DEFAULT" overwrite="0">
$(DOLLAR)(shell $(WX_CONFIG) --selected-config | cut -d '-' -f 3 | sed 's/debug/1/;s/release/0/')
</set>
<option name="WX_DEBUG">
<values>0,1</values>
<values-description>Release,Debug</values-description>
<default-value force="1">$(WX_DEBUG_DEFAULT)</default-value>
<description>
Use debug build of wxWidgets (define __WXDEBUG__)?
</description>
<option name="WX_LIBS">
<default-value>`$(DOLLAR)(WX_CONFIG) --libs`</default-value>
<description>wxWidgets libraries to link against</description>
</option>
<set var="WX_VERSION_DEFAULT" overwrite="0">
$(DOLLAR)(shell $(WX_CONFIG) --selected-config | sed -e 's/.*-\([0-9]*\)\.\([0-9]*\)$$/\1\2/')
</set>
<option name="WX_VERSION">
<default-value>$(WX_VERSION_DEFAULT)</default-value>
<description>
Version of the wx library to build against.
</description>
</option>
<!-- Get MAJOR and MINOR version numbers -->
<set var="WX_VERSION_MAJOR" make_var="1">
$(DOLLAR)(shell echo $(DOLLAR)(WX_VERSION) | cut -c1,1)
</set>
<set var="WX_VERSION_MINOR" make_var="1">
$(DOLLAR)(shell echo $(DOLLAR)(WX_VERSION) | cut -c2,2)
</set>
<!--
Using the GNU format creates a configurable makefile just like
a win32 makefile: i.e. a makefile where you can select the wanted
wxWidgets build using the WX_* options.
The difference with win32 makefiles is that WX_DEBUG, WX_UNICODE and
WX_SHARED options have a smart default value which is created using
the installed wx-config or the wx-config given using WX_CONFIG option
-->
<set var="WX_CONFIG_DEBUG_FLAG">
<if cond="WX_DEBUG=='0'">--debug=no</if>
<if cond="WX_DEBUG=='1'">--debug=yes</if>
</set>
<set var="WX_CONFIG_UNICODE_FLAG">
<if cond="WX_UNICODE=='0'">--unicode=no</if>
<if cond="WX_UNICODE=='1'">--unicode=yes</if>
</set>
<set var="WX_CONFIG_SHARED_FLAG">
<if cond="WX_SHARED=='0'">--static=yes</if>
<if cond="WX_SHARED=='1'">--static=no</if>
</set>
<set var="WX_CONFIG_PORT_FLAG">
--toolkit=$(WX_PORT)
</set>
<set var="WX_CONFIG_VERSION_FLAG">
--version=$(WX_VERSION_MAJOR).$(WX_VERSION_MINOR)
</set>
<set var="WX_CONFIG_FLAGS" make_var="1">
$(WX_CONFIG_DEBUG_FLAG) $(WX_CONFIG_UNICODE_FLAG) $(WX_CONFIG_SHARED_FLAG)
$(WX_CONFIG_PORT_FLAG) $(WX_CONFIG_VERSION_FLAG)
</set>
<set var="WX_CFLAGS">`$(DOLLAR)(WX_CONFIG) --cflags $(WX_CONFIG_FLAGS)`</set>
<set var="WX_CXXFLAGS">`$(DOLLAR)(WX_CONFIG) --cxxflags $(WX_CONFIG_FLAGS)`</set>
<set var="WX_CPPFLAGS">`$(DOLLAR)(WX_CONFIG) --cppflags $(WX_CONFIG_FLAGS)`</set>
<set var="WX_RESCOMP">`$(DOLLAR)(WX_CONFIG) --rescomp $(WX_CONFIG_FLAGS)`</set>
<!--
VERY IMPORTANT: before starting to build all targets of the generated makefile,
we need to check if the selected wxWidgets build exists; we do
that simply creating the following target; if it fails the make
program will halt with the wx-config error message...
-->
<if cond="WX_TEST_FOR_SELECTED_WXBUILD=='1'">
<action id="test_for_selected_wxbuild">
<dependency-of>all</dependency-of>
<!-- Use @ to hide to the user that we're running wx-config... -->
<command>@$(DOLLAR)(WX_CONFIG) $(WX_CONFIG_FLAGS)</command>
</action>
</if>
<!-- we need this but the trick used in default-values above
prevents bakefile from detecting it: -->
<set var="FORMAT_OUTPUT_VARIABLES" append="1">WX_CONFIG WX_VERSION</set>
<!-- VERY IMPORTANT: <wx-lib>base</wx-lib> must be the last wx-lib tag
in all your bakefiles !!
-->
<define-tag name="wx-lib" rules="exe,dll,module">
<if cond="value=='base'">
<!-- all wx libraries should have been already specified, thus
$(__liblist) should contain the full list... -->
<set var="__liblist" append="1">base</set>
<ldlibs>`$(WX_CONFIG) $(WX_CONFIG_FLAGS) --libs $(','.join(__liblist.split()))`</ldlibs>
</if>
<if cond="value!='base'">
<set var="__liblist" append="1">$(value)</set>
</if>
<if cond="value not in WX_LIB_LIST.split()">
<error>Unknown wxWidgets library given in the wx-lib tag</error>
</if>
</define-tag>
<set var="FORMAT_OUTPUT_VARIABLES" append="1">WX_CONFIG</set>
</if>
<set var="BEFORE_WX_LIBS"></set>
<!-- ============================================================== -->
<!-- Common code -->
<!-- ============================================================== -->
<if cond="FORMAT not in ['gnu','autoconf']">
<error>
Don't include presets/wx_unix.bkl directly, use presets/wx.bkl.
</error>
</if>
<!--
We need to re-define the WINDRES resource compiler name to the resource compiler
returned by 'wx-config - -rescomp' since this option returns both the name of the
resource compiler to use (windres) and the flags required for that compiler.
This line typically does something *only* when the Makefile.in generated
using this bakefile, is used on Windows with MSYS (when using Cygwin, resources
are not compiled at all).
Without this line, in fact, when compiling with MSYS on Windows, the - -include-dir
option which tells windres to look in wxWidgets\include folder would be missing and
then windres would fail to find the wxMSW resources.
NOTE: overwriting the WINDRES variable we add wxWidgets resource flags to
all targets which include this bakefile; this could be useless to those
targets which are not wx-based eventually present in that bakefile but
in any case it shouldn't do any harm.
-->
<set var="WINDRES">$(WX_RESCOMP)</set>
<template id="wx-lib">
<cxxflags>$(WX_CXXFLAGS)</cxxflags>
<cflags>$(WX_CFLAGS)</cflags>
</template>
<template id="wx" template="wx-lib">
<!--
Don't include the $(WX_LIBS) variable in linker options here since
it would make impossible for the user to obtain the right library
order when he needs to specify, *before* WX_LIBS, its own libraries
that depend on wxWidgets libraries; to avoid this, we include
$(WX_LIBS) as soon as we found the <wx-lib>base</wx-lib> tag which
the user should always put *after* all other wx-dependent libraries
<!-- this is a hack to allow wx components to be linked against,
as the components must be specified before the wx libs themselves.
We hope to have a more comprehensive solution that addresses this
problem as well as the need to use wx-config separately for add-on
wx libs.
-->
<ldlibs>$(BEFORE_WX_LIBS) $(WX_LIBS)</ldlibs>
</template>
<!-- not used together with wx-config: -->
<define-tag name="wx-lib" rules="exe,dll,module"/>
</makefile>

View File

@@ -9,9 +9,21 @@
<!-- Last revision: 22/1/2005 off-CVS -->
<!-- $Id$ -->
<!--
FIXME: this template has (at least) the following bugs:
* it's MSW-only, the port is assumed to be wxMSW unconditionally
* multiple wx configurations (CFG variable set when building the
library) are not supported
-->
<!-- makefile tag signifies the beginning of the bakefile -->
<makefile>
<requires version="0.1.5"/>
<!-- OPTIONS -->
<!-- -->
@@ -28,12 +40,97 @@
<!-- Note that the above only happens if an option -->
<!-- is not constant, i.e. if it cannot be determined -->
<!-- by bakefile itself. -->
<!-- Also note that for 'autoconf' format these options -->
<!-- are only useful when used together with wxpresets.m4 -->
<!-- macro file which contains macros for detecting the -->
<!-- option values for wx-based projects. See wxpresets.m4 -->
<!-- comments for more info. -->
<!-- this is a temporary variable until there is non general -->
<!-- function in bakefiles for returning native markup for -->
<!-- reading envrionment variables -->
<set var="ENV_VAR">
<if cond="FORMAT=='watcom'">%</if>
<if cond="FORMAT!='watcom'"></if>
</set>
<!-- Presets for limited dmars make.exe format: -->
<if cond="FORMAT=='dmars'">
<set var="WX_UNICODE">0</set>
<set var="WX_DEBUG">1</set>
<set var="WX_SHARED">0</set>
</if>
<!-- The directory where wxWidgets is installed: -->
<if cond="not isdefined('WX_DIR')">
<set var="WX_DIR_DEFAULT" overwrite="0">$(DOLLAR)($(ENV_VAR)WXWIN)</set>
<option name="WX_DIR" category="path">
<default-value>$(WX_DIR_DEFAULT)</default-value>
<description>
The directory where wxWidgets library is installed
</description>
</option>
</if>
<!-- This is a standard option that determines -->
<!-- whether the user wants to build this library as -->
<!-- a dll or as a static library. -->
<if cond="not isdefined('WX_SHARED')">
<set var="WX_SHARED_DEFAULT" overwrite="0">0</set>
<option name="WX_SHARED">
<values>0,1</values>
<values-description>,DLL</values-description>
<default-value>$(WX_SHARED_DEFAULT)</default-value>
<description>
Use DLL build of wx library to use?
</description>
</option>
</if>
<!-- Configuration for building the bakefile with -->
<!-- unicode strings or not (unicode or ansi). -->
<if cond="not isdefined('WX_UNICODE')">
<set var="WX_UNICODE_DEFAULT" overwrite="0">0</set>
<option name="WX_UNICODE">
<values>0,1</values>
<values-description>,Unicode</values-description>
<default-value>$(WX_UNICODE_DEFAULT)</default-value>
<description>
Compile Unicode build of wxWidgets?
</description>
</option>
</if>
<if cond="not isdefined('WX_DEBUG')">
<set var="WX_DEBUG_DEFAULT" overwrite="0">1</set>
<option name="WX_DEBUG">
<values>0,1</values>
<values-description>Release,Debug</values-description>
<default-value>$(WX_DEBUG_DEFAULT)</default-value>
<description>
Use debug build of wxWidgets (define __WXDEBUG__)?
</description>
</option>
</if>
<if cond="not isdefined('WX_VERSION')">
<set var="WX_VERSION_DEFAULT" overwrite="0">26</set>
<option name="WX_VERSION">
<default-value>$(WX_VERSION_DEFAULT)</default-value>
<description>
Version of the wx library to build against.
</description>
</option>
</if>
<if cond="not isdefined('WX_MONOLITHIC')">
<set var="WX_MONOLITHIC_DEFAULT" overwrite="0">0</set>
<option name="WX_MONOLITHIC">
<values>0,1</values>
<values-description>Multilib,Monolithic</values-description>
<default-value>$(WX_MONOLITHIC_DEFAULT)</default-value>
<description>
Use monolithic build of wxWidgets?
</description>
</option>
</if>
<!-- HELPER VARIABLES -->
@@ -57,6 +154,11 @@
<!-- These are handy ways of dealing with the -->
<!-- extensions in the library names of the -->
<!-- wxWindows library. -->
<set var="WXLIBPOSTFIX">
<if cond="WX_DEBUG=='1' and WX_UNICODE=='1'">ud</if>
<if cond="WX_DEBUG=='1' and WX_UNICODE=='0'">d</if>
<if cond="WX_DEBUG=='0' and WX_UNICODE=='1'">u</if>
</set>
<set var="WX3RDPARTYLIBPOSTFIX">
<if cond="WX_DEBUG=='1'">d</if>
</set>
@@ -70,14 +172,11 @@
<if cond="WX_SHARED=='1'">$(DIRSEP)lib$(DIRSEP)$(COMPILER)$(WXCPU)_dll</if>
</set>
<!-- under Unix this is an option (detected at configure-time);
under Windows this is not an user option! -->
<set var="WX_PORT">
<set var="WXPORT">
<if cond="FORMAT=='msevc4prj'">wince</if>
<if cond="FORMAT!='msevc4prj'">msw</if>
</set>
<set var="WXLIBINCLUDE">$(WXLIBPATH)$(DIRSEP)$(WX_PORT)$(WXLIBPOSTFIX)</set>
<set var="WXLIBINCLUDE">$(WXLIBPATH)$(DIRSEP)$(WXPORT)$(WXLIBPOSTFIX)</set>
<!-- All the possible mixes for the wx library names -->
@@ -93,65 +192,82 @@
WX_MONOLITHIC=1, then the base library is translated to the
monolithic library
-->
<if cond="WX_MONOLITHIC=='1' and WX_UNICODE=='0' and WX_DEBUG=='0'">wx$(WX_PORT)$(WX_VERSION)</if>
<if cond="WX_MONOLITHIC=='1' and WX_UNICODE=='0' and WX_DEBUG=='1'">wx$(WX_PORT)$(WX_VERSION)d</if>
<if cond="WX_MONOLITHIC=='1' and WX_UNICODE=='1' and WX_DEBUG=='0'">wx$(WX_PORT)$(WX_VERSION)u</if>
<if cond="WX_MONOLITHIC=='1' and WX_UNICODE=='1' and WX_DEBUG=='1'">wx$(WX_PORT)$(WX_VERSION)ud</if>
<if cond="WX_MONOLITHIC=='1' and WX_UNICODE=='0' and WX_DEBUG=='0'">wx$(WXPORT)$(WX_VERSION)</if>
<if cond="WX_MONOLITHIC=='1' and WX_UNICODE=='0' and WX_DEBUG=='1'">wx$(WXPORT)$(WX_VERSION)d</if>
<if cond="WX_MONOLITHIC=='1' and WX_UNICODE=='1' and WX_DEBUG=='0'">wx$(WXPORT)$(WX_VERSION)u</if>
<if cond="WX_MONOLITHIC=='1' and WX_UNICODE=='1' and WX_DEBUG=='1'">wx$(WXPORT)$(WX_VERSION)ud</if>
</set>
<!-- Libraries whose name is prefixed with 'wxbase' -->
<define-global-tag name="define-wxbase-lib-name">
<set var="WXLIB_$(value.upper())_NAME">
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='0'">
wxbase$(WX_VERSION)_$(value)
</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='1'">
wxbase$(WX_VERSION)d_$(value)
</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='0'">
wxbase$(WX_VERSION)u_$(value)
</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='1'">
wxbase$(WX_VERSION)ud_$(value)
</if>
<set var="WXLIB_NET_NAME">
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='0'">wxbase$(WX_VERSION)_net</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='1'">wxbase$(WX_VERSION)d_net</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='0'">wxbase$(WX_VERSION)u_net</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='1'">wxbase$(WX_VERSION)ud_net</if>
</set>
<set var="WXLIB_XML_NAME">
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='0'">wxbase$(WX_VERSION)_xml</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='1'">wxbase$(WX_VERSION)d_xml</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='0'">wxbase$(WX_VERSION)u_xml</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='1'">wxbase$(WX_VERSION)ud_xml</if>
</set>
<set var="WXLIB_ODBC_NAME">
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='0'">wxbase$(WX_VERSION)_odbc</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='1'">wxbase$(WX_VERSION)d_odbc</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='0'">wxbase$(WX_VERSION)u_odbc</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='1'">wxbase$(WX_VERSION)ud_odbc</if>
</set>
</define-global-tag>
<define-wxbase-lib-name>net</define-wxbase-lib-name>
<define-wxbase-lib-name>xml</define-wxbase-lib-name>
<define-wxbase-lib-name>odbc</define-wxbase-lib-name>
<!-- Libraries whose name is prefixed with 'wx' only -->
<define-global-tag name="define-wxlib-name">
<set var="WXLIB_$(value.upper())_NAME">
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='0'">
wx$(WX_PORT)$(WX_VERSION)_$(value)
</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='1'">
wx$(WX_PORT)$(WX_VERSION)d_$(value)
</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='0'">
wx$(WX_PORT)$(WX_VERSION)u_$(value)
</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='1'">
wx$(WX_PORT)$(WX_VERSION)ud_$(value)
</if>
</set>
</define-global-tag>
<set var="WXLIB_CORE_NAME">
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='0'">wx$(WXPORT)$(WX_VERSION)_core</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='1'">wx$(WXPORT)$(WX_VERSION)d_core</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='0'">wx$(WXPORT)$(WX_VERSION)u_core</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='1'">wx$(WXPORT)$(WX_VERSION)ud_core</if>
</set>
<set var="WXLIB_MEDIA_NAME">
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='0'">wx$(WXPORT)$(WX_VERSION)_media</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='1'">wx$(WXPORT)$(WX_VERSION)d_media</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='0'">wx$(WXPORT)$(WX_VERSION)u_media</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='1'">wx$(WXPORT)$(WX_VERSION)ud_media</if>
</set>
<set var="WXLIB_XRC_NAME">
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='0'">wx$(WXPORT)$(WX_VERSION)_xrc</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='1'">wx$(WXPORT)$(WX_VERSION)d_xrc</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='0'">wx$(WXPORT)$(WX_VERSION)u_xrc</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='1'">wx$(WXPORT)$(WX_VERSION)ud_xrc</if>
</set>
<set var="WXLIB_HTML_NAME">
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='0'">wx$(WXPORT)$(WX_VERSION)_html</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='1'">wx$(WXPORT)$(WX_VERSION)d_html</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='0'">wx$(WXPORT)$(WX_VERSION)u_html</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='1'">wx$(WXPORT)$(WX_VERSION)ud_html</if>
</set>
<set var="WXLIB_ADV_NAME">
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='0'">wx$(WXPORT)$(WX_VERSION)_adv</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='1'">wx$(WXPORT)$(WX_VERSION)d_adv</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='0'">wx$(WXPORT)$(WX_VERSION)u_adv</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='1'">wx$(WXPORT)$(WX_VERSION)ud_adv</if>
</set>
<set var="WXLIB_QA_NAME">
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='0'">wx$(WXPORT)$(WX_VERSION)_qa</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='1'">wx$(WXPORT)$(WX_VERSION)d_qa</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='0'">wx$(WXPORT)$(WX_VERSION)u_qa</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='1'">wx$(WXPORT)$(WX_VERSION)ud_qa</if>
</set>
<set var="WXLIB_DBGRID_NAME">
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='0'">wx$(WXPORT)$(WX_VERSION)_dbgrid</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='1'">wx$(WXPORT)$(WX_VERSION)d_dbgrid</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='0'">wx$(WXPORT)$(WX_VERSION)u_dbgrid</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='1'">wx$(WXPORT)$(WX_VERSION)ud_dbgrid</if>
</set>
<set var="WXLIB_GL_NAME">
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='0'">wx$(WXPORT)$(WX_VERSION)_gl</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='1'">wx$(WXPORT)$(WX_VERSION)d_gl</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='0'">wx$(WXPORT)$(WX_VERSION)u_gl</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='1'">wx$(WXPORT)$(WX_VERSION)ud_gl</if>
</set>
<define-wxlib-name>core</define-wxlib-name>
<define-wxlib-name>media</define-wxlib-name>
<define-wxlib-name>xrc</define-wxlib-name>
<define-wxlib-name>html</define-wxlib-name>
<define-wxlib-name>adv</define-wxlib-name>
<define-wxlib-name>qa</define-wxlib-name>
<define-wxlib-name>dbgrid</define-wxlib-name>
<define-wxlib-name>gl</define-wxlib-name>
<define-wxlib-name>aui</define-wxlib-name>
<define-wxlib-name>stc</define-wxlib-name>
<define-wxlib-name>richtext</define-wxlib-name>
@@ -175,6 +291,15 @@
<!-- libraries required by the platform, the libraries -->
<!-- we want for our stuff, and the wxWindows libs. -->
<!-- list of known libraries used by wx-lib tag below -->
<set var="LIB_LIST">base core net xml odbc xrc html adv media gl dbgrid qa</set>
<!-- NOTE: refer to the NET contrib using NETUTILS instead of NET
(which is already in LIB_LIST) -->
<set var="CONTRIBLIB_LIST">animate applet deprecated fl foldbar gizmos mmedia netutils ogl plot stc svg</set>
<set var="ALLLIB_LIST">$(LIB_LIST) $(CONTRIBLIB_LIST)</set>
<!-- this tag is used to include wx libraries: -->
<define-tag name="wx-lib" rules="exe,dll,module">
<if cond="value=='base'"><sys-lib>$(WXLIB_BASE_NAME)</sys-lib></if>
@@ -191,17 +316,14 @@
<if cond="value=='gl'"><sys-lib>$(WXLIB_GL_NAME)</sys-lib></if>
<if cond="value=='dbgrid'"><sys-lib>$(WXLIB_DBGRID_NAME)</sys-lib></if>
<if cond="value=='qa'"><sys-lib>$(WXLIB_QA_NAME)</sys-lib></if>
<if cond="value=='aui'"><sys-lib>$(WXLIB_AUI_NAME)</sys-lib></if>
<if cond="value=='richtext'"><sys-lib>$(WXLIB_RICHTEXT_NAME)</sys-lib></if>
<if cond="value=='stc'">
<!-- wxSTC requires also the basic scintilla library
which is built as a separate 3rd party library -->
<sys-lib>$(WXLIB_STC_NAME)</sys-lib>
<sys-lib>wxscintilla$(WX3RDPARTYLIBPOSTFIX)</sys-lib>
<!-- wx-lib can be used also to link against contrib libraries
(which always have the same name, regardless of WX_MONOLITHIC value) -->
<if cond="value in CONTRIBLIB_LIST.split()">
<sys-lib>wx$(WXPORT)$(WX_VERSION)$(WXLIBPOSTFIX)_$(value)</sys-lib>
</if>
<if cond="value not in WX_LIB_LIST.split()">
<if cond="value not in ALLLIB_LIST.split()">
<error>Unknown wxWidgets library given in the wx-lib tag</error>
</if>
</define-tag>
@@ -223,8 +345,6 @@
<ldflags>-mthreads</ldflags>
</if>
<define>$(substituteFromDict(WX_SHARED,{'1':'WXUSINGDLL','0':''}))</define>
<define>$(WXUNICODE_DEFINE)</define>
<define>$(WXDEBUG_DEFINE)</define>
<define>__WXMSW__</define>
@@ -291,32 +411,4 @@
<__wx-syslibs/>
</template>
<if cond="FORMAT_SUPPORTS_ACTIONS=='1' and WX_TEST_FOR_SELECTED_WXBUILD=='1'">
<!--
VERY IMPORTANT: before starting to build all targets of the generated makefile,
we need to check if the selected wxWidgets build exists; we do
that simply creating the following target; if it fails the make
program will halt printing the following nice error message...
(much better than the 'could not find wx/*.h file')
-->
<action id="test_for_selected_wxbuild">
<dependency-of>all</dependency-of>
<!-- the @ is to hide these actions from the user -->
<command>
@if not exist $(WX_DIR)$(WXLIBINCLUDE)$(DIRSEP)wx$(DIRSEP)setup.h \
echo ----------------------------------------------------------------------------
@if not exist $(WX_DIR)$(WXLIBINCLUDE)$(DIRSEP)wx$(DIRSEP)setup.h \
echo The selected wxWidgets build is not available!
@if not exist $(WX_DIR)$(WXLIBINCLUDE)$(DIRSEP)wx$(DIRSEP)setup.h \
echo Please use the options prefixed with WX_ to select another wxWidgets build.
@if not exist $(WX_DIR)$(WXLIBINCLUDE)$(DIRSEP)wx$(DIRSEP)setup.h \
echo ----------------------------------------------------------------------------
@if not exist $(WX_DIR)$(WXLIBINCLUDE)$(DIRSEP)wx$(DIRSEP)setup.h \
exit 1
</command>
</action>
</if>
</makefile>

View File

@@ -7,9 +7,6 @@
<exe id="minimal" template="wx">
<app-type>gui</app-type>
<!-- this sample builds always in debug mode; if you have
compiled wxWidgets in release mode, you'll get link errors! -->
<debug-info>on</debug-info>
<runtime-libs>dynamic</runtime-libs>

View File

@@ -40,11 +40,10 @@ def mk_wxid(id):
# All libs that are part of the main library (i.e. non-contrib):
MAIN_LIBS = ['mono', 'base', 'core', 'adv', 'html', 'xml', 'net',
'media', 'odbc', 'qa', 'dbgrid', 'xrc', 'aui', 'richtext', 'stc']
'media', 'odbc', 'qa', 'dbgrid', 'xrc']
# List of library names/ids for categories with different names:
LIBS_NOGUI = ['xml', 'net', 'odbc']
LIBS_GUI = ['core', 'adv', 'html', 'gl', 'qa', 'dbgrid', 'xrc', 'media',
'aui', 'richtext', 'stc']
LIBS_GUI = ['core', 'adv', 'html', 'gl', 'qa', 'dbgrid', 'xrc', 'media']
# Additional libraries that must be linked in:
EXTRALIBS = {
'gl' : '$(EXTRALIBS_OPENGL)',

View File

@@ -1,112 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Name: common.xml
Purpose: Schedulers and locks common to all slaves.
Author: Mike Wetherell
RCS-ID: $Id$
Copyright: (c) 2007 Mike Wetherell
Licence: wxWidgets licence
-->
<bot xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:exsl="http://exslt.org/common"
xsl:version="1.0">
<xi:include href="include.xml" xpointer="xpointer(*/*)"/>
<!--
Quick schedulers. Builds using these are triggered after each change to
the sources on the given branch.
name: unique
branch: branch to watch
treeStableTimer: wait until the tree has stopped changing for the
given number of seconds before firing
fileNotImportant: files matching these patterns do not trigger a build
-->
<scheduler>
<name>trunk_quick</name>
<branch>trunk</branch>
<treeStableTimer>900</treeStableTimer>
<fileNotImportant>doc/*</fileNotImportant>
</scheduler>
<scheduler>
<name>stable_quick</name>
<branch><STABLE_BRANCH/></branch>
<treeStableTimer>900</treeStableTimer>
<fileNotImportant>doc/*</fileNotImportant>
</scheduler>
<!--
Schedulers that fire once a week.
A build can use one of these to be triggered once a week, or more than
one if it should run several times a week on particular days.
-->
<nightly>
<name>sunday_6am</name>
<hour>6</hour>
<dayOfWeek>0</dayOfWeek>
</nightly>
<nightly>
<name>monday_6am</name>
<hour>6</hour>
<dayOfWeek>1</dayOfWeek>
</nightly>
<nightly>
<name>tuesday_6am</name>
<hour>6</hour>
<dayOfWeek>2</dayOfWeek>
</nightly>
<nightly>
<name>wednesday_6am</name>
<hour>6</hour>
<dayOfWeek>3</dayOfWeek>
</nightly>
<nightly>
<name>thursday_6am</name>
<hour>6</hour>
<dayOfWeek>4</dayOfWeek>
</nightly>
<nightly>
<name>friday_6am</name>
<hour>6</hour>
<dayOfWeek>5</dayOfWeek>
</nightly>
<nightly>
<name>saturday_6am</name>
<hour>6</hour>
<dayOfWeek>6</dayOfWeek>
</nightly>
<!--
Schedulers for daily builds.
-->
<nightly>
<name>daily_6am</name>
<hour>6</hour>
</nightly>
<!--
Track SVN changes using the wx-cvs mailing list.
The <prefix> is subtracted from the paths in the 'Modified Files:'
section, the remainder is then assumed to give the branch and filename.
-->
<svnmaildirsource>
<prefix>wxWidgets</prefix>
</svnmaildirsource>
</bot>

View File

@@ -1,148 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Name: example.xml
Purpose: Buildbot example configuration.
Author: Mike Wetherell
RCS-ID: $Id$
Copyright: (c) 2007 Mike Wetherell
Licence: wxWidgets licence
There is one xml file such as this per build slave containing a <build>
element for each build the slave runs. Each <build> corresponds to a
column in the waterfall display.
For full documentation see:
http://www.wxwidgets.org/wiki/index.php/Development:_Buildbot
-->
<bot xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:exsl="http://exslt.org/common"
xsl:version="1.0">
<!--
Common declarations.
-->
<xi:include href="include.xml" xpointer="xpointer(*/*)"/>
<!--
Notes:
The elements marked 'Unique' below must be unique across all builds on
all slaves.
If a build is currently failing because of something other than a bug in
wxWidgets, e.g. out of space or missing libs, then comment it out, or
add '** Ignore **' to the beginning of the <name>, so that wxWidgets
developers know not to waste time investigating.
-->
<build>
<!--
Unique. Appears as the title in the waterfall display.
-->
<name>Linux x86_64 wxGTK Stable</name>
<!--
Unique. The name of a directory for the bulid. On most slaves must
be a single name, on the Testdrive builds it must be a path such as
'/tmp/wx/td_gtk'.
-->
<builddir>example_gtk</builddir>
<!--
The name of a scheduler that will trigger this build. The schedulers
are usually defined in common.xml, look in there to see if there is
already one you can use, and add a new one if not.
The 'trunk_quick' and 'stable_quick' schedulers currently in
common.xml trigger a build after every source change on the trunk
and stable branches respectively. There are also daily and weekly
schedulers 'daily_6am', 'monday_6am', 'tuesday_6am' and so on.
The <scheduler> element can be omitted, in which case the build
never runs automatically, but can still be triggered manually.
Or you can use several, e.g. you could use two weekly schedulers
that fire on different days to have a build run twice a week.
-->
<scheduler>trunk_quick</scheduler>
<!--
The meaning of <sandbox> is specific to the build slave. There
should be a comment in the slave's configuration file saying if they
are allowed or required. On the testdrive it specifies the remote
machine that will run the bulid.
-->
<sandbox>debug</sandbox>
<!--
You can override the make command the compile steps will use using
this <make> element, if omitted defaults to 'make'. For Windows
builds this becomes the place to put build options as there is no
configure step.
-->
<make>nmake -f makefile.vc SHARED=1 CPPUNIT_CFLAGS=-I\cppunit\include CPPUNIT_LIBS=cppunit.lib</make>
<!--
The build steps.
-->
<steps>
<!--
Check out the sources, by default the trunk branch. Or for a
particular branch or tag, e.g.:
<checkout branch="{$STABLE_BRANCH}"/>
<checkout branch="branches/WX_2_6_BRANCH"/>
-->
<checkout/>
<!--
A <shellcommand> build step can be used anywhere you need to run
arbitrary commands not covered by the standard build steps.
<haltOnFailure/> specifies that the whole build fails if this
step fails, without it it continues with the next step anyway.
-->
<shellcommand>
<description>setting up</description>
<descriptionDone>set up</descriptionDone>
<haltOnFailure/>
<command>setup-script</command>
</shellcommand>
<!--
Configure. Options and environment variables can be added with
the 'options' attribute:
<configure options="-with-foobar CC=cc CXX=CC"/>
Omitted for Windows builds.
-->
<configure/>
<!--
Compile the library. For Windows builds use <compile-msw/>
instead which runs the make command in the 'build\msw'
subdirectory instead of the wxWidgets root.
-->
<compile/>
<!--
Compile subdirectories. There is also <compile-contrib/> for
branches that have contrib.
-->
<compile-samples/>
<compile-utils/>
<compile-tests/>
<!--
Run the test suites. For Windows builds the command to run the
test suite must be overridden, e.g.:
<run-tests>
<command>PATH=..\lib\vc_dll;%PATH%</command>
<command>cd tests</command>
<command>vc_msw\test</command>
<command>vc_msw\test_gui</command>
</run-tests>
-->
<run-tests/>
</steps>
</build>
</bot>

View File

@@ -1,340 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Name: include.xml
Purpose: Common declarations for buildbot
Author: Mike Wetherell
RCS-ID: $Id$
Copyright: (c) 2007 Mike Wetherell
Licence: wxWidgets licence
-->
<bot xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:exsl="http://exslt.org/common"
xsl:version="1.0">
<!--
Constants
-->
<xsl:template name="SVN_URL">http://svn.wxwidgets.org/svn/wx/wxWidgets/</xsl:template>
<xsl:template name="STABLE_BRANCH">branches/WX_2_8_BRANCH</xsl:template>
<xsl:variable name="STABLE_BRANCH"><STABLE_BRANCH/></xsl:variable>
<!--
checkout - build step for source checkout.
Usage: as <svn> with defaults for <baseURL> and <defaultBranch>
Typically just:
<checkout/>
for the trunk, or:
<checkout branch="branches/WX_2_8_BRANCH"/>
to checkout a branch.
-->
<xsl:template name="checkout">
<xsl:param name="content"/>
<xsl:param name="branch" select="'trunk'"/>
<xsl:variable name="nodes" select="exsl:node-set($content)"/>
<svn>
<xsl:if test="not($nodes/svnurl)">
<xsl:if test="not($nodes/baseURL)">
<baseURL><SVN_URL/></baseURL>
</xsl:if>
<xsl:if test="not($nodes/defaultBranch)">
<defaultBranch><xsl:value-of select="$branch"/></defaultBranch>
</xsl:if>
</xsl:if>
<xsl:copy-of select="$content"/>
</svn>
</xsl:template>
<!--
configure - add the options attribute to <configure>
Usage: <configure options="-with-foobar"/>
-->
<xsl:template name="configure">
<xsl:param name="content"/>
<xsl:param name="options"/>
<configure>
<copy-with-defaults content="{$content}">
<command>./configure <xsl:value-of select="$options"/></command>
</copy-with-defaults>
</configure>
</xsl:template>
<!--
make - specify the make command.
Usage: <make>nmake -f makefile.vc SHARED=1</make>
Used as a child of <build> to specify the make command used by the
<compile> elements below, if omitted 'make' is used.
-->
<xsl:template name="make"/>
<!--
compile - modifiy <compile> to default to the command given by <make>
Usage: as <compile>
The <make> element of <build> spcecifies the make command used by all
compile build steps in the build. If <make> is not given 'make' is used.
The command for a particular compile build step can be further overridden
using its <command> element:
<compile>
<command>myscript</command>
</compile>
-->
<xsl:template name="compile">
<xsl:param name="content"/>
<compile>
<copy-with-defaults content="{$content}">
<command><get name="make" default="make"/></command>
</copy-with-defaults>
</compile>
</xsl:template>
<!--
Compile build steps for the usual subdirectories.
Usage: as <compile>
Typically just:
<compile-msw/>
<compile-samples/>
<compile-utils/>
<compile-contrib/>
<compile-tests/>
By default the compile command produced is:
cd foobar && make
As above, the 'make' part can be overridden using the <make> element or
the whole command line can be replaced using <command>.
<compile-msw> and <compile-tests> halt the build on failure, the others
continue with the next step (can be overridden by <haltOnFailure>).
-->
<xsl:template name="compile-msw">
<xsl:param name="content"/>
<compile-subdir dir="build\msw" halt="true">
<xsl:copy-of select="$content"/>
</compile-subdir>
</xsl:template>
<xsl:template name="compile-samples">
<xsl:param name="content"/>
<compile-subdir dir="samples">
<xsl:copy-of select="$content"/>
</compile-subdir>
</xsl:template>
<xsl:template name="compile-utils">
<xsl:param name="content"/>
<compile-subdir dir="utils">
<xsl:copy-of select="$content"/>
</compile-subdir>
</xsl:template>
<xsl:template name="compile-contrib">
<xsl:param name="content"/>
<compile-subdir dir="contrib">
<xsl:copy-of select="$content"/>
</compile-subdir>
</xsl:template>
<xsl:template name="compile-tests">
<xsl:param name="content"/>
<compile-subdir dir="tests" halt="true">
<xsl:copy-of select="$content"/>
</compile-subdir>
</xsl:template>
<!--
compile-subdir - build step to compile a subdirectory.
Usage: as <compile> plus the following attributes,
<compile-subdir dir="foobar" [ halt="true" ]/>
Compiles the named subdirectory 'foobar'. Continues with the next build
step on failure, unless the optional attibute 'halt="true"' is given.
The make command used is as described for the compile steps above.
-->
<xsl:template name="compile-subdir">
<xsl:param name="content"/>
<xsl:param name="dir"/>
<xsl:param name="halt" select="'false'"/>
<compile>
<defaults content="{$content}">
<name>
compile <xsl:value-of select="$dir"/>
</name>
<description>
compiling <xsl:value-of select="$dir"/>
</description>
<descriptionDone>
compile <xsl:value-of select="$dir"/>
</descriptionDone>
<haltOnFailure>
<xsl:value-of select="$halt"/>
</haltOnFailure>
<warnOnFailure/>
</defaults>
<copy-with-defaults content="{$content}">
<command>cd <xsl:value-of select="$dir"/> &amp;&amp; <get name="make" default="make"/></command>
</copy-with-defaults>
</compile>
</xsl:template>
<!--
run-tests - build step to run the test suites.
Usage: as <test>
For unix builds typically just:
<run-tests/>
or for Windows builds, e.g.:
<run-tests>
<command>PATH=..\lib\vc_lib;%PATH%</command>
<command>cd tests &amp;&amp; vc_msw\test</command>
</run-tests>
-->
<xsl:template name="run-tests">
<xsl:param name="content"/>
<test>
<defaults content="{$content}">
<description>running tests</description>
<descriptionDone>run tests</descriptionDone>
<warnOnFailure/>
</defaults>
<copy-with-defaults content="{$content}">
<command><xi:include href="run-tests.sh" parse="text"/></command>
</copy-with-defaults>
</test>
</xsl:template>
<!--
defaults - supply default content for an element.
Usage: <defaults content="{$content}">
<foo>foo</foo>
<bar>bar</bar>
</defaults>
Copies those child elements that do not already exist in $content.
-->
<xsl:template name="defaults">
<xsl:param name="defaults"/>
<xsl:param name="content"/>
<xsl:variable name="def-nodes" select="exsl:node-set($defaults)"/>
<xsl:variable name="cont-nodes" select="exsl:node-set($content)"/>
<xsl:for-each select="$def-nodes/*">
<xsl:if test="not($cont-nodes/*[name() = name(current())])">
<xsl:copy-of select="."/>
</xsl:if>
</xsl:for-each>
</xsl:template>
<!--
copy-with-defaults - copy elements supplying defaults for any that are
missing or empty.
Usage: <copy-with-defaults content="{$content}">
<foo>foo</foo>
<bar>bar</bar>
</copy-with-defaults>
Copies $content plus any child elements that do not exist in $content,
substituting empty elements in $content with any child elements of the
same name.
-->
<xsl:template name="copy-with-defaults">
<xsl:param name="defaults"/>
<xsl:param name="content"/>
<xsl:variable name="def-nodes" select="exsl:node-set($defaults)"/>
<xsl:variable name="cont-nodes" select="exsl:node-set($content)"/>
<xsl:for-each select="$def-nodes/*">
<xsl:if test="not($cont-nodes/*[name() = name(current())])">
<xsl:copy-of select="."/>
</xsl:if>
</xsl:for-each>
<xsl:for-each select="$cont-nodes/*">
<xsl:choose>
<xsl:when test="not(node())">
<xsl:copy-of select="$def-nodes/*[name() = name(current())]"/>
</xsl:when>
<xsl:otherwise>
<xsl:copy-of select="."/>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:template>
<!--
get - gets the value of a named element inside a <build>.
Usage: <get name="foobar" [ default="value" ]/>
Used inside a <build> evaluates to the value of the build's <foobar>
element, or to the value of the optional 'default' attribute if there is
no such element.
-->
<xsl:template name="get">
<xsl:param name="content"/>
<xsl:param name="name"/>
<xsl:param name="default"/>
<strip>
<xsl:choose>
<xsl:when test="ancestor-or-self::build/*[name() = $name]">
<xsl:apply-templates select="ancestor-or-self::build/*[name() = $name]/node()"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$default"/>
</xsl:otherwise>
</xsl:choose>
</strip>
</xsl:template>
<!--
strip - strips leading and trailing whitespace
Usage: <strip>
foobar
</strip>
Strips leading and trailing whitespace if the content is text only,
otherwise copies the content unchanged.
-->
<xsl:template name="strip">
<xsl:param name="content"/>
<xsl:variable name="len" select="string-length($content)"/>
<xsl:variable name="norm" select="normalize-space($content)"/>
<xsl:variable name="normlen" select="string-length($norm)"/>
<xsl:choose>
<xsl:when test="exsl:node-set($content)/*">
<xsl:copy-of select="$content"/>
</xsl:when>
<xsl:when test="substring($content, 1, 1) != substring($norm, 1, 1)">
<xsl:call-template name="strip">
<xsl:with-param name="content" select="substring($content, 2)"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="substring($content, $len, 1) != substring($norm, $normlen, 1)">
<xsl:call-template name="strip">
<xsl:with-param name="content" select="substring($content, 1, $len - 1)"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$content"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</bot>

View File

@@ -1,29 +0,0 @@
# Run the test suites
# Running them one at a time gives more readable results and shows up errors
# in the suite names.
set -e
cd tests
case `uname -sm` in
CYGWIN*|MINGW32*) PATH=../lib:$PATH ;;
Darwin*) DYLD_LIBRARY_PATH=../lib:$DYLD_LIBRARY_PATH ;;
*) LD_LIBRARY_PATH=../lib:$LD_LIBRARY_PATH ;;
esac
test -x test_gui && TEST_GUI=./test_gui
ERR=0
for prog in ./test $TEST_GUI; do
if [ -x $prog ]; then
SUITES=`$prog -l | grep '^ [^ ]'`
for SUITE in $SUITES; do
echo
echo $SUITE
echo $SUITE | sed 's/./-/g'
$prog $SUITE || ERR=1
echo
done
fi
done
exit $ERR

View File

@@ -1,300 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Name: testdrive-inc.xml
Purpose: Declarations for the testdrive build slave
Author: Mike Wetherell
RCS-ID: $Id$
Copyright: (c) 2007 Mike Wetherell
Licence: wxWidgets licence
-->
<bot xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:exsl="http://exslt.org/common"
xsl:version="1.0">
<xi:include href="include.xml" xpointer="xpointer(*/*)"/>
<!--
checkout - build step for source checkout.
Usage: as <svn> with additional <command> element and defaults for
<baseURL> and <defaultBranch>
Typically just:
<checkout/>
for the trunk, or:
<checkout branch="branches/WX_2_8_BRANCH"/>
to checkout a branch.
-->
<xsl:template name="checkout">
<xsl:param name="content"/>
<xsl:param name="branch" select="'trunk'"/>
<xsl:variable name="nodes" select="exsl:node-set($content)"/>
<testdrive-svn>
<xsl:if test="not($nodes/svnurl)">
<xsl:if test="not($nodes/baseURL)">
<baseURL><SVN_URL/></baseURL>
</xsl:if>
<xsl:if test="not($nodes/defaultBranch)">
<defaultBranch><xsl:value-of select="$branch"/></defaultBranch>
</xsl:if>
</xsl:if>
<xsl:if test="not($nodes/command)">
<profile/>
<post-checkout/>
</xsl:if>
<xsl:copy-of select="$content"/>
</testdrive-svn>
</xsl:template>
<xsl:template name="post-checkout">
<command>
mkdir -p $TOPDIR
chown $USER $TOPDIR
rm -rf $BUILDDIR
cp -pR . $BUILDDIR || { cd; rm -rf $BUILDDIR; exit 1; }
</command>
</xsl:template>
<!--
configure - make disable-precomp-headers a default configure option for
the testdrive, and post process the Makefiles to use ccache.
Usage: <configure options="-with-foobar"/>
-->
<xsl:template name="configure">
<xsl:param name="content"/>
<xsl:param name="options"/>
<configure>
<copy-with-defaults content="{$content}">
<command>./configure --disable-precomp-headers <xsl:value-of select="$options"/></command>
</copy-with-defaults>
<command>find . -name Makefile | xargs perl -pi -e 's/^(?:CC|CXX) = /$&amp;ccache /'</command>
</configure>
</xsl:template>
<!--
setup - a build step that makes sure any prerequisites are set up for
the current testdrive build.
Usage: <setup/>
<setup cppunit-options="-host=i686-apple-darwin8"/>
One of the things it sets up is cppunit. There is more than one compiler
available on some of the testdrive machines, and generally speaking
cppuint needs to be compiled by the same one that will be used for the
build.
-->
<xsl:template name="setup">
<xsl:param name="content"/>
<xsl:param name="options"/>
<xsl:param name="ccache-configure" select="'./configure INSTALL=./install-sh\ -c --prefix=$HOME --bindir=$OPTDIR/bin'"/>
<xsl:param name="ccache-options"/>
<xsl:param name="cppunit-configure" select="'./configure INSTALL=config/install-sh\ -c --prefix=$HOME --bindir=$OPTDIR/bin --libdir=$OPTDIR/lib --disable-static'"/>
<xsl:param name="cppunit-options"/>
<shellcommand>
<description>setting up</description>
<descriptionDone>set up</descriptionDone>
<haltOnFailure/>
<command>
MINSPACE=1000000
DSPACE=`df -Pk $BUILDDIR | tail -1 | awk '{ print $4 }'`
if [ $DSPACE -lt $MINSPACE ]; then
echo "Disk space low, skipping build"
exit 1
fi
if [ -z "$CCACHE_DIR" ]; then
gunzip -c $HOME/src/ccache-*.tar.gz | tar xf -
cd ccache-*
<xsl:value-of select="concat($ccache-configure, ' ', $ccache-options, ' ', $options)"/>
make
strip ccache
make install
cd $BUILDDIR
rm -r ccache-*
fi
if { cppunit-config --version || "$CPPUNIT_CONFIG" --version; } 2>/dev/null; then
HAVE_CPPUNIT=1
fi
if [ -z "$HAVE_CPPUNIT" ]; then
gunzip -c $HOME/src/cppunit-*.tar.gz | tar xf -
cd cppunit-*
<xsl:value-of select="concat($cppunit-configure, ' ', $cppunit-options, ' ', $options)"/>
make install-strip
chmod +x $OPTDIR/bin/cppunit-config
cd $BUILDDIR
rm -rf cppunit-*
fi
</command>
</shellcommand>
</xsl:template>
<!--
builddir - override <builddir> to accept a full path
Usage: <builddir>/tmp/wx/foobar</builddir>
Normally builddir is a single directory name not a full path. Override
to allow a working directory to be selected on the remote testdrive
machine.
The actual builddir (i.e. last part 'foobar') as usual must be unique
across all the builds of all the slaves.
-->
<xsl:template name="builddir">
<xsl:param name="content"/>
<builddir>
<basename><xsl:copy-of select="$content"/></basename>
</builddir>
</xsl:template>
<!--
steps - overrides <steps> to prepend <profile/> and <prologue/> and
append <epilogue/> to the <command/> of each build step.
Usage: as <steps>
The differences between <profile/> and <prologue/> are:
1. <profile/> is also used by <checkout> for its post checkout command,
<proglogue/> isn't.
2. <profile/> has access to the build's fields, for example it can
use <get name="builddir"/>, while <prologue/> can't.
-->
<xsl:template name="steps">
<xsl:param name="content"/>
<xsl:variable name="profile"><profile/></xsl:variable>
<steps>
<xsl:for-each select="exsl:node-set($content)/*">
<xsl:choose>
<xsl:when test="contains(name(), 'svn')">
<xsl:copy-of select="."/>
</xsl:when>
<xsl:otherwise>
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:copy-of select="$profile"/>
<prologue/>
<xsl:copy-of select="node()"/>
<xsl:if test="not(command)">
<command/>
</xsl:if>
<epilogue/>
</xsl:copy>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</steps>
</xsl:template>
<!--
profile - see <steps> above.
-->
<xsl:template name="profile">
<command>
set -e
uname -smnr
umask 022
LANG=C
TOPDIR=<get name="builddir"/>
BUILDDIR=$TOPDIR/build
OPTDIR=$HOME/opt/<basename><get name="builddir"/></basename>
</command>
</xsl:template>
<!--
prologue - see <steps> above.
-->
<xsl:template name="prologue">
<command>
INSTALLDIR=$TOPDIR/install
case `uname -sm` in
Linux*86*) PATH=$HOME/linux-x86/bin:$PATH ;;
esac
PATH=$OPTDIR/bin:$PATH
LD_LIBRARY_PATH=$BUILDDIR/lib:$OPTDIR/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
if { ccache -V; } >/dev/null 2>&amp;1; then
CCACHE_DIR=$TOPDIR/ccache
export CCACHE_DIR
ccache -M 90M
fi
cd $BUILDDIR
<if-del-on-fail>trap 'cd; rm -rf $BUILDDIR' EXIT</if-del-on-fail>
</command>
</xsl:template>
<!--
epilogue - see <steps> above.
-->
<xsl:template name="epilogue">
<xsl:if test="position() != last()">
<if-del-on-fail>
<command>trap '' EXIT</command>
</if-del-on-fail>
</xsl:if>
</xsl:template>
<!--
if-del-on-fail - used in the context of a build step, copies its content
if the build step should cleanup on failure.
Usage: <if-del-on-fail>foobar</if-del-on-fail>
On the testdrive the working directory is deleted after a build to save
space. If the step has <haltOnFailure/> (which is the default or
<configure> and <compile> steps) then this cleanup needs to happen
whenever the step fails.
-->
<xsl:template name="if-del-on-fail">
<xsl:param name="content"/>
<xsl:if test = "position() = last() or
haltOnFailure = '' or
haltOnFailure = 'true' or
(not(haltOnFailure) and
(name() = 'configure' or name() = 'compile'))">
<xsl:copy-of select="$content"/>
</xsl:if>
</xsl:template>
<!--
Add slave locks so that each testdrive machine only runs one bulid at a
time
-->
<xsl:for-each select="../build/sandbox">
<xsl:if test="not(../preceding-sibling::build[sandbox = current()])">
<slavelock>
<name><xsl:apply-templates select="node()"/></name>
</slavelock>
</xsl:if>
</xsl:for-each>
<xsl:template name="sandbox">
<xsl:param name="content"/>
<sandbox><xsl:copy-of select="$content"/></sandbox>
<lock><xsl:copy-of select="$content"/></lock>
</xsl:template>
<!--
basename - returns the final component of a path
Usage: <basename>/foo/bar</basename>
Evaluates to 'bar'.
-->
<xsl:template name="basename">
<xsl:param name="path"/>
<xsl:choose>
<xsl:when test="contains($path, '/')">
<xsl:call-template name="basename">
<xsl:with-param name="path" select="substring-after($path, '/')"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$path"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</bot>

View File

@@ -1,230 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Name: testdrive.xml
Purpose: Buildbot configuration for the HP Testdrive.
Author: Mike Wetherell
RCS-ID: $Id$
Copyright: (c) 2007 Mike Wetherell
Licence: wxWidgets licence
-->
<bot xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:exsl="http://exslt.org/common"
xsl:version="1.0">
<xi:include href="testdrive-inc.xml" xpointer="xpointer(*/*)"/>
<!--
Notes:
The list of available machines is here:
http://www.testdrive.hp.com/current.shtml
Currently only unix hosts are supported, with hopefully one or more
Windows machines to follow.
<sandbox> specifies the remote machine that will run the job, or it can
be 'debug' in which case the sandbox will just echo the commands.
<builddir> specifies an absolute path on the remote machine for the
build, rather than the usual single directory name. The last component
also specifies a subdirectory on the master for logs, which as usual
must be unique across all slaves.
An extra build step <setup> can be used after <checkout> to set up ccache
and cppunit. Cppunit generally needs to be compiled by the same compiler
that will be used for wxWidgets, add configure options using the
'cppunit-options' attribute when needed, e.g.:
<setup cppunit-options="CC=cc CXX=CC"/>
Cross compilers available on the Linux x86 machines (more coming):
powerpc-apple-darwin8
i686-apple-darwin8
i386-mingw32 (with cppunit installed under $HOME/opt/mingw345)
Please limit the number of quick builds to one unix, one Windows and one
Mac per branch. And please don't load up all the cpus of a remote machine
at once with make -j.
-->
<!--
Unix Quick Builds
-->
<build>
<name>Linux x86_64 wxGTK Trunk</name>
<sandbox>td162.testdrive.hp.com</sandbox>
<builddir>/tmp/wx/td_gtk</builddir>
<scheduler>trunk_quick</scheduler>
<steps>
<checkout/>
<setup/>
<configure/>
<compile/>
<compile-samples/>
<compile-utils/>
<compile-tests/>
<run-tests/>
</steps>
</build>
<build>
<name>Linux x86_64 wxGTK Stable</name>
<sandbox>td166.testdrive.hp.com</sandbox>
<builddir>/tmp/wx/td_gtk_stable</builddir>
<scheduler>stable_quick</scheduler>
<steps>
<checkout branch="{$STABLE_BRANCH}"/>
<setup/>
<configure/>
<compile/>
<compile-samples/>
<compile-utils/>
<compile-contrib/>
<compile-tests/>
<run-tests/>
</steps>
</build>
<!--
Mac Quick Builds
-->
<build>
<name>OSX PowerPC wxMac Trunk</name>
<sandbox>td179.testdrive.hp.com</sandbox>
<builddir>/tmp/wx/td_mac</builddir>
<scheduler>trunk_quick</scheduler>
<steps>
<checkout/>
<setup cppunit-options="--host=powerpc-apple-darwin8"/>
<configure options="--host=powerpc-apple-darwin8"/>
<compile/>
<compile-samples/>
<compile-utils/>
<compile-tests/>
</steps>
</build>
<build>
<name>OSX Intel wxMac Stable</name>
<sandbox>td186.testdrive.hp.com</sandbox>
<builddir>/tmp/wx/td_mac_stable</builddir>
<scheduler>stable_quick</scheduler>
<steps>
<checkout branch="{$STABLE_BRANCH}"/>
<setup cppunit-options="--host=i686-apple-darwin8"/>
<configure options="--host=i686-apple-darwin8"/>
<compile/>
<compile-samples/>
<compile-utils/>
<compile-contrib/>
<compile-tests/>
</steps>
</build>
<!--
Windows Quick Builds
-->
<build>
<name>MinGW32 wxMSW Trunk</name>
<sandbox>td185.testdrive.hp.com</sandbox>
<builddir>/tmp/wx/td_msw</builddir>
<scheduler>trunk_quick</scheduler>
<steps>
<checkout/>
<configure options="--host=i386-mingw32 --with-cppunit-prefix=$HOME/opt/mingw345"/>
<compile/>
<compile-samples/>
<compile-utils/>
<compile-tests/>
</steps>
</build>
<build>
<name>MinGW32 wxMSW Stable</name>
<sandbox>td189.testdrive.hp.com</sandbox>
<builddir>/tmp/wx/td_msw_stable</builddir>
<scheduler>stable_quick</scheduler>
<steps>
<checkout branch="{$STABLE_BRANCH}"/>
<configure options="--host=i386-mingw32 --with-cppunit-prefix=$HOME/opt/mingw345"/>
<compile/>
<compile-samples/>
<compile-utils/>
<compile-contrib/>
<compile-tests/>
</steps>
</build>
<!--
Daily builds
-->
<build>
<name>FreeBSD x86 wxX11 Stable</name>
<sandbox>td152.testdrive.hp.com</sandbox>
<builddir>/tmp/wx/td_freebsd_stable</builddir>
<scheduler>daily_6am</scheduler>
<steps>
<checkout branch="{$STABLE_BRANCH}"/>
<setup/>
<configure options="--with-x11"/>
<compile/>
<compile-samples/>
<compile-utils/>
<compile-contrib/>
<compile-tests/>
<run-tests/>
</steps>
</build>
<build>
<name>HP-UX 11i PA-RISC gcc wxMotif Stable</name>
<sandbox>td192.testdrive.hp.com</sandbox>
<builddir>/tmp/wx/td_hpux_pa_stable</builddir>
<scheduler>daily_6am</scheduler>
<steps>
<checkout branch="{$STABLE_BRANCH}"/>
<setup/>
<configure/>
<compile/>
<compile-samples/>
<compile-utils/>
<compile-contrib/>
<compile-tests/>
<run-tests/>
</steps>
</build>
</bot>

View File

@@ -1,6 +0,0 @@
<?xml version="1.0"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema">
<element name="bot">
<!-- todo -->
</element>
</schema>

View File

@@ -1,304 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Name: embedded.xsl
Purpose: Embedded XSLT
Author: Mike Wetherell
RCS-ID: $Id$
Copyright: (c) 2007 Mike Wetherell
Licence: wxWidgets licence
-->
<transform xmlns="http://www.w3.org/1999/XSL/Transform"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:XSL="XSL"
version="1.0">
<namespace-alias stylesheet-prefix="XSL" result-prefix="xsl"/>
<output indent="yes"/>
<variable
name="top-level-base"
select="/*/xsl:import |
/*/xsl:include |
/*/xsl:attribute-set |
/*/xsl:character-map |
/*/xsl:decimal-format |
/*/xsl:function |
/*/xsl:import-schema |
/*/xsl:key |
/*/xsl:namespace-alias |
/*/xsl:output |
/*/xsl:param |
/*/xsl:preserve-space |
/*/xsl:strip-space |
/*/xsl:variable"/>
<variable
name="top-level"
select="$top-level-base |
/*/xsl:template"/>
<variable
name="top-level-copy"
select="$top-level-base |
/*/xsl:template
[not(following-sibling::xsl:template/@name = @name)]"/>
<template match="/">
<XSL:transform>
<copy-of select="/*/namespace::*"/>
<for-each select="/*/@xsl:*">
<attribute name="{local-name()}">
<value-of select="."/>
</attribute>
</for-each>
<apply-templates mode="copy-xsl" select="$top-level-copy"/>
<apply-templates select="*"/>
</XSL:transform>
</template>
<template match="*">
<variable name="pattern">
<call-template name="coord-pattern"/>
</variable>
<XSL:template match="*[generate-id() = generate-id(document('', /){$pattern})]">
<copy-of select="namespace::*"/>
<choose>
<when test="/*/xsl:template[@name = name(current())]">
<call-template name="expand"/>
</when>
<when test="count($top-level | .) != count($top-level)">
<call-template name="create-context"/>
</when>
</choose>
</XSL:template>
<if test="not(self::xsl:*)">
<apply-templates select="node()"/>
</if>
</template>
<template match="text()"/>
<template match="@*">
<copy/>
</template>
<template mode="copy-xsl" match="*[/*/xsl:template/@name = name()]">
<choose>
<when test="ancestor::xsl:template[@name = name(current())]">
<XSL:choose>
<XSL:when test="name() = '{name()}'">
<XSL:copy>
<call-template name="copy-xsl-children"/>
</XSL:copy>
</XSL:when>
<XSL:otherwise>
<copy>
<call-template name="copy-xsl-children"/>
</copy>
</XSL:otherwise>
</XSL:choose>
</when>
<otherwise>
<call-template name="expand"/>
</otherwise>
</choose>
</template>
<template mode="copy-xsl" match="@*|node()">
<copy>
<call-template name="copy-xsl-children"/>
</copy>
</template>
<template name="copy-xsl-children">
<copy-of select="namespace::*"/>
<apply-templates mode="copy-xsl" select="@*|node()"/>
</template>
<template name="coord-pattern">
<param name="element" select="."/>
<for-each select="$element/ancestor-or-self::*">
<text>/*[</text>
<value-of select="count(preceding-sibling::*) + 1"/>
<text>]</text>
</for-each>
</template>
<template name="expand">
<variable name="params" select="/*/xsl:template[@name = name(current())]/xsl:param"/>
<XSL:call-template name="{name()}">
<if test="$params">
<XSL:with-param name="{$params[1]/@name}">
<choose>
<when test="ancestor-or-self::xsl:*">
<apply-templates mode="copy-xsl" select="node()"/>
</when>
<otherwise>
<variable name="pattern">
<call-template name="coord-pattern"/>
</variable>
<XSL:apply-templates select="{$pattern}/node()"/>
</otherwise>
</choose>
</XSL:with-param>
</if>
<for-each select="@*">
<XSL:with-param name="{name()}">
<call-template name="avt">
<with-param name="string" select="."/>
</call-template>
</XSL:with-param>
</for-each>
</XSL:call-template>
</template>
<template name="create-context">
<param name="elements" select="ancestor-or-self::*
[last() - 1 > position()]
/preceding-sibling::xsl:variable | ."/>
<variable name="pattern">
<call-template name="coord-pattern">
<with-param name="element" select="$elements[1]"/>
</call-template>
</variable>
<variable name="parent-pattern">
<call-template name="coord-pattern">
<with-param name="element" select="$elements[1]/.."/>
</call-template>
</variable>
<XSL:for-each select="{$parent-pattern}/*">
<XSL:if test="count({$pattern} | .) = 1">
<choose>
<when test="$elements[1]/self::xsl:*">
<apply-templates mode="copy-xsl" select="$elements[1]"/>
<if test="$elements[2]">
<call-template name="create-context">
<with-param name="elements" select="$elements[position() > 1]"/>
</call-template>
</if>
</when>
<otherwise>
<copy>
<apply-templates select="@*"/>
<if test="node()">
<XSL:apply-templates select="node()"/>
</if>
</copy>
</otherwise>
</choose>
</XSL:if>
</XSL:for-each>
</template>
<template name="before">
<param name="string"/>
<param name="target"/>
<variable name="apos">'</variable>
<variable name="quot">"</variable>
<variable name="posapos" select="string-length(substring-before(
concat($string, $apos), $apos))"/>
<variable name="posquot" select="string-length(substring-before(
concat($string, $quot), $quot))"/>
<variable name="postarg" select="string-length(substring-before(
concat($string, $target), $target))"/>
<choose>
<when test="$posapos = $postarg and $posquot = $postarg">
<value-of select="$string"/>
</when>
<when test="$posapos > $postarg and $posquot > $postarg">
<value-of select="substring($string, 1, $postarg)"/>
</when>
<otherwise>
<variable name="delim">
<choose>
<when test="$posquot > $posapos">'</when>
<otherwise>"</otherwise>
</choose>
</variable>
<value-of select="substring-before($string, $delim)"/>
<value-of select="$delim"/>
<variable name="mid" select="substring-after($string, $delim)"/>
<choose>
<when test="contains($mid, $delim)">
<value-of select="substring-before($mid, $delim)"/>
<value-of select="$delim"/>
<call-template name="before">
<with-param name="string"
select="substring-after($mid, $delim)"/>
<with-param name="target"
select="$target"/>
</call-template>
</when>
<otherwise>
<value-of select="$mid"/>
</otherwise>
</choose>
</otherwise>
</choose>
</template>
<template name="avt">
<param name="string"/>
<variable name="before1" select="substring-before(concat($string, '{'), '{')"/>
<variable name="len1" select="string-length($before1)"/>
<variable name="before2" select="substring-before(concat($string, '}}'), '}}')"/>
<variable name="len2" select="string-length($before2)"/>
<choose>
<when test="$before1 = $string and $before2 = $string">
<value-of select="$string"/>
</when>
<when test="$len2 &lt; $len1">
<value-of select="$before2"/>
<text>}</text>
<call-template name="avt">
<with-param name="string" select="substring($string, $len2 + 3)"/>
</call-template>
</when>
<when test="substring($string, $len1 + 2, 1) = '{'">
<value-of select="$before1"/>
<text>{</text>
<call-template name="avt">
<with-param name="string" select="substring($string, $len1 + 3)"/>
</call-template>
</when>
<otherwise>
<variable name="mid" select="substring($string, $len1 + 2)"/>
<variable name="expr">
<call-template name="before">
<with-param name="string" select="$mid"/>
<with-param name="target">}</with-param>
</call-template>
</variable>
<value-of select="$before1"/>
<XSL:copy-of select="{$expr}"/>
<call-template name="avt">
<with-param name="string" select="substring($mid, string-length($expr) + 2)"/>
</call-template>
</otherwise>
</choose>
</template>
</transform>

View File

@@ -1,23 +0,0 @@
#!/bin/sh
#############################################################################
# Name: preprocess
# Purpose: Expand embedded xslt
# Author: Mike Wetherell
# RCS-ID: $Id$
# Copyright: (c) 2007 Mike Wetherell
# Licence: wxWidgets licence
#############################################################################
if [ $# -eq 0 -o ! -f "$1" ]; then
echo "Usage: $0 FILE..."
echo "Expands embedded xslt"
exit 1
fi >&2
DIR="`dirname $0`"
while [ $# -gt 0 ]; do
xsltproc --xinclude $DIR/embedded.xsl "$1" 2>/dev/null |
xsltproc --xinclude - "$1"
shift
done

View File

@@ -1,65 +0,0 @@
#!/bin/sh
#############################################################################
# Name: validate
# Purpose: Reports errors in wxWidgets buildbot configuration files
# Author: Mike Wetherell
# RCS-ID: $Id$
# Copyright: (c) 2007 Mike Wetherell
# Licence: wxWidgets licence
#############################################################################
if [ $# -eq 0 -o ! -f "$1" ]; then
echo "Usage: $0 FILE..."
echo "Reports errors in wxWidgets buildbot configuration files"
exit 1
fi >&2
DIR="`dirname $0`"
WORKDIR="${TMPDIR:-/tmp}/wx.$$"
mkdir "$WORKDIR" || exit
trap 'rm -rf "$WORKDIR"' EXIT
WORKPAT=`echo "$WORKDIR" | sed 's|[^A-Za-z0-9/]|.|g'`
# Change the names of the temporary files in an error message to something
# to something more informative
#
error()
{
if [ -n "$1" ]; then
echo "$1" |
sed "s|file ${WORKPAT}|${WORKPAT}|g;\
s|${WORKPAT}/XSLT|generated XSLT (from $NAME)|g;\
s|${WORKPAT}/prep|$NAME (preprocessed)|g"
fi
}
# This is pretty ugly, sorry. It tries not to print the same error more than
# once, and it tries to send success message to stdout and errors to stderr.
# It still doesn't return a meaningful exit code.
#
while [ $# -gt 0 ]
do
INPUT="$1"
NAME="`echo \"$INPUT\" | sed 's/[|\]/\\\&/g'`"
XSLT="$WORKDIR/XSLT"
OUTPUT="$WORKDIR/prep"
if STDERR=`xsltproc --xinclude -o "$XSLT" $DIR/embedded.xsl "$INPUT" 2>&1`
then
STDERR=`xsltproc --xinclude -o "$OUTPUT" "$XSLT" "$INPUT" 2>&1` \
&& OK=true || OK=false
error "$STDERR" >&2
if $OK; then
STDERR=`xmllint --noout --schema $DIR/bot.xsd "$OUTPUT" 2>&1` \
&& OUT=1 || OUT=2
error "$STDERR" >&$OUT
fi
else
error "$STDERR" >&2
fi
rm -f "$XSLT" "$OUTPUT"
shift
done

View File

@@ -1,62 +0,0 @@
<?xml version="1.0" ?>
<!-- $Id$ -->
<bakefile-gen>
<!--
This file contains eperimental build specification for wxMGL port
build with Open Watcom for DOS extenders. In order to get complete
build, please setup:
1. wxWidgets CVS Head
2. SCITECH/MGL toolkit
3. OpenWatcom compiler
4. Bakefile later than 0.1.9.1 (CVS at time of writing this)
To get Open Watcom makefiles for wxMGL port: open console under Windows,
setup environment for toolkits listed above and then run:
cd %WXWIN%\build\bakefiles
bakefile_gen -f watcom -d ../mgl/Bakefiles.mgl.bkgen
cd %WXWIN%\build\mgl
wmake -h -f makefile.wat
cd %WXWIN%\samples\minimal
wmake -h -f makefile.wat
Default build settings are located in %WXWIN%\build\mgl\config.wat
Note that currently you can't have watcom makefiles for building samples
for different platforms in the same tree.
-->
<add-flags formats="watcom">
-DPLATFORM_MSDOS=1
</add-flags>
<include file="../bakefiles/Bakefiles.bkgen"/>
<add-flags files="wx.bkl" formats="watcom">
-o../mgl/makefile.wat
</add-flags>
<add-flags files="../bakefiles/wx.bkl" formats="watcom">
-DOPTIONS_FILE=config.wat
</add-flags>
<add-flags files="../../*/*" formats="watcom">
-DOPTIONS_FILE=../build/mgl/config.wat
</add-flags>
<add-flags files="../../*/*/*" formats="watcom">
-DOPTIONS_FILE=../../build/mgl/config.wat
</add-flags>
<add-flags files="../../*/*/*/*" formats="watcom">
-DOPTIONS_FILE=../../../build/mgl/config.wat
</add-flags>
<add-flags files="../../*/*/*/*/*" formats="watcom">
-DOPTIONS_FILE=../../../../build/mgl/config.wat
</add-flags>
</bakefile-gen>

View File

@@ -1,130 +0,0 @@
# =========================================================================
# This configuration file was generated by
# Bakefile 0.2.1 (http://bakefile.sourceforge.net)
# Beware that all changes made to this file will be overwritten next
# time you run Bakefile!
# =========================================================================
# -------------------------------------------------------------------------
# These are configurable options:
# -------------------------------------------------------------------------
# DOS32 mode/extender [X32VM,X32,PMODEW,CAUSEWAY,DOS32A,DOS4GW]
# X32VM - FlashTek X-32VM DOS extender
# X32 - FlashTek X-32 DOS extender
# PMODEW - PMODE/W
# CAUSEWAY - CauseWay DOS extender
# DOS32A - DOS32/A
# DOS4GW - Tenberry/Watcom 32-bit DOS extender
DOS32 = DOS4GW
# C compiler
CC = wcc386
# C++ compiler
CXX = wpp386
# Standard flags for CC
CFLAGS =
# Standard flags for C++
CXXFLAGS =
# Standard preprocessor flags (common for CC and CXX)
CPPFLAGS =
# Standard linker flags
LDFLAGS =
# The C preprocessor
CPP = $(CC) -p
# What type of library to build? [0,1]
# 1 - DLL
SHARED = 0
# Compile Unicode build of wxWidgets? [0,1]
# 1 - Unicode
UNICODE = 0
# Type of compiled binaries [debug,release]
BUILD = debug
# Should debugging info be included in the executables? The default value
# "default" means that debug info will be included if BUILD=debug
# and not included if BUILD=release. [0,1,default]
DEBUG_INFO = default
# Should __WXDEBUG__ be defined? The default value "default" means that it will
# be defined if BUILD=debug and not defined if BUILD=release. [0,1,default]
DEBUG_FLAG = default
# Multiple libraries or single huge monolithic one? [0,1]
# 0 - Multilib
# 1 - Monolithic
MONOLITHIC = 1
# Build GUI libraries? [0,1]
# 0 - Base
# 1 - GUI
USE_GUI = 1
# Build wxHTML library (USE_GUI must be 1)? [0,1]
USE_HTML = 1
# Build multimedia library (USE_GUI must be 1)? [0,1]
USE_MEDIA = 1
# Build wxXRC library (USE_GUI must be 1)? [0,1]
USE_XRC = 1
# Build wxAUI library (USE_GUI must be 1)? [0,1]
USE_AUI = 1
# Build wxRichTextCtrl library (USE_GUI must be 1)? [0,1]
USE_RICHTEXT = 1
# Build OpenGL canvas library (USE_GUI must be 1)? [0,1]
USE_OPENGL = 0
# Build ODBC database classes (USE_GUI must be 1)? [0,1]
USE_ODBC = 0
# Build quality assurance classes library (USE_GUI must be 1)? [0,1]
USE_QA = 0
# Enable exceptions in compiled code. [0,1]
USE_EXCEPTIONS = 1
# Enable run-time type information (RTTI) in compiled code. [0,1]
USE_RTTI = 1
# Link with gdiplus.lib? (Needed for wxGraphicsContext, will also set wxUSE_GRAPHICS_CONTEXT) [0,1]
USE_GDIPLUS = 0
# Is this official build by wxWidgets developers? [0,1]
OFFICIAL_BUILD = 0
# Use this to name your customized DLLs differently
VENDOR = custom
#
WX_FLAVOUR =
#
WX_LIB_FLAVOUR =
# Name of your custom configuration. This affects directory
# where object files are stored as well as the location of
# compiled .lib files and setup.h under the lib/ toplevel directory.
CFG =
# Compiler flags needed to compile test suite in tests directory. If you want
# to run the tests, set it so that the compiler can find CppUnit headers.
CPPUNIT_CFLAGS =
# Linker flags needed to link test suite in tests directory. If you want
# to run the tests, include CppUnit library here.
CPPUNIT_LIBS =

File diff suppressed because it is too large Load Diff

2
build/msw/.cvsignore Normal file
View File

@@ -0,0 +1,2 @@
config.dmc
makefile.dmc

View File

@@ -1,6 +1,6 @@
# =========================================================================
# This configuration file was generated by
# Bakefile 0.2.2 (http://bakefile.sourceforge.net)
# Bakefile 0.2.0 (http://bakefile.sourceforge.net)
# Beware that all changes made to this file will be overwritten next
# time you run Bakefile!
# =========================================================================
@@ -57,7 +57,7 @@ WXUNIV = 0
# Compile Unicode build of wxWidgets? [0,1]
!ifndef UNICODE
UNICODE = 1
UNICODE = 0
!endif
# Use MSLU library when building Unicode version. [0,1]
@@ -98,31 +98,11 @@ USE_GUI = 1
USE_HTML = 1
!endif
# Build multimedia library (USE_GUI must be 1)? [0,1]
!ifndef USE_MEDIA
USE_MEDIA = 1
!endif
# Build wxXRC library (USE_GUI must be 1)? [0,1]
!ifndef USE_XRC
USE_XRC = 1
!endif
# Build wxAUI library (USE_GUI must be 1)? [0,1]
!ifndef USE_AUI
USE_AUI = 1
!endif
# Build wxRichTextCtrl library (USE_GUI must be 1)? [0,1]
!ifndef USE_RICHTEXT
USE_RICHTEXT = 1
!endif
# Build wxStyledTextCtrl library (USE_GUI must be 1)? [0,1]
!ifndef USE_STC
USE_STC = 1
!endif
# Build OpenGL canvas library (USE_GUI must be 1)? [0,1]
!ifndef USE_OPENGL
USE_OPENGL = 0
@@ -153,11 +133,6 @@ USE_RTTI = 1
USE_THREADS = 1
!endif
# Link with gdiplus.lib? (Needed for wxGraphicsContext, will also set wxUSE_GRAPHICS_CONTEXT) [0,1]
!ifndef USE_GDIPLUS
USE_GDIPLUS = 0
!endif
# Is this official build by wxWidgets developers? [0,1]
!ifndef OFFICIAL_BUILD
OFFICIAL_BUILD = 0

View File

@@ -1,6 +1,6 @@
# =========================================================================
# This configuration file was generated by
# Bakefile 0.2.2 (http://bakefile.sourceforge.net)
# Bakefile 0.2.0 (http://bakefile.sourceforge.net)
# Beware that all changes made to this file will be overwritten next
# time you run Bakefile!
# =========================================================================
@@ -11,127 +11,112 @@
# -------------------------------------------------------------------------
# C compiler
CC := gcc
CC = gcc
# C++ compiler
CXX := g++
CXX = g++
# Standard flags for CC
CFLAGS :=
CFLAGS =
# Standard flags for C++
CXXFLAGS :=
CXXFLAGS =
# Standard preprocessor flags (common for CC and CXX)
CPPFLAGS :=
CPPFLAGS =
# Standard linker flags
LDFLAGS :=
LDFLAGS =
# The C preprocessor
CPP := $(CC) -E
CPP = $(CC) -E
# What type of library to build? [0,1]
SHARED := 0
SHARED = 0
# Build wxUniversal instead of native port? [0,1]
WXUNIV := 0
WXUNIV = 0
# Compile Unicode build of wxWidgets? [0,1]
UNICODE := 1
UNICODE = 0
# Use MSLU library when building Unicode version. [0,1]
MSLU := 0
MSLU = 0
# Type of compiled binaries [debug,release]
BUILD := debug
BUILD = debug
# Should debugging info be included in the executables? The default value
# "default" means that debug info will be included if BUILD=debug
# and not included if BUILD=release. [0,1,default]
DEBUG_INFO := default
DEBUG_INFO = default
# Should __WXDEBUG__ be defined? The default value "default" means that it will
# be defined if BUILD=debug and not defined if BUILD=release. [0,1,default]
DEBUG_FLAG := default
DEBUG_FLAG = default
# Multiple libraries or single huge monolithic one? [0,1]
MONOLITHIC := 0
MONOLITHIC = 0
# Build GUI libraries? [0,1]
USE_GUI := 1
USE_GUI = 1
# Build wxHTML library (USE_GUI must be 1)? [0,1]
USE_HTML := 1
# Build multimedia library (USE_GUI must be 1)? [0,1]
USE_MEDIA := 1
USE_HTML = 1
# Build wxXRC library (USE_GUI must be 1)? [0,1]
USE_XRC := 1
# Build wxAUI library (USE_GUI must be 1)? [0,1]
USE_AUI := 1
# Build wxRichTextCtrl library (USE_GUI must be 1)? [0,1]
USE_RICHTEXT := 1
# Build wxStyledTextCtrl library (USE_GUI must be 1)? [0,1]
USE_STC := 1
USE_XRC = 1
# Build OpenGL canvas library (USE_GUI must be 1)? [0,1]
USE_OPENGL := 0
USE_OPENGL = 0
# Build ODBC database classes (USE_GUI must be 1)? [0,1]
USE_ODBC := 0
USE_ODBC = 0
# Build quality assurance classes library (USE_GUI must be 1)? [0,1]
USE_QA := 0
USE_QA = 0
# Enable exceptions in compiled code. [0,1]
USE_EXCEPTIONS := 1
USE_EXCEPTIONS = 1
# Enable run-time type information (RTTI) in compiled code. [0,1]
USE_RTTI := 1
USE_RTTI = 1
# Enable threading in compiled code. [0,1]
USE_THREADS := 1
# Link with gdiplus.lib? (Needed for wxGraphicsContext, will also set wxUSE_GRAPHICS_CONTEXT) [0,1]
USE_GDIPLUS := 0
USE_THREADS = 1
# Is this official build by wxWidgets developers? [0,1]
OFFICIAL_BUILD := 0
OFFICIAL_BUILD = 0
# Use this to name your customized DLLs differently
VENDOR := custom
VENDOR = custom
#
WX_FLAVOUR :=
WX_FLAVOUR =
#
WX_LIB_FLAVOUR :=
WX_LIB_FLAVOUR =
# Name of your custom configuration. This affects directory
# where object files are stored as well as the location of
# compiled .lib files and setup.h under the lib/ toplevel directory.
CFG :=
CFG =
# Compiler flags needed to compile test suite in tests directory. If you want
# to run the tests, set it so that the compiler can find CppUnit headers.
CPPUNIT_CFLAGS :=
CPPUNIT_CFLAGS =
# Linker flags needed to link test suite in tests directory. If you want
# to run the tests, include CppUnit library here.
CPPUNIT_LIBS :=
CPPUNIT_LIBS =
# Version of C runtime library to use. You can change this to
# static if SHARED=0, but it is highly recommended to not do
# it if SHARED=1 unless you know what you are doing. [dynamic,static]
RUNTIME_LIBS := dynamic
RUNTIME_LIBS = dynamic
# Set the version of your Mingw installation here.
# "3" ...... this is for Mingw 2.0 or newer (comes with gcc3)
# "2.95" ... for Mingw 1.1 or any of the older versions [3,2.95]
GCC_VERSION := 3
GCC_VERSION = 3

View File

@@ -1,6 +1,6 @@
# =========================================================================
# This configuration file was generated by
# Bakefile 0.2.2 (http://bakefile.sourceforge.net)
# Bakefile 0.2.0 (http://bakefile.sourceforge.net)
# Beware that all changes made to this file will be overwritten next
# time you run Bakefile!
# =========================================================================
@@ -38,7 +38,7 @@ SHARED = 0
WXUNIV = 0
# Compile Unicode build of wxWidgets? [0,1]
UNICODE = 1
UNICODE = 0
# Use MSLU library when building Unicode version. [0,1]
MSLU = 0
@@ -50,9 +50,7 @@ BUILD = debug
# This does not affect the compiler output, so you still need to make sure
# your environment is set up appropriately with the correct compiler in the
# PATH. Rather it affects some options passed to some of the common build
# utilities such as the resource compiler and the linker.
#
# Accepted values: AMD64, IA64.
# utilities such as the resource compiler and the linker. [AMD64,IA64]
TARGET_CPU = $(CPU)
# Should debugging info be included in the executables? The default value
@@ -77,21 +75,9 @@ USE_GUI = 1
# Build wxHTML library (USE_GUI must be 1)? [0,1]
USE_HTML = 1
# Build multimedia library (USE_GUI must be 1)? [0,1]
USE_MEDIA = 1
# Build wxXRC library (USE_GUI must be 1)? [0,1]
USE_XRC = 1
# Build wxAUI library (USE_GUI must be 1)? [0,1]
USE_AUI = 1
# Build wxRichTextCtrl library (USE_GUI must be 1)? [0,1]
USE_RICHTEXT = 1
# Build wxStyledTextCtrl library (USE_GUI must be 1)? [0,1]
USE_STC = 1
# Build OpenGL canvas library (USE_GUI must be 1)? [0,1]
USE_OPENGL = 0
@@ -99,7 +85,7 @@ USE_OPENGL = 0
USE_ODBC = 0
# Build quality assurance classes library (USE_GUI must be 1)? [0,1]
USE_QA = 1
USE_QA = 0
# Enable exceptions in compiled code. [0,1]
USE_EXCEPTIONS = 1
@@ -110,9 +96,6 @@ USE_RTTI = 1
# Enable threading in compiled code. [0,1]
USE_THREADS = 1
# Link with gdiplus.lib? (Needed for wxGraphicsContext, will also set wxUSE_GRAPHICS_CONTEXT) [0,1]
USE_GDIPLUS = 0
# Is this official build by wxWidgets developers? [0,1]
OFFICIAL_BUILD = 0

View File

@@ -1,6 +1,6 @@
# =========================================================================
# This configuration file was generated by
# Bakefile 0.2.2 (http://bakefile.sourceforge.net)
# Bakefile 0.2.0 (http://bakefile.sourceforge.net)
# Beware that all changes made to this file will be overwritten next
# time you run Bakefile!
# =========================================================================
@@ -41,7 +41,7 @@ WXUNIV = 0
# Compile Unicode build of wxWidgets? [0,1]
# 1 - Unicode
UNICODE = 1
UNICODE = 0
# Type of compiled binaries [debug,release]
BUILD = debug
@@ -68,21 +68,9 @@ USE_GUI = 1
# Build wxHTML library (USE_GUI must be 1)? [0,1]
USE_HTML = 1
# Build multimedia library (USE_GUI must be 1)? [0,1]
USE_MEDIA = 1
# Build wxXRC library (USE_GUI must be 1)? [0,1]
USE_XRC = 1
# Build wxAUI library (USE_GUI must be 1)? [0,1]
USE_AUI = 1
# Build wxRichTextCtrl library (USE_GUI must be 1)? [0,1]
USE_RICHTEXT = 1
# Build wxStyledTextCtrl library (USE_GUI must be 1)? [0,1]
USE_STC = 1
# Build OpenGL canvas library (USE_GUI must be 1)? [0,1]
USE_OPENGL = 0
@@ -101,9 +89,6 @@ USE_RTTI = 1
# Enable threading in compiled code. [0,1]
USE_THREADS = 1
# Link with gdiplus.lib? (Needed for wxGraphicsContext, will also set wxUSE_GRAPHICS_CONTEXT) [0,1]
USE_GDIPLUS = 0
# Is this official build by wxWidgets developers? [0,1]
OFFICIAL_BUILD = 0

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,271 +1,220 @@
Microsoft Developer Studio Workspace File, Format Version 6.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
###############################################################################
Project: "wxregex"=wx_wxregex.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "wxzlib"=wx_wxzlib.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "wxpng"=wx_wxpng.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "wxjpeg"=wx_wxjpeg.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "wxtiff"=wx_wxtiff.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "wxexpat"=wx_wxexpat.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "wxscintilla"=wx_wxscintilla.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "base"=wx_base.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "net"=wx_net.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "core"=wx_core.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "adv"=wx_adv.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "media"=wx_media.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "odbc"=wx_odbc.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "dbgrid"=wx_dbgrid.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "html"=wx_html.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "qa"=wx_qa.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "xml"=wx_xml.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "xrc"=wx_xrc.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "aui"=wx_aui.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "richtext"=wx_richtext.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "stc"=wx_stc.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name wxscintilla
End Project Dependency
}}}
###############################################################################
Project: "gl"=wx_gl.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Microsoft Developer Studio Workspace File, Format Version 6.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
###############################################################################
Project: "wxregex"=wx_wxregex.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "wxzlib"=wx_wxzlib.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "wxpng"=wx_wxpng.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "wxjpeg"=wx_wxjpeg.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "wxtiff"=wx_wxtiff.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "wxexpat"=wx_wxexpat.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "base"=wx_base.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "net"=wx_net.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "core"=wx_core.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "adv"=wx_adv.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "media"=wx_media.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "odbc"=wx_odbc.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "dbgrid"=wx_dbgrid.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "html"=wx_html.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "qa"=wx_qa.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "xml"=wx_xml.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "xrc"=wx_xrc.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "gl"=wx_gl.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More