Remove separate checks for dlerror() which don't seem to be needed under
any platform any longer.
No real changes, just slim down configure/CMake a tiny bit.
This function is not used any more since e289eb07e1 (Get rid of
non-POSIX code for loading dynlibs on *nix, 2020-05-13), so don't check
for it and don't defined the corresponding HAVE_SHL_LOAD symbol.
A libinotify compatibility library exists for BSD systems. If this
was installed, configure would find sys/inotify.h but the build
would fail to link unless the library was added to the link line.
By also checking for inotify_init() this problem can be avoided.
Given that there is native support for kqueue, there is no need
to handle linking with libinotify.
This results in much shorter compilation lines and hence much shorter
build logs, which makes examining them simpler.
There should be no real changes, as we should never use duplicated
options intentionally.
CPPFLAGS, CFLAGS, CXXFLAGS and LDFLAGS are supposed to be under
user-control and putting configure-determined options in them broke
something as simple as running "make CXXFLAGS=-Wno-some-extra-warning"
because this overrode the CXXFLAGS set by configure and required for
build.
Improve this by using WX_*FLAGS in the generated makefile and leaving
the user-controlled FLAGS alone. This is still not ideal as running
"configure CFLAGS=-DFOO" and then "make CFLAGS=-DBAR" will define both
FOO and BAR, as configure copies CFLAGS to WX_CFLAGS, and so setting it
on make command line won't override it, as it should, but this should be
a much more rare and also much less severe problem, so we should be able
to live with it for now.
Normally this commit shouldn't result in any user-visible changes, i.e.
it shouldn't break any previously working scenarios and only make some
previously broken ones work.
It defaults to 1, but can be set to 0 to force using the generic version
of the control even under GTK or Mac, where the native version is used
by default.
This can, unfortunately, be useful to work around various but multiple
native control limitations.
This breaks Mac build by default and shouldn't be done. In fact, Cairo
should be used only optionally under MSW and Mac, where it's not always
needed, so add a new configure option to request it.
This is unnecessary, this header should always be available, so it was a
waste of time to check for it at best and, actually, this broke the
Cygwin build under AppVeyor as configure didn't find the header somehow,
even if compiling the code using it works perfectly well.
This is not really an option as building requires it to be 1, so don't
make it one in setup.h/configure/cmake and just hardcode it as 1 for
compatibility.
Closes#18558.
Add option --with-dpi=[none,system,per-monitor] to configure the dpi awareness
on Windows.
Support DPI Awareness in makefile.gcc and makefile.bcc.
The default DPI awareness is set to per-monitor.
Done by running misc/scripts/inc_release, manually updating version.bkl,
rebaking and rerunning autoconf.
Also a header for the next version to the change log.
This is always 0 for any still supported compiler, so remove the option
and configure checks for it.
Still define it as 0 for compatibility, just in case it's used outside
of the library.
The last commit accidentally removed not only the checks, but also the
actions executed when the check was successful -- restore the former
while still removing the latter.
They shouldn't be necessary, as these headers should be always available
on all supported macOS versions, and they fail when using 10.15 SDK
which doesn't include Carbon headers at all any more.
It seems better to disable LZMA rather than silently building the
binaries depending on an external library when we were explicitly
requested not to do it.
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