Expat requires C99 and doesn't compile without the appropriate command
line option at least under Solaris as <stdbool.h> is not available
without it there.
Closes https://github.com/wxWidgets/wxWidgets/pull/1250Closes#18352.
On modern macOS systems, libstdc++ headers are not installed by default
any more and using 10.7 SDK requires them, so running configure fails
out of the box.
Avoid this by defaulting to the earliest SDK version which works even
under 10.14.
This is more reliable than checking whether we can link with the library
manually and may work even if it's installed in a non-standard location.
It also allows the user to specify PKG_CONFIG_PATH='pkg-config --static'
when running configure to link with all transitional dependencies when
linking statically.
Closes https://github.com/wxWidgets/wxWidgets/pull/1073
See #18293.
This is especially important under macOS where we modify CC, CPP and CXX
to use the specified SDK, and it's important to compile the code of 3rd
party libtiff and expat libraries using the same SDK, but also matters
for the other platforms when using non-default CC and CXX values.
By exporting these values we ensure that tiff and expat use the same
compilers and flags as the main libraries linking with them.
We only disabled LZMA support in libtiff if --without-liblzma was
explicitly specified, but we need to do it also if liblzma wasn't
detected because libtiff configure might erroneously decide that it's
available under macOS when using -isysroot, which would result in
compilation errors later. And even if there were no such problem, it's
still worth disabling LZMA support explicitly to skip unnecessary
checking for it again in libtiff configure.
Otherwise trying to compile and preprocess a file could behave
differently because the format could not find a header existing in the
system due to the use of -isysroot option, confusing configure.
Now that wxSound class, which can optionally use SDL, is in wxCore, we
need to link it with the SDL libraries to fix link errors in this case.
Closes#18251.
Centralize all display-related code in wxDisplay class and avoid
duplicating or reimplementing it in wxDisplaySize() and
wxClientDisplayRect() functions.
See https://github.com/wxWidgets/wxWidgets/pull/955
There is no chance of wxGraphicsContext ever being supported in this
legacy port, but at least disable it automatically instead of requiring
to specify --disable-graphics-ctx on the command line.
This basically removes the "adv" library, even though it's still
preserved for compatibility with user make/project files referring to
it.
It is done because the distinction between "adv" and "core" was never
really clear (e.g. why wxTreeCtrl was in core but wxTreeListCtrl in
adv?) and it prevented some core classes from using adv ones.
It didn't work when support for using compiler-provided TLS was added in
7beff712f0 back in 2009 but is reported to
work since 2011, so it should be safe to use unconditionally now.
Closes#18200.
Recognize HaikuOS and work around several platforms with socket-related
functions there.
Also make wxQt the default port under this platform.
See #9168.
Prepare for using liblzma in wxWidgets code by adding the necessary
option and updating the configure check for it (which had been already
present due to libtiff possible dependency on liblzma).
No real changes yet.
This sample shows usage of wxArchiveStream and wxArchiveFactory.
It also allows for easy testing of wxArchiveStream implementations
outside of the unit tests.
See https://github.com/wxWidgets/wxWidgets/pull/730
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
This undocumented "private" class was used for various windows UxTheme
functions which are available since WinXP. As wxWidgets 3.1 is XP+ it
does not make sense anymore to load the theme functions dynamically.
Commit bc13119494 removed the inclusion of
xlocale.h because it is not (and never was) needed under Linux with
glibc, but it is still needed under macOS, so this (silently) disabled
wxXLocale support under Mac when using configure and broke the build
when using cmake.
Fix both problems by using xlocale.h only if it's available, both in
configure and in cmake.
Testing for xlocale.h was due to a misunderstanding, this header wasn't
supposed to define locale_t which is defined by locale.h itself and was
just some internal glibc header which was removed in its 2.26 release,
see
https://sourceware.org/glibc/wiki/Release/2.26#Removal_of_.27xlocale.h.27
Stop checking for it in configure and also don't always define
wxUSE_XLOCALE but only do it if the configure test succeeded.
Even though we don't need to perform the checks for the availability of
<unordered_map> or <type_traits> headers when using C++11 because we can
safely assume they're indeed available, we still need to define the
corresponding symbols, as if the checks were performed, so that the code
inside and outside the library could test them in any case, whether
we're using C++11 or not.
This was broken by 9507bc430e which
stopped defining HAVE_LOCALE_T in configure but didn't update the code
using it.
Restore the old behaviour by continuing to define HAVE_LOCALE_T even if
we don't test (just) for it any longer.
See https://github.com/wxWidgets/wxWidgets/pull/461
A recent change fixing monolithic build broke the normal build when
using built-in libraries under Unix as -lwxzlib now came before -lwxpng
and so zlib symbols used by libpng were not found (in fact, they could
still be found in the system library which is usually available under
Unix, so the problem wasn't seen immediately, but it was still there).
See https://github.com/wxWidgets/wxWidgets/pull/621
wx-config didn't report -lwxscintilla for `wx-config --libs stc` in static
monolithic build.
Since stc is a part of monolithic lib, -lwxscintilla will be reported
for `wx-config --libs` now as well.
Include 3rd party libs in wx-config output even when using the system,
and not the built-in, versions of them for static monolithic build.
See https://github.com/wxWidgets/wxWidgets/pull/621
Currently lzma and jbig libraries are checked only for builtin
libtiff. When the system libtiff is built with lzma and jbig
support and when the `--with-libtiff=sys` flag is specified
the configure script will fail, due to missing linking with
lzma and jbig.
Fixed this by moving lzma and jbig checks from libtiff-builin check
above all libtiff checks. Also added lzma and jbig libs to
EXTRALIBS_GUI.
See https://github.com/wxWidgets/wxWidgets/pull/619
Only define it unconditionally for wxMSW and wxOSX, not wxGTK where we
need to test that the required versions of FontConfig and Pango Fc are
available.
Also do all wxUSE_PRIVATE_FONTS-related checks in the same place, to
make things more clear and avoid similar blunders in the future.
Handle this feature as all the other ones and provide a configure switch
and a setup.h option to disable it if necessary, as it may be desirable
to do it, especially under Linux, to avoid extra dependency on pangoft2
if this functionality is unnecessary.