Commit Graph

84 Commits

Author SHA1 Message Date
Vadim Zeitlin
8881953bea Add support for --with-cxx=17 configure option
Use the latest version of ax_cxx_compile_stdcxx.m4 from the autoconf
archive for C++17 support and handle "17" as the option value in our
configure.

See https://github.com/wxWidgets/wxWidgets/pull/721
2018-02-06 22:38:26 +01:00
Paul Cornett
8e35398037 Update gtk-4.0.m4
Minimize differences with gtk-3.0.m4, fix configuring with GTK+ 3.92.1
2017-12-15 09:31:43 -08:00
Paul Cornett
32f6d9521f Update gtk-3.0.m4
From gtk+-3.22.26/m4macros/gtk-3.0.m4
2017-12-15 09:26:40 -08:00
Rafael Kitover
22b0b4dda7 autoconf and bakefile support for GTK+4
Add autoconf and bakefile support for detecting and using GTK+4, similar
to how GTK+3 is detected and used.

GTK+3 is checked for first before GTK+4, this can be overridden in
`./configure` using `--with-gtk=4`.

With GTK+4 the `__WXGTK4__` `#define` is also set in `setup.h.in`.

This commit does not regenerate any files.
2017-12-12 08:48:36 -08:00
Vadim Zeitlin
e70fc11ef1 Replace CppUnit with Catch for unit tests
Drop the legacy CppUnit testing framework used for the unit tests.
Replacing it with Catch has the advantage of not requiring CppUnit
libraries to be installed on the system in order to be able to run
tests (Catch is header-only and a copy of it is now included in the
main repository itself) and, in the future, of being able to write
the tests in a much more natural way.

For now, however, avoid changing the existing tests code as much as
[reasonably] possible to avoid introducing bugs in them and provide
the CppUnit compatibility macros in the new wx/catch_cppunit.h header
which allow to preserve the 99% of the existing code unchanged. Some
of the required changes are:

 - Decompose asserts using "a && b" conditions into multiple asserts
   checking "a" and "b" independently. This would have been better
   even with CppUnit (to know which part of condition exactly failed)
   and is required with Catch.

 - Use extra parentheses around such conditions when they can't be
   easily decomposed in the arrays test, due to the use of macros.
   This is not ideal from the point of view of messages given when
   the tests fail but will do for now.

 - Rewrite asserts using "a || b" as a combination of condition
   checks and assert macros. Again, this is better anyhow, and is
   required with Catch. Incidentally, this allowed to fix a bug in
   the "exec" unit test which didn't leave enough time for the new
   process to be launched before trying to kill it.

 - Remove multiple CPPUNIT_TEST_SUITE_NAMED_REGISTRATION() macros,
   our emulation of this macro can be used only once.

 - Provide string conversions using Catch-specific StringMaker for
   a couple of types.

 - Replace custom wxImage comparison with a Catch-specific matcher
   class.

 - Remove most of test running logic from test.cpp, in particular don't
   parse command line ourselves any longer but use Catch built-in
   command line parser. This is a source of a minor regression:
   previously, both "Foo" and "FooTestCase" could be used as the name of
   the test to run, but now only the latter is accepted.
2017-11-02 01:53:16 +01:00
Vadim Zeitlin
0d394eec9c Update to bakefile 0.2.11 and rebake everything
The main/only change in this version is the removal of automatic rules
using old Carbon Rez/DeRez/SetFile tools.
2017-10-21 17:42:30 +02:00
Bryan Petty
ed173ed91e Use HTTPS with Trac links. 2017-07-04 13:15:14 -06:00
Vadim Zeitlin
545bec0bac Revert "Remove last vestiges of Carbon-related tools from the makefile"
This reverts commit 2a3721bf98 because it
requires further changes in bakefile itself to really work under Mac, where
the build would be broken as soon as configure would be regenerated (which was
forgotten by that commit due to another error, and so the two errors finally
cancelled out).
2017-05-27 18:27:26 +02:00
Vadim Zeitlin
2a3721bf98 Remove last vestiges of Carbon-related tools from the makefile
Don't detect DeRez, Rez and SetFile in configure, they are not used any
longer as .r resource files are not used under modern macOS.
2017-05-20 16:50:59 +02:00
Vadim Zeitlin
12d77bd1dc Don't check for Metrowerks compiler in configure under OS X
This is just a waste of time, this compiler doesn't exist since many years and
has never been used under OS X.
2016-03-21 00:59:04 +01:00
Vadim Zeitlin
ac12896939 Update GTK+ autoconf macros and regenerate configure
Use the macro versions from 2.24.29 and 3.18.8 (latest available in Debian for
GTK+ 2 and 3 respectively) to fix the detection of pkg-config which was
incorrect in the old gtk-2.0.m4.

Closes #17027.
2016-03-06 18:36:16 +01:00
Vadim Zeitlin
b67ca545cc Add --enable-cxx11 configure option
Make it simpler to enable C++11 support when building wxWidgets, in particular
take care of using the correct standard library under OS X in this case.

