summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--DEPS2
-rw-r--r--build/v8.xcodeproj/project.pbxproj8
-rwxr-xr-xbuild/v8.xcodeproj/v8_prebuild.sh59
-rwxr-xr-xthird_party/libxml/libxml.xcodeproj/libxml_config_prebuild.sh149
-rw-r--r--third_party/libxml/libxml.xcodeproj/project.pbxproj8
-rwxr-xr-xwebkit/webkit.xcodeproj/jsbindings_prebuild.sh56
-rwxr-xr-xwebkit/webkit.xcodeproj/jsconfig_prebuild.sh11
-rwxr-xr-xwebkit/webkit.xcodeproj/pcre_prebuild.sh14
-rw-r--r--webkit/webkit.xcodeproj/project.pbxproj56
-rwxr-xr-xwebkit/webkit.xcodeproj/webcore_prebuild.sh61
10 files changed, 398 insertions, 26 deletions
diff --git a/DEPS b/DEPS
index a0d88ea..c1460c9 100644
--- a/DEPS
+++ b/DEPS
@@ -15,7 +15,7 @@ deps = {
"/trunk/deps/third_party/cygwin@1788",
"src/third_party/icu38":
- "/trunk/deps/third_party/icu38@1679",
+ "/trunk/deps/third_party/icu38@2049",
"src/third_party/python_24":
"/trunk/deps/third_party/python_24@1790",
diff --git a/build/v8.xcodeproj/project.pbxproj b/build/v8.xcodeproj/project.pbxproj
index 92e40e7..4634dc4 100644
--- a/build/v8.xcodeproj/project.pbxproj
+++ b/build/v8.xcodeproj/project.pbxproj
@@ -721,7 +721,7 @@
isa = PBXNativeTarget;
buildConfigurationList = 8970F2F70E719FC1006AE7B5 /* Build configuration list for PBXNativeTarget "v8" */;
buildPhases = (
- 89EA6FB50E71AA1F00F59E1B /* ShellScript */,
+ 89EA6FB50E71AA1F00F59E1B /* Pre-Build */,
8970F2ED0E719FB2006AE7B5 /* Sources */,
8970F2EE0E719FB2006AE7B5 /* Frameworks */,
);
@@ -790,18 +790,20 @@
/* End PBXProject section */
/* Begin PBXShellScriptBuildPhase section */
- 89EA6FB50E71AA1F00F59E1B /* ShellScript */ = {
+ 89EA6FB50E71AA1F00F59E1B /* Pre-Build */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
+ name = "Pre-Build";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "set -ex\nJS_FILES=\"runtime.js\"\\\n\" v8natives.js\"\\\n\" array.js\"\\\n\" string.js\"\\\n\" uri.js\"\\\n\" math.js\"\\\n\" messages.js\"\\\n\" apinatives.js\"\\\n\" debug-delay.js\"\\\n\" mirror-delay.js\"\\\n\" date-delay.js\"\\\n\" regexp-delay.js\"\\\n\" macros.py\"\n\nV8ROOT=\"${SRCROOT}/../v8\"\n\nSRC_DIR=\"${V8ROOT}/src\"\n\nNATIVE_JS_FILES=\"\"\n\nfor i in ${JS_FILES} ; do\n NATIVE_JS_FILES+=\"${SRC_DIR}/${i} \"\ndone\n\nV8_GENERATED_SOURCES_DIR=\"${CONFIGURATION_TEMP_DIR}/generated\"\nmkdir -p \"${V8_GENERATED_SOURCES_DIR}\"\n\nLIBRARIES_CC=\"${V8_GENERATED_SOURCES_DIR}/libraries.cc\"\nLIBRARIES_EMPTY_CC=\"${V8_GENERATED_SOURCES_DIR}/libraries-empty.cc\"\n\npython \"${V8ROOT}/tools/js2c.py\" \\\n \"${LIBRARIES_CC}.new\" \\\n \"${LIBRARIES_EMPTY_CC}.new\" \\\n ${NATIVE_JS_FILES}\n\n# Only use the new files if they're different from the existing files (if any),\n# preserving the existing files' timestamps when there are no changes. This\n# minimizes unnecessary build activity for a no-change build.\n\nif ! diff -q \"${LIBRARIES_CC}.new\" \"${LIBRARIES_CC}\" >& /dev/null ; then\n mv \"${LIBRARIES_CC}.new\" \"${LIBRARIES_CC}\"\nelse\n rm \"${LIBRARIES_CC}.new\"\nfi\n\nif ! diff -q \"${LIBRARIES_EMPTY_CC}.new\" \"${LIBRARIES_EMPTY_CC}\" >& /dev/null ; then\n mv \"${LIBRARIES_EMPTY_CC}.new\" \"${LIBRARIES_EMPTY_CC}\"\nelse\n rm \"${LIBRARIES_EMPTY_CC}.new\"\nfi\n";
+ shellScript = "set -ex\nexec \"${PROJECT_FILE_PATH}/${PRODUCT_NAME}_prebuild.sh\" \"${@}\"\n";
+ showEnvVarsInLog = 0;
};
/* End PBXShellScriptBuildPhase section */
diff --git a/build/v8.xcodeproj/v8_prebuild.sh b/build/v8.xcodeproj/v8_prebuild.sh
new file mode 100755
index 0000000..c61e01c
--- /dev/null
+++ b/build/v8.xcodeproj/v8_prebuild.sh
@@ -0,0 +1,59 @@
+#!/bin/sh
+
+# Copyright (c) 2008 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+set -ex
+JS_FILES="runtime.js \
+ v8natives.js \
+ array.js \
+ string.js \
+ uri.js \
+ math.js \
+ messages.js \
+ apinatives.js \
+ debug-delay.js \
+ mirror-delay.js \
+ date-delay.js \
+ regexp-delay.js \
+ macros.py"
+
+V8ROOT="${SRCROOT}/../v8"
+
+SRC_DIR="${V8ROOT}/src"
+
+NATIVE_JS_FILES=""
+
+for i in ${JS_FILES} ; do
+ NATIVE_JS_FILES+="${SRC_DIR}/${i} "
+done
+
+V8_GENERATED_SOURCES_DIR="${CONFIGURATION_TEMP_DIR}/generated"
+mkdir -p "${V8_GENERATED_SOURCES_DIR}"
+
+LIBRARIES_CC="${V8_GENERATED_SOURCES_DIR}/libraries.cc"
+LIBRARIES_EMPTY_CC="${V8_GENERATED_SOURCES_DIR}/libraries-empty.cc"
+
+python "${V8ROOT}/tools/js2c.py" \
+ "${LIBRARIES_CC}.new" \
+ "${LIBRARIES_EMPTY_CC}.new" \
+ ${NATIVE_JS_FILES}
+
+# Only use the new files if they're different from the existing files (if any),
+# preserving the existing files' timestamps when there are no changes. This
+# minimizes unnecessary build activity for a no-change build.
+
+if ! diff -q "${LIBRARIES_CC}.new" "${LIBRARIES_CC}" >& /dev/null
+then
+ mv "${LIBRARIES_CC}.new" "${LIBRARIES_CC}"
+else
+ rm "${LIBRARIES_CC}.new"
+fi
+
+if ! diff -q "${LIBRARIES_EMPTY_CC}.new" "${LIBRARIES_EMPTY_CC}" >& /dev/null
+then
+ mv "${LIBRARIES_EMPTY_CC}.new" "${LIBRARIES_EMPTY_CC}"
+else
+ rm "${LIBRARIES_EMPTY_CC}.new"
+fi
diff --git a/third_party/libxml/libxml.xcodeproj/libxml_config_prebuild.sh b/third_party/libxml/libxml.xcodeproj/libxml_config_prebuild.sh
new file mode 100755
index 0000000..1a5be4b
--- /dev/null
+++ b/third_party/libxml/libxml.xcodeproj/libxml_config_prebuild.sh
@@ -0,0 +1,149 @@
+#!/bin/sh
+
+# Copyright (c) 2008 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+set -ex
+
+GENERATED_DIR="${CONFIGURATION_TEMP_DIR}/generated"
+
+PACKAGE=libxml2
+VERSION_MAJOR=2
+VERSION_MINOR=6
+VERSION_MICRO=31
+VERSION_STRING="${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_MICRO}"
+VERSION_NUMBER=$(printf "%d%02d%02d" \
+ "${VERSION_MAJOR}" \
+ "${VERSION_MINOR}" \
+ "${VERSION_EXTRA}")
+
+# Generate xmlversion.h the same way that "sh configure" would
+mkdir -p "${GENERATED_DIR}/include/libxml"
+XMLVERSION_H="${GENERATED_DIR}/include/libxml/xmlversion.h"
+sed -e s/@VERSION@/"${VERSION_STRING}"/g \
+ -e s/@LIBXML_VERSION_NUMBER@/"${VERSION_NUMBER}"/g \
+ -e s/@LIBXML_VERSION_EXTRA@//g \
+ -e s/@WITH_TRIO@/0/g \
+ -e s/@WITH_THREADS@/1/g \
+ -e s/@WITH_TREE@/1/g \
+ -e s/@WITH_OUTPUT@/1/g \
+ -e s/@WITH_PUSH@/1/g \
+ -e s/@WITH_READER@/1/g \
+ -e s/@WITH_PATTERN@/1/g \
+ -e s/@WITH_WRITER@/1/g \
+ -e s/@WITH_SAX1@/1/g \
+ -e s/@WITH_FTP@/1/g \
+ -e s/@WITH_HTTP@/1/g \
+ -e s/@WITH_VALID@/1/g \
+ -e s/@WITH_HTML@/1/g \
+ -e s/@WITH_LEGACY@/1/g \
+ -e s/@WITH_C14N@/1/g \
+ -e s/@WITH_CATALOG@/1/g \
+ -e s/@WITH_DOCB@/1/g \
+ -e s/@WITH_XPATH@/1/g \
+ -e s/@WITH_XPTR@/1/g \
+ -e s/@WITH_XINCLUDE@/1/g \
+ -e s/@WITH_ICONV@/0/g \
+ -e s/@WITH_ICU@/1/g \
+ -e s/@WITH_ISO8859X@/1/g \
+ -e s/@WITH_DEBUG@/1/g \
+ -e s/@WITH_MEM_DEBUG@/0/g \
+ -e s/@WITH_RUN_DEBUG@/0/g \
+ -e s/@WITH_REGEXPS@/1/g \
+ -e s/@WITH_SCHEMAS@/1/g \
+ -e s/@WITH_SCHEMATRON@/1/g \
+ -e s/@WITH_MODULES@/1/g \
+ -e s/@MODULE_EXTENSION@/.so/g \
+ -e s/@WITH_ZLIB@/1/g \
+ < include/libxml/xmlversion.h.in \
+ > "${XMLVERSION_H}.new"
+
+# Only use the new file if it's different from the existing file (if any),
+# preserving the existing file's timestamp when there are no changes to
+# minimize unnecessary build activity.
+if ! diff -q "${XMLVERSION_H}.new" "${XMLVERSION_H}" >& /dev/null ; then
+ mv "${XMLVERSION_H}.new" "${XMLVERSION_H}"
+else
+ rm "${XMLVERSION_H}.new"
+fi
+
+CONFIG_H="${GENERATED_DIR}/config.h"
+sed -e s/'^#undef PACKAGE$'/"#define PACKAGE \"${PACKAGE}\""/ \
+ -e s/'^#undef VERSION$'/"#define VERSION \"${VERSION_STRING}\""/ \
+ -e s/'^#undef SUPPORT_IPV6$'/"#define SUPPORT_IPV6"/ \
+ -e s/'^#undef HAVE_ARPA_INET_H$'/"#define HAVE_ARPA_INET_H 1"/ \
+ -e s/'^#undef HAVE_ARPA_NAMESER_H$'/"#define HAVE_ARPA_NAMESER_H 1"/ \
+ -e s/'^#undef HAVE_CTYPE_H$'/"#define HAVE_CTYPE_H 1"/ \
+ -e s/'^#undef HAVE_DIRENT_H$'/"#define HAVE_DIRENT_H 1"/ \
+ -e s/'^#undef HAVE_DLFCN_H$'/"#define HAVE_DLFCN_H 1"/ \
+ -e s/'^#undef HAVE_DLOPEN$'/"#define HAVE_DLOPEN "/ \
+ -e s/'^#undef HAVE_ERRNO_H$'/"#define HAVE_ERRNO_H 1"/ \
+ -e s/'^#undef HAVE_FCNTL_H$'/"#define HAVE_FCNTL_H 1"/ \
+ -e s/'^#undef HAVE_FINITE$'/"#define HAVE_FINITE 1"/ \
+ -e s/'^#undef HAVE_FLOAT_H$'/"#define HAVE_FLOAT_H 1"/ \
+ -e s/'^#undef HAVE_FPRINTF$'/"#define HAVE_FPRINTF 1"/ \
+ -e s/'^#undef HAVE_FTIME$'/"#define HAVE_FTIME 1"/ \
+ -e s/'^#undef HAVE_GETADDRINFO$'/"#define HAVE_GETADDRINFO "/ \
+ -e s/'^#undef HAVE_GETTIMEOFDAY$'/"#define HAVE_GETTIMEOFDAY 1"/ \
+ -e s/'^#undef HAVE_INTTYPES_H$'/"#define HAVE_INTTYPES_H 1"/ \
+ -e s/'^#undef HAVE_ISINF$'/"#define HAVE_ISINF "/ \
+ -e s/'^#undef HAVE_ISNAN$'/"#define HAVE_ISNAN "/ \
+ -e s/'^#undef HAVE_LIBPTHREAD$'/"#define HAVE_LIBPTHREAD "/ \
+ -e s/'^#undef HAVE_LIBZ$'/"#define HAVE_LIBZ 1"/ \
+ -e s/'^#undef HAVE_LIMITS_H$'/"#define HAVE_LIMITS_H 1"/ \
+ -e s/'^#undef HAVE_LOCALTIME$'/"#define HAVE_LOCALTIME 1"/ \
+ -e s/'^#undef HAVE_MATH_H$'/"#define HAVE_MATH_H 1"/ \
+ -e s/'^#undef HAVE_MEMORY_H$'/"#define HAVE_MEMORY_H 1"/ \
+ -e s/'^#undef HAVE_NETDB_H$'/"#define HAVE_NETDB_H 1"/ \
+ -e s/'^#undef HAVE_NETINET_IN_H$'/"#define HAVE_NETINET_IN_H 1"/ \
+ -e s/'^#undef HAVE_PRINTF$'/"#define HAVE_PRINTF 1"/ \
+ -e s/'^#undef HAVE_PTHREAD_H$'/"#define HAVE_PTHREAD_H "/ \
+ -e s/'^#undef HAVE_RESOLV_H$'/"#define HAVE_RESOLV_H 1"/ \
+ -e s/'^#undef HAVE_SIGNAL$'/"#define HAVE_SIGNAL 1"/ \
+ -e s/'^#undef HAVE_SIGNAL_H$'/"#define HAVE_SIGNAL_H 1"/ \
+ -e s/'^#undef HAVE_SNPRINTF$'/"#define HAVE_SNPRINTF 1"/ \
+ -e s/'^#undef HAVE_SPRINTF$'/"#define HAVE_SPRINTF 1"/ \
+ -e s/'^#undef HAVE_SSCANF$'/"#define HAVE_SSCANF 1"/ \
+ -e s/'^#undef HAVE_STAT$'/"#define HAVE_STAT 1"/ \
+ -e s/'^#undef HAVE_STDARG_H$'/"#define HAVE_STDARG_H 1"/ \
+ -e s/'^#undef HAVE_STDINT_H$'/"#define HAVE_STDINT_H 1"/ \
+ -e s/'^#undef HAVE_STDLIB_H$'/"#define HAVE_STDLIB_H 1"/ \
+ -e s/'^#undef HAVE_STRDUP$'/"#define HAVE_STRDUP 1"/ \
+ -e s/'^#undef HAVE_STRERROR$'/"#define HAVE_STRERROR 1"/ \
+ -e s/'^#undef HAVE_STRFTIME$'/"#define HAVE_STRFTIME 1"/ \
+ -e s/'^#undef HAVE_STRINGS_H$'/"#define HAVE_STRINGS_H 1"/ \
+ -e s/'^#undef HAVE_STRING_H$'/"#define HAVE_STRING_H 1"/ \
+ -e s/'^#undef HAVE_SYS_MMAN_H$'/"#define HAVE_SYS_MMAN_H 1"/ \
+ -e s/'^#undef HAVE_SYS_SELECT_H$'/"#define HAVE_SYS_SELECT_H 1"/ \
+ -e s/'^#undef HAVE_SYS_SOCKET_H$'/"#define HAVE_SYS_SOCKET_H 1"/ \
+ -e s/'^#undef HAVE_SYS_STAT_H$'/"#define HAVE_SYS_STAT_H 1"/ \
+ -e s/'^#undef HAVE_SYS_TIMEB_H$'/"#define HAVE_SYS_TIMEB_H 1"/ \
+ -e s/'^#undef HAVE_SYS_TIME_H$'/"#define HAVE_SYS_TIME_H 1"/ \
+ -e s/'^#undef HAVE_SYS_TYPES_H$'/"#define HAVE_SYS_TYPES_H 1"/ \
+ -e s/'^#undef HAVE_TIME_H$'/"#define HAVE_TIME_H 1"/ \
+ -e s/'^#undef HAVE_UNISTD_H$'/"#define HAVE_UNISTD_H 1"/ \
+ -e s/'^#undef HAVE_VA_COPY$'/"#define HAVE_VA_COPY 1"/ \
+ -e s/'^#undef HAVE_VFPRINTF$'/"#define HAVE_VFPRINTF 1"/ \
+ -e s/'^#undef HAVE_VSNPRINTF$'/"#define HAVE_VSNPRINTF 1"/ \
+ -e s/'^#undef HAVE_VSPRINTF$'/"#define HAVE_VSPRINTF 1"/ \
+ -e s/'^#undef HAVE_ZLIB_H$'/"#define HAVE_ZLIB_H 1"/ \
+ -e s/'^#undef PACKAGE_BUGREPORT$'/"#define PACKAGE_BUGREPORT \"\""/ \
+ -e s/'^#undef PACKAGE_NAME$'/"#define PACKAGE_NAME \"\""/ \
+ -e s/'^#undef PACKAGE_STRING$'/"#define PACKAGE_STRING \"\""/ \
+ -e s/'^#undef PACKAGE_TARNAME$'/"#define PACKAGE_TARNAME \"\""/ \
+ -e s/'^#undef PACKAGE_VERSION$'/"#define PACKAGE_VERSION \"\""/ \
+ -e s/'^#undef PROTOTYPES$'/"#define PROTOTYPES 1"/ \
+ -e s/'^#undef STDC_HEADERS$'/"#define STDC_HEADERS 1"/ \
+ -e s/'^#undef SUPPORT_IP6$'/"#define SUPPORT_IP6 "/ \
+ -e s/'^#undef XML_SOCKLEN_T$'/"#define XML_SOCKLEN_T socklen_t"/ \
+ -e s/'^#undef __PROTOTYPES$'/"#define __PROTOTYPES 1"/ \
+ -e s@'^\(#undef .*\)$'@'/* \1 */'@ \
+ < config.h.in \
+ > "${CONFIG_H}.new"
+
+if ! diff -q "${CONFIG_H}.new" "${CONFIG_H}" >& /dev/null ; then
+ mv "${CONFIG_H}.new" "${CONFIG_H}"
+else
+ rm "${CONFIG_H}.new"
+fi
diff --git a/third_party/libxml/libxml.xcodeproj/project.pbxproj b/third_party/libxml/libxml.xcodeproj/project.pbxproj
index a85c115..428693c 100644
--- a/third_party/libxml/libxml.xcodeproj/project.pbxproj
+++ b/third_party/libxml/libxml.xcodeproj/project.pbxproj
@@ -24,7 +24,7 @@
isa = PBXAggregateTarget;
buildConfigurationList = 7BE970570D872DC700F86D4B /* Build configuration list for PBXAggregateTarget "libxml_config" */;
buildPhases = (
- 7BE970520D872DC200F86D4B /* ShellScript */,
+ 7BE970520D872DC200F86D4B /* Pre-Build */,
);
dependencies = (
);
@@ -710,7 +710,7 @@
/* End PBXReferenceProxy section */
/* Begin PBXShellScriptBuildPhase section */
- 7BE970520D872DC200F86D4B /* ShellScript */ = {
+ 7BE970520D872DC200F86D4B /* Pre-Build */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -719,13 +719,15 @@
"$(SRCROOT)/config.h.in",
"$(SRCROOT)/include/libxml/xmlversion.h.in",
);
+ name = "Pre-Build";
outputPaths = (
"$(CONFIGURATION_TEMP_DIR)/generated/config.h",
"$(CONFIGURATION_TEMP_DIR)/generated/include/libxml/xmlversion.h",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "set -ex\n\nGENERATED_DIR=\"${CONFIGURATION_TEMP_DIR}/generated\"\n\nPACKAGE=libxml2\nVERSION_MAJOR=2\nVERSION_MINOR=6\nVERSION_MICRO=31\nVERSION_STRING=\"${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_MICRO}\"\nVERSION_NUMBER=$(printf \"%d%02d%02d\" \"${VERSION_MAJOR}\" \"${VERSION_MINOR}\" \"${VERSION_EXTRA}\")\n\n# Generate xmlversion.h the same way that \"sh configure\" would\nmkdir -p \"${GENERATED_DIR}/include/libxml\"\nXMLVERSION_H=\"${GENERATED_DIR}/include/libxml/xmlversion.h\"\nsed -e s/@VERSION@/\"${VERSION_STRING}\"/g \\\n -e s/@LIBXML_VERSION_NUMBER@/\"${VERSION_NUMBER}\"/g \\\n -e s/@LIBXML_VERSION_EXTRA@//g \\\n -e s/@WITH_TRIO@/0/g \\\n -e s/@WITH_THREADS@/1/g \\\n -e s/@WITH_TREE@/1/g \\\n -e s/@WITH_OUTPUT@/1/g \\\n -e s/@WITH_PUSH@/1/g \\\n -e s/@WITH_READER@/1/g \\\n -e s/@WITH_PATTERN@/1/g \\\n -e s/@WITH_WRITER@/1/g \\\n -e s/@WITH_SAX1@/1/g \\\n -e s/@WITH_FTP@/1/g \\\n -e s/@WITH_HTTP@/1/g \\\n -e s/@WITH_VALID@/1/g \\\n -e s/@WITH_HTML@/1/g \\\n -e s/@WITH_LEGACY@/1/g \\\n -e s/@WITH_C14N@/1/g \\\n -e s/@WITH_CATALOG@/1/g \\\n -e s/@WITH_DOCB@/1/g \\\n -e s/@WITH_XPATH@/1/g \\\n -e s/@WITH_XPTR@/1/g \\\n -e s/@WITH_XINCLUDE@/1/g \\\n -e s/@WITH_ICONV@/0/g \\\n -e s/@WITH_ICU@/1/g \\\n -e s/@WITH_ISO8859X@/1/g \\\n -e s/@WITH_DEBUG@/1/g \\\n -e s/@WITH_MEM_DEBUG@/0/g \\\n -e s/@WITH_RUN_DEBUG@/0/g \\\n -e s/@WITH_REGEXPS@/1/g \\\n -e s/@WITH_SCHEMAS@/1/g \\\n -e s/@WITH_SCHEMATRON@/1/g \\\n -e s/@WITH_MODULES@/1/g \\\n -e s/@MODULE_EXTENSION@/.so/g \\\n -e s/@WITH_ZLIB@/1/g \\\n < include/libxml/xmlversion.h.in \\\n > \"${XMLVERSION_H}.new\"\n\n# Only use the new file if it's different from the existing file (if any),\n# preserving the existing file's timestamp when there are no changes to\n# minimize unnecessary build activity.\nif ! diff -q \"${XMLVERSION_H}.new\" \"${XMLVERSION_H}\" >& /dev/null ; then\n mv \"${XMLVERSION_H}.new\" \"${XMLVERSION_H}\"\nelse\n rm \"${XMLVERSION_H}.new\"\nfi\n\nCONFIG_H=\"${GENERATED_DIR}/config.h\"\nsed -e s/'^#undef PACKAGE$'/\"#define PACKAGE \\\"${PACKAGE}\\\"\"/ \\\n -e s/'^#undef VERSION$'/\"#define VERSION \\\"${VERSION_STRING}\\\"\"/ \\\n -e s/'^#undef SUPPORT_IPV6$'/\"#define SUPPORT_IPV6\"/ \\\n -e s/'^#undef HAVE_ARPA_INET_H$'/\"#define HAVE_ARPA_INET_H 1\"/ \\\n -e s/'^#undef HAVE_ARPA_NAMESER_H$'/\"#define HAVE_ARPA_NAMESER_H 1\"/ \\\n -e s/'^#undef HAVE_CTYPE_H$'/\"#define HAVE_CTYPE_H 1\"/ \\\n -e s/'^#undef HAVE_DIRENT_H$'/\"#define HAVE_DIRENT_H 1\"/ \\\n -e s/'^#undef HAVE_DLFCN_H$'/\"#define HAVE_DLFCN_H 1\"/ \\\n -e s/'^#undef HAVE_DLOPEN$'/\"#define HAVE_DLOPEN \"/ \\\n -e s/'^#undef HAVE_ERRNO_H$'/\"#define HAVE_ERRNO_H 1\"/ \\\n -e s/'^#undef HAVE_FCNTL_H$'/\"#define HAVE_FCNTL_H 1\"/ \\\n -e s/'^#undef HAVE_FINITE$'/\"#define HAVE_FINITE 1\"/ \\\n -e s/'^#undef HAVE_FLOAT_H$'/\"#define HAVE_FLOAT_H 1\"/ \\\n -e s/'^#undef HAVE_FPRINTF$'/\"#define HAVE_FPRINTF 1\"/ \\\n -e s/'^#undef HAVE_FTIME$'/\"#define HAVE_FTIME 1\"/ \\\n -e s/'^#undef HAVE_GETADDRINFO$'/\"#define HAVE_GETADDRINFO \"/ \\\n -e s/'^#undef HAVE_GETTIMEOFDAY$'/\"#define HAVE_GETTIMEOFDAY 1\"/ \\\n -e s/'^#undef HAVE_INTTYPES_H$'/\"#define HAVE_INTTYPES_H 1\"/ \\\n -e s/'^#undef HAVE_ISINF$'/\"#define HAVE_ISINF \"/ \\\n -e s/'^#undef HAVE_ISNAN$'/\"#define HAVE_ISNAN \"/ \\\n -e s/'^#undef HAVE_LIBPTHREAD$'/\"#define HAVE_LIBPTHREAD \"/ \\\n -e s/'^#undef HAVE_LIBZ$'/\"#define HAVE_LIBZ 1\"/ \\\n -e s/'^#undef HAVE_LIMITS_H$'/\"#define HAVE_LIMITS_H 1\"/ \\\n -e s/'^#undef HAVE_LOCALTIME$'/\"#define HAVE_LOCALTIME 1\"/ \\\n -e s/'^#undef HAVE_MATH_H$'/\"#define HAVE_MATH_H 1\"/ \\\n -e s/'^#undef HAVE_MEMORY_H$'/\"#define HAVE_MEMORY_H 1\"/ \\\n -e s/'^#undef HAVE_NETDB_H$'/\"#define HAVE_NETDB_H 1\"/ \\\n -e s/'^#undef HAVE_NETINET_IN_H$'/\"#define HAVE_NETINET_IN_H 1\"/ \\\n -e s/'^#undef HAVE_PRINTF$'/\"#define HAVE_PRINTF 1\"/ \\\n -e s/'^#undef HAVE_PTHREAD_H$'/\"#define HAVE_PTHREAD_H \"/ \\\n -e s/'^#undef HAVE_RESOLV_H$'/\"#define HAVE_RESOLV_H 1\"/ \\\n -e s/'^#undef HAVE_SIGNAL$'/\"#define HAVE_SIGNAL 1\"/ \\\n -e s/'^#undef HAVE_SIGNAL_H$'/\"#define HAVE_SIGNAL_H 1\"/ \\\n -e s/'^#undef HAVE_SNPRINTF$'/\"#define HAVE_SNPRINTF 1\"/ \\\n -e s/'^#undef HAVE_SPRINTF$'/\"#define HAVE_SPRINTF 1\"/ \\\n -e s/'^#undef HAVE_SSCANF$'/\"#define HAVE_SSCANF 1\"/ \\\n -e s/'^#undef HAVE_STAT$'/\"#define HAVE_STAT 1\"/ \\\n -e s/'^#undef HAVE_STDARG_H$'/\"#define HAVE_STDARG_H 1\"/ \\\n -e s/'^#undef HAVE_STDINT_H$'/\"#define HAVE_STDINT_H 1\"/ \\\n -e s/'^#undef HAVE_STDLIB_H$'/\"#define HAVE_STDLIB_H 1\"/ \\\n -e s/'^#undef HAVE_STRDUP$'/\"#define HAVE_STRDUP 1\"/ \\\n -e s/'^#undef HAVE_STRERROR$'/\"#define HAVE_STRERROR 1\"/ \\\n -e s/'^#undef HAVE_STRFTIME$'/\"#define HAVE_STRFTIME 1\"/ \\\n -e s/'^#undef HAVE_STRINGS_H$'/\"#define HAVE_STRINGS_H 1\"/ \\\n -e s/'^#undef HAVE_STRING_H$'/\"#define HAVE_STRING_H 1\"/ \\\n -e s/'^#undef HAVE_SYS_MMAN_H$'/\"#define HAVE_SYS_MMAN_H 1\"/ \\\n -e s/'^#undef HAVE_SYS_SELECT_H$'/\"#define HAVE_SYS_SELECT_H 1\"/ \\\n -e s/'^#undef HAVE_SYS_SOCKET_H$'/\"#define HAVE_SYS_SOCKET_H 1\"/ \\\n -e s/'^#undef HAVE_SYS_STAT_H$'/\"#define HAVE_SYS_STAT_H 1\"/ \\\n -e s/'^#undef HAVE_SYS_TIMEB_H$'/\"#define HAVE_SYS_TIMEB_H 1\"/ \\\n -e s/'^#undef HAVE_SYS_TIME_H$'/\"#define HAVE_SYS_TIME_H 1\"/ \\\n -e s/'^#undef HAVE_SYS_TYPES_H$'/\"#define HAVE_SYS_TYPES_H 1\"/ \\\n -e s/'^#undef HAVE_TIME_H$'/\"#define HAVE_TIME_H 1\"/ \\\n -e s/'^#undef HAVE_UNISTD_H$'/\"#define HAVE_UNISTD_H 1\"/ \\\n -e s/'^#undef HAVE_VA_COPY$'/\"#define HAVE_VA_COPY 1\"/ \\\n -e s/'^#undef HAVE_VFPRINTF$'/\"#define HAVE_VFPRINTF 1\"/ \\\n -e s/'^#undef HAVE_VSNPRINTF$'/\"#define HAVE_VSNPRINTF 1\"/ \\\n -e s/'^#undef HAVE_VSPRINTF$'/\"#define HAVE_VSPRINTF 1\"/ \\\n -e s/'^#undef HAVE_ZLIB_H$'/\"#define HAVE_ZLIB_H 1\"/ \\\n -e s/'^#undef PACKAGE_BUGREPORT$'/\"#define PACKAGE_BUGREPORT \\\"\\\"\"/ \\\n -e s/'^#undef PACKAGE_NAME$'/\"#define PACKAGE_NAME \\\"\\\"\"/ \\\n -e s/'^#undef PACKAGE_STRING$'/\"#define PACKAGE_STRING \\\"\\\"\"/ \\\n -e s/'^#undef PACKAGE_TARNAME$'/\"#define PACKAGE_TARNAME \\\"\\\"\"/ \\\n -e s/'^#undef PACKAGE_VERSION$'/\"#define PACKAGE_VERSION \\\"\\\"\"/ \\\n -e s/'^#undef PROTOTYPES$'/\"#define PROTOTYPES 1\"/ \\\n -e s/'^#undef STDC_HEADERS$'/\"#define STDC_HEADERS 1\"/ \\\n -e s/'^#undef SUPPORT_IP6$'/\"#define SUPPORT_IP6 \"/ \\\n -e s/'^#undef XML_SOCKLEN_T$'/\"#define XML_SOCKLEN_T socklen_t\"/ \\\n -e s/'^#undef __PROTOTYPES$'/\"#define __PROTOTYPES 1\"/ \\\n -e s@'^\\(#undef .*\\)$'@'/* \\1 */'@ \\\n < config.h.in \\\n > \"${CONFIG_H}.new\"\n\nif ! diff -q \"${CONFIG_H}.new\" \"${CONFIG_H}\" >& /dev/null ; then\n mv \"${CONFIG_H}.new\" \"${CONFIG_H}\"\nelse\n rm \"${CONFIG_H}.new\"\nfi\n";
+ shellScript = "set -ex\nexec \"${PROJECT_FILE_PATH}/${PRODUCT_NAME}_prebuild.sh\" \"${@}\"\n";
+ showEnvVarsInLog = 0;
};
/* End PBXShellScriptBuildPhase section */
diff --git a/webkit/webkit.xcodeproj/jsbindings_prebuild.sh b/webkit/webkit.xcodeproj/jsbindings_prebuild.sh
new file mode 100755
index 0000000..37d3de6
--- /dev/null
+++ b/webkit/webkit.xcodeproj/jsbindings_prebuild.sh
@@ -0,0 +1,56 @@
+#!/bin/sh
+
+# Copyright (c) 2008 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+set -ex
+GENERATED_DIR="${CONFIGURATION_TEMP_DIR}/generated"
+mkdir -p "${GENERATED_DIR}"
+
+export PORTROOT="${SRCROOT}/port"
+
+# export CREATE_HASH_TABLE="${SRCROOT}/../third_party/WebKit/JavaScriptCore/kjs/create_hash_table"
+# TODO(mmentovai): The above is normally correct, but create_hash_table wound
+# up without the svn:executable property set in our repository. Until that's
+# fixed - it should be fixed at the next WebKit merge following 2008-09-08 -
+# make a copy of create_hash_table, set the executable bit on it, and use that.
+# See also the TODO in webcore_prebuild.sh.
+export CREATE_HASH_TABLE="${GENERATED_DIR}/create_hash_table"
+cp -p "${SRCROOT}/../third_party/WebKit/JavaScriptCore/kjs/create_hash_table" \
+ "${CREATE_HASH_TABLE}"
+chmod a+x "${CREATE_HASH_TABLE}"
+
+export DerivedSourcesDir="${GENERATED_DIR}/DerivedSources/v8/bindings"
+mkdir -p "${DerivedSourcesDir}"
+cd "${DerivedSourcesDir}"
+
+ln -sfh "${SRCROOT}/../third_party/WebKit/WebCore" WebCore
+export WebCore="${DerivedSourcesDir}/WebCore"
+export SOURCE_ROOT="${WebCore}"
+export ENCODINGS_FILE="${WebCore}/platform/text/mac/mac-encodings.txt";
+export ENCODINGS_PREFIX="kTextEncoding"
+
+export PUBLICDOMINTERFACES="${PORTROOT}/PublicDOMInterfaces.h"
+make -f "${PORTROOT}/DerivedSources.make" -j $(/usr/sbin/sysctl -n hw.ncpu)
+
+# Allow framework-style #imports of <WebCore/whatever.h> to find the right
+# headers
+cd ..
+mkdir -p ForwardingHeaders/Derived \
+ ForwardingHeaders/dom \
+ ForwardingHeaders/editing \
+ ForwardingHeaders/ObjC \
+ ForwardingHeaders/page_mac \
+ ForwardingHeaders/svg
+ln -sfh "${DerivedSourcesDir}" ForwardingHeaders/Derived/WebCore
+ln -sfh "${SRCROOT}/../third_party/WebKit/WebCore/dom" \
+ ForwardingHeaders/dom/WebCore
+ln -sfh "${SRCROOT}/../third_party/WebKit/WebCore/editing" \
+ ForwardingHeaders/editing/WebCore
+ln -sfh "${SRCROOT}/../third_party/WebKit/WebCore/bindings/objc" \
+ ForwardingHeaders/ObjC/WebCore
+ln -sfh "${SRCROOT}/../third_party/WebKit/WebCore/page/mac" \
+ ForwardingHeaders/page_mac/WebCore
+ln -sfh "${SRCROOT}/../third_party/WebKit/WebCore/svg" \
+ ForwardingHeaders/svg/WebCore
diff --git a/webkit/webkit.xcodeproj/jsconfig_prebuild.sh b/webkit/webkit.xcodeproj/jsconfig_prebuild.sh
new file mode 100755
index 0000000..b6da7b8
--- /dev/null
+++ b/webkit/webkit.xcodeproj/jsconfig_prebuild.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+# Copyright (c) 2008 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+set -ex
+GENERATED_DIR="${CONFIGURATION_TEMP_DIR}/generated"
+mkdir -p "${GENERATED_DIR}"
+cd build/JSConfig
+exec bash create-config.sh "${GENERATED_DIR}" v8
diff --git a/webkit/webkit.xcodeproj/pcre_prebuild.sh b/webkit/webkit.xcodeproj/pcre_prebuild.sh
new file mode 100755
index 0000000..d246506
--- /dev/null
+++ b/webkit/webkit.xcodeproj/pcre_prebuild.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+# Copyright (c) 2008 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+set -ex
+GENERATED_DIR="${CONFIGURATION_TEMP_DIR}/generated"
+OUTDIR="${GENERATED_DIR}/pcre"
+CHARTABLES="${OUTDIR}/chartables.c"
+DFTABLES="${SOURCE_ROOT}/../third_party/WebKit/JavaScriptCore/pcre/dftables"
+
+mkdir -p "${OUTDIR}"
+perl -w "${DFTABLES}" "${CHARTABLES}"
diff --git a/webkit/webkit.xcodeproj/project.pbxproj b/webkit/webkit.xcodeproj/project.pbxproj
index 27f1061..41360ca 100644
--- a/webkit/webkit.xcodeproj/project.pbxproj
+++ b/webkit/webkit.xcodeproj/project.pbxproj
@@ -11,7 +11,7 @@
isa = PBXAggregateTarget;
buildConfigurationList = 7B58F7A80DAFC59B006F0EB5 /* Build configuration list for PBXAggregateTarget "jsconfig" */;
buildPhases = (
- 7B58F7A70DAFC59B006F0EB5 /* ShellScript */,
+ 7B58F7A70DAFC59B006F0EB5 /* Pre-Build */,
);
dependencies = (
);
@@ -1154,6 +1154,13 @@
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
+ 7B25FF880E78A766007855DA /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 7B5E77560D7F22D8001ECF42 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 7B58F7A60DAFC59B006F0EB5 /* jsconfig */;
+ remoteInfo = jsconfig;
+ };
7BF88B770E71F3FA000BAF8A /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 7B5E77560D7F22D8001ECF42 /* Project object */;
@@ -3855,11 +3862,11 @@
7B9375960D919010008B9587 /* port */,
7B5E87820D7F394A001ECF42 /* webcore */,
7B5E85B30D7F28F5001ECF42 /* wtf */,
- 7B5E776F0D7F2350001ECF42 /* Products */,
+ 7B5E776F0D7F2350001ECF42 /* Products */,
);
sourceTree = "<group>";
};
- 7B5E776F0D7F2350001ECF42 /* Products */ = {
+ 7B5E776F0D7F2350001ECF42 /* Products */ = {
isa = PBXGroup;
children = (
E45627150E268F03005E4685 /* libglue.a */,
@@ -3869,7 +3876,7 @@
E45626950E268E87005E4685 /* libwebcore.a */,
7B5E85AE0D7F28CD001ECF42 /* libwtf.a */,
);
- name = "\U001bProducts";
+ name = Products;
sourceTree = "<group>";
};
7B5E85B30D7F28F5001ECF42 /* wtf */ = {
@@ -6705,7 +6712,7 @@
isa = PBXNativeTarget;
buildConfigurationList = 7B2748AF0E438199009BCE03 /* Build configuration list for PBXNativeTarget "pcre" */;
buildPhases = (
- 7B2748D60E43834E009BCE03 /* Generate Derived Sources */,
+ 7B2748D60E43834E009BCE03 /* Pre-Build */,
7B27489A0E43815F009BCE03 /* Sources */,
7B27489B0E43815F009BCE03 /* Frameworks */,
);
@@ -6740,7 +6747,7 @@
isa = PBXNativeTarget;
buildConfigurationList = 7BFD8E690DAFE7810084BC4B /* Build configuration list for PBXNativeTarget "jsbindings" */;
buildPhases = (
- 7BFD8ED90DAFE8C10084BC4B /* Generate Derived Sources */,
+ 7BFD8ED90DAFE8C10084BC4B /* Pre-Build */,
7BFD8E630DAFE7630084BC4B /* Sources */,
7BFD8E640DAFE7630084BC4B /* Frameworks */,
);
@@ -6758,7 +6765,7 @@
isa = PBXNativeTarget;
buildConfigurationList = E45626920E268E87005E4685 /* Build configuration list for PBXNativeTarget "webcore" */;
buildPhases = (
- E456203F0E268E87005E4685 /* Generate Derived Sources */,
+ E456203F0E268E87005E4685 /* Pre-Build */,
E45623780E268E87005E4685 /* Sources */,
E45626910E268E87005E4685 /* Frameworks */,
);
@@ -6783,6 +6790,7 @@
buildRules = (
);
dependencies = (
+ 7B25FF890E78A766007855DA /* PBXTargetDependency */,
E45627B50E26917C005E4685 /* PBXTargetDependency */,
);
name = glue;
@@ -6816,7 +6824,7 @@
compatibilityVersion = "Xcode 3.1";
hasScannedForEncodings = 0;
mainGroup = 7B5E77540D7F22D8001ECF42;
- productRefGroup = 7B5E776F0D7F2350001ECF42 /* Products */;
+ productRefGroup = 7B5E776F0D7F2350001ECF42 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
@@ -6833,7 +6841,7 @@
/* End PBXProject section */
/* Begin PBXShellScriptBuildPhase section */
- 7B2748D60E43834E009BCE03 /* Generate Derived Sources */ = {
+ 7B2748D60E43834E009BCE03 /* Pre-Build */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -6841,54 +6849,59 @@
inputPaths = (
"$(SRCROOT)/../third_party/WebKit/JavaScriptCore/pcre/dftables",
);
- name = "Generate Derived Sources";
+ name = "Pre-Build";
outputPaths = (
"$(CONFIGURATION_TEMP_DIR)/generated/pcre/chartables.c",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "set -ex\nGENERATED_DIR=\"${CONFIGURATION_TEMP_DIR}/generated\"\nOUTDIR=\"${GENERATED_DIR}/pcre\"\nCHARTABLES=\"${OUTDIR}/chartables.c\"\nDFTABLES=\"${SOURCE_ROOT}/../third_party/WebKit/JavaScriptCore/pcre/dftables\"\n\nmkdir -p \"${OUTDIR}\"\nperl -w \"${DFTABLES}\" \"${CHARTABLES}\"\n";
+ shellScript = "set -ex\nexec \"${PROJECT_FILE_PATH}/${PRODUCT_NAME}_prebuild.sh\"\n";
+ showEnvVarsInLog = 0;
};
- 7B58F7A70DAFC59B006F0EB5 /* ShellScript */ = {
+ 7B58F7A70DAFC59B006F0EB5 /* Pre-Build */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
+ name = "Pre-Build";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "set -ex\nGENERATED_DIR=\"${CONFIGURATION_TEMP_DIR}/generated\"\nmkdir -p \"${GENERATED_DIR}\"\ncd build/JSConfig\nexec bash create-config.sh \"${GENERATED_DIR}\" v8\n";
+ shellScript = "set -ex\nexec \"${PROJECT_FILE_PATH}/${PRODUCT_NAME}_prebuild.sh\" \"${@}\"\n";
+ showEnvVarsInLog = 0;
};
- 7BFD8ED90DAFE8C10084BC4B /* Generate Derived Sources */ = {
+ 7BFD8ED90DAFE8C10084BC4B /* Pre-Build */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
- name = "Generate Derived Sources";
+ name = "Pre-Build";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "set -ex\nGENERATED_DIR=\"${CONFIGURATION_TEMP_DIR}/generated\"\nmkdir -p \"${GENERATED_DIR}\"\n\nexport PORTROOT=\"${SRCROOT}/port\"\n\n# export CREATE_HASH_TABLE=\"${SRCROOT}/../third_party/WebKit/JavaScriptCore/kjs/create_hash_table\"\n# TODO(mmentovai): The above is normally correct, but create_hash_table wound\n# up without the svn:executable property set in our repository. Until that's\n# fixed - it should be fixed at the next WebKit merge following 2008-09-08 -\n# make a copy of create_hash_table, set the executable bit on it, and use that.\n# See also the TODO in the webcore target.\nexport CREATE_HASH_TABLE=\"${GENERATED_DIR}/create_hash_table\"\ncp -p \"${SRCROOT}/../third_party/WebKit/JavaScriptCore/kjs/create_hash_table\" \\\n \"${CREATE_HASH_TABLE}\"\nchmod a+x \"${CREATE_HASH_TABLE}\"\n\nexport DerivedSourcesDir=\"${GENERATED_DIR}/DerivedSources/v8/bindings\"\nmkdir -p \"${DerivedSourcesDir}\"\ncd \"${DerivedSourcesDir}\"\n\nln -sfh \"${SRCROOT}/../third_party/WebKit/WebCore\" WebCore\nexport WebCore=\"${DerivedSourcesDir}/WebCore\"\nexport SOURCE_ROOT=\"${WebCore}\"\nexport ENCODINGS_FILE=\"${WebCore}/platform/text/mac/mac-encodings.txt\";\nexport ENCODINGS_PREFIX=\"kTextEncoding\"\n\nexport PUBLICDOMINTERFACES=\"${PORTROOT}/PublicDOMInterfaces.h\"\nmake -f \"${PORTROOT}/DerivedSources.make\" -j $(/usr/sbin/sysctl -n hw.ncpu)\n\n# Allow framework-style #imports of <WebCore/whatever.h> to find the right headers\ncd ..\nmkdir -p ForwardingHeaders/Derived \\\n ForwardingHeaders/dom \\\n ForwardingHeaders/editing \\\n ForwardingHeaders/ObjC \\\n ForwardingHeaders/page_mac \\\n ForwardingHeaders/svg\nln -sfh \"${DerivedSourcesDir}\" ForwardingHeaders/Derived/WebCore\nln -sfh \"${SRCROOT}/../third_party/WebKit/WebCore/dom\" ForwardingHeaders/dom/WebCore\nln -sfh \"${SRCROOT}/../third_party/WebKit/WebCore/editing\" ForwardingHeaders/editing/WebCore\nln -sfh \"${SRCROOT}/../third_party/WebKit/WebCore/bindings/objc\" ForwardingHeaders/ObjC/WebCore\nln -sfh \"${SRCROOT}/../third_party/WebKit/WebCore/page/mac\" ForwardingHeaders/page_mac/WebCore\nln -sfh \"${SRCROOT}/../third_party/WebKit/WebCore/svg\" ForwardingHeaders/svg/WebCore\n";
+ shellScript = "set -ex\nexec \"${PROJECT_FILE_PATH}/${PRODUCT_NAME}_prebuild.sh\"\n";
+ showEnvVarsInLog = 0;
};
- E456203F0E268E87005E4685 /* Generate Derived Sources */ = {
+ E456203F0E268E87005E4685 /* Pre-Build */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
- name = "Generate Derived Sources";
+ name = "Pre-Build";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "set -ex\nGENERATED_DIR=\"${CONFIGURATION_TEMP_DIR}/generated\"\nmkdir -p \"${GENERATED_DIR}\"\n\n# TODO(mmentovai): fix this to not be so hokey - the Apple build expects JavaScriptCore to be in a framework\n# This belongs in the JSConfig target, which already does something similar\nmkdir -p \"${GENERATED_DIR}/include/v8/JavaScriptCore\"\ncp -p \"${SRCROOT}/../third_party/WebKit/JavaScriptCore/bindings/npruntime.h\" \\\n \"${GENERATED_DIR}/include/v8/JavaScriptCore\"\n\nexport DerivedSourcesDir=\"${GENERATED_DIR}/DerivedSources/v8/WebCore\"\nmkdir -p \"${GENERATED_DIR}/DerivedSources/v8/WebCore\"\ncd \"${GENERATED_DIR}/DerivedSources/v8/WebCore\"\n\n# export CREATE_HASH_TABLE=\"${SRCROOT}/../third_party/WebKit/JavaScriptCore/kjs/create_hash_table\"\n# TODO(mmentovai): The above is normally correct, but create_hash_table wound\n# up without the svn:executable property set in our repository. See the TODO\n# in the jsbindings target.\nexport CREATE_HASH_TABLE=\"${GENERATED_DIR}/create_hash_table\"\n\nln -sfh \"${SRCROOT}/../third_party/WebKit/WebCore\" WebCore\nexport WebCore=\"WebCore\"\nexport SOURCE_ROOT=\"${WebCore}\"\nexport PORTROOT=\"${SRCROOT}/port\"\n\nexport PUBLICDOMINTERFACES=\"${PORTROOT}/../pending/PublicDOMInterfaces.h\"\nmake -f \"${SRCROOT}/pending/DerivedSources.make\" -j $(/usr/sbin/sysctl -n hw.ncpu)\n\n# Allow framework-style #imports of <WebCore/whatever.h> to find the right headers\ncd ..\nmkdir -p ForwardingHeaders/loader\nln -sfh \"${SRCROOT}/../third_party/WebKit/WebCore/loader\" ForwardingHeaders/loader/WebCore\n\n# Generate the webkit version header\nmkdir -p \"${GENERATED_DIR}/include/v8/new\"\npython \"${SRCROOT}/build/webkit_version.py\" \\\n \"${SRCROOT}/../third_party/WebKit/WebCore/Configurations/Version.xcconfig\" \\\n \"${GENERATED_DIR}/include/v8/new\"\n\n# Only use new the file if it's different from the existing file (if any),\n# preserving the existing file's timestamp when there are no changes. This\n# minimizes unnecessary build activity for a no-change build.\nif ! diff -q \"${GENERATED_DIR}/include/v8/new/webkit_version.h\" \\\n \"${GENERATED_DIR}/include/v8/webkit_version.h\" >& /dev/null ; then\n mv \"${GENERATED_DIR}/include/v8/new/webkit_version.h\" \\\n \"${GENERATED_DIR}/include/v8/webkit_version.h\"\nelse\n rm \"${GENERATED_DIR}/include/v8/new/webkit_version.h\"\nfi\n\nrmdir \"${GENERATED_DIR}/include/v8/new\"\n";
+ shellScript = "set -ex\nexec \"${PROJECT_FILE_PATH}/${PRODUCT_NAME}_prebuild.sh\"\n";
+ showEnvVarsInLog = 0;
};
/* End PBXShellScriptBuildPhase section */
@@ -8053,6 +8066,11 @@
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
+ 7B25FF890E78A766007855DA /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 7B58F7A60DAFC59B006F0EB5 /* jsconfig */;
+ targetProxy = 7B25FF880E78A766007855DA /* PBXContainerItemProxy */;
+ };
7BF88B780E71F3FA000BAF8A /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 7B58F7A60DAFC59B006F0EB5 /* jsconfig */;
diff --git a/webkit/webkit.xcodeproj/webcore_prebuild.sh b/webkit/webkit.xcodeproj/webcore_prebuild.sh
new file mode 100755
index 0000000..7d00941
--- /dev/null
+++ b/webkit/webkit.xcodeproj/webcore_prebuild.sh
@@ -0,0 +1,61 @@
+#!/bin/sh
+
+# Copyright (c) 2008 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+set -ex
+GENERATED_DIR="${CONFIGURATION_TEMP_DIR}/generated"
+mkdir -p "${GENERATED_DIR}"
+
+# Generate the webkit version header
+mkdir -p "${GENERATED_DIR}/include/v8/new"
+python build/webkit_version.py \
+ ../third_party/WebKit/WebCore/Configurations/Version.xcconfig \
+ "${GENERATED_DIR}/include/v8/new"
+
+# Only use new the file if it's different from the existing file (if any),
+# preserving the existing file's timestamp when there are no changes. This
+# minimizes unnecessary build activity for a no-change build.
+if ! diff -q "${GENERATED_DIR}/include/v8/new/webkit_version.h" \
+ "${GENERATED_DIR}/include/v8/webkit_version.h" >& /dev/null ; then
+ mv "${GENERATED_DIR}/include/v8/new/webkit_version.h" \
+ "${GENERATED_DIR}/include/v8/webkit_version.h"
+else
+ rm "${GENERATED_DIR}/include/v8/new/webkit_version.h"
+fi
+
+rmdir "${GENERATED_DIR}/include/v8/new"
+
+# TODO(mmentovai): fix this to not be so hokey - the Apple build expects
+# JavaScriptCore to be in a framework This belongs in the JSConfig target,
+# which already does something similar
+mkdir -p "${GENERATED_DIR}/include/v8/JavaScriptCore"
+cp -p "${SRCROOT}/../third_party/WebKit/JavaScriptCore/bindings/npruntime.h" \
+ "${GENERATED_DIR}/include/v8/JavaScriptCore"
+
+export DerivedSourcesDir="${GENERATED_DIR}/DerivedSources/v8/WebCore"
+mkdir -p "${GENERATED_DIR}/DerivedSources/v8/WebCore"
+cd "${GENERATED_DIR}/DerivedSources/v8/WebCore"
+
+# export CREATE_HASH_TABLE="${SRCROOT}/../third_party/WebKit/JavaScriptCore/kjs/create_hash_table"
+# TODO(mmentovai): The above is normally correct, but create_hash_table wound
+# up without the svn:executable property set in our repository. See the TODO
+# in jsbindings_prebuild.sh.
+export CREATE_HASH_TABLE="${GENERATED_DIR}/create_hash_table"
+
+ln -sfh "${SRCROOT}/../third_party/WebKit/WebCore" WebCore
+export WebCore="WebCore"
+export SOURCE_ROOT="${WebCore}"
+export PORTROOT="${SRCROOT}/port"
+
+export PUBLICDOMINTERFACES="${PORTROOT}/../pending/PublicDOMInterfaces.h"
+make -f "${SRCROOT}/pending/DerivedSources.make" \
+ -j $(/usr/sbin/sysctl -n hw.ncpu)
+
+# Allow framework-style #imports of <WebCore/whatever.h> to find the right
+# headers.
+cd ..
+mkdir -p ForwardingHeaders/loader
+ln -sfh "${SRCROOT}/../third_party/WebKit/WebCore/loader" \
+ ForwardingHeaders/loader/WebCore