You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by dr...@apache.org on 2001/04/18 22:51:38 UTC
cvs commit: httpd-2.0/build rules.mk special.mk
dreid 01/04/18 13:51:38
Modified: . configure.in Makefile.in
build rules.mk special.mk
Log:
This changes the build process as outlined in my email earlier this week.
Essentially we now build the static objects, then allow a platform to run
a given command, build the shared modules, then run another command before exiting.
This gets us building dso's on beos and may provide a better framework for some of
the other "strange" platforms out there without stopping the normal ones working.
Revision Changes Path
1.143 +13 -0 httpd-2.0/configure.in
Index: configure.in
===================================================================
RCS file: /home/cvs/httpd-2.0/configure.in,v
retrieving revision 1.142
retrieving revision 1.143
diff -u -r1.142 -r1.143
--- configure.in 2001/04/03 23:47:39 1.142
+++ configure.in 2001/04/18 20:51:32 1.143
@@ -190,6 +190,9 @@
APACHE_LIBTOOL_SILENT
fi
+PRE_SHARED_CMDS='echo ""'
+POST_SHARED_CMDS='echo ""'
+
if test "$apache_need_shared" = "yes"; then
$SHELL $ac_aux_dir/ltconfig --output=shlibtool --disable-static --srcdir=$ac_aux_dir --cache-file=./config.cache $ac_aux_dir/ltmain.sh
case $PLATFORM in
@@ -197,11 +200,21 @@
HTTPD_LDFLAGS="$HTTPD_LDFLAGS -Wl,-bE:$abs_srcdir/support/httpd.exp"
SH_LDFLAGS="$SH_LDFLAGS -Wl,-bI:$abs_srcdir/support/httpd.exp"
;;
+ *beos)
+ SH_LDFLAGS='$(top_builddir)/_APP_'
+ PRE_SHARED_CMDS='ln -s $(top_builddir)/httpd $(top_builddir)/_APP_'
+ POST_SHARED_CMDS='rm $(top_builddir)/_APP_'
+ ;;
*os390)
CFLAGS="$CFLAGS -Wc,DLL,EXPORTALL"
;;
esac
+ shared_build="shared-modules"
fi
+
+APACHE_SUBST(PRE_SHARED_CMDS)
+APACHE_SUBST(POST_SHARED_CMDS)
+APACHE_SUBST(shared_build)
AC_ARG_WITH(program-name,
[ --with-program-name alternate executable name],[
1.68 +1 -1 httpd-2.0/Makefile.in
Index: Makefile.in
===================================================================
RCS file: /home/cvs/httpd-2.0/Makefile.in,v
retrieving revision 1.67
retrieving revision 1.68
diff -u -r1.67 -r1.68
--- Makefile.in 2001/04/13 00:46:21 1.67
+++ Makefile.in 2001/04/18 20:51:33 1.68
@@ -13,7 +13,7 @@
$(AP_LIBS)
PROGRAMS = $(PROGRAM_NAME)
-targets = $(PROGRAMS) $(other_targets)
+targets = $(PROGRAMS) $(shared_build) $(other_targets)
phony_targets = $(srcdir)/buildmark.c
install_targets = install-conf install-htdocs install-icons install-other \
install-cgi install-include install-suexec
1.51 +31 -1 httpd-2.0/build/rules.mk
Index: rules.mk
===================================================================
RCS file: /home/cvs/httpd-2.0/build/rules.mk,v
retrieving revision 1.50
retrieving revision 1.51
diff -u -r1.50 -r1.51
--- rules.mk 2001/04/12 20:34:52 1.50
+++ rules.mk 2001/04/18 20:51:35 1.51
@@ -125,6 +125,7 @@
all: all-recursive
+shared-modules: shared-modules-recursive
install: install-recursive
@@ -169,8 +170,37 @@
done; \
fi
+shared-modules-recursive:
+ @if test `pwd` = "$(top_builddir)"; then \
+ $(PRE_SHARED_CMDS) ; \
+ fi; \
+ list='$(SUBDIRS)'; for i in $$list; do \
+ target="shared-modules"; \
+ if test "$$i" = "."; then \
+ ok = yes; \
+ target="shared-modules-p"; \
+ fi; \
+ if test "$$i" != "srclib"; then \
+ (cd $$i && $(MAKE) $$target) || exit 1; \
+ fi; \
+ done; \
+ if test -e 'modules.mk'; then \
+ if test -n '$(shared_targets)'; then \
+ echo "Building shared modules: $(shared_targets)"; \
+ if test -z '$(shared_targets)'; then ok=yes; fi; \
+ if test "$$ok" != "yes"; then \
+ $(MAKE) "shared-modules-p" || exit 1; \
+ fi; \
+ fi; \
+ fi; \
+ if test `pwd` = "$(top_builddir)"; then \
+ $(POST_SHARED_CMDS) ; \
+ fi
+
all-p: $(targets)
-install-p: $(targets) $(install_targets)
+shared-modules-p: $(shared_targets)
+
+install-p: $(targets) $(shared_targets) $(install_targets)
@if test -n '$(PROGRAMS)'; then \
test -d $(bindir) || $(MKINSTALLDIRS) $(bindir); \
for i in $(PROGRAMS) ""; do \
1.12 +2 -1 httpd-2.0/build/special.mk
Index: special.mk
===================================================================
RCS file: /home/cvs/httpd-2.0/build/special.mk,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- special.mk 2001/02/16 04:26:27 1.11
+++ special.mk 2001/04/18 20:51:35 1.12
@@ -57,7 +57,8 @@
all: all-recursive
include $(builddir)/modules.mk
-targets = $(static) $(shared)
+targets = $(static)
+shared_targets = $(shared)
install_targets = install-modules
install-modules: