summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarko Karppinen <markonen@php.net>2002-08-06 16:01:34 +0000
committerMarko Karppinen <markonen@php.net>2002-08-06 16:01:34 +0000
commit5611c2fc78f0696e1e5715c08502d0a09696c02a (patch)
tree321a2c7241537a80996c5081dc32bbaf755790e6
parente410749014d62553f209281cb32bbd68909a1f69 (diff)
downloadphp-git-5611c2fc78f0696e1e5715c08502d0a09696c02a.tar.gz
Support compiling and linking against Darwin / Mac OS X frameworks
-rw-r--r--Makefile.global2
-rw-r--r--acinclude.m469
-rw-r--r--configure.in1
-rw-r--r--sapi/cgi/config.m42
-rw-r--r--sapi/cli/config.m42
5 files changed, 73 insertions, 3 deletions
diff --git a/Makefile.global b/Makefile.global
index ea8c9d262c..f159e3e2cd 100644
--- a/Makefile.global
+++ b/Makefile.global
@@ -14,7 +14,7 @@ libphp4.la: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS)
$(LIBTOOL) --mode=link $(CC) $(COMMON_FLAGS) $(CFLAGS) $(EXTRA_CFLAGS) -rpath $(phptempdir) $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS) $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@
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) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@ && cp $@ libs/libphp4.so
+ $(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)
diff --git a/acinclude.m4 b/acinclude.m4
index 71a7423c4d..0995d3681e 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -1018,6 +1018,55 @@ ifelse($3,,[
])
dnl
+dnl PHP_ADD_FRAMEWORK(framework [,before])
+dnl
+dnl add a (Darwin / Mac OS X) framework to the link
+dnl line. if before is 1, the framework is added
+dnl to the beginning of the line.
+
+AC_DEFUN(PHP_ADD_FRAMEWORK, [
+ AC_PHP_ONCE(FRAMEWORK, $1, [
+ if test "$2"; then
+ PHP_FRAMEWORKS="-framework $1 $PHP_FRAMEWORKS"
+ else
+ PHP_FRAMEWORKS="$PHP_FRAMEWORKS -framework $1"
+ fi
+ ])
+])
+
+dnl
+dnl PHP_ADD_FRAMEWORKPATH(path [,before])
+dnl
+dnl add a (Darwin / Mac OS X) framework path to the link
+dnl and include lines. default paths include (but are
+dnl not limited to) /Local/Library/Frameworks and
+dnl /System/Library/Frameworks, so these don't need
+dnl to be specifically added. if before is 1, the
+dnl framework path is added to the beginning of the
+dnl relevant lines.
+
+AC_DEFUN(PHP_ADD_FRAMEWORKPATH, [
+ PHP_EXPAND_PATH($1, ai_p)
+ AC_PHP_ONCE(FRAMEWORKPATH, $ai_p, [
+ if test "$2"; then
+ PHP_FRAMEWORKS="-F$ai_p $PHP_FRAMEWORKS"
+ else
+ PHP_FRAMEWORKS="$PHP_FRAMEWORKS -F$ai_p"
+ fi
+ ])
+])
+
+dnl
+dnl PHP_ADD_FRAMEWORK_WITH_PATH(framework, path)
+dnl
+dnl add a (Darwin / Mac OS X) framework path and the
+dnl framework itself to the link and include lines.
+AC_DEFUN(PHP_ADD_FRAMEWORK_WITH_PATH, [
+ PHP_ADD_FRAMEWORKPATH($2)
+ PHP_ADD_FRAMEWORK($1)
+])
+
+dnl
dnl Set libtool variable
dnl
AC_DEFUN(PHP_SET_LIBTOOL_VARIABLE,[
@@ -1403,6 +1452,26 @@ AC_DEFUN(PHP_CHECK_LIBRARY, [
])dnl
])
+dnl
+dnl PHP_CHECK_FRAMEWORK(framework, function [, action-found [, action-not-found ]])
+dnl
+dnl El cheapo wrapper for AC_CHECK_LIB
+dnl
+AC_DEFUN(PHP_CHECK_FRAMEWORK, [
+ save_old_LDFLAGS=$LDFLAGS
+ LDFLAGS="-framework $1 $LDFLAGS"
+ dnl supplying "c" to AC_CHECK_LIB is technically cheating, but
+ dnl rewriting AC_CHECK_LIB is overkill and this only affects
+ dnl the "checking.." output anyway.
+ AC_CHECK_LIB(c,[$2],[
+ LDFLAGS=$save_old_LDFLAGS
+ $3
+ ],[
+ LDFLAGS=$save_old_LDFLAGS
+ $4
+ ])
+])
+
dnl
dnl PHP_SETUP_ICONV(shared-add [, action-found [, action-not-found]])
dnl
diff --git a/configure.in b/configure.in
index 7809ed3614..7f6b0fa7e9 100644
--- a/configure.in
+++ b/configure.in
@@ -976,6 +976,7 @@ PHP_SUBST(SHARED_LIBTOOL)
PHP_SUBST(TSRM_DIR)
PHP_SUBST(TSRM_LIB)
PHP_SUBST(WARNING_LEVEL)
+PHP_SUBST(PHP_FRAMEWORKS)
PHP_SUBST_OLD(YACC)
PHP_SUBST_OLD(SHLIB_SUFFIX_NAME)
diff --git a/sapi/cgi/config.m4 b/sapi/cgi/config.m4
index 0cd2d3d9a4..4eaf71bb29 100644
--- a/sapi/cgi/config.m4
+++ b/sapi/cgi/config.m4
@@ -100,7 +100,7 @@ PHP_SUBST(FHTTPD_TARGET)
case $host_alias in
*darwin*)
- BUILD_CGI="\$(CC) \$(COMMON_FLAGS) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS) \$(LDFLAGS) \$(NATIVE_RPATHS) \$(PHP_GLOBAL_OBJS:.lo=.o) \$(PHP_SAPI_OBJS:.lo=.o) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o php"
+ BUILD_CGI="\$(CC) \$(COMMON_FLAGS) \$(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="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(COMMON_FLAGS) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_SAPI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o php"
diff --git a/sapi/cli/config.m4 b/sapi/cli/config.m4
index 010ce775c7..b3fb87cfc5 100644
--- a/sapi/cli/config.m4
+++ b/sapi/cli/config.m4
@@ -16,7 +16,7 @@ AC_ARG_ENABLE(cli,
if test "$PHP_SAPI_CLI" != "no"; then
case $host_alias in
*darwin*)
- BUILD_CLI="\$(CC) \$(COMMON_FLAGS) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS) \$(LDFLAGS) \$(NATIVE_RPATHS) \$(PHP_GLOBAL_OBJS:.lo=.o) \$(PHP_CLI_OBJS:.lo=.o) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o sapi/cli/php"
+ BUILD_CLI="\$(CC) \$(COMMON_FLAGS) \$(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="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(COMMON_FLAGS) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_CLI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o sapi/cli/php"