900bd80e9b
zlib-ng usage uses CMAKE_C_COMPILER_TARGET which is non-standard and is not supposed to be used by the CMakeLists.txt machinery of a particular package. Indeed, [1] specifies that: Some compiler drivers are inherently cross-compilers, such as clang and QNX qcc. These compiler drivers support a command-line argument to specify the target to cross-compile for. buildroot is not using clang nor QNX qcc. [2] also refers to this variable only for clang [3] and QNX [4]. Therefore, zlib-ng's usage of this variable is a bit of a hack, and it's actually why it works when passed as an argument, because they are in fact not supposed to use this variable. So set CMAKE_C_COMPILER_TARGET to BR2_ARCH to fix the following arm build failure raised since bump to version 2.0.6 in commitd2249821d3
: -- Detecting C compile features - done -- Arch not recognized, falling back to cmake arch: 'l' -- Basearch 'l' not recognized, defaulting to 'x86'. -- Basearch of 'l' has been detected as: 'x86' [...] /home/buildroot/autobuild/instance-0/output-1/build/zlib-ng-2.1.3/arch/x86/x86_features.c:17:12: fatal error: cpuid.h: No such file or directory 17 | # include <cpuid.h> | ^~~~~~~~~ [1] https://cmake.org/cmake/help/latest/variable/CMAKE_LANG_COMPILER_TARGET.html [2] https://cmake.org/cmake/help/latest/manual/cmake-toolchains.7.html [3] https://cmake.org/cmake/help/latest/manual/cmake-toolchains.7.html#cross-compiling-using-clang [4] https://cmake.org/cmake/help/latest/manual/cmake-toolchains.7.html#cross-compiling-for-qnx Fixes:d2249821d3
- http://autobuild.buildroot.org/results/1551aa69be19239a8d8e081f033e4027d679ab8f - http://autobuild.buildroot.org/results/075d704c0f11710353bac43478e4501addcd747d Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
46 lines
1.1 KiB
Makefile
46 lines
1.1 KiB
Makefile
################################################################################
|
|
#
|
|
# zlib-ng
|
|
#
|
|
################################################################################
|
|
|
|
ZLIB_NG_VERSION = 2.1.3
|
|
ZLIB_NG_SITE = $(call github,zlib-ng,zlib-ng,$(ZLIB_NG_VERSION))
|
|
ZLIB_NG_LICENSE = Zlib
|
|
ZLIB_NG_LICENSE_FILES = LICENSE.md
|
|
ZLIB_NG_INSTALL_STAGING = YES
|
|
ZLIB_NG_PROVIDES = zlib
|
|
|
|
# Build with zlib compatible API, gzFile support and optimizations on
|
|
ZLIB_NG_CONF_OPTS += \
|
|
-DCMAKE_C_COMPILER_TARGET=$(BR2_ARCH) \
|
|
-DWITH_GZFILEOP=1 \
|
|
-DWITH_OPTIM=1 \
|
|
-DZLIB_COMPAT=1 \
|
|
-DZLIB_ENABLE_TESTS=OFF
|
|
|
|
# Enable ACLE on ARM
|
|
ifeq ($(BR2_arm),y)
|
|
ZLIB_NG_CONF_OPTS += -DWITH_ACLE=1
|
|
endif
|
|
|
|
ifeq ($(BR2_ARM_CPU_HAS_NEON)$(BR2_aarch64),y)
|
|
ZLIB_NG_CONF_OPTS += -DWITH_NEON=ON
|
|
else
|
|
ZLIB_NG_CONF_OPTS += -DWITH_NEON=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_powerpc_power8),y)
|
|
ZLIB_NG_CONF_OPTS += -DWITH_POWER8=ON
|
|
else
|
|
ZLIB_NG_CONF_OPTS += -DWITH_POWER8=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_powerpc_power9),y)
|
|
ZLIB_NG_CONF_OPTS += -DWITH_POWER9=ON
|
|
else
|
|
ZLIB_NG_CONF_OPTS += -DWITH_POWER9=OFF
|
|
endif
|
|
|
|
$(eval $(cmake-package))
|