]> granicus.if.org Git - php/commitdiff
Support compiling and linking against Darwin / Mac OS X frameworks
authorMarko Karppinen <markonen@php.net>
Tue, 6 Aug 2002 16:01:34 +0000 (16:01 +0000)
committerMarko Karppinen <markonen@php.net>
Tue, 6 Aug 2002 16:01:34 +0000 (16:01 +0000)
Makefile.global
acinclude.m4
configure.in
sapi/cgi/config.m4
sapi/cli/config.m4

index ea8c9d262cf71ec2dcef3e5751d7811e646847ce..f159e3e2cdaad30d3410c61b0fa4169ce872899b 100644 (file)
@@ -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)
index 71a7423c4dccc11c8e421c399bd957625b436506..0995d3681ea47ba57bee8127053d4a8268795fc9 100644 (file)
@@ -1017,6 +1017,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
@@ -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
index 7809ed36145d22027176da10093a013732051e24..7f6b0fa7e9ba75028deb2752f4494c248ad1eeb4 100644 (file)
@@ -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)
 
index 0cd2d3d9a4f8c036c6a733da98b84e193a9923f7..4eaf71bb291faf689c957e727ec80e5e2ef02521 100644 (file)
@@ -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"
index 010ce775c77a678b99bbc180e15447fe6482f9ee..b3fb87cfc5fff843ce226aa7a028574da3a78d06 100644 (file)
@@ -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"