Commit Graph

1456 Commits

Author SHA1 Message Date
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
Olly Betts
ecf85bf4cb Remove WXWIN_OS_DESCRIPTION.
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.
2015-05-22 02:29:49 +02:00
Vadim Zeitlin
3f84cb17ca Add wxActivityIndicator control.
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.
2015-03-20 00:08:37 +01:00
Vadim Zeitlin
a4f536547b Define __WXGTK220__ in configure and improve checks for GTK+ version.
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.
2015-03-08 16:28:22 +01:00
Vadim Zeitlin
453897149f Add wxAddRemoveCtrl class.
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
2015-02-09 00:26:11 +00:00
Vadim Zeitlin
eeead5ff6d Prettify configure output when checking for backtrace().
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
2015-02-01 11:33:13 +00:00
Vadim Zeitlin
9a126106a9 Reset wxUSE_LIBNOTIFY if libnotify not detected in configure.
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
2015-01-29 12:25:35 +00:00
Vadim Zeitlin
722057b3a0 Add a new wxUSE_STD_CONTAINERS_COMPATIBLY option.
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
2014-10-24 21:54:51 +00:00
Vadim Zeitlin
d24f711f88 Only link webview library with libwebkitgtk in wxGTK, not the core one.
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
2014-10-16 13:33:08 +00:00
Mariano Reingart
47547703f7 Remove redundant __WXQT__ define, thanks @seandpagnier
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77934 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-29 04:18:49 +00:00
Vadim Zeitlin
fc18330137 Remove obsolete toolkits mentions from configure.
Cocoa, MGL and PM are not supported any more.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77910 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-28 15:14:56 +00:00
Vadim Zeitlin
13bbe37adf Regenerate configure after power sample addition to configure.in.
This should have been part of 77511, see #16413.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77909 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-28 15:14:50 +00:00
Vadim Zeitlin
df13791078 Merge wxQT branch into the trunk.
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
2014-08-24 01:50:11 +00:00
Vadim Zeitlin
21da20d579 Restore dynamic linking of GDI functions for non-MSVC.
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
2014-08-14 12:11:39 +00:00
Vadim Zeitlin
afdb989e87 Link wxMSW with msimg32.lib now that AlphaBlend() is used statically.
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
2014-08-09 18:03:23 +00:00
Vadim Zeitlin
bdc5c6e628 Add --disable-sys-libs configure option.
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
2014-07-24 11:34:14 +00:00
Stefan Csomor
8219223d0e adding CoreText to iOS builds
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76913 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-07-14 10:25:24 +00:00
Stefan Csomor
ef5ab70574 adding libs for ios
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76872 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-07-07 18:03:39 +00:00
Vadim Zeitlin
fb99672f62 Hopefully finish removing the old wxCocoa port.
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
2014-07-03 22:03:21 +00:00
Vadim Zeitlin
161809ef8c Still continue to use QuickTime framework in wxOSX/Carbon builds.
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
2014-07-03 22:03:09 +00:00
Vadim Zeitlin
e154a0a308 Revert "Don't link with OpenGL framework unconditionally under Mac OS X."
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
2014-07-03 09:57:40 +00:00
Vadim Zeitlin
2cceb4dbc3 Don't link with QuickTime framework unnecessarily under OS X.
Only use QuickTime when wxUSE_MEDIACTRL is true.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76800 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-30 12:02:33 +00:00
Vadim Zeitlin
c3405487bb Don't link with OpenGL framework unconditionally under Mac OS X.
"-framework OpenGL" is already added when wxUSE_OPENGL is true, there is no
need to always include it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76799 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-30 12:02:29 +00:00
Vadim Zeitlin
f2ee54fec0 Correct the name of the "preferences" sample in configure.
Fix building (all) samples under Unix.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76740 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-19 22:11:33 +00:00
Vadim Zeitlin
a309157a66 Don't include "webview" in "standard" libraries.
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
2014-05-27 23:59:10 +00:00
Vadim Zeitlin
d26187ed4e Update configure after the last commit.
Previous commit didn't include bakefile-generated update to configure,
breaking the build, fix this.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76543 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-16 11:29:33 +00:00
Vadim Zeitlin
0d4ad161d5 Remove support for Win9x from wxMSW.
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
2014-05-16 02:33:40 +00: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
Paul Cornett
6fc2e956cf Always check for wide char IO functions, they are used regardless of wxUSE_UNICODE setting
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76470 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-06 16:34:47 +00:00
Vadim Zeitlin
78de4fe291 Remove configure test for override keyword.
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
2014-03-20 15:49:07 +00:00
Vadim Zeitlin
33ad33d447 Add wxOVERRIDE and use it in common and wxOSX code.
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
2014-03-20 13:26:28 +00:00
Vadim Zeitlin
f51dc81c85 Add wxDynamicLibrary::GetModuleFromAddress().
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
2014-03-11 16:04:06 +00:00
Vadim Zeitlin
6cf1fc7610 Really fix using install_name_tool with wxrc under OS X.
Don't test for USE_XRC before it is set, correcting the wrong change of
r75845.

