iodine: fix build issue with musl

Fxies:
http://autobuild.buildroot.net/results/1ab/1ab4f284c9cfc2a6a42aebc6da12a766b09acc4c/
http://autobuild.buildroot.net/results/a39/a39603a143821eb4e07af42ee4ee44fdde02f9e0/
http://autobuild.buildroot.net/results/384/3847e8ef28e1527764eee18224f361115aa7063b/
http://autobuild.buildroot.net/results/899/899f8844291d384cde96475e7a9ee98b69f8c803/

Iodine contains a local implementation of daemon(3) for older systems,
unless __GLIBC__ is defined.  Musl does provide it, but unlike uClibc it
doesn't define __GLIBC__.  Work around it by pretending to be glibc as we
otherwise end up with symbol conflicts.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Peter Korsgaard 2015-11-25 22:01:43 +01:00
parent cc792014f6
commit f0cf937502

View File

@ -10,8 +10,19 @@ IODINE_DEPENDENCIES = zlib
IODINE_LICENSE = MIT
IODINE_LICENSE_FILES = README
IODINE_CFLAGS = $(TARGET_CFLAGS)
# iodine contains a local implementation of daemon(3) for older
# systems, unless __GLIBC__ is defined. Musl does provide it, but
# unlike uClibc it doesn't define __GLIBC__. Work around it by
# pretending to be glibc as we otherwise end up with symbol conflicts.
ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y)
IODINE_CFLAGS += -D__GLIBC__
endif
define IODINE_BUILD_CMDS
$(TARGET_CONFIGURE_OPTS) $(MAKE) ARCH=$(BR2_ARCH) -C $(@D)
$(TARGET_CONFIGURE_OPTS) CFLAGS="$(IODINE_CFLAGS)" \
$(MAKE) ARCH=$(BR2_ARCH) -C $(@D)
endef
define IODINE_INSTALL_TARGET_CMDS