Notice that currently we still build the library using C++98 if no C++11
compiler is available, even with this option. We may want to change this to
give an error in such case later instead.

Also skip the check for <type_traits> in configure when C++11 is used, we know
that it's available in this case, so don't waste time checking for it (there
are probably several more checks that could be skipped in C++11 mode too...).
2016-01-24 21:22:15 +01:00
Bryan Petty
0b2263c25d Updated links and mailing list addresses. 2015-10-30 20:06:09 -06:00
Tobias Taschner
26a0a24f38 Remove MS-DOS source files.
Last work on the MS-DOS files was 10 years ago and it's not a viable platform in 2015 any more.
2015-08-26 21:09:41 +02:00
Vadim Zeitlin
004b5a4f49 Don't use "u" option with ar(1).
It seems like it was never really needed as we always delete the archive
before creating it anyhow and there is no advantage in "updating" it if it
doesn't exist. Worse, with recent ar versions (like the one from binutils 2.25
in Debian Sid), using "u" results in a somewhat unclear warning

ar: `u' modifier ignored since `D' is the default (see `U')

so just get rid of it to avoid the warning.
2015-08-03 17:40:30 +02:00
Dimitri Schoolwerth
7cacde3b84 Re-enable symbols visibility support for the Clang compiler
Visibility support for Clang was disabled in 7198c33 because of linking
errors when building shared libraries, related to non-inline methods in
exported template classes.

The last Clang version to have these problems is version "4.1
(tags/Apple/clang-421.11.66)" as part of Xcode 4.5.2, and the next
release fixes them (version "4.2 (clang-425.0.24)", Xcode 4.6). Check
for the Clang version and only disable visibility support when compiling
with Apple Clang < 4.2.

Note that Apple Clang 4.2 is based on official Clang 3.2 so also check
for that version in case of non-Apple builds. The only official Clang
that has been tested successfully is 3.4 which worked fine with
visibility. Other versions that were tried (3.1 and 3.2) segfault while
compiling wx.
2015-05-31 03:08:17 +04:00
Lauri Nurmi
8a2ccd9cf7 Fix spelling of occur* in random files. 2015-02-21 20:01:23 +02:00
Vadim Zeitlin
01f9accd19 Remove wxPM, wxWidgets port to OS/2.
This port is not used and is not being worked on, so remove it to reduce the
amount of the code which needs to be updated for every global change.

Also remove tests for VisualAge compiler which isn't used since ages.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76533 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-15 23:56:58 +00:00
Vadim Zeitlin
15a1c3b2ef Work around g++ atomic builtins detection in configure when -Os is used.
Assigning __sync_sub_and_fetch() result to an unused variable can result in it
being optimized away and the function support is then not really tested for,
see #4542. So do make sure this variable is kept by making it volatile.

Closes #15555.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74934 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-04 23:48:22 +00:00
Vadim Zeitlin
f83a9705cd Fix configure on GNU Hurd.
Closes #15480.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74779 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-10 12:12:47 +00:00
Vadim Zeitlin
3f66f6a5b3 Remove all lines containing cvs/svn "$Id$" keyword.
This keyword is not expanded by Git which means it's not replaced with the
correct revision value in the releases made using git-based scripts and it's
confusing to have lines with unexpanded "$Id$" in the released files. As
expanding them with Git is not that simple (it could be done with git archive
and export-subst attribute) and there are not many benefits in having them in
the first place, just remove all these lines.

If nothing else, this will make an eventual transition to Git simpler.

Closes #14487.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-26 16:02:46 +00:00
Vadim Zeitlin
497b4e64ce Fix checking for GTK+ 3.0 in configure.
Update gtk-3.0.m4 to work correctly with gthread module and regenerate
configure using the new version of this file.

Closes #15319.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74475 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-10 20:48:48 +00:00
Paul Cornett
9dc44eff02 support for GTK3
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71894 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-30 20:39:06 +00:00
Václav Slavík
550a0c4154 Don't use ancient -no-cpp-precomp flag on OS X.
See http://trac.wxwidgets.org/ticket/14029 for a discussion of the
problems it causes when using non-Apple compiler. Even for Apple's GCC,
it does nothing these days and we no longer support OS X 10.3, so
there's no point in continuing to use it.

Fixes #14029.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71314 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-04-29 09:36:44 +00:00
Stefan Neis
3534fee076 Fixed miss-spelling in output messages (enviroment -> environment,
occured -> occurred), fixing 13993.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70620 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-18 19:31:59 +00:00
Dimitri Schoolwerth
7e528ef6d1 Synchronised svn:eol-style and svn:executable properties of some file types.
Changed the properties of the following file types:

.am .m4: LF
.plist .plist.in: native
.guess .sh .sh.in .sub: LF, executable


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70390 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-18 18:00:07 +00:00
Vadim Zeitlin
ea8dd85723 Use AC_LANG_SOURCE and add missing quoting to configure.
This fixes some of the warnings from autoconf 2.68 while still remaining
compatible with 2.61.