See #15946.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76052 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-02 15:51:33 +00:00
Vadim Zeitlin
5b8479e809 Fix build under OS X with --disable-xrc.
Don't try to change the install names in non-existent (in this case) wxrc.

Closes #15946.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75845 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-08 14:12:15 +00:00
Vadim Zeitlin
b4acdde8f7 Revert "Define wxUSE_UNICODE on compiler command line in Unix builds too."
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
2014-01-05 13:55:54 +00:00
Vadim Zeitlin
169b3be0ee Define wxUSE_UNICODE on compiler command line in Unix builds too.
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
2014-01-04 21:58:51 +00:00
Paul Cornett
967a94c91a remove WXWIN_COMPATIBILITY_2_6, add WXWIN_COMPATIBILITY_3_0
closes #15792

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75532 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-01-04 20:07:33 +00:00
Vadim Zeitlin
2e4dcc645d Don't link with -lm if the check using it failed.
It is useless and can, apparently, result in problems, see #15746.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75403 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-12-20 17:55:30 +00:00
Vadim Zeitlin
50805a002a Work around wrong vsscanf() declaration under HP-UX.
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
2013-12-03 13:38:35 +00:00
Vadim Zeitlin
b593863003 Remove never used ALL_WX_LIBS variable from configure.
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
2013-11-23 16:23:42 +00:00
Vadim Zeitlin
4de86c0b26 Update version to 3.1.0.
And regenerate everything.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75261 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-21 13:47:05 +00:00
Vadim Zeitlin
7622a167fd Don't perform any tests for joystick in configure under OS X.
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
2013-11-21 00:07:41 +00:00
Vadim Zeitlin
304a005e7a Fix joystick detection in configure under OS X.
Don't compare toolkit with OSX which is never used for it, compare it with
OSX_COCOA instead.

Closes #15692.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75254 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-21 00:07:36 +00:00
Vadim Zeitlin
9b31387508 Merge the changes from 3.0 branch.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75178 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-12 18:06:37 +00:00
Vadim Zeitlin
f91544e613 Disable wxDataObject in wxDFB build at configure level.
Otherwise we'd just get an error when compiling wx/dfb/chkconf.h later.

Closes #15594.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75049 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-19 12:05:47 +00:00
Vadim Zeitlin
dc1f61892b Don't use long deprecated and now removed pangox library in wxX11 any more.
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
2013-10-10 20:55:15 +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
da6f998486 Fix install_name_tool calls in OS X "make install".
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
2013-10-03 10:34:49 +00:00
Vadim Zeitlin
9ed99f82da Remove support for Gnome printing from wxGTK.
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
2013-10-01 17:09:02 +00:00
Vadim Zeitlin
c9c6a86918 Install wxrc with proper library dependencies under OS X.
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
2013-10-01 16:08:55 +00:00