Skip to content

Commit

Permalink
Follow Yasuo's suggestion and build sapi program's under the sapi-spe…
Browse files Browse the repository at this point in the history
…cific

directory.

Move sapi-specific makefile fragments to their respective directory.

Create an embed sapi module which resides in its own dir now.
  • Loading branch information
Sascha Schumann committed Sep 29, 2002
1 parent 2af630f commit e6e5460
Show file tree
Hide file tree
Showing 13 changed files with 55 additions and 44 deletions.
28 changes: 5 additions & 23 deletions Makefile.global
Original file line number Diff line number Diff line change
Expand Up @@ -16,25 +16,7 @@ libphp4.la: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS)
libs/libphp4.bundle: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS)
$(CC) $(MH_BUNDLE_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(LDFLAGS) $(EXTRA_LDFLAGS) $(PHP_GLOBAL_OBJS:.lo=.o) $(PHP_SAPI_OBJS:.lo=.o) $(PHP_FRAMEWORKS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@ && cp $@ libs/libphp4.so

php: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS)
$(BUILD_CGI)

sapi/cli/php: $(PHP_GLOBAL_OBJS) $(PHP_CLI_OBJS)
$(BUILD_CLI)

libphp.la: $(PHP_LIB_OBJS)
$(LIBTOOL) --mode=link $(CC) $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS) $(PHP_LIB_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@

libphp.so: $(PHP_LIB_OBJS)
$(LIBTOOL) --mode=link $(CC) -shared -export-dynamic $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS) $(PHP_LIB_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@ && cp $@ .libs

libs: libphp.la libphp.so

install: $(install_targets)

install-cli: sapi/cli/php
@echo "Installing PHP CLI binary: $(INSTALL_ROOT)$(bindir)/"
@$(INSTALL_CLI)
install: $(install_targets)

install-sapi: libphp4.la
@echo "Installing PHP SAPI module"
Expand Down Expand Up @@ -64,14 +46,14 @@ install-tester:

install-su: install-pear install-tester

test: sapi/cli/php
@TEST_PHP_EXECUTABLE=$(top_builddir)/sapi/cli/php \
$(top_builddir)/sapi/cli/php -c php.ini-dist $(top_srcdir)/run-tests.php $(TESTS)
test: $(SAPI_CLI_PHP)
@TEST_PHP_EXECUTABLE=$(top_builddir)/$(SAPI_CLI_PHP) \
$(top_builddir)/$(SAPI_CLI_PHP) -c php.ini-dist $(top_srcdir)/run-tests.php $(TESTS)

clean:
find . -name \*.lo -o -name \*.o -o -name \*.la -o -name \*.a -o -name \*.so| xargs rm -f
find . -name .libs -a -type d|xargs rm -rf
rm -f libphp4.la php sapi/cli/php modules/* libs/*
rm -f libphp4.la $(SAPI_CLI_PHP) $(SAPI_CGI_PHP) modules/* libs/*

distclean: clean
rm -f config.cache config.log config.status Makefile.objects Makefile.fragments libtool main/php_config.h stamp-h php4.spec sapi/apache/libphp4.module buildmk.stamp
Expand Down
6 changes: 3 additions & 3 deletions acinclude.m4
Original file line number Diff line number Diff line change
Expand Up @@ -814,7 +814,7 @@ dnl
dnl PHP_BUILD_PROGRAM
dnl
AC_DEFUN(PHP_BUILD_PROGRAM,[
OVERALL_TARGET=php
OVERALL_TARGET=[]ifelse($1,,php,$1)
php_c_pre='$(CC)'
php_c_meta='$(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS)'
php_c_post=' && echo > $[@]'
Expand Down Expand Up @@ -1179,7 +1179,7 @@ EOF
])

dnl
dnl PHP_SELECT_SAPI(name, type[, sources [, extra-cflags]])
dnl PHP_SELECT_SAPI(name, type[, sources [, extra-cflags [, build-target]]])
dnl
dnl Selects the SAPI name and type (static, shared, programm)
dnl and optionally also the source-files for the SAPI-specific
Expand All @@ -1192,7 +1192,7 @@ AC_DEFUN(PHP_SELECT_SAPI,[
static) PHP_BUILD_STATIC;;
shared) PHP_BUILD_SHARED;;
bundle) PHP_BUILD_BUNDLE;;
program) PHP_BUILD_PROGRAM;;
program) PHP_BUILD_PROGRAM($5);;
esac
ifelse($3,,,[PHP_ADD_SOURCES([sapi/$1],[$3],[$4],[sapi])])
Expand Down
9 changes: 1 addition & 8 deletions configure.in
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,6 @@ dnl SAPI configuration.
dnl -------------------------------------------------------------------------

dnl paths to the targets are relative to the build directory
SAPI_PROGRAM=php
SAPI_SHARED=libs/libphp4.$SHLIB_SUFFIX_NAME
SAPI_STATIC=libs/libphp4.a
SAPI_LIBTOOL=libphp4.la
Expand All @@ -225,7 +224,7 @@ PHP_CONFIGURE_PART(Configuring SAPI modules)
esyscmd(./scripts/config-stubs sapi)

if test "$PHP_SAPI" = "default"; then
PHP_SELECT_SAPI(cgi, program, cgi_main.c getopt.c)
PHP_SELECT_SAPI(cgi, program, cgi_main.c getopt.c,,'$(SAPI_CGI_PATH)')
fi

AC_MSG_CHECKING([for chosen SAPI module])
Expand Down Expand Up @@ -1078,12 +1077,6 @@ fi

PHP_ADD_SOURCES_X(Zend, zend_execute.c,,PHP_GLOBAL_OBJS,,$flag)


PHP_ADD_SOURCES_X(main, php_embed.c,, PHP_LIB_OBJS)
PHP_LIB_OBJS="$PHP_GLOBAL_OBJS $PHP_LIB_OBJS main/internal_functions_cli.lo"
PHP_SUBST(PHP_LIB_OBJS)


PHP_ADD_BUILD_DIR(main)
PHP_ADD_BUILD_DIR(regex)
PHP_ADD_BUILD_DIR(sapi/$PHP_SAPI sapi/cli)
Expand Down
2 changes: 2 additions & 0 deletions sapi/cgi/Makefile.frag
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
$(SAPI_CGI_PATH): $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS)
$(BUILD_CGI)
9 changes: 6 additions & 3 deletions sapi/cgi/config.m4
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,9 @@ main()
])

if test "$PHP_SAPI" = "default"; then
PHP_ADD_MAKEFILE_FRAGMENT($abs_srcdir/sapi/cgi/Makefile.frag)
SAPI_CGI_PATH=sapi/cgi/php-cgi
PHP_SUBST(SAPI_CGI_PATH)

PHP_TEST_WRITE_STDOUT

Expand Down Expand Up @@ -61,7 +64,7 @@ if test "$PHP_SAPI" = "default"; then
fi
AC_DEFINE_UNQUOTED(DISCARD_PATH, $DISCARD_PATH, [ ])

INSTALL_IT="\$(INSTALL) -m 0755 $SAPI_PROGRAM \$(INSTALL_ROOT)\$(bindir)/php-cgi"
INSTALL_IT="\$(INSTALL) -m 0755 \$(SAPI_CGI_PATH) \$(INSTALL_ROOT)\$(bindir)/php-cgi"
fi

AC_MSG_CHECKING(for fhttpd module support)
Expand Down Expand Up @@ -100,10 +103,10 @@ PHP_SUBST(FHTTPD_TARGET)

case $host_alias in
*darwin*)
BUILD_CGI="\$(CC) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS) \$(LDFLAGS) \$(NATIVE_RPATHS) \$(PHP_GLOBAL_OBJS:.lo=.o) \$(PHP_SAPI_OBJS:.lo=.o) \$(PHP_FRAMEWORKS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o php"
BUILD_CGI="\$(CC) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS) \$(LDFLAGS) \$(NATIVE_RPATHS) \$(PHP_GLOBAL_OBJS:.lo=.o) \$(PHP_SAPI_OBJS:.lo=.o) \$(PHP_FRAMEWORKS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CGI_PATH)"
;;
*)
BUILD_CGI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_SAPI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o php"
BUILD_CGI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_SAPI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CGI_PATH)"
;;
esac
PHP_SUBST(BUILD_CGI)
7 changes: 7 additions & 0 deletions sapi/cli/Makefile.frag
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
$(SAPI_CLI_PATH): $(PHP_GLOBAL_OBJS) $(PHP_CLI_OBJS)
$(BUILD_CLI)

install-cli: $(SAPI_CLI_PATH)
@echo "Installing PHP CLI binary: $(INSTALL_ROOT)$(bindir)/"
@$(INSTALL_CLI)

10 changes: 7 additions & 3 deletions sapi/cli/config.m4
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,19 @@ AC_ARG_ENABLE(cli,
])

if test "$PHP_SAPI_CLI" != "no"; then
PHP_ADD_MAKEFILE_FRAGMENT($abs_srcdir/sapi/cli/Makefile.frag)
SAPI_CLI_PATH=sapi/cli/php
PHP_SUBST(SAPI_CLI_PATH)

case $host_alias in
*darwin*)
BUILD_CLI="\$(CC) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS) \$(LDFLAGS) \$(NATIVE_RPATHS) \$(PHP_GLOBAL_OBJS:.lo=.o) \$(PHP_CLI_OBJS:.lo=.o) \$(PHP_FRAMEWORKS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o sapi/cli/php"
BUILD_CLI="\$(CC) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS) \$(LDFLAGS) \$(NATIVE_RPATHS) \$(PHP_GLOBAL_OBJS:.lo=.o) \$(PHP_CLI_OBJS:.lo=.o) \$(PHP_FRAMEWORKS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CLI_PATH)"
;;
*)
BUILD_CLI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_CLI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o sapi/cli/php"
BUILD_CLI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_CLI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CLI_PATH)"
;;
esac
INSTALL_CLI="\$(INSTALL) -m 0755 sapi/cli/php \$(INSTALL_ROOT)\$(bindir)/php"
INSTALL_CLI="\$(INSTALL) -m 0755 \$(SAPI_CLI_PATH) \$(INSTALL_ROOT)\$(bindir)/php"
PHP_SUBST(BUILD_CLI)
PHP_SUBST(INSTALL_CLI)
else
Expand Down
14 changes: 14 additions & 0 deletions sapi/embed/config.m4
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
PHP_ARG_ENABLE(embed,whether to enable the embedded SAPI module,
[ --enable-embed])

PHP_ARG_ENABLE(embed-shared,whether to build it as shared library,
[ --enable-embed-shared])

if test "$PHP_EMBED" = "yes"; then
if test "$PHP_EMBED_SHARED" = "yes"; then
ac_type=shared
else
ac_type=static
fi
PHP_SELECT_SAPI(embed, $ac_type, php_embed.c)
fi
File renamed without changes.
File renamed without changes.
2 changes: 2 additions & 0 deletions sapi/fastcgi/Makefile.frag
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
$(SAPI_FASTCGI_PATH): $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS)
$(BUILD_CGI)
8 changes: 6 additions & 2 deletions sapi/fastcgi/config.m4
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,19 @@ AC_ARG_WITH(fastcgi,
else
FASTCGIPATH=$withval
fi
SAPI_FASTCGI_PATH=sapi/fastcgi/php
PHP_SUBST(SAPI_FASTCGI_PATH)
PHP_ADD_MAKEFILE_FRAGMENT($abs_srcdir/sapi/fastcgi/Makefile.frag)
test -f "$FASTCGIPATH/lib/libfcgi.a" || AC_MSG_ERROR(Unable to find libfcgi.a in $FASTCGIPATH/lib)
test -f "$FASTCGIPATH/include/fastcgi.h" || AC_MSG_ERROR(Unable to find fastcgi.h in $FASTCGIPATH/include)
PHP_SELECT_SAPI(fastcgi, programm, fastcgi.c)
PHP_SELECT_SAPI(fastcgi, program, fastcgi.c,,'$(SAPI_FASTCGI_PATH)')
PHP_ADD_INCLUDE($FASTCGIPATH/include)
PHP_ADD_LIBRARY_WITH_PATH(fcgi, "$FASTCGIPATH/lib",)
INSTALL_IT="\$(INSTALL) -m 0755 $SAPI_PROGRAM \$(bindir)/$SAPI_FASTCGI"
INSTALL_IT="\$(INSTALL) -m 0755 \$(SAPI_FASTCGI_PATH) \$(bindir)/$SAPI_FASTCGI"
RESULT=yes
PHP_SUBST(FASTCGI_LIBADD)
PHP_SUBST(EXT_PROGRAM_LDADD)
Expand Down
4 changes: 2 additions & 2 deletions win32/phpembed.dsp

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit e6e5460

Please sign in to comment.