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