For native build it's important to get that one.
For other builds, we pass the qtconf file anyway, it doesn't matter which one is used.
Co-authored-by: Fatih Uzunoglu <fuzun54@outlook.com>
aligned_alloc() from Darwin doesn't pass the alignment tests but is
still detected since it's usable. This commit always fallback on the
compat version to ensure we build a version which passes the tests.
We assume all Qt modules use the same version and are installed in the same prefix.
qtpaths6 (or qmake6) cannot tell the difference, so it's unlikely people would do that.
That might be possible on a system that relies on CMake and doesn't provide qmake.
In gcc 14 some warnings are now turned into errors by default [1].
So of these were already errors in VLC. But there's are some that we can use.
This will ensure the VLC code is ready for the GCC 14 move.
However there's a chance some contribs don't build anymore, especially the old
unmaintained ones.
[1] https://gcc.gnu.org/gcc-14/porting_to.html#warnings-as-errors
We need to add it to the PATH when calling qsb which assumes it's in the PATH.
qsb doesn't have an option to tell it where to look (in contribs). So if it's
not in the PATH it will never find it.
Then we can use the one from contribs.
The target qmake uses the native qmake with this extra parameter.
And add some extra logs.
We don't want to rebuild the target qmake (and the whole Qt) just to get this
script.
Android doesn't have a working sys/shm.h (but still has the file) until
ANDROID_API==26. The other headers were not functional too, and
disabling them fallback to vlc_fixups.h.
... and enable gles2 by default.
On Android, GLESv2 is provided from the system without pkg-config
definition file, but we provide GLES2_CFLAGS and GLES2_LIBS.
The --host used to configure the VLC buildsystem can also contains a
version number, referencing the minimum API level supported for the
build.
For armv7, the target name will end with androideabi$(API_VERSION),
so eabi needs to be stripped out.
This patch consider linux-android as a separate target than linux,
removing the need to check for __ANDROID__ at preprocessor time to
detect that we're building for android.
It will also be used later to include autoconf fixes for Android and
handle the system target version from the --host parameter.
This only implements unsigned types for now, as there are no known use
cases for signed checked arithmetic as of yet. The macros will safely
error out at compilation time if signed types are misused.