2 # Copyright (C) 2009-2011 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR)/rules.mk
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
15 PKG_SOURCE_URL:=http://nginx.org/download/
16 PKG_MD5SUM:=930b297b00fa1018fb0a1dd3e6b7e17e
22 CONFIG_NGINX_STUB_STATUS \
27 include $(INCLUDE_DIR)/package.mk
32 SUBMENU:=Web Servers/Proxies
33 TITLE:=Nginx web server
34 URL:=http://nginx.org/
35 DEPENDS:=+libpcre +NGINX_SSL:libopenssl +zlib
39 define Package/nginx/description
40 Nginx is a free, open-source, high-performance HTTP server
41 and reverse proxy, as well as an IMAP/POP3 proxy server,
42 written by Igor Sysoev.
45 define Package/nginx/config
46 source "$(SOURCE)/Config.in"
49 config_files=nginx.conf mime.types fastcgi_params koi-utf koi-win win-utf
51 define Package/nginx/conffiles
54 /etc/nginx/fastcgi_params
62 ifeq ($(CONFIG_IPV6),y)
63 ADDITIONAL_MODULES += --with-ipv6
65 ifeq ($(CONFIG_NGINX_STUB_STATUS),y)
66 ADDITIONAL_MODULES += --with-http_stub_status_module
68 ifeq ($(CONFIG_NGINX_FLV),y)
69 ADDITIONAL_MODULES += --with-http_flv_module
71 ifeq ($(CONFIG_NGINX_SSL),y)
72 ADDITIONAL_MODULES += --with-http_ssl_module
74 ADDITIONAL_MODULES += --without-http-cache
76 ifeq ($(CONFIG_NGINX_DAV),y)
77 ADDITIONAL_MODULES += --with-http_dav_module
80 define Build/Configure
81 # TODO: fix --crossbuild
82 (cd $(PKG_BUILD_DIR) ;\
84 --crossbuild=Linux::$(ARCH) \
86 --conf-path=/etc/nginx/nginx.conf \
87 --error-log-path=/var/log/nginx/error.log \
88 --pid-path=/var/run/nginx.pid \
89 --lock-path=/var/lock/nginx.lock \
90 --http-log-path=/var/log/nginx/access.log \
91 --http-client-body-temp-path=/var/lib/nginx/body \
92 --http-proxy-temp-path=/var/lib/nginx/proxy \
93 --http-fastcgi-temp-path=/var/lib/nginx/fastcgi \
94 --with-cc="$(TARGET_CC)" \
95 --with-cc-opt="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \
96 --with-ld-opt="$(TARGET_LDFLAGS)" \
97 $(ADDITIONAL_MODULES) )
100 define Package/nginx/install
101 $(INSTALL_DIR) $(1)/usr/sbin
102 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/nginx $(1)/usr/sbin/
103 $(INSTALL_DIR) $(1)/etc/nginx
104 $(INSTALL_DATA) $(addprefix $(PKG_INSTALL_DIR)/etc/nginx/,$(config_files)) $(1)/etc/nginx/
105 # make nginx bind on both IPv4 and IPv6 by default, when available
106 ifeq ($(CONFIG_IPV6),y)
107 $(SED) 's/listen\( \+\)80;/listen\1[::]:80;/' $(1)/etc/nginx/nginx.conf
109 $(INSTALL_DIR) $(1)/etc/init.d
110 $(INSTALL_BIN) ./files/nginx.init $(1)/etc/init.d/nginx
113 $(eval $(call BuildPackage,nginx))