Browse files

Fix building external extensions.

  • Loading branch information...
1 parent 733d949 commit 5989ae5dc15ad6823d702b3545f623d30ec90449 Sascha Schumann committed May 2, 2000
Showing with 47 additions and 67 deletions.
  1. +22 −32 build/rules_pear.mk
  2. +6 −26 pear/Makefile.in
  3. +7 −2 pear/pear.m4
  4. +12 −7 pear/phpize.in
View
54 build/rules_pear.mk
@@ -33,31 +33,28 @@ LINK = $(LIBTOOL) --mode=link $(CCLD) $(CFLAGS) $(EXTRA_CFLAGS) $(LDFLAGS) -o $@
mkinstalldirs = $(top_srcdir)/build/shtool mkdir -f -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)
-moduledir = $(libdir)/php/modules
+moduledir = $(EXTENSION_DIR)
.SUFFIXES:
-.SUFFIXES: .S .c .lo .o .s .y .l
+.SUFFIXES: .slo .c .lo .o .s .y .l
.c.o:
$(COMPILE) -c $<
.s.o:
$(COMPILE) -c $<
-.S.o:
- $(COMPILE) -c $<
-
.c.lo:
$(PHP_COMPILE)
.s.lo:
$(PHP_COMPILE)
-.S.lo:
- $(PHP_COMPILE)
+.c.slo:
+ $(SHARED_COMPILE)
.y.c:
$(YACC) $(YFLAGS) $< && mv y.tab.c $*.c
@@ -68,44 +65,37 @@ moduledir = $(libdir)/php/modules
.l.c:
$(LEX) $(LFLAGS) $< && mv $(LEX_OUTPUT_ROOT).c $@
-#################################
-# Simplified Makefile
-
-all: shared
-install: shared install-modules
-
-#################################
+install_targets = install-modules
-#all: all-recursive
+all: all-recursive
install: install-recursive
distclean-recursive depend-recursive clean-recursive all-recursive install-recursive:
@otarget=`echo $@|sed s/-recursive//`; \
- if test '$(NO_RECURSION)' != "$$otarget"; then \
- list='$(SUBDIRS)'; for i in $$list; do \
- target="$$otarget"; \
- echo "Making $$target in $$i"; \
- if test "$$i" = "."; then \
- ok=yes; \
- target="$$target-p"; \
- fi; \
- (cd $$i && $(MAKE) $$target) || exit 1; \
- done; \
- test "$otarget" = "all" && test -z '$(targets)' && ok=yes; \
- test "$ok" = "yes" || $(MAKE) "$$otarget-p" || exit 1; \
- fi;
+ list='$(SUBDIRS)'; for i in $$list; do \
+ target="$$otarget"; \
+ echo "Making $$target in $$i"; \
+ if test "$$i" = "."; then \
+ ok=yes; \
+ target="$$target-p"; \
+ fi; \
+ if test ! -f $$i/.deps; then touch $$i/.deps; fi; \
+ (cd $$i && $(MAKE) $$target) || exit 1; \
+ done; \
+ if test "$$otarget" = "all" && test -z '$(targets)'; then ok=yes; fi; \
+ if test "$$ok" != "yes"; then $(MAKE) "$$otarget-p" || exit 1; fi
all-p: $(targets)
install-p: $(targets) $(install_targets)
distclean-p depend-p clean-p:
depend: depend-recursive
- test "`echo *.c`" = '*.c' || perl $(top_srcdir)/build/mkdep.perl $(CPP) $(INCLUDES) $(EXTRA_INCLUDES) *.c > .deps
+ test "`echo *.c`" = '*.c' || perl $(top_srcdir)/build/mkdep.perl $(CPP) $(INCLUDES) $(EXTRA_INCLUDES) *.c > $(builddir)/.deps
clean: clean-recursive clean-x
clean-x:
- rm -f $(targets) *.lo *.la *.o $(CLEANFILES)
+ rm -f $(targets) *.lo *.slo *.la *.o $(CLEANFILES)
rm -rf .libs
distclean: distclean-recursive clean-x
@@ -119,7 +109,7 @@ install-modules:
rm -f modules/*.la && \
cp modules/* $(moduledir) || true
-include $(srcdir)/.deps
+include $(builddir)/.deps
.PHONY: all-recursive clean-recursive install-recursive \
$(install_targets) install all clean depend depend-recursive shared \
View
32 pear/Makefile.in
@@ -32,6 +32,7 @@ BUILD_FILES = \
build/rules_pear.mk \
build/dynlib.mk \
build/shtool \
+ dynlib.m4 \
acinclude.m4
install-build:
@@ -52,27 +53,8 @@ install-build:
mv $(bindir)/php-config.tmp $(bindir)/php-config && \
cp $(srcdir)/phpextdist $(bindir)/phpextdist
-SRC_HEADERS = \
- php.h \
- php_regex.h \
- php3_compat.h \
- safe_mode.h \
- fopen-wrappers.h \
- php_version.h \
- php_globals.h \
- php_reentrancy.h \
- php_ini.h \
- SAPI.h
-
-BUILD_HEADERS = \
- php_config.h \
- Zend/zend_config.h \
- build-defs.h
-
-STANDARD_HEADERS = \
- php_output.h
-
HEADER_DIRS = \
+ / \
Zend \
TSRM \
ext/standard \
@@ -84,9 +66,7 @@ install-headers:
done; \
$(mkinstalldirs) $$paths && \
echo "creating header file hierarchy" && \
- (cd $(top_srcdir) && cp $(SRC_HEADERS) $(phpincludedir)) && \
- (cd $(top_srcdir)/ext/standard && cp *.h $(phpincludedir)/ext/standard) && \
- (cd $(top_srcdir) && cp regex/regex.h regex/regex_extra.h $(phpincludedir)/regex) && \
- (cd $(top_srcdir) && cp TSRM/TSRM.h $(phpincludedir)/TSRM) && \
- (cd $(top_srcdir)/Zend && cp *.h $(phpincludedir)/Zend) && \
- (cd $(top_builddir) && cp $(BUILD_HEADERS) $(phpincludedir))
+ for i in $(HEADER_DIRS); do \
+ cd $(top_srcdir)/$$i && cp -p *.h $(phpincludedir)/$$i; \
+ cd $(top_builddir)/$$i && cp -p *.h $(phpincludedir)/$$i; \
+ done
View
9 pear/pear.m4
@@ -37,13 +37,15 @@ enable_shared=yes
AC_PROG_LIBTOOL
-SHLIBTOOL='$(LIBTOOL)'
+SHARED_LIBTOOL='$(LIBTOOL)'
PHP_COMPILE='$(LIBTOOL) --mode=compile $(COMPILE) -c $<'
phplibdir="`pwd`/modules"
test "$prefix" = "NONE" && prefix="/usr/local"
test "$exec_prefix" = "NONE" && exec_prefix='$(prefix)'
+EXTENSION_DIR="$prefix/lib/php/modules"
+
PHP_SUBST(prefix)
PHP_SUBST(exec_prefix)
PHP_SUBST(libdir)
@@ -57,20 +59,23 @@ PHP_SUBST(CPP)
PHP_SUBST(CPPFLAGS)
PHP_SUBST(CXX)
PHP_SUBST(DEFS)
+PHP_SUBST(EXTENSION_DIR)
PHP_SUBST(EXTRA_LDFLAGS)
PHP_SUBST(EXTRA_LIBS)
PHP_SUBST(INCLUDES)
PHP_SUBST(LEX)
PHP_SUBST(LEX_OUTPUT_ROOT)
PHP_SUBST(LFLAGS)
-PHP_SUBST(SHLIBTOOL)
+PHP_SUBST(SHARED_LIBTOOL)
PHP_SUBST(LIBTOOL)
PHP_SUBST(SHELL)
PHP_FAST_OUTPUT(Makefile)
PHP_FAST_GENERATE
+test -d modules || mkdir modules
+
AC_CONFIG_HEADER(php_config.h)
AC_OUTPUT()
View
19 pear/phpize.in
@@ -1,24 +1,29 @@
#! /bin/sh
prefix='@PREFIX@'
-
phpdir="$prefix/lib/php/build"
+builddir="`pwd`"
+FILES_BUILD="dynlib.mk fastgen.sh library.mk ltlib.mk program.mk rules.mk rules_pear.mk shtool"
+FILES="acinclude.m4 dynlib.m4"
+
+if test ! -r config.m4; then
+ echo "Cannot find config.m4. "
+ echo "Make sure that you run $0 in the top level source directory of the module"
+ exit 1
+fi
test -d build || mkdir build
-for i in fastgen.sh library.mk ltlib.mk program.mk rules.mk rules_pear.mk shtool; do
- cp $phpdir/$i build
-done
+(cd $phpdir && cp $FILES_BUILD $builddir/build)
+(cd $phpdir && cp $FILES $builddir)
mv build/rules_pear.mk build/rules.mk
-cp $phpdir/acinclude.m4 .
-
sed \
-e "s#@prefix@#$prefix#" \
< $phpdir/pear.m4 > configure.in
-touch .deps install-sh mkinstalldirs missing
+touch install-sh mkinstalldirs missing
aclocal
autoconf

0 comments on commit 5989ae5

Please sign in to comment.