Closes #13591.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69554 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-26 23:20:10 +00:00
Václav Slavík
e9eda14ca6 Don't use install -d to create directories.
Always use `mkdir -p`, as install is problematic with regard to
permissions.

Fixes #13452.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69199 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-25 15:48:50 +00:00
Václav Slavík
7198c33680 Disable symbols visibility support for the Clang compiler.
Even Clang++ shipped with Xcode 4.1 still can't handle visibility
of non-inline methods in exported template classes if the default
visibility is 'hidden'.

Disable visibility support for Clang for now, we'll revisit it in the future.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68471 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-31 13:25:30 +00:00
Dimitri Schoolwerth
d13b34d3f2 No code changes, fixed various typos.
Applied patch by snowleopard2 fixing typos in interface/. Extended the fixes throughout trunk.

Closes #13076.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67384 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-03 20:31:32 +00:00
Vadim Zeitlin
00eef16d51 Rebake everything using bakefile 0.2.9.
Update configure and bakefile.m4 for the new version too.

Also add the missing makefiles and projects for the XTI sample.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66836 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-03 15:02:45 +00:00
Vadim Zeitlin
4164cd68d4 Backport fix from bakefile svn for autoconf 2.65.
Use AC_REQUIRE() instead of directly using a macro, the latter doesn't work
with autoconf 2.65.

This is a backport of r1337 from bakefile svn to allow people to use autoconf
2.65 immediately and will become unnecessary when we update to the next
bakefile version.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64620 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-17 22:30:27 +00:00
Kevin Ollivier
fcc9ca7f72 Update to Bakefile 0.2.8.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62521 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-31 20:52:55 +00:00
Vadim Zeitlin
7880889720 Rebake everything using bakefile 0.2.7.
Also updated aclocal inputs and regenerated configure.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62478 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-22 16:53:10 +00:00
Vadim Zeitlin
2c459beb46 Updated for bakefile 0.2.7.
Copied bakefile.m4 from bakefile svn and regenerated configure using it.

This should have been done in r62308 but was forgotten. Notice that we can't
use bakefile 0.2.6 any more without reverting this change!

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62324 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-07 13:54:44 +00:00
Vadim Zeitlin
574be073c0 update for bakefile 0.2.6
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60482 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-02 17:54:45 +00:00
Vadim Zeitlin
eb6a8d695e don't use __thread keyword with g++ < 4 as it results in mysterious problems at link time related to thread-local static wxString::ms_cache
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56928 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-23 01:53:24 +00:00
Vadim Zeitlin
05622061c9 port updates for newer Intel compiler support from bakefile svn and rebake
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56828 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-17 22:29:05 +00:00
Vadim Zeitlin
411484436d use -Woverloaded-virtual if g++ supports it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56751 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-12 15:58:56 +00:00
Vadim Zeitlin
970a5babf7 use correct shared library extension for HP-UX on ia64 [forward port from the next bakefile version]
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56748 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-12 15:37:01 +00:00
Vadim Zeitlin
825dbe24d0 fix the dependencies directory name for traditional Unix compilers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56739 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-12 11:54:41 +00:00
Vadim Zeitlin
506e9b7ed2 rebaked using bakefile 0.2.5
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56525 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-10-27 16:40:51 +00:00
Vadim Zeitlin
313b12ad22 update to 0.2.4 version
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56163 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-10-08 16:32:41 +00:00
Vadim Zeitlin
5b8deabaf4 upgrade m4 files to bakefile 0.2.3
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51547 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-02-04 13:21:23 +00:00
Václav Slavík
9d5507f7a2 check that the version of __sync_sub_and_fetch that returns a value is supported, not just the void one
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50480 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-05 10:51:28 +00:00
Václav Slavík
9dcff96ba9 when testing for GCC's atomic builtins, try to link too (see bug #1844128); also more closely mirror wx's use by using unsigned int and not int for tests
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50466 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-04 15:29:17 +00:00
Vadim Zeitlin
c9bd045b24 check whether compiler supports visibility pragmas used for broken libstdc++ visibility workaround and don't use visibility at all if it doesn't (which is the case for icc)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48852 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-21 10:50:13 +00:00
Václav Slavík
479647105b Fixed wxAtomicInc/Dec() to not use asm/atomic.h header on Linux - it's kernel internal, not available for userspace in newer kernel versions and broken for userspace on some platforms. Use GCC's builtins instead.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48640 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-10 22:27:15 +00:00
Václav Slavík
b9d4eff64f check for HAVE_VISIBILITY first when setting WXIMPORT/WXEXPORT; only set it on platforms where it makes sense
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48059 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-08-13 18:36:14 +00:00
Václav Slavík
34b340a08e the Ubuntu visibility bug only happens when building shared libraries on some systems, use -shared when testing for it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47937 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-08-07 21:13:11 +00:00