kumquat-buildroot/package/ustr/ustr.mk
Sergio Prado c38ea9a59b ustr: fix build issue with GCC5
This patch fixes the following error messages:

ustr-cmp-code-so-dbg.o: In function `ustr_pool_make_subpool':
ustr-cmp-dbg-code.c:(.text+0x0): multiple definition of `ustr_pool_make_subpool'
ustr-b-code-so-dbg.o:ustr-b-dbg-code.c:(.text+0x0): first defined here
ustr-cmp-code-so-dbg.o: In function `ustr_pool_clear':
ustr-cmp-dbg-code.c:(.text+0x44): multiple definition of `ustr_pool_clear'
ustr-b-code-so-dbg.o:ustr-b-dbg-code.c:(.text+0x44): first defined here
ustr-cmp-code-so-dbg.o: In function `ustr_pool_free':
...

That's because the application assumes gnu89 behaviour of "inline" and
"extern inline", but gcc5 defaults to gnu11. So we need to force gnu89
in the compilation flags.

Fixes:
http://autobuild.buildroot.org/results/fde02ae2883a058b98e57ba087466d820ab1a5eb/
http://autobuild.buildroot.org/results/e04849c31e2a2528282ce6cdcf69aa10076d721d/
http://autobuild.buildroot.org/results/7b3295e711fc51907c311adb63f0b7d06a90a7b9/
...and many others.

Signed-off-by: Sergio Prado <sergio.prado@e-labworks.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-11-22 10:13:05 +01:00

58 lines
1.6 KiB
Makefile

################################################################################
#
# ustr
#
################################################################################
USTR_VERSION = 1.0.4
USTR_SOURCE = ustr-$(USTR_VERSION).tar.bz2
USTR_SITE = http://www.and.org/ustr/$(USTR_VERSION)
USTR_LICENSE = BSD-2c MIT LGPLv2+
USTR_LICENSE_FILES = LICENSE LICENSE_BSD LICENSE_LGPL LICENSE_MIT
USTR_INSTALL_STAGING = YES
USTR_CFLAGS = $(TARGET_CFLAGS) -std=gnu89
ifeq ($(BR2_STATIC_LIBS),y)
USTR_BUILD_TARGETS = all
USTR_INSTALL_TARGETS = install
else ifeq ($(BR2_SHARED_LIBS),y)
USTR_BUILD_TARGETS = all-shared
USTR_INSTALL_TARGETS = install-shared
else
USTR_BUILD_TARGETS = all all-shared
USTR_INSTALL_TARGETS = all install-shared
endif
define USTR_BUILD_CMDS
$(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) CFLAGS="$(USTR_CFLAGS)" \
$(USTR_BUILD_TARGETS)
endef
define USTR_INSTALL_STAGING_CMDS
$(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) DESTDIR=$(STAGING_DIR) \
$(USTR_INSTALL_TARGETS)
$(RM) -f $(STAGING_DIR)/usr/lib/libustr-debug*
$(RM) -f $(STAGING_DIR)/usr/lib/pkgconfig/libustr-debug.pc
endef
define USTR_INSTALL_TARGET_CMDS
$(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) DESTDIR=$(TARGET_DIR) \
$(USTR_INSTALL_TARGETS)
$(RM) -f $(TARGET_DIR)/usr/lib/libustr-debug*
$(RM) -rf $(TARGET_DIR)/usr/share/ustr-$(USTR_VERSION)
endef
define HOST_USTR_BUILD_CMDS
$(MAKE) -C $(@D) $(HOST_CONFIGURE_OPTS) all-shared
endef
define HOST_USTR_INSTALL_CMDS
$(MAKE) -C $(@D) $(HOST_CONFIGURE_OPTS) DESTDIR=$(HOST_DIR) \
install-shared
endef
$(eval $(generic-package))
$(eval $(host-generic-package))