Re: cvs: php4 / acinclude.m4 configure.in dynlib.m4 /build library.mk rules.mk
| From: | Zeev Suraski | Date: | Sun, 09 Jul 2000 20:43:08 +0000 |
| Subject: | Re: cvs: php4 / acinclude.m4 configure.in dynlib.m4 /build library.mk rules.mk | ||
| References: | 1 | Groups: | php.cvs |
| Request: | Send a blank email to php-cvs+get-692@lists.php.net to get a copy of this message | ||
Did you pick .cxx on purpose? :)
I simply think it looks much uglier than .cc.
I guess it should be .cxx after all, because Windows compilers recognize .cxx, but not .cc.
Zeev
At 23:39 09/07/2000, Sascha Schumann wrote:
-- Zeev Suraski <zeev@zend.com> http://www.zend.com/sas Sun Jul 9 13:39:18 2000 EDTModified files:/php4 acinclude.m4 configure.in dynlib.m4 /php4/build library.mk rules.mkLog: Add support for building C++ sources. In your extension's config.m4, you need to use the m4 macroPHP_REQUIRE_CXXThis shall be called only, if your extension is enabled. C++ source files shall not be put into the LTLIBRARY_SOURCES macro. Instead, the filename of the object shall be put into LTLIBRARY_OBJECTS_X. I.e. if your extension foo consists of foo.cxx, useLTLIBRARY_OBJECTS_X = foo.loIndex: php4/acinclude.m4 diff -u php4/acinclude.m4:1.98 php4/acinclude.m4:1.99--- php4/acinclude.m4:1.98 Sat Jun 17 09:13:11 2000+++ php4/acinclude.m4 Sun Jul 9 13:39:18 2000 @@ -1,4 +1,4 @@ -dnl $Id: acinclude.m4,v 1.98 2000/06/17 16:13:11 andrei Exp $ +dnl $Id: acinclude.m4,v 1.99 2000/07/09 20:39:18 sas Exp $ dnl dnl This file contains local autoconf functions. @@ -417,6 +417,14 @@ enable_experimental_zts=yes if test "$pthreads_working" != "yes"; thenAC_MSG_ERROR(ZTS currently requires working POSIX threads. Your system does not support this.)+ fi +]) + +AC_DEFUN(PHP_REQUIRE_CXX,[ + if test -z "$php_cxx_done"; then+ AC_PROG_CXX + AC_PROG_CXXCPP + php_cxx_done=yesfi ]) Index: php4/configure.in diff -u php4/configure.in:1.156 php4/configure.in:1.157--- php4/configure.in:1.156 Thu Jun 29 10:37:58 2000+++ php4/configure.in Sun Jul 9 13:39:18 2000 @@ -1,4 +1,4 @@ -dnl ## $Id: configure.in,v 1.156 2000/06/29 17:37:58 thies Exp $ -*- sh -*- +dnl ## $Id: configure.in,v 1.157 2000/07/09 20:39:18 sas Exp $ -*- sh -*- dnl ## Process this file with autoconf to produce a configure script. divert(1) @@ -694,6 +694,7 @@ PHP_SUBST(CPP) PHP_SUBST(CPPFLAGS) PHP_SUBST(CXX) +PHP_SUBST(CXXFLAGS) PHP_SUBST(DEBUG_CFLAGS) PHP_SUBST(DEFS) PHP_SUBST(EXTENSION_DIR) @@ -751,6 +752,7 @@ fi PHP_COMPILE='$(LIBTOOL) --mode=compile $(COMPILE) -c $<' +CXX_PHP_COMPILE='$(LIBTOOL) --mode=compile $(CXX_COMPILE) -c $<' if test "$enable_shared" = "yes"; then SHARED_LIBTOOL='$(LIBTOOL)' @@ -761,6 +763,7 @@SHARED_LIBTOOL='$(SHELL) $(top_builddir)/shlibtool'elsePHP_COMPILE='$(COMPILE) -c $< && touch $@' + CXX_PHP_COMPILE='$(CXX_COMPILE) -c $< && touch $@'fi fi Index: php4/dynlib.m4 diff -u php4/dynlib.m4:1.2 php4/dynlib.m4:1.3 --- php4/dynlib.m4:1.2 Fri May 12 00:37:41 2000+++ php4/dynlib.m4 Sun Jul 9 13:39:18 2000@@ -5,7 +5,7 @@ lib_target="\$(LTLIBRARY_NAME)" cat >>$1<<EOF \$(LTLIBRARY_NAME): \$(LTLIBRARY_SHARED_OBJECTS) \$(LTLIBRARY_DEPENDENCIES)- \$(SHARED_LIBTOOL) --mode=link \$(CCLD) \$(CFLAGS) \$(EXTRA_CFLAGS) \$(LDFLAGS) -o \[$]@ \$(LTLIBRARY_LDFLAGS) \$(LTLIBRARY_OBJECTS) \$(LTLIBRARY_SHARED_LIBADD) + \$(SHARED_LIBTOOL) --mode=link \$(COMPILE) \$(LDFLAGS) -o \[$]@ \$(LTLIBRARY_LDFLAGS) \$(LTLIBRARY_OBJECTS) \$(LTLIBRARY_SHARED_LIBADD)EOF ]) @@ -14,7 +14,7 @@ lib_target="\$(LTLIBRARY_SHARED_NAME)" cat >>$1<<EOF \$(LTLIBRARY_SHARED_NAME): \$(LTLIBRARY_SHARED_OBJECTS) \$(LTLIBRARY_DEPENDENCIES)- \$(SHARED_LIBTOOL) --mode=link \$(CCLD) \$(CFLAGS) \$(EXTRA_CFLAGS) \$(LDFLAGS) -o \[$]@ -avoid-version -module -rpath \$(phplibdir) \$(LTLIBRARY_LDFLAGS) \$(LTLIBRARY_OBJECTS) \$(LTLIBRARY_SHARED_LIBADD) + \$(SHARED_LIBTOOL) --mode=link \$(COMPILE) \$(LDFLAGS) -o \[$]@ -avoid-version -module -rpath \$(phplibdir) \$(LTLIBRARY_LDFLAGS) \$(LTLIBRARY_OBJECTS) \$(LTLIBRARY_SHARED_LIBADD) \$(SHARED_LIBTOOL) --mode=install cp \[$]@ \$(phplibdir)EOF @@ -37,7 +37,7 @@ $php_shtool mkdir -p $1 cat >$lib_makefile<<EOF -LTLIBRARY_OBJECTS = \$(LTLIBRARY_SOURCES:.c=.lo) +LTLIBRARY_OBJECTS = \$(LTLIBRARY_SOURCES:.c=.lo) \$(LTLIBRARY_OBJECTS_X) LTLIBRARY_SHARED_OBJECTS = \$(LTLIBRARY_OBJECTS:.lo=.slo) EOF Index: php4/build/library.mk diff -u php4/build/library.mk:1.6 php4/build/library.mk:1.7 --- php4/build/library.mk:1.6 Sun Apr 30 19:57:24 2000+++ php4/build/library.mk Sun Jul 9 13:39:18 2000@@ -21,10 +21,10 @@ # EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ############################################################################## -# $Id: library.mk,v 1.6 2000/05/01 02:57:24 sas Exp $ +# $Id: library.mk,v 1.7 2000/07/09 20:39:18 sas Exp $ # -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)Index: php4/build/rules.mk diff -u php4/build/rules.mk:1.18 php4/build/rules.mk:1.19--- php4/build/rules.mk:1.18 Sun Jun 11 12:53:19 2000+++ php4/build/rules.mk Sun Jul 9 13:39:18 2000 @@ -21,40 +21,54 @@ # EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ############################################################################## -# $Id: rules.mk,v 1.18 2000/06/11 19:53:19 rasmus Exp $ +# $Id: rules.mk,v 1.19 2000/07/09 20:39:18 sas Exp $ # include $(top_builddir)/config_vars.mk -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) $(CFLAGS) $(EXTRA_CFLAGS) $(LDFLAGS) -o $@ +COMMON_FLAGS = $(DEFS) $(INCLUDES) $(EXTRA_INCLUDES) $(CPPFLAGS)+COMPILE = $(CC) $(COMMON_FLAGS) $(CFLAGS) $(EXTRA_CFLAGS)+CXX_COMPILE = $(CXX) $(COMMON_FLAGS) $(CXXFLAGS) $(EXTRA_CXXFLAGS) + +SHARED_COMPILE = $(SHARED_LIBTOOL) --mode=compile $(COMPILE) -c $< && touch $@ +CXX_SHARED_COMPILE = $(SHARED_LIBTOOL) --mode=compile $(CXX_COMPILE) -c $< && touch $@ + +LINK = $(LIBTOOL) --mode=link $(COMPILE) $(LDFLAGS) -o $@ + mkinstalldirs = $(top_srcdir)/build/shtool mkdir -p INSTALL = $(top_srcdir)/build/shtool install -c INSTALL_DATA = $(INSTALL) -m 644 -SHARED_COMPILE = $(SHARED_LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(EXTRA_INCLUDES) $(CPPFLAGS) $(CFLAGS) $(EXTRA_CFLAGS) -c $< && touch $@ + DEFS = -DHAVE_CONFIG_H -I. -I$(srcdir) -I$(top_builddir) -I$(top_builddir)/mainmoduledir = $(EXTENSION_DIR).SUFFIXES: -.SUFFIXES: .slo .c .lo .o .s .y .l +.SUFFIXES: .slo .c .cxx .lo .o .s .y .l .c.o:$(COMPILE) -c $<+.cxx.o:+ $(CXX_COMPILE) -c $<+ .s.o:$(COMPILE) -c $<.c.lo:$(PHP_COMPILE)+.cxx.lo:+ $(CXX_PHP_COMPILE)+ .s.lo:$(PHP_COMPILE).c.slo:$(SHARED_COMPILE)+ +.cxx.slo:+ $(CXX_SHARED_COMPILE).y.c:$(YACC) $(YFLAGS) $< && mv y.tab.c $*.c-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, e-mail: php-cvs-unsubscribe@lists.php.net For additional commands, e-mail: php-cvs-help@lists.php.net To contact the list administrators, e-mail: php-list-admin@lists.php.net