mirror of
https://github.com/php/php-src.git
synced 2024-09-21 09:57:23 +00:00
Support compiling and linking against Darwin / Mac OS X frameworks
This commit is contained in:
parent
e410749014
commit
5611c2fc78
@ -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)
|
||||
|
69
acinclude.m4
69
acinclude.m4
@ -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
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
Loading…
Reference in New Issue
Block a user