diff options
-rw-r--r-- | DEPS | 2 | ||||
-rw-r--r-- | build/v8.xcodeproj/project.pbxproj | 8 | ||||
-rwxr-xr-x | build/v8.xcodeproj/v8_prebuild.sh | 59 | ||||
-rwxr-xr-x | third_party/libxml/libxml.xcodeproj/libxml_config_prebuild.sh | 149 | ||||
-rw-r--r-- | third_party/libxml/libxml.xcodeproj/project.pbxproj | 8 | ||||
-rwxr-xr-x | webkit/webkit.xcodeproj/jsbindings_prebuild.sh | 56 | ||||
-rwxr-xr-x | webkit/webkit.xcodeproj/jsconfig_prebuild.sh | 11 | ||||
-rwxr-xr-x | webkit/webkit.xcodeproj/pcre_prebuild.sh | 14 | ||||
-rw-r--r-- | webkit/webkit.xcodeproj/project.pbxproj | 56 | ||||
-rwxr-xr-x | webkit/webkit.xcodeproj/webcore_prebuild.sh | 61 |
10 files changed, 398 insertions, 26 deletions
@@ -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 |