Cocoa has been the default toolkit in wxWidgets for a long time. There is really no good reason to use Carbon in 2016 and this removes a lot of unused and unmaintained code.
It doesn't make much sense to have dependencies on the system libraries when
using a built-in library as this makes the binaries using wxWidgets unportable
to the systems without the matching versions of these libraries which was
probably the goal if the built-in library is used.
We need these options in both CXXFLAGS and OBJCXXFLAGS, otherwise
Objective-C++ code would fail to compile when including C++11 headers such as
<type_traits>.
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...).
This symbol was wrongly added to include/wx/msw/setup0.h directly in
075ef6551e, so it didn't work when
cross-compiling from Unix (which doesn't use this file) and would have been
lost after any future modification of include/wx/setup_inc.h where it should
have been added in the first place.
Do this now and also make the check for this symbol in wx/progdlg.h a bit more
readable.
Some files only appear in Cocoa builds now which iOS is not a part of,
resulting in link errors. Add (Carbon's) settings.cpp and (Cocoa's)
stdpaths.mm to the list of iOS sources to fix this.
The regenerated Xcode projects also include other additions since the
last time they were updated using makeprojects.applescript (and
overwrites project changes that were made manually).
Windows CE doesn't seem to be supported by Microsoft any longer. Last CE
release was in early 2013 and the PocketPC and Smartphone targets supported by
wxWidgets are long gone.
The build files where already removed in an earlier cleanup this commit
removes all files, every #ifdef and all documentation regarding the Windows CE
support.
Closes https://github.com/wxWidgets/wxWidgets/pull/81
There doesn't seem to be any need for it, the library compiles fine without it
and the few warnings generated with -Wstrict-aliasing=2 are harmless (i.e. the
strict aliasing rule is not really broken).
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.
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.
This constant wasn't very useful as it contained the description of the OS on
the machine where the library was built, not the one on which the application
using it was running. It also wasn't used anywhere in wxWidgets and apparently
wasn't meant to be used outside of it.
Finally, putting the output of `uname -r` into it created problems with
creating reproducible builds as just a change in the kernel version changed
the build results.
Closes#17002.
This is a simple animated control indicating some program activity.
Provide native GTK+ (for > 2.20) and OS X implementations as well as a generic
one used under MSW.
Update the sample and the documentation.
Use AC_CACHE_CHECK() to avoid recompiling the test program(s) every time
configure runs and also simplify the checks. This required renaming
ac_wxgtkXXX to wx_cv_gtkXXX (cached variables must have "cv" in them).
Also make the checks more logical, by simply setting wx_cv_gtkXXX if
wx_cv_gtkYYY is set with XXX < YYY.
Finally, and the real reason for these changes, add test for __WXGTK220__
which will be used by the upcoming commits to check whether GtkSpinner is
available.
This is a simple high level helper combining an arbitrary control showing
multiple items with the buttons allowing to add items to and remove items from
this control, but using the buttons and the layout appropriate for the current
platform.
Add the implementation itself, an example of using it to the dialogs sample
and the documentation.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78462 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The output of "checking for backtrace()" was interspersed with the output of
"checking for library containing backtrace", which was ugly and potentially
confusing, so move AC_SEARCH_LIBS() out of AC_CACHE_CHECK() to fix it.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78430 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This avoids
WARNING: libnotify not found, wxNotificationMessage will use generic implementation.
followed by
Which GUI toolkit should wxWidgets use? GTK+ 2 with support for libnotify
at the end.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78421 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This option, which is on by default unless the use of STL is disabled,
provides better interoperability with the standard library when it can be done
without breaking backwards compatibility.
The first example of its use is to allow passing std::vector<> of any string
compatible type to wxItemContainer::Append(), Insert() and Set(), allowing to
directly initialize various wxControls deriving from it such as wxChoice,
wxComboBox, wxListBox from a std::vector<> of strings.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78066 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add EXTRALIBS_WEBVIEW similar to the existing EXTRALIBS_MEDIA and such and set
it in configure instead of adding libwebkitgtk and dependent libraries
directly to GUI_TK_LIBRARY.
This ensure that the core library doesn't have any dependencies on
libwebkitgtk which it doesn't need.
Closes#16624.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78026 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This merges in the latest sources from GSoC 2014 wxQt project with just a few
minor corrections, mostly undoing wrong changes to common files in that branch
(results of a previous bad merge?) and getting rid of whitespace-only changes.
Also remove debug logging from wxGrid.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77455 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This partially reverts the changes of r77029 and r77039: now functions such as
Set/GetLayout(), AlphaBlend() and GradientFill() are still called (almost)
directly when using MSVC but pass by dynamic loading with the other compilers,
which don't have #pragma comment(lib) and, in MinGW case, also lack some of
these functions in their libraries even if we do link with them.
Closes#16411.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77068 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Implicitly link msimg32.lib in when using MSVC and add it to MinGW (and
Borland) makefiles.
This should have been part of r77029.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77039 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This allows to disable the use of all system libraries with a single option
instead of having to use --with-{lib{png,jpeg,tiff},regex,zlib,expat}=builtin
or similar.
This is especially useful under OS X where we want to avoid the dependencies
on any locally installed homebrew or similar libraries.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76948 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Get rid of the rest of __WXCOCOA__ tests in the sources.
Drop configure option for using it.
Also remove the documentation for this port.
This should have also been part of r76735.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76815 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Amend the changes of r76800 to only avoid QuickTime framework when using
Cocoa, under Carbon it's needed by wxSound too, and not only wxMediaCtrl, and
there is no real reason to avoid it in the first place anyhow.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76814 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
OpenGL framework is, in fact, always needed because of the code in
src/osx/core/glgrab.cpp which is currently used to implement
wxScreenDC::GetAsBitmap().
This reverts r76799.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76807 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This means `wx-config --libs` doesn't include webview in its output by default
any longer, it must be explicitly requested.
Closes#16291.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76616 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Most importantly, this allows us to remove all MSLU-related stuff.
Some functions which were previously loaded dynamically can now be just used
directly, too.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76535 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
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
Detect its support in the code by testing __cplusplus value and using specific
checks for MSVC and Clang as configure detects it as being available when
using recent g++ versions in non-C++11 mode, which do support this keyword but
warn when it is used without -std={gnu,c}++11 option, which makes actually
using it a bad idea in this case.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76174 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Make overriding virtual methods more explicit and enable additional checks
provided by C++11 compilers when "override" is used.
Closes#16100.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76173 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Use dladdr() under Unix, if available, to provide the same functionality as we
get from GetModuleHandleEx() under MSW and export it in a new public function.
Closes#15248.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76114 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This fix only helps with building wxWidgets itself but doesn't help when
building user code using it, so revert it as we need another solution to this
problem anyhow.
This reverts r75536, see #15805.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75553 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Under Windows we already define _UNICODE which gets picked up and translated
to wxUSE_UNICODE by wx/platform.h, but under Unix we didn't do it until now.
Do it both for consistency and to fix the build breakage since r75520 which
moved the tests for wxUSE_UNICODE being defined before wx/setup.h.
This seems like the simplest solution because otherwise there doesn't seem to
be any single header order which would work under both Windows and Unix: under
Windows we need to include wx/compiler.h, and hence _mingw.h included from it,
before wx/setup.h, which implies that wxUSE_UNICODE must be set before doing
it, but under Unix wxUSE_UNICODE was only defined in wx/setup.h and so
couldn't be tested before including wx/compiler.h.
And just the explanation above should convincingly show that defining
wxUSE_UNICODE in CPPFLAGS makes things simpler.
Closes#15805.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75536 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Under this system vsscanf() is declared as taking a non-const char* as first
argument which prevented our code using it from compiling. Wrap it in
wxCRT_VsscanfA() adding the necessary const_cast<> to fix this.
Closes#15638.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75340 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
It wasn't up to date (e.g. aui, ribbon, propgrid, richtext were not included
in it) and wasn't used anywhere anyhow.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75282 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The test for setEventCallout() was added in r34541 to work around some problem
with OS X 10.1 SDK. As we don't support this version of OS X since a very long
time, it shouldn't be needed any longer.
See #15692.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75255 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Use pangoxft only now.
Also remove the apparently unused src/x11/pangox11.cpp file, only
src/x11/pango_x.cpp seems to be used (and this one only by being included in
src/x11/dcclient.cpp).
Closes#15482.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74981 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
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
Unfortunately the changes of r74909 (see #15452) don't seem to have been
tested and broke "make install" completely as libraries were not found in the
"bin" directory where the script was looking for them. Fix it to use "lib"
subdirectory as intended.
Closes#15551.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74921 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
It was replaced by GTK+ printing several years ago and is almost never used
any longer anyhow, so any problems in this code (and there are some) would
never be found and fixed.
Also update the message catalogs to avoid having the strings not used any
more, as they were only used in Gnome printing code.
Closes#15517.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74912 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
In addition to changing the libraries themselves to point to the dependencies
in their installed location, we also need to do the same thing for wxrc when
installing it under OS X, otherwise it wouldn't run once the libraries are not
available in their original location any more.
Closes#15452.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74909 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This is just an optimization: don't waste time checking for tr1 header if we
already found the standard one that we're going to use if it's available.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74882 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
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
Don't redo the tests already done in wx/wxcrtbase.h in wx/string.h too,
especially as they were not done correctly there (they didn't take into
account the case of MinGW in strict ANSI mode). Just call wxCRT_StricmpA().
This also allows us to get rid of HAVE_STRCASECMP_IN_STRING[S]_H tests in
configure.
Closes#15349.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74571 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The latter file is also used when building from the command line while the
former is only used in Xcode build, as its name indicates (which didn't help
me to notice it, however).
Also restore the test for wcsftime() in configure as it is available even on
older systems but do not test for strnlen() -- as it is not.
These changes amend those of r74523.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74534 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The tests for these functions may succeed on the system we're running under
but the functions may not be actually available on the system the application
is going to run under (if it's < 10.7).
So use our own replacements for these functions unless 10.7 was explicitly
chosen as the minimal possible version.
An alternative solution could have been to use weak linking but this is more
difficult and there is no real gain (performance would need to be measured
first).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74523 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This fixes linking of the widgets sample when using wxUniv/X11.
It partially reverts the changes of r73290 which only included this file in
some selected ports instead of all of them for some reason.
Closes#15327.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74499 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The main user-visible effect of this change is that giving configure
--disable-vararg-macros argument now really disables the use of variadic
macros whereas it didn't disable them in wx/cpp.h before.
It is, of course, also less confusing to not have two very similar but
different symbols.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74489 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This should have been done together with the changes of r74425, as
autoconf_inc.m4 had changed, configure should have been regenerated too.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74449 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
If libjbig is available, the built-in libtiff build process picks it up and
uses it, requiring all the code linking with libtiff to link with it too, so
add it to the list of the libraries in this case.
This is the same change as was already done for liblzma dependency in r74033,
see #14963.
Closes#15244.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74153 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This file has accumulated a lot of condition checks which were not relevant
any more, remove and recreate it (by running bakefile_gen) to get rid of them.
Closes#15101.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73648 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Replace a few more __WXMSW__ tests with __WINDOWS__ ones and modify bakefiles
to allow specifying the toolkit to be built in wxMSW makefiles.
Closes#13902.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73290 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The options didn't have the underscore shown in the help message, so remove
the underscore (while it could be argued that underscore makes the option
names more readable, it seems better to preserve the existing names for
compatibility).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72685 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The previous commit was accidental and contained an initial version of the
patch which didn't test for NPTL abi::__forced_unwind correctly and just
tested whether cxxabi.h header was available.
Tighten the check to work on the other systems and check for __forced_unwind
existence itself.
Also check for cxxabi.h before testing for __cxa_demangle as there is no need
to try to compile another test program if we already know that this entire
header is unavailable anyhow.
See #14626.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72532 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
libnotify 0.4.5 included in Ubuntu Lucid (10.04) can be used for implementing
wxNotificationMessage too, there is only a minor difference with 0.7 API. So
while we stick check for 0.7 initially, accept lower versions too if 0.7 is
not available.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72456 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Use libnotify -- if detected by configure -- to provide native notifications
in wxGTK. Our API maps to libnotify one in rather straightforward way, we
might consider extending it to cover more of libnotify functionality
(categories, user-defined icons and, especially, actions) later.
Also update the dialogs sample to show another kind of notification and the
documentation to clarify the behaviour of various methods.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72218 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Some libraries (e.g. Pango) were added to GUI_TK_LIBRARY already while others
(e.g. Hildon) had their own EXTRALIBS_HILDON variables that were then added to
EXTRALIBS_GUI separately. Finally, some others were simply broken because
neither EXTRALIBS_GNOMEVFS nor EXTRALIBS_GTKPRINT were set anywhere.
Standardize on using GUI_TK_LIBRARY for everything.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72216 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
As 10.4 is not supported any more, don't check for it. Also don't impose the
use of gcc 4.0 for compiling wxOSX/Carbon as this compiler doesn't exist any
more under OS X 10.7 but wxOSX/Carbon can be compiled using gcc 4.2 if 10.6
SDK is selected, so this change allows to build wxOSX/Carbon under 10.7.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71950 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Compiler TLS support is broken under Win32/MSVC when used for a code which is
part of a dynamically loaded DLL, so allow disabling it.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71792 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This compiler doesn't exist any more and was probably unsupported even in 2.8,
let alone 2.9, so remove all the __MWERKS__ tests to simplify things.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71102 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This framework doesn't exist in 64 bits and so using it results in a warning
when building 64 bit libraries. Avoid this by omitting it if we are sure that
we target 64 bits only.
Closes#14144.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71086 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Use POSIX function if available instead of only using Solaris-specific
thr_setconcurrency() which is not found in modern Linux systems any more.
Closes#2115.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70960 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Defining it as 1 is better than not allowing to set it at all and this setting
is not important enough to warrant its own command-line configure option.
Closes#14106.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70943 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Interpret --enable-universal_binary argument as a comma-separated list of
architectures to use. By default still use all the supported ones.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70705 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The company behind MGL toolkit (SciTech) doesn't exist since several years and
this port is not used by anybody, so remove it to ease maintenance burden.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70353 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
As we use AC_ARG_ENABLE() instead of WX_ARG_ENABLE() for it, we need to call
AC_MSG_RESULT() explicitly or its value is never reported and configure output
is corrupted.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70014 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
We need to explicitly define _GNU_SOURCE when building our code as we use it
configure when running the tests and it's not predefined by Sun CC, unlike g++
so we need to add it to CXXFLAGS ourselves.
An alternative solution would be to run the tests without _GNU_SOURCE but this
would lose too much functionality so it doesn't seem like a good idea.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69936 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
We used to test for glibc version first and predefined _GNU_SOURCE only if it
was greater than 2.1 but there doesn't seem to be any harm to just always
predefine _GNU_SOURCE under Linux (not that there are any systems with glibc <
2.1 left anyhow). Also do it much earlier to ensure that all tests are
affected by it.
And as we don't use wxHAVE_GLIBC2 anywhere else just remove it.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69935 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The contents of this header is available from winuser.h (included by
windows.h) since at least 15 years and pbt.h itself is not included in the
latest Platform SDK releases (8+) so simply don't include it and also don't
test for its availability in configure.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69863 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Because of a missing '$' before wxUSE_WEBVIEW_IE in the configure test
wxUSE_WEBVIEW was never enabled for wxMSW builds.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69745 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Remove all inappropriate compiler options and not just the first one as they
can occur multiple times because they may come from pkg-config output for
several different libraries.
Closes#13647.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69720 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Implicitly use SEARCH_LIB in WX_PATH_FIND_LIBRARIES() and WX_FIND_LIB() macros
to avoid having to pass it to them explicitly every time.
Closes#13601.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69570 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
It can be used to show more customizable tooltips than the native wxToolTip
but at the price of using generic implementation in some cases (actually
almost always now, with the exceptions of text control tooltips under MSW).
Extra features include:
- The balloon-like tooltip form.
- Possibility to show an icon.
- Title display in a different form.
More customization could be added later. It should be also possible to fully
implement this class natively under MSW.
Update the dialogs sample to show the rich tooltips in action.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69463 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Implement wxTimePickerCtrl natively for MSW and add a generic implementation
(very loosely based on the original class by Paul Breen) for the other
platforms.
Also update the calendar sample to show the new control.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69224 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Don't define wxUSE_WEBVIEW in configure if WebKit is not available under Unix
(we should also check for wxUSE_WEBVIEW_IE under Windows later) and add the
check that either wxUSE_WEBVIEW_WEBKIT or wxUSE_WEBVIEW_IE is defined if
wxUSE_WEBVIEW is to wx/chkconf.h.
This makes it possible to just check for wxUSE_WEBVIEW instead of checking for
wxUSE_WEBVIEW && (wxUSE_WEBVIEW_IE || wxUSE_WEBVIEW_WEBKIT) as the code did
previously which was ugly and error-prone.
Also, define wxUSE_WEBVIEW_IE in configure under MSW. Currently this supposes
that the required IE headers/libraries are available which is probably wrong,
we should add checks for them later.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69108 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Only warn if an explicit --enable-metafile was given, otherwise just turn it
on only for the platforms that do support it, similarly to what was done for
--enable-hotkey in the previous commit.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68969 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add --enable-hotkey switch to allow enabling hot keys support and enable it by
default under MSW and OS X that do support them but disable it elsewhere to
avoid unnecessary warnings about them being unsupported.
See #12354.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68968 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This is a facade for wxDataViewCtrl allowing to easily work with multi-column
trees, possibly with an optional checkbox in the first column. Its API is very
similar to wxTreeListCtrl and it provides a simple migration path from the
latter.
Add the class itself, documentation for it and minimal unit tests.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68916 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
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
wxFileSystemWatcher requires threads under MSW so disable it automatically in
configure if --disable-threads was used to avoid compilation errors in
wx/msw/chkconf.h later.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67965 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Revert the change of wxUSE_STD_CONTAINERS to 1 by default as this introduces
more incompatibilities which risk hamper upgrading to 3.0 unnecessarily.
Update the documentation to better explain why do the non-standard container
classes exist in wxWidgets and, especially, that they shouldn't be used when
possible. Also document the differences between the normal and STL containers
build in the manual.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67735 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add support for world transformations to wxDC too. Currently this is
implemented in wxMSW only but could be easily provided in the ports that use
wxGraphicsContext for wxDC implementation later.
Closes#13092.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67588 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Previously, wxUSE_STL enabled both implicit conversion of wxString to
std::[w]string and use of standard containers for the implementation of their
wx equivalents. Split up the two roles now by allowing to enable the use of
the standard containers independently of (backwards incompatible) implicit
conversion in wxString and actually enable wxUSE_STD_CONTAINERS by default.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67343 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
GTK_DISABLE_SINGLE_INCLUDES causes trouble with other included
libraries (libgnomeprint this time) too. This check for trivially fixed
problems is not worth the continuing trouble.
Fixes#13078.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67307 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Applied patch by snowleopard2 fixing a bunch of typos such as misspellings and double words in the documentation. Combined the patch with some local queued typos waiting to be committed as well as adding new typo fixes inspired by the patch.
Function names with American spelling were not changed nor was third-party code touched. The only code changes involve some changes in strings that are translated ("Can not" -> "Cannot").
Closes#13063 (again).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67280 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Only the main headers (e.g. gtk/gtk.h) should be included and GTK+ 3 is strict about this. Enable compile-time checks for this that work with GTK+ 2.24.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67137 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Make it possible to disable all the new markup-related code by setting
wxUSE_MARKUP to 0 in setup.h or using configure --disable-markup option.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67062 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This function is required by wxGraphicsContext Cairo-based implementation but
is missing in old Cairo versions so check for it in configure and disable
wxGraphicsContext is it's not available.
Closes#12966.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66995 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
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
Make it possible to exclude wxDefaultArtProvider from build. Now that a
Tango-based provider exists, it may make sense to disable the standard bitmaps
if the program doesn't need the few of them not provided by Tango anyhow.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66506 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The icons are embedded as PNG images directly in the source code to avoid the
need for installing them. This does make the library larger though so provide
a wxUSE_ARTPROVIDER_TANGO option to turn the new code and associated bloat off.
Also turn it off by default under wxGTK as the native art provider is used
there anyhow.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66505 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Contrary to the comment in wx/wxcrtbase.h, wcsftime() doesn't seem to be
available under quite all the systems, notably it doesn't seem to be present
in OpenBSD at all, even in the very latest version.
Add a configure test for this function and fall back to our own implementation
if the system doesn't have it.
Closes#12766.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66446 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
wxWidgets 2.9 doesn't support building without wchar_t any more so always
define wxUSE_WCHAR_T and give an error from configure if wchar_t is really not
available.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66445 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
WINDRES_CPU_DEFINE is just another resource compiler flag which should be part
of RESFLAGS instead of being added to RESCOMP definition itself. This is not
only more logical but also fixes the problem with matching RESCOMP against
"windres" or "wrc" in wx-config.
See #12356.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66234 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Check for Cairo in configure for wxX11 too.
Fix compilation of wxCairoContext for non-{GTK,MSW} platforms.
Also make wxUSE_CAIRO a "normal" option, i.e. add it to all wx/setup.h files
instead of defining it as 1 unconditionally for wxGTK and 0 for everything
else.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66094 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This undoes the hack of r35357 which surreptitiously removed all Cairo
libraries from the GTK libraries list. This shouldn't be necessary any more as
we use Cairo calls in our own code and so can't run without it anyhow and in
fact is even actively harmful as it results in linking errors under Fedora 13
(which seems to use a slightly different linker?).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65489 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
ctl3d32 was used for Win16 development and is not used by wxMSW since many
years, don't link with it unnecessarily when using MinGW.
Also remove a FIXME comment about an issue which doesn't seem to need any
fixing.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65464 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Correct a lot of problems with the initial implementation, notably make the
API consistent across all platforms, e.g. all keyboard-related methods now
take just a wxKeyCode.
Add some useful higher-level helpers such as Text() and MouseDragDrop().
Improve documentation.
wxUIActionSimulator now works under MSW, GTK and OS X and is enabled by
default.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65385 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This is a generalization of wxMessageDialog based on the native task dialog
under recent (Vista and later) Windows versions and implemented generically
for the other ports for now.
It provides the possibility to use additional controls in the message boxes
(checkbox useful for the "Don't ask me again" kind of dialogs and collapsible
detailed explanations field) and better look and feel under Windows.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65349 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
A command link button wraps a native MSW control under recent Windows versions
and is implemented generically as a simple bitmap button elsewhere.
In the future, GTK implementation should allow using a different font for the
button label and its note.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65327 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
We never defined wxDEBUG_LEVEL as 0 meaning that debugging code in wxWidgets
was always enabled, even if --disable-debug_flag or --disable-debug (which
implies it) was given.
Fix this now by adding -DwxDEBUG_LEVEL=0 to CPPFLAGS if necessary.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65045 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Implements checks similar to gcc's compile-time checks: verify that the
arguments are of correct types. This works partially at compile time
(e.g. passing an object as argument fails to compile) and partially at
runtime (assert if the specifier doesn't match the type).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64710 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
It seems that autoconf_inc.m4 hadn't been regenerated by a previous change as
rerunning bakefile_gen resulted in a lot of changes in it, do it now without
any other changes to ensure that the next commit only contains the changes due
to its modification of files.bkl.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64441 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
__GXX_RTTI is only defined since g++ 4.3.2 and so we can't rely on its absence
as indicating the use of -fno-rtti switch with the older versions of the
compiler, only do this for g++ 4.3+.
Also define wxNO_RTTI from configure if --enable-no_rtti was used as we can't
always detect it automatically.
Closes#11955.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63995 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
MinGW doesn't include gdiplus.h but it can be installed independently by the
user. Allow to use it if it's available:
- Include windows.h when checking for it in configure as this is apparently
needed for its compilation.
- Don't reset wxUSE_GRAPHICS_CONTEXT to 0 for non-Microsoft compilers, instead
just define it as 0 by default for them, allowing the user to simply change
the definition in wx/msw/setup.h.
Closes#11892.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63832 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The uiaction sample was never built under Unix, do add it to SAMPLES_SUBDIRS
to enable building it if wxUSE_UIACTIONSIMULATOR==1.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63742 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Recognize QNX and define __QNX__ under it.
Don't use -lpthreads as the thread functions are in libc under QNX.
Use wxX11 by default.
See #11790.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63664 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Previous mipsPro versions don't give this warning but do warn about "unknown
warning number 3970" if we use this -woff which is even more annoying than
original warning we tried to suppress.
This is a forward port of r45896 which somehow was only applied to 2.8 branch.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63584 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Don't define wxUSE_FSWATCHER as 1 in configure if we can't implement it.
Also add a check to wx/unix/chkconf.h to verify that we didn't end up with an
inconsistent configuration somehow.
Closes#11670.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63306 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
We tested for png_check_sig() which was deprecated and is not available in the
latest libpng 1.4 any more. Just use another, not deprecated and not new,
function for the test.
See #11625.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63137 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
sw_vers outputs e.g. 10.4.11 under 10.4 so comparing its result with just 10.4
is wrong, match it against "10.4*" using case instead to ensure that 10.4.11
is indeed recognized as 10.4.
Closes#11579.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62997 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775