869b88366b
The build system doesn't understand this compound DEPENDS condition without it being wrapped in parentheses. menuconfig does understand it, so libopenssl would be selected if nginx needed it, but there was no guarantee that openssl would be built before nginx. Adding parentheses fixes the problem. This seems to be how compound conditions are generally handled in OpenWrt Makefiles. Signed-off-by: Mark Mentovai <mark@moxienet.com> git-svn-id: svn://svn.openwrt.org/openwrt/packages@36606 3c298f89-4303-0410-b956-a3cf2f4a3e73
222 lines
6.3 KiB
Makefile
222 lines
6.3 KiB
Makefile
#
|
|
# Copyright (C) 2009-2012 OpenWrt.org
|
|
#
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
# See /LICENSE for more information.
|
|
#
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=nginx
|
|
PKG_VERSION:=1.2.8
|
|
PKG_RELEASE:=1
|
|
|
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
|
PKG_SOURCE_URL:=http://nginx.org/download/
|
|
PKG_MD5SUM:=b9f7640cca35196d0e719ac5da24c7bd
|
|
|
|
PKG_BUILD_PARALLEL:=1
|
|
PKG_INSTALL:=1
|
|
|
|
PKG_CONFIG_DEPENDS := \
|
|
CONFIG_NGINX_STUB_STATUS \
|
|
CONFIG_NGINX_FLV \
|
|
CONFIG_NGINX_SSL \
|
|
CONFIG_NGINX_DAV \
|
|
CONFIG_NGINX_LUA \
|
|
CONFIG_NGINX_PCRE \
|
|
CONFIG_NGINX_HTTP_CACHE \
|
|
CONFIG_NGINX_HTTP_CHARSET \
|
|
CONFIG_NGINX_HTTP_GZIP \
|
|
CONFIG_NGINX_HTTP_SSI \
|
|
CONFIG_NGINX_HTTP_USERID \
|
|
CONFIG_NGINX_HTTP_ACCESS \
|
|
CONFIG_NGINX_HTTP_AUTH_BASIC \
|
|
CONFIG_NGINX_HTTP_AUTOINDEX \
|
|
CONFIG_NGINX_HTTP_GEO \
|
|
CONFIG_NGINX_HTTP_MAP \
|
|
CONFIG_NGINX_HTTP_SPLIT_CLIENTS \
|
|
CONFIG_NGINX_HTTP_REFERER \
|
|
CONFIG_NGINX_HTTP_REWRITE \
|
|
CONFIG_NGINX_HTTP_PROXY \
|
|
CONFIG_NGINX_HTTP_FASTCGI \
|
|
CONFIG_NGINX_HTTP_UWSGI \
|
|
CONFIG_NGINX_HTTP_SCGI \
|
|
CONFIG_NGINX_HTTP_MEMCACHED \
|
|
CONFIG_NGINX_HTTP_LIMIT_CONN \
|
|
CONFIG_NGINX_HTTP_LIMIT_REQ \
|
|
CONFIG_NGINX_HTTP_EMPTY_GIF \
|
|
CONFIG_NGINX_HTTP_BROWSER \
|
|
CONFIG_NGINX_HTTP_UPSTREAM_IP_HASH
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
|
|
define Package/nginx
|
|
SECTION:=net
|
|
CATEGORY:=Network
|
|
SUBMENU:=Web Servers/Proxies
|
|
TITLE:=Nginx web server
|
|
URL:=http://nginx.org/
|
|
DEPENDS:=+NGINX_PCRE:libpcre +(NGINX_SSL||NGINX_HTTP_CACHE||NGINX_HTTP_AUTH_BASIC):libopenssl +NGINX_HTTP_GZIP:zlib +libpthread +NGINX_LUA:liblua
|
|
MENU:=1
|
|
endef
|
|
|
|
define Package/nginx/description
|
|
nginx is an HTTP and reverse proxy server, as well as a mail proxy server,
|
|
written by Igor Sysoev.
|
|
endef
|
|
|
|
define Package/nginx/config
|
|
source "$(SOURCE)/Config.in"
|
|
endef
|
|
|
|
config_files=nginx.conf mime.types fastcgi_params koi-utf koi-win win-utf
|
|
|
|
define Package/nginx/conffiles
|
|
/etc/nginx/
|
|
endef
|
|
|
|
ADDITIONAL_MODULES:=
|
|
|
|
ifeq ($(CONFIG_IPV6),y)
|
|
ADDITIONAL_MODULES += --with-ipv6
|
|
endif
|
|
ifeq ($(CONFIG_NGINX_STUB_STATUS),y)
|
|
ADDITIONAL_MODULES += --with-http_stub_status_module
|
|
endif
|
|
ifeq ($(CONFIG_NGINX_FLV),y)
|
|
ADDITIONAL_MODULES += --with-http_flv_module
|
|
endif
|
|
ifeq ($(CONFIG_NGINX_SSL),y)
|
|
ADDITIONAL_MODULES += --with-http_ssl_module
|
|
endif
|
|
ifeq ($(CONFIG_NGINX_DAV),y)
|
|
ADDITIONAL_MODULES += --with-http_dav_module
|
|
endif
|
|
ifeq ($(CONFIG_NGINX_LUA),y)
|
|
ADDITIONAL_MODULES += --add-module=$(PKG_BUILD_DIR)/lua-nginx
|
|
endif
|
|
ifneq ($(CONFIG_NGINX_HTTP_CACHE),y)
|
|
ADDITIONAL_MODULES += --without-http-cache
|
|
endif
|
|
ifneq ($(CONFIG_NGINX_PCRE),y)
|
|
ADDITIONAL_MODULES += --without-pcre
|
|
endif
|
|
ifneq ($(CONFIG_NGINX_HTTP_CHARSET),y)
|
|
ADDITIONAL_MODULES += --without-http_charset_module
|
|
endif
|
|
ifneq ($(CONFIG_NGINX_HTTP_GZIP),y)
|
|
ADDITIONAL_MODULES += --without-http_gzip_module
|
|
endif
|
|
ifneq ($(CONFIG_NGINX_HTTP_SSI),y)
|
|
ADDITIONAL_MODULES += --without-http_ssi_module
|
|
endif
|
|
ifneq ($(CONFIG_NGINX_HTTP_USERID),y)
|
|
ADDITIONAL_MODULES += --without-http_userid_module
|
|
endif
|
|
ifneq ($(CONFIG_NGINX_HTTP_ACCESS),y)
|
|
ADDITIONAL_MODULES += --without-http_access_module
|
|
endif
|
|
ifneq ($(CONFIG_NGINX_HTTP_AUTH_BASIC),y)
|
|
ADDITIONAL_MODULES += --without-http_auth_basic_module
|
|
endif
|
|
ifneq ($(CONFIG_NGINX_HTTP_AUTOINDEX),y)
|
|
ADDITIONAL_MODULES += --without-http_autoindex_module
|
|
endif
|
|
ifneq ($(CONFIG_NGINX_HTTP_GEO),y)
|
|
ADDITIONAL_MODULES += --without-http_geo_module
|
|
endif
|
|
ifneq ($(CONFIG_NGINX_HTTP_MAP),y)
|
|
ADDITIONAL_MODULES += --without-http_map_module
|
|
endif
|
|
ifneq ($(CONFIG_NGINX_HTTP_SPLIT_CLIENTS),y)
|
|
ADDITIONAL_MODULES += --without-http_split_clients_module
|
|
endif
|
|
ifneq ($(CONFIG_NGINX_HTTP_REFERER),y)
|
|
ADDITIONAL_MODULES += --without-http_referer_module
|
|
endif
|
|
ifneq ($(CONFIG_NGINX_HTTP_REWRITE),y)
|
|
ADDITIONAL_MODULES += --without-http_rewrite_module
|
|
endif
|
|
ifneq ($(CONFIG_NGINX_HTTP_PROXY),y)
|
|
ADDITIONAL_MODULES += --without-http_proxy_module
|
|
endif
|
|
ifneq ($(CONFIG_NGINX_HTTP_FASTCGI),y)
|
|
ADDITIONAL_MODULES += --without-http_fastcgi_module
|
|
endif
|
|
ifneq ($(CONFIG_NGINX_HTTP_UWSGI),y)
|
|
ADDITIONAL_MODULES += --without-http_uwsgi_module
|
|
endif
|
|
ifneq ($(CONFIG_NGINX_HTTP_SCGI),y)
|
|
ADDITIONAL_MODULES += --without-http_scgi_module
|
|
endif
|
|
ifneq ($(CONFIG_NGINX_HTTP_MEMCACHED),y)
|
|
ADDITIONAL_MODULES += --without-http_memcached_module
|
|
endif
|
|
ifneq ($(CONFIG_NGINX_HTTP_LIMIT_CONN),y)
|
|
ADDITIONAL_MODULES += --without-http_limit_conn_module
|
|
endif
|
|
ifneq ($(CONFIG_NGINX_HTTP_LIMIT_REQ),y)
|
|
ADDITIONAL_MODULES += --without-http_limit_req_module
|
|
endif
|
|
ifneq ($(CONFIG_NGINX_HTTP_EMPTY_GIF),y)
|
|
ADDITIONAL_MODULES += --without-http_empty_gif_module
|
|
endif
|
|
ifneq ($(CONFIG_NGINX_HTTP_BROWSER),y)
|
|
ADDITIONAL_MODULES += --without-http_browser_module
|
|
endif
|
|
ifneq ($(CONFIG_NGINX_HTTP_UPSTREAM_IP_HASH),y)
|
|
ADDITIONAL_MODULES += --without-http_upstream_ip_hash_module
|
|
endif
|
|
|
|
define Build/Configure
|
|
# TODO: fix --crossbuild
|
|
(cd $(PKG_BUILD_DIR) ;\
|
|
$(if $(CONFIG_NGINX_LUA),LUA_INC=$(STAGING_DIR)/usr/include LUA_LIB=$(STAGING_DIR)/usr/lib) \
|
|
./configure \
|
|
--crossbuild=Linux::$(ARCH) \
|
|
--prefix=/usr \
|
|
--conf-path=/etc/nginx/nginx.conf \
|
|
--error-log-path=/var/log/nginx/error.log \
|
|
--pid-path=/var/run/nginx.pid \
|
|
--lock-path=/var/lock/nginx.lock \
|
|
--http-log-path=/var/log/nginx/access.log \
|
|
--http-client-body-temp-path=/var/lib/nginx/body \
|
|
--http-proxy-temp-path=/var/lib/nginx/proxy \
|
|
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi \
|
|
--with-cc="$(TARGET_CC)" \
|
|
--with-cc-opt="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \
|
|
--with-ld-opt="$(TARGET_LDFLAGS)" \
|
|
$(ADDITIONAL_MODULES) )
|
|
endef
|
|
|
|
define Package/nginx/install
|
|
$(INSTALL_DIR) $(1)/usr/sbin
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/nginx $(1)/usr/sbin/
|
|
$(INSTALL_DIR) $(1)/etc/nginx
|
|
$(INSTALL_DATA) $(addprefix $(PKG_INSTALL_DIR)/etc/nginx/,$(config_files)) $(1)/etc/nginx/
|
|
$(INSTALL_DIR) $(1)/etc/init.d
|
|
$(INSTALL_BIN) ./files/nginx.init $(1)/etc/init.d/nginx
|
|
endef
|
|
|
|
define Build/Prepare
|
|
$(call Build/Prepare/Default)
|
|
$(if $(CONFIG_NGINX_LUA),$(call Prepare/lua-nginx))
|
|
endef
|
|
|
|
define Download/lua-nginx
|
|
VERSION:=7c0948a08e8449f7a9ffbc35244954e6aaddac5b
|
|
SUBDIR:=lua-nginx
|
|
FILE:=lua-nginx-module-$(PKG_VERSION)-$$(VERSION).tar.gz
|
|
URL:=https://github.com/chaoslawful/lua-nginx-module.git
|
|
PROTO:=git
|
|
endef
|
|
|
|
define Prepare/lua-nginx
|
|
$(eval $(call Download,lua-nginx))
|
|
gzip -dc $(DL_DIR)/$(FILE) | tar -C $(PKG_BUILD_DIR) $(TAR_OPTIONS)
|
|
$(call PatchDir,$(PKG_BUILD_DIR),./patches-lua-nginx)
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,nginx))
|