You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by sa...@locus.apache.org on 2000/07/23 20:00:46 UTC
cvs commit: apache-2.0/src/build library.mk rules.mk special.mk
sascha 00/07/23 11:00:46
Modified: src Makefile.in acinclude.m4
src/build library.mk rules.mk special.mk
Log:
Clean up rules.mk and add support for building C++ source files.
If your module uses C++, you need to add APACHE_REQUIRE_CXX to your
module's config.m4.
Unfortunately, we cannot use any sophisticated pattern matching in make,
so instead of adding the C++ source files to LTLIBRARY_SOURCES, you need
to write for foo.cpp and bar.cpp:
LTLIBRARY_OBJECTS_X = foo.lo bar.lo
Revision Changes Path
1.24 +10 -10 apache-2.0/src/Makefile.in
Index: Makefile.in
===================================================================
RCS file: /home/cvs/apache-2.0/src/Makefile.in,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -u -r1.23 -r1.24
--- Makefile.in 2000/07/01 14:08:21 1.23
+++ Makefile.in 2000/07/23 18:00:42 1.24
@@ -15,7 +15,7 @@
PROGRAMS = $(PROGRAM_NAME)
targets = $(PROGRAMS)
phony_targets = $(srcdir)/buildmark.c
-install_targets = install-conf install-htdocs install-icons install-other \
+install_targets = install-conf install-icons install-other \
install-cgi install-include install-support
DISTCLEANFILES = include/config_auto.h modules.c aclocal.m4 buildmk.stamp \
configure generated_lists include/ap_config_auto.h \
@@ -26,7 +26,7 @@
install-conf:
@echo Installing configuration files
- @test -d $(sysconfdir) || $(mkinstalldirs) $(sysconfdir)
+ @test -d $(sysconfdir) || $(MKINSTALLDIRS) $(sysconfdir)
@cd $(srcdir)/../conf; \
for i in mime.types magic; do \
$(INSTALL_DATA) $$i $(sysconfdir); \
@@ -46,22 +46,22 @@
install-htdocs:
@echo Installing HTML documents
- @test -d $(htdocsdir) || $(mkinstalldirs) $(htdocsdir)
+ @test -d $(htdocsdir) || $(MKINSTALLDIRS) $(htdocsdir)
@(cd $(srcdir)/../htdocs && cp -rp * $(htdocsdir))
install-icons:
@echo Installing icons
- @test -d $(iconsdir) || $(mkinstalldirs) $(iconsdir)
+ @test -d $(iconsdir) || $(MKINSTALLDIRS) $(iconsdir)
@(cd $(srcdir)/../icons && cp -rp * $(iconsdir))
install-cgi:
@echo Installing CGIs
- @test -d $(cgidir) || $(mkinstalldirs) $(cgidir)
+ @test -d $(cgidir) || $(MKINSTALLDIRS) $(cgidir)
@(cd $(srcdir)/../cgi-bin && cp -rp * $(cgidir))
install-support:
@echo Installing Support Binaries
- @test -d $(bindir) || $(mkinstalldirs) $(bindir)
+ @test -d $(bindir) || $(MKINSTALLDIRS) $(bindir)
@cp -p $(srcdir)/support/httpd.exp $(bindir)
@cp -p $(builddir)/support/htpasswd $(bindir)
@cp -p $(builddir)/support/htdigest $(bindir)
@@ -70,13 +70,13 @@
@cp -p $(builddir)/support/ab $(bindir)
install-other:
- @test -d $(logdir) || $(mkinstalldirs) $(logdir)
+ @test -d $(logdir) || $(MKINSTALLDIRS) $(logdir)
install-include:
@echo Installing header files
- @test -d $(includedir) || $(mkinstalldirs) $(includedir)
- @test -d $(includedir)/xml || $(mkinstalldirs) $(includedir)/xml
- @test -d $(includedir)/apr || $(mkinstalldirs) $(includedir)/apr
+ @test -d $(includedir) || $(MKINSTALLDIRS) $(includedir)
+ @test -d $(includedir)/xml || $(MKINSTALLDIRS) $(includedir)/xml
+ @test -d $(includedir)/apr || $(MKINSTALLDIRS) $(includedir)/apr
@cp -p include/*.h $(srcdir)/include/*.h $(includedir)
@cp -p $(srcdir)/os/$(OS_DIR)/os.h $(includedir)
@cp -p $(srcdir)/os/$(OS_DIR)/os-inline.c $(includedir)
1.42 +10 -1 apache-2.0/src/acinclude.m4
Index: acinclude.m4
===================================================================
RCS file: /home/cvs/apache-2.0/src/acinclude.m4,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -u -r1.41 -r1.42
--- acinclude.m4 2000/06/28 16:30:55 1.41
+++ acinclude.m4 2000/07/23 18:00:42 1.42
@@ -67,6 +67,8 @@
APACHE_SUBST(CC)
APACHE_SUBST(CFLAGS)
APACHE_SUBST(CPPFLAGS)
+ APACHE_SUBST(CXX)
+ APACHE_SUBST(CXXFLAGS)
APACHE_SUBST(LTFLAGS)
APACHE_SUBST(LDFLAGS)
APACHE_SUBST(DEFS)
@@ -289,7 +291,7 @@
modpath_shared="$modpath_shared $libname"
cat >>$modpath_current/modules.mk<<EOF
$libname: $shobjects
- \$(SHLINK) -rpath \$(libexecdir) -module -avoid-version $4 $objects $5
+ \$(SH_LINK) -rpath \$(libexecdir) -module -avoid-version $4 $objects $5
EOF
fi
fi
@@ -408,3 +410,10 @@
])
])dnl
+AC_DEFUN(APACHE_REQUIRE_CXX,[
+ if test -z "$apache_cxx_done"; then
+ AC_PROG_CXX
+ AC_PROG_CXXCPP
+ apache_cxx_done=yes
+ fi
+])
1.6 +1 -1 apache-2.0/src/build/library.mk
Index: library.mk
===================================================================
RCS file: /home/cvs/apache-2.0/src/build/library.mk,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -u -r1.5 -r1.6
--- library.mk 2000/04/30 00:06:01 1.5
+++ library.mk 2000/07/23 18:00:45 1.6
@@ -54,7 +54,7 @@
# The build environment was provided by Sascha Schumann.
#
-LTLIBRARY_OBJECTS = $(LTLIBRARY_SOURCES:.c=.lo)
+LTLIBRARY_OBJECTS = $(LTLIBRARY_SOURCES:.c=.lo) $(LTLIBRARY_OBJECTS_X)
$(LTLIBRARY_NAME): $(LTLIBRARY_OBJECTS) $(LTLIBRARY_DEPENDENCIES)
$(LINK) $(LTLIBRARY_LDFLAGS) $(LTLIBRARY_OBJECTS) $(LTLIBRARY_LIBADD)
1.23 +36 -15 apache-2.0/src/build/rules.mk
Index: rules.mk
===================================================================
RCS file: /home/cvs/apache-2.0/src/build/rules.mk,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -u -r1.22 -r1.23
--- rules.mk 2000/07/10 15:07:40 1.22
+++ rules.mk 2000/07/23 18:00:45 1.23
@@ -56,25 +56,40 @@
include $(top_builddir)/config_vars.mk
+# Compile commands
-SHLIB_SUFFIX = so
-COMPILE = $(CC) $(DEFS) $(INCLUDES) $(EXTRA_INCLUDES) $(CPPFLAGS) $(CFLAGS) $(EXTRA_CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(EXTRA_INCLUDES) $(CPPFLAGS) $(CFLAGS) $(EXTRA_CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(LTFLAGS) $(CFLAGS) $(EXTRA_CFLAGS) $(LDFLAGS) -o $@
-mkinstalldirs = $(abs_srcdir)/helpers/mkdir.sh
+COMMON_FLAGS = $(DEFS) $(INCLUDES) $(EXTRA_INCLUDES) $(CPPFLAGS)
+COMPILE = $(CC) $(COMMON_FLAGS) $(CFLAGS) $(EXTRA_CFLAGS)
+CXX_COMPILE = $(CXX) $(COMMON_FLAGS) $(CXXFLAGS) $(EXTRA_CXXFLAGS)
+
+SH_COMPILE = $(SH_LIBTOOL) --mode=compile $(COMPILE) -c $< && touch $@
+SH_CXX_COMPILE = $(SH_LIBTOOL) --mode=compile $(CXX_COMPILE) -c $< && touch $@
+
+LT_COMPILE = $(LIBTOOL) --mode=compile $(COMPILE) -c $< && touch $@
+LT_CXX_COMPILE = $(LIBTOOL) --mode=compile $(CXX_COMPILE) -c $< && touch $@
+
+# Link-related commands
+
+LINK = $(LIBTOOL) --mode=link $(COMPILE) $(LDFLAGS) -o $@
+SH_LINK = $(SH_LIBTOOL) --mode=link $(COMPILE) $(LDFLAGS) -o $@
+
+# Helper programs
+
+SH_LIBTOOL = $(SHELL) $(top_builddir)/shlibtool --silent
+MKINSTALLDIRS = $(abs_srcdir)/helpers/mkdir.sh
INSTALL = $(abs_srcdir)/helpers/install.sh -c
INSTALL_DATA = $(INSTALL) -m 644
INSTALL_PROGRAM = $(INSTALL) -m 755
-SHLIBTOOL = $(SHELL) $(top_builddir)/shlibtool --silent
-APACHE_COMPILE = $(LTCOMPILE) -c $< && touch $@
-APACHE_SH_COMPILE = $(SHLIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(EXTRA_INCLUDES) $(CPPFLAGS) $(CFLAGS) $(EXTRA_CFLAGS) -c $< && touch $@
-SHLINK = $(SHLIBTOOL) --mode=link $(CCLD) $(CFLAGS) $(EXTRA_CFLAGS) $(LDFLAGS) -o $@
DEFS = -I. -I$(srcdir) -I$(top_srcdir)/modules/mpm/$(MPM_NAME)
+# Suffixes
+
+CXX_SUFFIX = cpp
+SHLIB_SUFFIX = so
+
.SUFFIXES:
-.SUFFIXES: .S .c .lo .o .s .y .l .slo
+.SUFFIXES: .S .c .$(CXX_SUFFIX) .lo .o .s .y .l .slo
.c.o:
$(COMPILE) -c $<
@@ -83,13 +98,19 @@
$(COMPILE) -c $<
.c.lo:
- $(APACHE_COMPILE)
+ $(LT_COMPILE)
.s.lo:
- $(APACHE_COMPILE)
+ $(LT_COMPILE)
.c.slo:
- $(APACHE_SH_COMPILE)
+ $(SH_COMPILE)
+
+.$(CXX_SUFFIX).lo:
+ $(LT_CXX_COMPILE)
+
+.$(CXX_SUFFIX).slo:
+ $(SH_CXX_COMPILE)
.y.c:
$(YACC) $(YFLAGS) $< && mv y.tab.c $*.c
@@ -137,7 +158,7 @@
all-p: $(targets)
install-p: $(targets) $(install_targets)
@if test -n '$(PROGRAMS)'; then \
- test -d $(bindir) || $(mkinstalldirs) $(bindir); \
+ test -d $(bindir) || $(MKINSTALLDIRS) $(bindir); \
for i in "$(PROGRAMS)"; do \
$(INSTALL_PROGRAM) $$i $(bindir); \
done; \
1.6 +2 -2 apache-2.0/src/build/special.mk
Index: special.mk
===================================================================
RCS file: /home/cvs/apache-2.0/src/build/special.mk,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -u -r1.5 -r1.6
--- special.mk 2000/04/30 02:28:14 1.5
+++ special.mk 2000/07/23 18:00:45 1.6
@@ -63,9 +63,9 @@
install-modules:
@shared='$(shared)'; \
if test -n "$$shared"; then \
- $(mkinstalldirs) $(libexecdir); \
+ $(MKINSTALLDIRS) $(libexecdir); \
for i in $$shared; do \
- $(SHLIBTOOL) --mode=install cp $$i $(libexecdir); \
+ $(SH_LIBTOOL) --mode=install cp $$i $(libexecdir); \
done; \
fi