From 4ab21916e17be3434023deaf9cb74dcdd4f172c1 Mon Sep 17 00:00:00 2001 From: Martin Bark Date: Mon, 9 May 2016 12:29:03 +0100 Subject: [PATCH] package/nginx: add libatomic_ops support Force the use of libatomics_ops on the sparc v8 and leon3 platforms to allow nginx to build. Optionally use libatomic_ops on other platforms. This fixes: http://autobuild.buildroot.net/results/20dc41cd62887222d2569d81b5865893baeafaae/ http://autobuild.buildroot.net/results/eb47af0c8df6fae82859865fb8b9912f45960444/ Cc: Waldemar Brodkorb Signed-off-by: Martin Bark Signed-off-by: Thomas Petazzoni --- package/nginx/Config.in | 1 + package/nginx/nginx.mk | 16 +++++++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/package/nginx/Config.in b/package/nginx/Config.in index 9f3c218dae..e6f2d96d34 100644 --- a/package/nginx/Config.in +++ b/package/nginx/Config.in @@ -1,6 +1,7 @@ menuconfig BR2_PACKAGE_NGINX bool "nginx" depends on BR2_USE_MMU # fork() + select BR2_PACKAGE_LIBATOMIC_OPS if BR2_sparc_v8 || BR2_sparc_leon3 help nginx is an HTTP and reverse proxy server, as well as a mail proxy server. diff --git a/package/nginx/nginx.mk b/package/nginx/nginx.mk index 9cc2326ade..fecef7b8f7 100644 --- a/package/nginx/nginx.mk +++ b/package/nginx/nginx.mk @@ -14,7 +14,6 @@ NGINX_CONF_OPTS = \ --crossbuild=Linux::$(BR2_ARCH) \ --with-cc="$(TARGET_CC)" \ --with-cpp="$(TARGET_CC)" \ - --with-cc-opt="$(TARGET_CFLAGS)" \ --with-ld-opt="$(TARGET_LDFLAGS)" \ --with-ipv6 @@ -36,7 +35,6 @@ NGINX_CONF_ENV += \ ngx_force_c99_have_variadic_macros=yes \ ngx_force_gcc_have_variadic_macros=yes \ ngx_force_gcc_have_atomic=yes \ - ngx_force_have_libatomic=no \ ngx_force_have_epoll=yes \ ngx_force_have_sendfile=yes \ ngx_force_have_sendfile64=yes \ @@ -68,6 +66,17 @@ NGINX_CONF_OPTS += \ $(if $(BR2_PACKAGE_NGINX_FILE_AIO),--with-file-aio) \ $(if $(BR2_PACKAGE_NGINX_THREADS),--with-threads) +ifeq ($(BR2_PACKAGE_LIBATOMIC_OPS),y) +NGINX_DEPENDENCIES += libatomic_ops +NGINX_CONF_OPTS += --with-libatomic +NGINX_CONF_ENV += ngx_force_have_libatomic=yes +ifeq ($(BR2_sparc_v8)$(BR2_sparc_leon3),y) +NGINX_CFLAGS += "-DAO_NO_SPARC_V9" +endif +else +NGINX_CONF_ENV += ngx_force_have_libatomic=no +endif + ifeq ($(BR2_PACKAGE_PCRE),y) NGINX_DEPENDENCIES += pcre NGINX_CONF_OPTS += --with-pcre @@ -238,7 +247,8 @@ define NGINX_CONFIGURE_CMDS cd $(@D) ; $(NGINX_CONF_ENV) \ PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \ GDLIB_CONFIG=$(STAGING_DIR)/usr/bin/gdlib-config \ - ./configure $(NGINX_CONF_OPTS) + ./configure $(NGINX_CONF_OPTS) \ + --with-cc-opt="$(TARGET_CFLAGS) $(NGINX_CFLAGS)" endef define NGINX_BUILD_CMDS -- 2.30.2