menu "Networking applications"
source "package/aiccu/Config.in"
source "package/aircrack-ng/Config.in"
+ source "package/apache/Config.in"
source "package/argus/Config.in"
source "package/arptables/Config.in"
source "package/atftp/Config.in"
--- /dev/null
+Fix cross-compilation
+
+Fetched httpd-2.4.x-cross_compile.diff from upstream bugtracker:
+https://issues.apache.org/bugzilla/show_bug.cgi?id=51257#c6
+
+which is a bundle of upstream revisions:
+ http://svn.apache.org/viewvc?view=revision&revision=1327907
+ http://svn.apache.org/viewvc?view=revision&revision=1328390
+ http://svn.apache.org/viewvc?view=revision&revision=1328714
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+
+Index: server/Makefile.in
+===================================================================
+--- a/server/Makefile.in (revision 1328714)
++++ b/server/Makefile.in (working copy)
+@@ -22,9 +22,14 @@
+ include $(top_builddir)/build/rules.mk
+ include $(top_srcdir)/build/library.mk
+
++ifdef CC_FOR_BUILD
++gen_test_char: gen_test_char.c
++ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -DCROSS_COMPILE -o $@ $<
++else
+ gen_test_char_OBJECTS = gen_test_char.lo
+ gen_test_char: $(gen_test_char_OBJECTS)
+ $(LINK) $(EXTRA_LDFLAGS) $(gen_test_char_OBJECTS) $(EXTRA_LIBS)
++endif
+
+ test_char.h: gen_test_char
+ ./gen_test_char > test_char.h
+Index: configure.in
+===================================================================
+--- a/configure.in (revision 1328714)
++++ b/configure.in (working copy)
+@@ -193,6 +193,14 @@
+ dnl Try to get c99 support for variadic macros
+ ifdef([AC_PROG_CC_C99], [AC_PROG_CC_C99])
+
++dnl In case of cross compilation we set CC_FOR_BUILD to cc unless
++dnl we got already CC_FOR_BUILD from environment.
++if test "x${build_alias}" != "x${host_alias}"; then
++ if test "x${CC_FOR_BUILD}" = "x"; then
++ CC_FOR_BUILD=cc
++ fi
++fi
++
+ if test "x${cache_file}" = "x/dev/null"; then
+ # Likewise, ensure that CC and CPP are passed through to the pcre
+ # configure script iff caching is disabled (the autoconf 2.5x default).
+Index: acinclude.m4
+===================================================================
+--- a/acinclude.m4 (revision 1328714)
++++ ab/cinclude.m4 (working copy)
+@@ -53,6 +53,8 @@
+ APACHE_SUBST(CPPFLAGS)
+ APACHE_SUBST(CFLAGS)
+ APACHE_SUBST(CXXFLAGS)
++ APACHE_SUBST(CC_FOR_BUILD)
++ APACHE_SUBST(CFLAGS_FOR_BUILD)
+ APACHE_SUBST(LTFLAGS)
+ APACHE_SUBST(LDFLAGS)
+ APACHE_SUBST(LT_LDFLAGS)
--- /dev/null
+config BR2_PACKAGE_APACHE
+ bool "apache"
+ select BR2_PACKAGE_APR_UTIL
+ select BR2_PACKAGE_PCRE
+ depends on !BR2_STATIC_LIBS
+ depends on BR2_TOOLCHAIN_HAS_THREADS
+ depends on BR2_USE_MMU # apr
+ help
+ The Apache HTTP Server Project is an effort to develop and maintain an
+ open-source HTTP server for modern operating systems including UNIX
+ and Windows NT. The goal of this project is to provide a secure,
+ efficient and extensible server that provides HTTP services in sync
+ with the current HTTP standards.
+
+ http://httpd.apache.org
+
+comment "apache needs a toolchain w/ dynamic library, threads"
+ depends on BR2_USE_MMU
+ depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS
--- /dev/null
+# From http://www.apache.org/dist/httpd/httpd-2.4.12.tar.bz2.sha1
+sha1 bc4681bfd63accec8d82d3cc440fbc8264ce0f17 httpd-2.4.12.tar.bz2
--- /dev/null
+################################################################################
+#
+# apache
+#
+################################################################################
+
+APACHE_VERSION = 2.4.12
+APACHE_SOURCE = httpd-$(APACHE_VERSION).tar.bz2
+APACHE_SITE = http://archive.apache.org/dist/httpd
+APACHE_LICENSE = Apache-2.0
+APACHE_LICENSE_FILES = LICENSE
+# Needed for mod_php
+APACHE_INSTALL_STAGING = YES
+# We have a patch touching configure.in and Makefile.in,
+# so we need to autoreconf:
+APACHE_AUTORECONF = YES
+APACHE_DEPENDENCIES = apr apr-util pcre
+
+APACHE_CONF_ENV= \
+ ap_cv_void_ptr_lt_long=no \
+ PCRE_CONFIG=$(STAGING_DIR)/usr/bin/pcre-config
+
+APACHE_CONF_OPTS = \
+ --sysconfdir=/etc/apache2 \
+ --with-apr=$(STAGING_DIR)/usr \
+ --with-apr-util=$(STAGING_DIR)/usr \
+ --with-pcre=$(STAGING_DIR)/usr/bin/pcre-config \
+ --enable-http \
+ --enable-dbd \
+ --enable-proxy \
+ --enable-mime-magic \
+ --without-suexec-bin \
+ --enable-mods-shared=all \
+ --with-mpm=worker \
+ --disable-lua \
+ --disable-luajit
+
+ifeq ($(BR2_ARCH_HAS_ATOMICS),y)
+APACHE_CONF_OPTS += --enable-nonportable-atomics=yes
+endif
+
+ifeq ($(BR2_PACKAGE_LIBXML2),y)
+APACHE_DEPENDENCIES += libxml2
+# Apache wants the path to the header file, where it can find
+# <libxml/parser.h>.
+APACHE_CONF_OPTS += \
+ --enable-xml2enc \
+ --enable-proxy-html \
+ --with-libxml2=$(STAGING_DIR)/usr/include/libxml2
+else
+APACHE_CONF_OPTS += \
+ --disable-xml2enc \
+ --disable-proxy-html
+endif
+
+ifeq ($(BR2_PACKAGE_OPENSSL),y)
+APACHE_DEPENDENCIES += openssl
+APACHE_CONF_OPTS += \
+ --enable-ssl \
+ --with-ssl=$(STAGING_DIR)/usr
+else
+APACHE_CONF_OPTS += --disable-ssl
+endif
+
+ifeq ($(BR2_PACKAGE_ZLIB),y)
+APACHE_DEPENDENCIES += zlib
+APACHE_CONF_OPTS += \
+ --enable-deflate \
+ --with-z=$(STAGING_DIR)/usr
+else
+APACHE_CONF_OPTS += --disable-deflate
+endif
+
+define APACHE_FIX_STAGING_APACHE_CONFIG
+ $(SED) 's%/usr/build%$(STAGING_DIR)/usr/build%' $(STAGING_DIR)/usr/bin/apxs
+ $(SED) 's%^prefix =.*%prefix = $(STAGING_DIR)/usr%' $(STAGING_DIR)/usr/build/config_vars.mk
+endef
+APACHE_POST_INSTALL_STAGING_HOOKS += APACHE_FIX_STAGING_APACHE_CONFIG
+
+define APACHE_CLEANUP_TARGET
+ $(RM) -rf $(TARGET_DIR)/usr/manual $(TARGET_DIR)/usr/build
+endef
+APACHE_POST_INSTALL_TARGET_HOOKS += APACHE_CLEANUP_TARGET
+
+$(eval $(autotools-package))