mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-07-28 13:46:32 +00:00
apache: new package
[Thomas: - Don't explicitly pass CC_FOR_BUILD and CFLAGS_FOR_BUILD, those are already part of the default environment passed by the autotools-package infrastructure. - Explicitly disable Lua and LuaJIT support to avoid mis-detection of host installation. - Explicitly handle the optional support of libxml2, OpenSSL and zlib. Especially, the absence of explicit handling for libxml2 was causing a build failure due to the host libxml2 being detected. - Remove /usr/manual and /usr/build from the target. This saves 20+ MB of target space.] Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
parent
f22c2d32a9
commit
c0da6bcf85
@ -1053,6 +1053,7 @@ endmenu
|
|||||||
menu "Networking applications"
|
menu "Networking applications"
|
||||||
source "package/aiccu/Config.in"
|
source "package/aiccu/Config.in"
|
||||||
source "package/aircrack-ng/Config.in"
|
source "package/aircrack-ng/Config.in"
|
||||||
|
source "package/apache/Config.in"
|
||||||
source "package/argus/Config.in"
|
source "package/argus/Config.in"
|
||||||
source "package/arptables/Config.in"
|
source "package/arptables/Config.in"
|
||||||
source "package/atftp/Config.in"
|
source "package/atftp/Config.in"
|
||||||
|
63
package/apache/0001-cross-compile.patch
Normal file
63
package/apache/0001-cross-compile.patch
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
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)
|
19
package/apache/Config.in
Normal file
19
package/apache/Config.in
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
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
|
2
package/apache/apache.hash
Normal file
2
package/apache/apache.hash
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
# From http://www.apache.org/dist/httpd/httpd-2.4.12.tar.bz2.sha1
|
||||||
|
sha1 bc4681bfd63accec8d82d3cc440fbc8264ce0f17 httpd-2.4.12.tar.bz2
|
85
package/apache/apache.mk
Normal file
85
package/apache/apache.mk
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
################################################################################
|
||||||
|
#
|
||||||
|
# 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))
|
Loading…
x
Reference in New Issue
Block a user