OLD | NEW |
(Empty) | |
| 1 #!/usr/bin/bash -x |
| 2 |
| 3 # Copyright (c) 2009 The Chromium Authors. All rights reserved. |
| 4 # Use of this source code is governed by a BSD-style license that can be |
| 5 # found in the LICENSE file. |
| 6 |
| 7 # In order to build KJS or V8 versions of Chrome, we need to create |
| 8 # a custom configuration header. This script creates it. |
| 9 # |
| 10 # Input |
| 11 # create-config.sh <OutputDir> <kjs|v8> |
| 12 # |
| 13 # Output |
| 14 # in the $Output\WebCore directory, creates a config.h |
| 15 # custom to the desired build setup |
| 16 # |
| 17 set -ex |
| 18 # |
| 19 # Step 1: Create the webkit config.h which is appropriate for our |
| 20 # JavaScript engine. |
| 21 # |
| 22 if [[ "${OS}" != "Windows_NT" ]] |
| 23 then |
| 24 WebCoreObjDir="$1/WebCore" |
| 25 JSHeadersDir="$1/WebCore/JavaScriptHeaders" |
| 26 CP="cp -p" |
| 27 else |
| 28 WebCoreObjDir="$1\obj\WebCore" |
| 29 JSHeadersDir="$1\obj\WebCore\JavaScriptHeaders" |
| 30 CP="cp" |
| 31 fi |
| 32 mkdir -p "$WebCoreObjDir" |
| 33 rm -f $WebCoreObjDir/definitions.h 2> /dev/null |
| 34 |
| 35 |
| 36 if [[ "$2" = "kjs" ]] |
| 37 then |
| 38 SubDir=/kjs |
| 39 cat > $WebCoreObjDir/definitions.h << -=EOF=- |
| 40 #define WTF_USE_JAVASCRIPTCORE_BINDINGS 1 |
| 41 #define WTF_USE_NPOBJECT 1 |
| 42 -=EOF=- |
| 43 else |
| 44 SubDir=/v8 |
| 45 cat > $WebCoreObjDir/definitions.h << -=EOF=- |
| 46 #define WTF_USE_V8_BINDING 1 |
| 47 #define WTF_USE_NPOBJECT 1 |
| 48 -=EOF=- |
| 49 fi |
| 50 |
| 51 if [[ "${OS}" = "Windows_NT" ]] |
| 52 then |
| 53 SubDir= |
| 54 fi |
| 55 |
| 56 mkdir -p "${WebCoreObjDir}${SubDir}" |
| 57 |
| 58 pwd |
| 59 cat ../../config.h.in $WebCoreObjDir/definitions.h > $WebCoreObjDir$SubDir/confi
g.h.new |
| 60 if [[ "${OS}" = "Windows_NT" ]] || \ |
| 61 ! diff -q $WebCoreObjDir$SubDir/config.h.new $WebCoreObjDir$SubDir/config.h >
& /dev/null |
| 62 then |
| 63 mv $WebCoreObjDir$SubDir/config.h.new $WebCoreObjDir$SubDir/config.h |
| 64 else |
| 65 rm $WebCoreObjDir$SubDir/config.h.new |
| 66 fi |
| 67 |
| 68 rm -f "${WebCoreObjDir}/definitions.h" |
| 69 |
| 70 # |
| 71 # Step 2: Populate the JavaScriptHeaders based on the selected |
| 72 # JavaScript engine. |
| 73 # |
| 74 JSHeadersDir="${JSHeadersDir}${SubDir}" |
| 75 mkdir -p $JSHeadersDir |
| 76 JavaScriptCoreSrcDir="../../../third_party/WebKit/JavaScriptCore" |
| 77 WebCoreSrcDir="../../../third_party/WebKit/WebCore" |
| 78 if [[ "$2" = "kjs" ]] |
| 79 then |
| 80 mkdir -p $JSHeadersDir/JavaScriptCore |
| 81 $CP $JavaScriptCoreSrcDir/API/APICast.h $JSHeadersDir/JavaScriptCore |
| 82 $CP $JavaScriptCoreSrcDir/API/JavaScript.h $JSHeadersDir/JavaScriptCore |
| 83 $CP $JavaScriptCoreSrcDir/API/JSBase.h $JSHeadersDir/JavaScriptCore |
| 84 $CP $JavaScriptCoreSrcDir/API/JSContextRef.h $JSHeadersDir/JavaScriptCore |
| 85 $CP $JavaScriptCoreSrcDir/API/JSObjectRef.h $JSHeadersDir/JavaScriptCore |
| 86 $CP $JavaScriptCoreSrcDir/API/JSStringRef.h $JSHeadersDir/JavaScriptCore |
| 87 $CP $JavaScriptCoreSrcDir/API/JSStringRefCF.h $JSHeadersDir/JavaScriptCore |
| 88 $CP $JavaScriptCoreSrcDir/API/JSStringRefBSTR.h $JSHeadersDir/JavaScriptCore |
| 89 $CP $JavaScriptCoreSrcDir/API/JSValueRef.h $JSHeadersDir/JavaScriptCore |
| 90 $CP $JavaScriptCoreSrcDir/API/JavaScriptCore.h $JSHeadersDir/JavaScriptCore |
| 91 $CP $JavaScriptCoreSrcDir/API/JSRetainPtr.h $JSHeadersDir/JavaScriptCore |
| 92 $CP $JavaScriptCoreSrcDir/API/OpaqueJSString.h $JSHeadersDir/JavaScriptCore |
| 93 $CP $JavaScriptCoreSrcDir/API/WebKitAvailability.h $JSHeadersDir/JavaScriptCor
e |
| 94 else |
| 95 $CP $WebCoreSrcDir/bridge/npapi.h $JSHeadersDir |
| 96 $CP $WebCoreSrcDir/bridge/npruntime.h $JSHeadersDir |
| 97 $CP ../../../webkit/port/bindings/v8/npruntime_priv.h $JSHeadersDir |
| 98 fi |
| 99 |
| 100 if [[ "${OS}" = "Windows_NT" ]] |
| 101 then |
| 102 $CP $JavaScriptCoreSrcDir/os-win32/stdint.h $JSHeadersDir |
| 103 fi |
OLD | NEW |