kumquat-buildroot/package/ntpsec/ntpsec.mk
Dario Binacchi b485e48a98 package/ntpsec: fix host building
The following build failure on xtensa:

Waf: Entering directory `/home/buildroot/instance-0/output-1/build/ntpsec-1.2.3/build/host'
[1/2] Processing ntpd/ntp_parser.y
[2/2] Compiling build/host/ntpd/ntp_parser.tab.c
gcc: error: unrecognized command-line option '-mlongcalls'
gcc: error: unrecognized command-line option '-mauto-litpools'

reveals that the target's CFLAGS are being used for host compilation.
The patch fixes the host compilation by correctly setting the CFLAGS to
be used.

It should be noted that the build script used by ntpsec applies CFLAGS
for host compilation and --cross-cflags for target compilation.

Fixes:
 - http://autobuild.buildroot.org/results/9321a637f2c340ce8dcb24249676bb6c44d0dfc6

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 064e4c09fa788ccf0927fcaf3987e0f0fdc08eb7)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-09-18 13:13:45 +02:00

90 lines
2.3 KiB
Makefile

################################################################################
#
# ntpsec
#
################################################################################
NTPSEC_VERSION = 1.2.3
NTPSEC_SOURCE = ntpsec-NTPsec_$(subst .,_,$(NTPSEC_VERSION)).tar.bz2
NTPSEC_SITE = https://gitlab.com/NTPsec/ntpsec/-/archive/NTPsec_$(subst .,_,$(NTPSEC_VERSION))
NTPSEC_LICENSE = Apache-2.0, \
Beerware, \
BSD-2-Clause.txt, \
BSD-3-Clause.txt, \
BSD-4-Clause.txt, \
ISC.txt, \
MIT.txt, \
NTP.txt, \
CC-BY-4.0.txt (docs)
NTPSEC_LICENSE_FILES = \
LICENSES/Apache-2.0.txt \
LICENSES/Beerware.txt \
LICENSES/BSD-2-Clause.txt \
LICENSES/BSD-3-Clause.txt \
LICENSES/BSD-4-Clause.txt \
LICENSES/ISC.txt \
LICENSES/MIT.txt \
LICENSES/NTP.txt \
LICENSES/CC-BY-4.0.txt \
docs/copyright.adoc
NTPSEC_CPE_ID_VENDOR = ntpsec
NTPSEC_DEPENDENCIES = \
host-bison \
host-pkgconf \
python3 \
libcap \
openssl
# CC="$(HOSTCC)" is strange but needed to build some host tools, the
# cross-compiler will properly be used to build target code thanks to
# --cross-compiler
NTPSEC_CONF_OPTS = \
CC="$(HOSTCC)" \
CFLAGS="$(HOST_CFLAGS)" \
PYTHON_CONFIG="$(STAGING_DIR)/usr/bin/python3-config" \
--libdir=/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/ntp \
--cross-compiler="$(TARGET_CC)" \
--cross-cflags="$(TARGET_CFLAGS) -std=gnu99" \
--cross-ldflags="$(TARGET_LDFLAGS)" \
--notests \
--enable-early-droproot \
--disable-mdns-registration \
--enable-pylib=ffi \
--nopyc \
--nopyo \
--nopycache \
--disable-doc \
--disable-manpage
ifeq ($(BR2_PACKAGE_NTPSEC_CLASSIC_MODE),y)
NTPSEC_CONF_OPTS += --enable-classic-mode
endif
# no '--enable-nts' option available
ifeq ($(BR2_PACKAGE_NTPSEC_NTS),)
NTPSEC_CONF_OPTS += --disable-nts
endif
# refclocks are disabled by default, can only be enabled
ifeq ($(BR2_PACKAGE_NTPSEC_REFCLOCK_ALL),y)
NTPSEC_DEPENDENCIES += pps-tools
NTPSEC_CONF_OPTS += --refclock=all
endif
define NTPSEC_INSTALL_NTPSEC_CONF
$(INSTALL) -m 644 package/ntpsec/ntpd.etc.conf $(TARGET_DIR)/etc/ntp.conf
endef
NTPSEC_POST_INSTALL_TARGET_HOOKS += NTPSEC_INSTALL_NTPSEC_CONF
define NTPSEC_INSTALL_INIT_SYSV
$(INSTALL) -D -m 755 package/ntpsec/S49ntpd $(TARGET_DIR)/etc/init.d/S49ntpd
endef
define NTPSEC_USERS
ntp -1 ntp -1 * - - - ntpd user
endef
$(eval $(waf-package))