Changeset 194821 in webkit


Ignore:
Timestamp:
Jan 9, 2016, 12:13:57 PM (9 years ago)
Author:
mitz@apple.com
Message:

[Cocoa] Allow overriding the frameworks directory independently of using a staging install path
https://bugs.webkit.org/show_bug.cgi?id=152926

Reviewed by Tim Horton.

Introduce a new build setting, WK_OVERRIDE_FRAMEWORKS_DIR. When not empty, it determines
where the frameworks are installed. Setting USE_STAGING_INSTALL_PATH to YES sets
WK_OVERRIDE_FRAMEWORKS_DIR to $(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari.

Account for the possibility of WK_OVERRIDE_FRAMEWORKS_DIR containing spaces.

Source/JavaScriptCore:

  • Configurations/Base.xcconfig:
  • Replace STAGED_FRAMEWORKS_SEARCH_PATH in FRAMEWORK_SEARCH_PATHS with WK_OVERRIDE_FRAMEWORKS_DIR and add quotes to account for spaces.
  • Define JAVASCRIPTCORE_FRAMEWORKS_DIR based on WK_OVERRIDE_FRAMEWORKS_DIR.
  • Configurations/JSC.xcconfig: Add quotes to account for spaces.
  • Configurations/ToolExecutable.xcconfig: Ditto.
  • postprocess-headers.sh: Ditto.

Source/ThirdParty:

  • gtest/xcode/Config/General.xcconfig: Add quotes to account for spaces.
  • gtest/xcode/Config/ProductionProject.xcconfig:
  • Replace STAGED_FRAMEWORKS_SEARCH_PATH in FRAMEWORK_SEARCH_PATHS with WK_OVERRIDE_FRAMEWORKS_DIR and add quotes to account for spaces.
  • Define WEBCORE_FRAMEWORKS_DIR based on WK_OVERRIDE_FRAMEWORKS_DIR.

Source/WebCore:

  • Configurations/WebCore.xcconfig:
  • Replace STAGED_FRAMEWORKS_SEARCH_PATH in FRAMEWORK_SEARCH_PATHS with WK_OVERRIDE_FRAMEWORKS_DIR and add quotes to account for spaces.
  • Define WEBCORE_FRAMEWORKS_DIR and PRODUCTION_FRAMEWORKS_DIR based on WK_OVERRIDE_FRAMEWORKS_DIR.
  • WebCore.xcodeproj/project.pbxproj: Work around make’s inability to handle spaces in paths by creating a symlink to JAVASCRIPTCORE_PRIVATE_HEADERS_DIR under BUILT_PRODUCTS_DIR and using the symlink as the value of JavaScriptCore_SCRIPTS_DIR.

Source/WebInspectorUI:

  • Configurations/Base.xcconfig:
  • Replace STAGED_FRAMEWORKS_SEARCH_PATH in FRAMEWORK_SEARCH_PATHS with WK_OVERRIDE_FRAMEWORKS_DIR and add quotes to account for spaces.
  • Configurations/WebInspectorUIFramework.xcconfig:
  • Define INSTALL_PATH and PRODUCTION_FRAMEWORKS_DIR based on WK_OVERRIDE_FRAMEWORKS_DIR.

Source/WebKit/mac:

  • Configurations/WebKitLegacy.xcconfig:
  • Replace STAGED_FRAMEWORKS_SEARCH_PATH in FRAMEWORK_SEARCH_PATHS with WK_OVERRIDE_FRAMEWORKS_DIR and add quotes to account for spaces.
  • Define WEBKIT_LEGACY_FRAMEWORKS_DIR, PRODUCTION_FRAMEWORKS_DIR, and WEBCORE_PRIVATE_HEADERS_DIR based on WK_OVERRIDE_FRAMEWORKS_DIR.
  • MigrateHeaders.make: Use a symlink under BUILT_PRODUCTS_DIR to the WebCore Private Headers. Use a BUILT_PRODUCTS_DIR-based path to the framework instead of a TARGET_BUILD_DIR-based one in order to avoid spaces.
  • migrate-headers.sh: Make the symlink to WEBCORE_PRIVATE_HEADERS_DIR that the makefile now uses.

Source/WebKit2:

  • Configurations/BaseTarget.xcconfig:
  • Add quotes to account for spaces.
  • Define WEBKIT_FRAMEWORKS_DIR and UMBRELLA_FRAMEWORKS_DIR based on WK_OVERRIDE_FRAMEWORKS_DIR.
  • WebKit2.xcodeproj/project.pbxproj:
  • In the Migrate WebKitLegacy Headers build phase, work around make’s inability to handle spaces in paths by creating a symlink to WEBKIT_LEGACY_PRIVATE_HEADERS_DIR under BUILT_PRODUCTS_DIR and using the symlink as the value of WEBKIT_LEGACY_PRIVATE_HEADERS_DIR.
  • In the Postprocess WKBase.h and Postprocess WKFoundation.h build phases, add quotes to account for spaces.
  • mac/MigrateHeadersFromWebKitLegacy.make: Use a BUILT_PRODUCTS_DIR-based path to the framework instead of a TARGET_BUILD_DIR-based one in order to avoid spaces.
  • mac/postprocess-framework-headers.sh: Add quotes to account for spaces.
Location:
trunk/Source
Files:
23 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r194820 r194821  
     12016-01-09  Dan Bernstein  <mitz@apple.com>
     2
     3        [Cocoa] Allow overriding the frameworks directory independently of using a staging install path
     4        https://bugs.webkit.org/show_bug.cgi?id=152926
     5
     6        Reviewed by Tim Horton.
     7
     8        Introduce a new build setting, WK_OVERRIDE_FRAMEWORKS_DIR. When not empty, it determines
     9        where the frameworks are installed. Setting USE_STAGING_INSTALL_PATH to YES sets
     10        WK_OVERRIDE_FRAMEWORKS_DIR to $(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari.
     11
     12        Account for the possibility of WK_OVERRIDE_FRAMEWORKS_DIR containing spaces.
     13
     14        * Configurations/Base.xcconfig:
     15        - Replace STAGED_FRAMEWORKS_SEARCH_PATH in FRAMEWORK_SEARCH_PATHS with
     16          WK_OVERRIDE_FRAMEWORKS_DIR and add quotes to account for spaces.
     17        - Define JAVASCRIPTCORE_FRAMEWORKS_DIR based on WK_OVERRIDE_FRAMEWORKS_DIR.
     18        * Configurations/JSC.xcconfig:
     19          Add quotes to account for spaces.
     20        * Configurations/ToolExecutable.xcconfig:
     21          Ditto.
     22        * postprocess-headers.sh:
     23          Ditto.
     24
    1252016-01-09  Mark Lam  <mark.lam@apple.com>
    226
  • trunk/Source/JavaScriptCore/Configurations/Base.xcconfig

    r193378 r194821  
    9494SUPPORTED_PLATFORMS = iphoneos iphonesimulator macosx tvos tvsimulator watchos watchsimulator;
    9595
    96 FRAMEWORK_SEARCH_PATHS = $(STAGED_FRAMEWORKS_SEARCH_PATH);
    97 
    98 STAGED_FRAMEWORKS_SEARCH_PATH = $(STAGED_FRAMEWORKS_SEARCH_PATH_$(USE_STAGING_INSTALL_PATH));
    99 STAGED_FRAMEWORKS_SEARCH_PATH_YES = $(NEXT_ROOT)$(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari;
     96FRAMEWORK_SEARCH_PATHS = $(WK_QUOTED_OVERRIDE_FRAMEWORKS_DIR);
    10097
    10198NORMAL_JAVASCRIPTCORE_FRAMEWORKS_DIR = $(SYSTEM_LIBRARY_DIR)/Frameworks;
    10299
    103 JAVASCRIPTCORE_FRAMEWORKS_DIR[sdk=iphone*] = $(NORMAL_JAVASCRIPTCORE_FRAMEWORKS_DIR);
    104 JAVASCRIPTCORE_FRAMEWORKS_DIR = $(JAVASCRIPTCORE_FRAMEWORKS_DIR_$(PLATFORM_NAME)_USE_STAGING_INSTALL_PATH_$(USE_STAGING_INSTALL_PATH));
    105 JAVASCRIPTCORE_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_ = $(JAVASCRIPTCORE_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_NO);
    106 JAVASCRIPTCORE_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_NO = $(NORMAL_JAVASCRIPTCORE_FRAMEWORKS_DIR);
    107 JAVASCRIPTCORE_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_YES = $(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari;
     100JAVASCRIPTCORE_FRAMEWORKS_DIR = $(JAVASCRIPTCORE_FRAMEWORKS_DIR_USE_OVERRIDE_FRAMEWORKS_DIR_$(WK_USE_OVERRIDE_FRAMEWORKS_DIR));
     101JAVASCRIPTCORE_FRAMEWORKS_DIR_USE_OVERRIDE_FRAMEWORKS_DIR_NO = $(NORMAL_JAVASCRIPTCORE_FRAMEWORKS_DIR);
     102JAVASCRIPTCORE_FRAMEWORKS_DIR_USE_OVERRIDE_FRAMEWORKS_DIR_YES = $(WK_OVERRIDE_FRAMEWORKS_DIR);
    108103
    109104JAVASCRIPTCORE_CONTENTS_DIR[sdk=iphone*] = JavaScriptCore.framework;
     
    136131OTHER_CPLUSPLUSFLAGS = $(ASAN_OTHER_CPLUSPLUSFLAGS);
    137132OTHER_LDFLAGS = $(ASAN_OTHER_LDFLAGS);
     133
     134WK_EMPTY_ = YES;
     135WK_NOT_ = YES;
     136WK_NOT_YES = NO;
     137
     138WK_USE_OVERRIDE_FRAMEWORKS_DIR = $(WK_NOT_$(WK_EMPTY_$(WK_OVERRIDE_FRAMEWORKS_DIR)));
     139
     140WK_OVERRIDE_FRAMEWORKS_DIR = $(WK_OVERRIDE_FRAMEWORKS_DIR_USE_STAGING_INSTALL_PATH_$(USE_STAGING_INSTALL_PATH));
     141WK_OVERRIDE_FRAMEWORKS_DIR_USE_STAGING_INSTALL_PATH_YES = $(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari;
     142
     143WK_QUOTED_OVERRIDE_FRAMEWORKS_DIR = $(WK_QUOTED_OVERRIDE_FRAMEWORKS_DIR_$(WK_USE_OVERRIDE_FRAMEWORKS_DIR));
     144WK_QUOTED_OVERRIDE_FRAMEWORKS_DIR_YES = "$(WK_OVERRIDE_FRAMEWORKS_DIR)";
  • trunk/Source/JavaScriptCore/Configurations/JSC.xcconfig

    r190837 r194821  
    3030
    3131// Explicitly add the PrivateHeaders directory to the search path so that generated header files can be found in production builds.
    32 HEADER_SEARCH_PATHS = $(JAVASCRIPTCORE_FRAMEWORKS_DIR)/JavaScriptCore.framework/PrivateHeaders $(inherited);
     32HEADER_SEARCH_PATHS = "$(JAVASCRIPTCORE_FRAMEWORKS_DIR)/JavaScriptCore.framework/PrivateHeaders" $(inherited);
  • trunk/Source/JavaScriptCore/Configurations/ToolExecutable.xcconfig

    r194530 r194821  
    5151
    5252// Explicitly add the PrivateHeaders directory to the search path so that generated header files can be found in production builds.
    53 HEADER_SEARCH_PATHS = $(JAVASCRIPTCORE_FRAMEWORKS_DIR)/JavaScriptCore.framework/PrivateHeaders $(inherited);
     53HEADER_SEARCH_PATHS = "$(JAVASCRIPTCORE_FRAMEWORKS_DIR)/JavaScriptCore.framework/PrivateHeaders" $(inherited);
  • trunk/Source/JavaScriptCore/postprocess-headers.sh

    r184906 r194821  
    55for ((i = 0; i < ${SCRIPT_INPUT_FILE_COUNT}; ++i)); do
    66    eval HEADER=\${SCRIPT_INPUT_FILE_${i}};
    7     unifdef -B ${UNIFDEF_OPTIONS} -o ${HEADER}.unifdef ${HEADER}
     7    unifdef -B ${UNIFDEF_OPTIONS} -o "${HEADER}".unifdef "${HEADER}"
    88    case $? in
    99    0)
    10         rm ${HEADER}.unifdef
     10        rm "${HEADER}".unifdef
    1111        ;;
    1212    1)
    13         mv ${HEADER}{.unifdef,}
     13        mv "${HEADER}"{.unifdef,}
    1414        ;;
    1515    *)
  • trunk/Source/ThirdParty/ChangeLog

    r194585 r194821  
     12016-01-09  Dan Bernstein  <mitz@apple.com>
     2
     3        [Cocoa] Allow overriding the frameworks directory independently of using a staging install path
     4        https://bugs.webkit.org/show_bug.cgi?id=152926
     5
     6        Reviewed by Tim Horton.
     7
     8        Introduce a new build setting, WK_OVERRIDE_FRAMEWORKS_DIR. When not empty, it determines
     9        where the frameworks are installed. Setting USE_STAGING_INSTALL_PATH to YES sets
     10        WK_OVERRIDE_FRAMEWORKS_DIR to $(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari.
     11
     12        Account for the possibility of WK_OVERRIDE_FRAMEWORKS_DIR containing spaces.
     13
     14        * gtest/xcode/Config/General.xcconfig:
     15          Add quotes to account for spaces.
     16        * gtest/xcode/Config/ProductionProject.xcconfig:
     17        - Replace STAGED_FRAMEWORKS_SEARCH_PATH in FRAMEWORK_SEARCH_PATHS with
     18          WK_OVERRIDE_FRAMEWORKS_DIR and add quotes to account for spaces.
     19        - Define WEBCORE_FRAMEWORKS_DIR based on WK_OVERRIDE_FRAMEWORKS_DIR.
     20
    1212016-01-04  Alexey Proskuryakov  <ap@apple.com>
    222
  • trunk/Source/ThirdParty/gtest/xcode/Config/General.xcconfig

    r194585 r194821  
    1919ARCHS = $(ARCHS_STANDARD_32_64_BIT);
    2020
    21 HEADER_SEARCH_PATHS = $(BUILT_PRODUCTS_DIR)/usr/local/include $(WEBCORE_PRIVATE_HEADERS_DIR)/ForwardingHeaders ../ ../include/
     21HEADER_SEARCH_PATHS = $(BUILT_PRODUCTS_DIR)/usr/local/include "$(WEBCORE_PRIVATE_HEADERS_DIR)/ForwardingHeaders" ../ ../include/
    2222
    2323// Zerolink prevents link warnings so turn it off
  • trunk/Source/ThirdParty/gtest/xcode/Config/ProductionProject.xcconfig

    r157241 r194821  
    1212
    1313// Used by HEADER_SEARCH_PATHS in General.xcconfig
    14 WEBCORE_PRIVATE_HEADERS_DIR = $(WEBCORE_PRIVATE_HEADERS_DIR_$(USE_STAGING_INSTALL_PATH));
    15 WEBCORE_PRIVATE_HEADERS_DIR_ = $(WEBCORE_PRIVATE_HEADERS_DIR_NO);
    16 WEBCORE_PRIVATE_HEADERS_DIR_NO = $(NEXT_ROOT)$(SYSTEM_LIBRARY_DIR)/Frameworks/WebKit.framework/Versions/A/Frameworks/WebCore.framework/PrivateHeaders;
    17 WEBCORE_PRIVATE_HEADERS_DIR_YES = $(NEXT_ROOT)$(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari/WebCore.framework/PrivateHeaders;
     14WEBCORE_PRIVATE_HEADERS_DIR = $(WEBCORE_PRIVATE_HEADERS_DIR_$(WK_USE_OVERRIDE_FRAMEWORKS_DIR));
     15WEBCORE_PRIVATE_HEADERS_DIR_NO = $(SYSTEM_LIBRARY_DIR)/Frameworks/WebKit.framework/Versions/A/Frameworks/WebCore.framework/PrivateHeaders;
     16WEBCORE_PRIVATE_HEADERS_DIR_YES = $(WK_OVERRIDE_FRAMEWORKS_DIR)/WebCore.framework/PrivateHeaders;
    1817
    19 FRAMEWORK_SEARCH_PATHS = $(STAGED_FRAMEWORKS_SEARCH_PATH) $(FRAMEWORK_SEARCH_PATHS);
    20 
    21 STAGED_FRAMEWORKS_SEARCH_PATH = $(STAGED_FRAMEWORKS_SEARCH_PATH_$(USE_STAGING_INSTALL_PATH));
    22 STAGED_FRAMEWORKS_SEARCH_PATH_YES = $(NEXT_ROOT)$(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari;
     18FRAMEWORK_SEARCH_PATHS = $(WK_QUOTED_OVERRIDE_FRAMEWORKS_DIR) $(inherited);
    2319
    2420ONLY_ACTIVE_ARCH = NO
    2521
    2622SDKROOT = macosx.internal;
     23
     24WK_EMPTY_ = YES;
     25WK_NOT_ = YES;
     26WK_NOT_YES = NO;
     27
     28WK_USE_OVERRIDE_FRAMEWORKS_DIR[sdk=macosx*] = $(WK_NOT_$(WK_EMPTY_$(WK_OVERRIDE_FRAMEWORKS_DIR)));
     29
     30WK_OVERRIDE_FRAMEWORKS_DIR = $(WK_OVERRIDE_FRAMEWORKS_DIR_USE_STAGING_INSTALL_PATH_$(USE_STAGING_INSTALL_PATH));
     31WK_OVERRIDE_FRAMEWORKS_DIR_USE_STAGING_INSTALL_PATH_YES = $(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari;
     32
     33WK_QUOTED_OVERRIDE_FRAMEWORKS_DIR = $(WK_QUOTED_OVERRIDE_FRAMEWORKS_DIR_$(WK_USE_OVERRIDE_FRAMEWORKS_DIR));
     34WK_QUOTED_OVERRIDE_FRAMEWORKS_DIR_YES = "$(WK_OVERRIDE_FRAMEWORKS_DIR)";
  • trunk/Source/WebCore/ChangeLog

    r194819 r194821  
     12016-01-09  Dan Bernstein  <mitz@apple.com>
     2
     3        [Cocoa] Allow overriding the frameworks directory independently of using a staging install path
     4        https://bugs.webkit.org/show_bug.cgi?id=152926
     5
     6        Reviewed by Tim Horton.
     7
     8        Introduce a new build setting, WK_OVERRIDE_FRAMEWORKS_DIR. When not empty, it determines
     9        where the frameworks are installed. Setting USE_STAGING_INSTALL_PATH to YES sets
     10        WK_OVERRIDE_FRAMEWORKS_DIR to $(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari.
     11
     12        Account for the possibility of WK_OVERRIDE_FRAMEWORKS_DIR containing spaces.
     13
     14        * Configurations/WebCore.xcconfig:
     15        - Replace STAGED_FRAMEWORKS_SEARCH_PATH in FRAMEWORK_SEARCH_PATHS with
     16          WK_OVERRIDE_FRAMEWORKS_DIR and add quotes to account for spaces.
     17        - Define WEBCORE_FRAMEWORKS_DIR and PRODUCTION_FRAMEWORKS_DIR based on
     18          WK_OVERRIDE_FRAMEWORKS_DIR.
     19
     20        * WebCore.xcodeproj/project.pbxproj: Work around make’s inability to handle spaces in paths
     21          by creating a symlink to JAVASCRIPTCORE_PRIVATE_HEADERS_DIR under BUILT_PRODUCTS_DIR and
     22          using the symlink as the value of JavaScriptCore_SCRIPTS_DIR.
     23
    1242016-01-09  Andreas Kling  <akling@apple.com>
    225
  • trunk/Source/WebCore/Configurations/WebCore.xcconfig

    r191299 r194821  
    3131FRAMEWORK_SEARCH_PATHS_ios_Release = $(FRAMEWORK_SEARCH_PATHS_ios_Debug);
    3232FRAMEWORK_SEARCH_PATHS_ios_Production = $(PRODUCTION_FRAMEWORKS_DIR);
    33 FRAMEWORK_SEARCH_PATHS[sdk=macosx*] = $(STAGED_FRAMEWORKS_SEARCH_PATH) $(FRAMEWORK_SEARCH_PATHS) $(SDKROOT)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks;
     33FRAMEWORK_SEARCH_PATHS[sdk=macosx*] = $(WK_QUOTED_OVERRIDE_FRAMEWORKS_DIR) $(inherited) $(SDKROOT)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks;
    3434
    3535OTHER_CFLAGS = $(inherited) -iframework $(SDKROOT)$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Frameworks -iframework $(SDKROOT)$(SYSTEM_LIBRARY_DIR)/Frameworks/ApplicationServices.framework/Frameworks -iframework $(SDKROOT)$(SYSTEM_LIBRARY_DIR)/Frameworks/CoreServices.framework/Frameworks -iframework $(SDKROOT)$(SYSTEM_LIBRARY_DIR)/Frameworks/Quartz.framework/Frameworks -iframework $(SDKROOT)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks;
    3636OTHER_CPLUSPLUSFLAGS = $(OTHER_CFLAGS);
    37 
    38 STAGED_FRAMEWORKS_SEARCH_PATH = $(STAGED_FRAMEWORKS_SEARCH_PATH_$(USE_STAGING_INSTALL_PATH));
    39 STAGED_FRAMEWORKS_SEARCH_PATH_YES = $(NEXT_ROOT)$(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari;
    4037
    4138WEBKITADDITIONS_HEADER_SEARCH_PATHS = $(BUILT_PRODUCTS_DIR)/usr/local/include/WebKitAdditions $(SDKROOT)/usr/local/include/WebKitAdditions;
     
    6663NORMAL_WEBCORE_FRAMEWORKS_DIR[sdk=macosx*] = $(SYSTEM_LIBRARY_DIR)/Frameworks/WebKit.framework/Versions/A/Frameworks;
    6764
    68 WEBCORE_FRAMEWORKS_DIR[sdk=iphone*] = $(NORMAL_WEBCORE_FRAMEWORKS_DIR);
    69 WEBCORE_FRAMEWORKS_DIR = $(WEBCORE_FRAMEWORKS_DIR_$(PLATFORM_NAME)_USE_STAGING_INSTALL_PATH_$(USE_STAGING_INSTALL_PATH));
    70 WEBCORE_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_ = $(WEBCORE_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_NO);
    71 WEBCORE_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_NO = $(NORMAL_WEBCORE_FRAMEWORKS_DIR);
    72 WEBCORE_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_YES = $(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari;
     65WEBCORE_FRAMEWORKS_DIR = $(WEBCORE_FRAMEWORKS_DIR_USE_OVERRIDE_FRAMEWORKS_DIR_$(WK_USE_OVERRIDE_FRAMEWORKS_DIR));
     66WEBCORE_FRAMEWORKS_DIR_USE_OVERRIDE_FRAMEWORKS_DIR_NO = $(NORMAL_WEBCORE_FRAMEWORKS_DIR);
     67WEBCORE_FRAMEWORKS_DIR_USE_OVERRIDE_FRAMEWORKS_DIR_YES = $(WK_OVERRIDE_FRAMEWORKS_DIR);
    7368
    7469NORMAL_PRODUCTION_FRAMEWORKS_DIR[sdk=iphone*] = $(SDKROOT)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks;
     
    7671
    7772PRODUCTION_FRAMEWORKS_DIR[sdk=iphone*] = $(NORMAL_PRODUCTION_FRAMEWORKS_DIR);
    78 PRODUCTION_FRAMEWORKS_DIR = $(PRODUCTION_FRAMEWORKS_DIR_$(PLATFORM_NAME)_USE_STAGING_INSTALL_PATH_$(USE_STAGING_INSTALL_PATH));
    79 PRODUCTION_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_ = $(PRODUCTION_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_NO);
    80 PRODUCTION_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_NO = $(NORMAL_PRODUCTION_FRAMEWORKS_DIR);
    81 PRODUCTION_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_YES = $(NEXT_ROOT)$(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari;
     73PRODUCTION_FRAMEWORKS_DIR = $(PRODUCTION_FRAMEWORKS_DIR_USE_OVERRIDE_FRAMEWORKS_DIR_$(WK_USE_OVERRIDE_FRAMEWORKS_DIR));
     74PRODUCTION_FRAMEWORKS_DIR_USE_OVERRIDE_FRAMEWORKS_DIR_NO = $(NORMAL_PRODUCTION_FRAMEWORKS_DIR);
     75PRODUCTION_FRAMEWORKS_DIR_USE_OVERRIDE_FRAMEWORKS_DIR_YES = $(WK_OVERRIDE_FRAMEWORKS_DIR);
    8276
    8377JAVASCRIPTCORE_PRIVATE_HEADERS_DIR = $(JAVASCRIPTCORE_PRIVATE_HEADERS_DIR_$(CONFIGURATION));
     
    9690EXCLUDED_SOURCE_FILE_NAMES[sdk=iphone*] = *.tiff *Cursor.png AccessibilityObjectMac.mm AXObjectCacheMac.mm ColorMac.mm Cursor.cpp CursorMac.mm DataTransferMac.mm EditorMac.mm EventHandlerMac.mm EventLoopMac.mm GeolocationServiceMac.mm GraphicsContext3DOpenGLES.cpp IconDatabase.cpp IconMac.mm KillRingMac.mm LocalCurrentGraphicsContext.mm MIMETypeRegistryMac.mm MediaPlayerPrivateQTKit.mm NSScrollerImpDetails.mm NetworkStateNotifierMac.cpp PasteboardMac.mm PlatformEventFactoryMac.mm PlatformMouseEventMac.mm PlatformPasteboardMac.mm PlatformScreenMac.mm PlatformSpeechSynthesizerMac.mm RunLoopMac.mm SSLKeyGeneratorMac.cpp ScrollViewMac.mm ScrollbarThemeMac.mm SharedTimerMac.mm SoundMac.mm SystemTimeMac.cpp ThemeMac.mm ThreadCheck.mm UserAgentMac.mm WebAccessibilityObjectWrapperMac.mm WebCoreSystemInterface.mm WebCoreView.m WebVideoFullscreenController.mm WebVideoFullscreenHUDWindowController.mm WebWindowAnimation.mm WidgetMac.mm DisplayRefreshMonitorMac.cpp npapi.h npfunctions.h npruntime.h npruntime_internal.h $(EXCLUDED_SOURCE_FILE_NAMES_FOR_TOUCH_EVENTS) $(EXCLUDED_SOURCE_FILE_NAMES_FOR_GESTURE_EVENTS);
    9791EXCLUDED_SOURCE_FILE_NAMES[sdk=macosx*] = *IOS.h *IOS.cpp *IOS.mm KillRingNone.cpp WAKAppKitStubs.h WAKClipView.h WAKResponder.h WAKScrollView.h WAKView.h WAKViewPrivate.h WAKWindow.h WKContentObservation.h WKGraphics.h WKTypes.h WKUtilities.h WKView.h WKViewPrivate.h WebCoreThread.h WebCoreThreadMessage.h WebCoreThreadRun.h WebCoreThreadSystemInterface.h $(EXCLUDED_SOURCE_FILE_NAMES_FOR_TOUCH_EVENTS) $(EXCLUDED_SOURCE_FILE_NAMES_FOR_GESTURE_EVENTS);
     92
     93WK_EMPTY_ = YES;
     94WK_NOT_ = YES;
     95WK_NOT_YES = NO;
     96
     97WK_USE_OVERRIDE_FRAMEWORKS_DIR = $(WK_NOT_$(WK_EMPTY_$(WK_OVERRIDE_FRAMEWORKS_DIR)));
     98
     99WK_OVERRIDE_FRAMEWORKS_DIR = $(WK_OVERRIDE_FRAMEWORKS_DIR_USE_STAGING_INSTALL_PATH_$(USE_STAGING_INSTALL_PATH));
     100WK_OVERRIDE_FRAMEWORKS_DIR_USE_STAGING_INSTALL_PATH_YES = $(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari;
     101
     102WK_QUOTED_OVERRIDE_FRAMEWORKS_DIR = $(WK_QUOTED_OVERRIDE_FRAMEWORKS_DIR_$(WK_USE_OVERRIDE_FRAMEWORKS_DIR));
     103WK_QUOTED_OVERRIDE_FRAMEWORKS_DIR_YES = "$(WK_OVERRIDE_FRAMEWORKS_DIR)";
  • trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj

    r194708 r194821  
    2846028460                        runOnlyForDeploymentPostprocessing = 0;
    2846128461                        shellPath = /bin/sh;
    28462                         shellScript = "mkdir -p \"${BUILT_PRODUCTS_DIR}/DerivedSources/WebCore\"\ncd \"${BUILT_PRODUCTS_DIR}/DerivedSources/WebCore\"\n\n/bin/ln -sfh \"${SRCROOT}\" WebCore\nexport WebCore=\"WebCore\"\nexport JavaScriptCore_SCRIPTS_DIR=\"${JAVASCRIPTCORE_PRIVATE_HEADERS_DIR}\"\n\nif [ ! $CC ]; then\n    export CC=\"`xcrun -find clang`\"\nfi\n\nif [ ! $GPERF ]; then\n    export GPERF=\"`xcrun -find gperf`\"\nfi\n\nif [ \"${ACTION}\" = \"build\" -o \"${ACTION}\" = \"install\" -o \"${ACTION}\" = \"installhdrs\" ]; then\n    make  --no-builtin-rules -f \"WebCore/DerivedSources.make\" -j `/usr/sbin/sysctl -n hw.activecpu` SDKROOT=\"${SDKROOT}\"\nfi\n";
     28462                        shellScript = "mkdir -p \"${BUILT_PRODUCTS_DIR}/DerivedSources/WebCore\"\ncd \"${BUILT_PRODUCTS_DIR}/DerivedSources/WebCore\"\n\n/bin/ln -sfh \"${SRCROOT}\" WebCore\nexport WebCore=\"WebCore\"\n/bin/ln -sfh \"${JAVASCRIPTCORE_PRIVATE_HEADERS_DIR}\" JavaScriptCorePrivateHeaders\nexport JavaScriptCore_SCRIPTS_DIR=\"JavaScriptCorePrivateHeaders\"\n\nif [ ! $CC ]; then\n    export CC=\"`xcrun -find clang`\"\nfi\n\nif [ ! $GPERF ]; then\n    export GPERF=\"`xcrun -find gperf`\"\nfi\n\nif [ \"${ACTION}\" = \"build\" -o \"${ACTION}\" = \"install\" -o \"${ACTION}\" = \"installhdrs\" ]; then\n    make  --no-builtin-rules -f \"WebCore/DerivedSources.make\" -j `/usr/sbin/sysctl -n hw.activecpu` SDKROOT=\"${SDKROOT}\"\nfi\n";
    2846328463                };
    2846428464/* End PBXShellScriptBuildPhase section */
  • trunk/Source/WebInspectorUI/ChangeLog

    r194818 r194821  
     12016-01-09  Dan Bernstein  <mitz@apple.com>
     2
     3        [Cocoa] Allow overriding the frameworks directory independently of using a staging install path
     4        https://bugs.webkit.org/show_bug.cgi?id=152926
     5
     6        Reviewed by Tim Horton.
     7
     8        Introduce a new build setting, WK_OVERRIDE_FRAMEWORKS_DIR. When not empty, it determines
     9        where the frameworks are installed. Setting USE_STAGING_INSTALL_PATH to YES sets
     10        WK_OVERRIDE_FRAMEWORKS_DIR to $(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari.
     11
     12        Account for the possibility of WK_OVERRIDE_FRAMEWORKS_DIR containing spaces.
     13
     14        * Configurations/Base.xcconfig:
     15        - Replace STAGED_FRAMEWORKS_SEARCH_PATH in FRAMEWORK_SEARCH_PATHS with
     16          WK_OVERRIDE_FRAMEWORKS_DIR and add quotes to account for spaces.
     17        * Configurations/WebInspectorUIFramework.xcconfig:
     18        - Define INSTALL_PATH and PRODUCTION_FRAMEWORKS_DIR based on WK_OVERRIDE_FRAMEWORKS_DIR.
     19
    1202016-01-08  Joseph Pecoraro  <pecoraro@apple.com>
    221
  • trunk/Source/WebInspectorUI/Configurations/Base.xcconfig

    r194818 r194821  
    99DEAD_CODE_STRIPPING = YES;
    1010DEBUG_INFORMATION_FORMAT = dwarf-with-dsym;
    11 FRAMEWORK_SEARCH_PATHS = $(STAGED_FRAMEWORKS_SEARCH_PATH) $(SYSTEM_LIBRARY_DIR)/PrivateFrameworks $(FRAMEWORK_SEARCH_PATHS_$(TARGET_MAC_OS_X_VERSION_MAJOR)) $(inherited);
    12 
    13 STAGED_FRAMEWORKS_SEARCH_PATH = $(STAGED_FRAMEWORKS_SEARCH_PATH_$(USE_STAGING_INSTALL_PATH));
    14 STAGED_FRAMEWORKS_SEARCH_PATH_YES = $(NEXT_ROOT)$(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari;
     11FRAMEWORK_SEARCH_PATHS = $(WK_QUOTED_OVERRIDE_FRAMEWORKS_DIR) $(SYSTEM_LIBRARY_DIR)/PrivateFrameworks $(inherited);
    1512
    1613CLANG_CXX_LANGUAGE_STANDARD = gnu++0x;
     
    7067COMBINE_INSPECTOR_RESOURCES = YES;
    7168COMBINE_TEST_RESOURCES = NO;
     69
     70WK_EMPTY_ = YES;
     71WK_NOT_ = YES;
     72WK_NOT_YES = NO;
     73
     74WK_USE_OVERRIDE_FRAMEWORKS_DIR = $(WK_NOT_$(WK_EMPTY_$(WK_OVERRIDE_FRAMEWORKS_DIR)));
     75
     76WK_OVERRIDE_FRAMEWORKS_DIR = $(WK_OVERRIDE_FRAMEWORKS_DIR_USE_STAGING_INSTALL_PATH_$(USE_STAGING_INSTALL_PATH));
     77WK_OVERRIDE_FRAMEWORKS_DIR_USE_STAGING_INSTALL_PATH_YES = $(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari;
     78
     79WK_QUOTED_OVERRIDE_FRAMEWORKS_DIR = $(WK_QUOTED_OVERRIDE_FRAMEWORKS_DIR_$(WK_USE_OVERRIDE_FRAMEWORKS_DIR));
     80WK_QUOTED_OVERRIDE_FRAMEWORKS_DIR_YES = "$(WK_OVERRIDE_FRAMEWORKS_DIR)";
  • trunk/Source/WebInspectorUI/Configurations/WebInspectorUIFramework.xcconfig

    r194818 r194821  
    66
    77INFOPLIST_FILE = Info.plist
    8 INSTALL_PATH = $(INSTALL_PATH_$(USE_STAGING_INSTALL_PATH));
    9 INSTALL_PATH_ = $(INSTALL_PATH_NO);
     8INSTALL_PATH = $(INSTALL_PATH_$(WK_USE_OVERRIDE_FRAMEWORKS_DIR));
    109INSTALL_PATH_NO = $(SYSTEM_LIBRARY_DIR)/PrivateFrameworks;
    11 INSTALL_PATH_YES = $(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari;
     10INSTALL_PATH_YES = $(WK_OVERRIDE_FRAMEWORKS_DIR);
    1211DYLIB_INSTALL_NAME_BASE = $(SYSTEM_LIBRARY_DIR)/PrivateFrameworks;
    1312PRODUCT_NAME = WebInspectorUI;
     
    2120
    2221PRODUCTION_FRAMEWORKS_DIR[sdk=iphone*] = $(NORMAL_PRODUCTION_FRAMEWORKS_DIR);
    23 PRODUCTION_FRAMEWORKS_DIR = $(PRODUCTION_FRAMEWORKS_DIR_$(PLATFORM_NAME)_USE_STAGING_INSTALL_PATH_$(USE_STAGING_INSTALL_PATH));
    24 PRODUCTION_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_ = $(PRODUCTION_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_NO);
    25 PRODUCTION_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_NO = $(NORMAL_PRODUCTION_FRAMEWORKS_DIR);
    26 PRODUCTION_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_YES = $(NEXT_ROOT)$(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari;
     22PRODUCTION_FRAMEWORKS_DIR = $(PRODUCTION_FRAMEWORKS_DIR_USE_OVERRIDE_FRAMEWORKS_DIR_$(WK_USE_OVERRIDE_FRAMEWORKS_DIR));
     23PRODUCTION_FRAMEWORKS_DIR_USE_OVERRIDE_FRAMEWORKS_DIR_NO = $(NORMAL_PRODUCTION_FRAMEWORKS_DIR);
     24PRODUCTION_FRAMEWORKS_DIR_USE_OVERRIDE_FRAMEWORKS_DIR_YES = $(WK_OVERRIDE_FRAMEWORKS_DIR);
    2725
    2826JAVASCRIPTCORE_PRIVATE_HEADERS_DIR = $(JAVASCRIPTCORE_PRIVATE_HEADERS_DIR_$(CONFIGURATION));
  • trunk/Source/WebKit/mac/ChangeLog

    r194727 r194821  
     12016-01-09  Dan Bernstein  <mitz@apple.com>
     2
     3        [Cocoa] Allow overriding the frameworks directory independently of using a staging install path
     4        https://bugs.webkit.org/show_bug.cgi?id=152926
     5
     6        Reviewed by Tim Horton.
     7
     8        Introduce a new build setting, WK_OVERRIDE_FRAMEWORKS_DIR. When not empty, it determines
     9        where the frameworks are installed. Setting USE_STAGING_INSTALL_PATH to YES sets
     10        WK_OVERRIDE_FRAMEWORKS_DIR to $(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari.
     11
     12        Account for the possibility of WK_OVERRIDE_FRAMEWORKS_DIR containing spaces.
     13
     14        * Configurations/WebKitLegacy.xcconfig:
     15        - Replace STAGED_FRAMEWORKS_SEARCH_PATH in FRAMEWORK_SEARCH_PATHS with
     16          WK_OVERRIDE_FRAMEWORKS_DIR and add quotes to account for spaces.
     17        - Define WEBKIT_LEGACY_FRAMEWORKS_DIR, PRODUCTION_FRAMEWORKS_DIR, and
     18          WEBCORE_PRIVATE_HEADERS_DIR based on WK_OVERRIDE_FRAMEWORKS_DIR.
     19
     20        * MigrateHeaders.make:
     21          Use a symlink under BUILT_PRODUCTS_DIR to the WebCore Private Headers. Use a
     22          BUILT_PRODUCTS_DIR-based path to the framework instead of a TARGET_BUILD_DIR-based one in
     23          order to avoid spaces.
     24        * migrate-headers.sh:
     25          Make the symlink to WEBCORE_PRIVATE_HEADERS_DIR that the makefile now uses.
     26
    1272016-01-07  Tim Horton  <timothy_horton@apple.com>
    228
  • trunk/Source/WebKit/mac/Configurations/WebKitLegacy.xcconfig

    r194318 r194821  
    4242FRAMEWORK_SEARCH_PATHS_ios_Release = $(FRAMEWORK_SEARCH_PATHS_ios_Debug);
    4343FRAMEWORK_SEARCH_PATHS_ios_Production = $(PRODUCTION_FRAMEWORKS_DIR);
    44 FRAMEWORK_SEARCH_PATHS[sdk=macosx*] = $(STAGED_FRAMEWORKS_SEARCH_PATH) $(UMBRELLA_FRAMEWORKS_DIR) $(FRAMEWORK_SEARCH_PATHS);
    45 
    46 STAGED_FRAMEWORKS_SEARCH_PATH = $(STAGED_FRAMEWORKS_SEARCH_PATH_$(USE_STAGING_INSTALL_PATH));
    47 STAGED_FRAMEWORKS_SEARCH_PATH_YES = $(NEXT_ROOT)$(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari;
     44FRAMEWORK_SEARCH_PATHS[sdk=macosx*] = $(WK_QUOTED_OVERRIDE_FRAMEWORKS_DIR) $(UMBRELLA_FRAMEWORKS_DIR) $(inherited);
    4845
    4946OTHER_CFLAGS[sdk=macosx*] = $(OTHER_CFLAGS) -iframework $(SDKROOT)$(SYSTEM_LIBRARY_DIR)/Frameworks/ApplicationServices.framework/Frameworks -iframework $(SDKROOT)$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Frameworks -iframework $(SDKROOT)$(SYSTEM_LIBRARY_DIR)/Frameworks/Quartz.framework/Frameworks -iframework $(SDKROOT)$(SYSTEM_LIBRARY_DIR)/Frameworks/CoreServices.framework/Frameworks -iframework $(SDKROOT)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks;
     
    5249GCC_PREFIX_HEADER = mac/WebKitPrefix.h;
    5350GCC_PREPROCESSOR_DEFINITIONS = $(DEBUG_DEFINES) $(FEATURE_DEFINES) FRAMEWORK_NAME=WebKitLegacy $(inherited);
    54 HEADER_SEARCH_PATHS = $(WEBKITSYSTEMINTERFACE_STATIC_LIBRARY_HEADERS_FOLDER_PATH) $(WEBCORE_PRIVATE_HEADERS_DIR)/ForwardingHeaders $(WEBCORE_PRIVATE_HEADERS_DIR)/icu "$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKitLegacy" "$(BUILT_PRODUCTS_DIR)/usr/local/include" $(HEADER_SEARCH_PATHS);
     51HEADER_SEARCH_PATHS = $(WEBKITSYSTEMINTERFACE_STATIC_LIBRARY_HEADERS_FOLDER_PATH) "$(WEBCORE_PRIVATE_HEADERS_DIR)/ForwardingHeaders" "$(WEBCORE_PRIVATE_HEADERS_DIR)/icu" "$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKitLegacy" "$(BUILT_PRODUCTS_DIR)/usr/local/include" $(HEADER_SEARCH_PATHS);
    5552INFOPLIST_FILE = mac/Info.plist;
    5653INSTALL_PATH = $(SYSTEM_LIBRARY_DIR)/PrivateFrameworks;
     
    7572NORMAL_WEBKIT_LEGACY_FRAMEWORKS_DIR[sdk=macosx*] = $(SYSTEM_LIBRARY_DIR)/Frameworks/WebKit.framework/Versions/A/Frameworks;
    7673
    77 WEBKIT_LEGACY_FRAMEWORKS_DIR[sdk=iphone*] = $(NORMAL_WEBKIT_LEGACY_FRAMEWORKS_DIR);
    78 WEBKIT_LEGACY_FRAMEWORKS_DIR = $(WEBKIT_LEGACY_FRAMEWORKS_DIR_$(PLATFORM_NAME)_USE_STAGING_INSTALL_PATH_$(USE_STAGING_INSTALL_PATH));
    79 WEBKIT_LEGACY_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_ = $(WEBKIT_LEGACY_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_NO);
    80 WEBKIT_LEGACY_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_NO = $(NORMAL_WEBKIT_LEGACY_FRAMEWORKS_DIR);
    81 WEBKIT_LEGACY_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_YES = $(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari;
     74WEBKIT_LEGACY_FRAMEWORKS_DIR = $(WEBKIT_LEGACY_FRAMEWORKS_DIR_USE_OVERRIDE_FRAMEWORKS_DIR_$(WK_USE_OVERRIDE_FRAMEWORKS_DIR));
     75WEBKIT_LEGACY_FRAMEWORKS_DIR_USE_OVERRIDE_FRAMEWORKS_DIR_NO = $(NORMAL_WEBKIT_LEGACY_FRAMEWORKS_DIR);
     76WEBKIT_LEGACY_FRAMEWORKS_DIR_USE_OVERRIDE_FRAMEWORKS_DIR_YES = $(WK_OVERRIDE_FRAMEWORKS_DIR);
    8277
    8378NORMAL_PRODUCTION_FRAMEWORKS_DIR[sdk=iphone*] = $(SDKROOT)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks;
     
    8580
    8681PRODUCTION_FRAMEWORKS_DIR[sdk=iphone*] = $(NORMAL_PRODUCTION_FRAMEWORKS_DIR);
    87 PRODUCTION_FRAMEWORKS_DIR = $(PRODUCTION_FRAMEWORKS_DIR_$(PLATFORM_NAME)_USE_STAGING_INSTALL_PATH_$(USE_STAGING_INSTALL_PATH));
    88 PRODUCTION_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_ = $(PRODUCTION_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_NO);
    89 PRODUCTION_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_NO = $(NORMAL_PRODUCTION_FRAMEWORKS_DIR);
    90 PRODUCTION_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_YES = $(NEXT_ROOT)$(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari;
     82PRODUCTION_FRAMEWORKS_DIR = $(PRODUCTION_FRAMEWORKS_DIR_USE_OVERRIDE_FRAMEWORKS_DIR_$(WK_USE_OVERRIDE_FRAMEWORKS_DIR));
     83PRODUCTION_FRAMEWORKS_DIR_USE_OVERRIDE_FRAMEWORKS_DIR_NO = $(NORMAL_PRODUCTION_FRAMEWORKS_DIR);
     84PRODUCTION_FRAMEWORKS_DIR_USE_OVERRIDE_FRAMEWORKS_DIR_YES = $(WK_OVERRIDE_FRAMEWORKS_DIR);
    9185
    9286PRODUCTION_ROOT[sdk=iphone*] = $(SDKROOT);
     
    9791WEBCORE_PRIVATE_HEADERS_DIR_Debug = $(WEBCORE_PRIVATE_HEADERS_engineering);
    9892WEBCORE_PRIVATE_HEADERS_DIR_Production[sdk=iphone*] = $(PRODUCTION_FRAMEWORKS_DIR)/WebCore.framework/PrivateHeaders;
    99 WEBCORE_PRIVATE_HEADERS_DIR_Production = $(SDKROOT)$(WEBCORE_PRIVATE_HEADERS_DIR_Production_$(PLATFORM_NAME)_USE_STAGING_INSTALL_PATH_$(USE_STAGING_INSTALL_PATH));
    100 WEBCORE_PRIVATE_HEADERS_DIR_Production_macosx_USE_STAGING_INSTALL_PATH_ = $(WEBCORE_PRIVATE_HEADERS_DIR_Production_macosx_USE_STAGING_INSTALL_PATH_NO);
    101 WEBCORE_PRIVATE_HEADERS_DIR_Production_macosx_USE_STAGING_INSTALL_PATH_NO = $(UMBRELLA_FRAMEWORKS_DIR)/WebCore.framework/PrivateHeaders;
    102 WEBCORE_PRIVATE_HEADERS_DIR_Production_macosx_USE_STAGING_INSTALL_PATH_YES = $(PRODUCTION_FRAMEWORKS_DIR)/WebCore.framework/PrivateHeaders;
     93WEBCORE_PRIVATE_HEADERS_DIR_Production = $(SDKROOT)$(WEBCORE_PRIVATE_HEADERS_DIR_Production_$(PLATFORM_NAME)_USE_OVERRIDE_FRAMEWORKS_DIR_$(WK_USE_OVERRIDE_FRAMEWORKS_DIR));
     94WEBCORE_PRIVATE_HEADERS_DIR_Production_macosx_USE_OVERRIDE_FRAMEWORKS_DIR_NO = $(UMBRELLA_FRAMEWORKS_DIR)/WebCore.framework/PrivateHeaders;
     95WEBCORE_PRIVATE_HEADERS_DIR_Production_macosx_USE_OVERRIDE_FRAMEWORKS_DIR_YES = $(PRODUCTION_FRAMEWORKS_DIR)/WebCore.framework/PrivateHeaders;
    10396WEBCORE_PRIVATE_HEADERS_engineering = $(BUILT_PRODUCTS_DIR)/WebCore.framework/PrivateHeaders;
    10497
     
    109102WEBKITSYSTEMINTERFACE_STATIC_LIBRARY_HEADERS_FOLDER_PATH_engineering[sdk=iphonesimulator*] = $(BUILT_PRODUCTS_DIR)$(PRODUCTION_ROOT)/usr/local/include;
    110103WEBKITSYSTEMINTERFACE_STATIC_LIBRARY_HEADERS_FOLDER_PATH_engineering = $(BUILT_PRODUCTS_DIR)/usr/local/include;
     104
     105WK_EMPTY_ = YES;
     106WK_NOT_ = YES;
     107WK_NOT_YES = NO;
     108
     109WK_USE_OVERRIDE_FRAMEWORKS_DIR = $(WK_NOT_$(WK_EMPTY_$(WK_OVERRIDE_FRAMEWORKS_DIR)));
     110
     111WK_OVERRIDE_FRAMEWORKS_DIR = $(WK_OVERRIDE_FRAMEWORKS_DIR_USE_STAGING_INSTALL_PATH_$(USE_STAGING_INSTALL_PATH));
     112WK_OVERRIDE_FRAMEWORKS_DIR_USE_STAGING_INSTALL_PATH_YES = $(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari;
     113
     114WK_QUOTED_OVERRIDE_FRAMEWORKS_DIR = $(WK_QUOTED_OVERRIDE_FRAMEWORKS_DIR_$(WK_USE_OVERRIDE_FRAMEWORKS_DIR));
     115WK_QUOTED_OVERRIDE_FRAMEWORKS_DIR_YES = "$(WK_OVERRIDE_FRAMEWORKS_DIR)";
  • trunk/Source/WebKit/mac/MigrateHeaders.make

    r185080 r194821  
    2626# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    2727
    28 VPATH = $(WEBCORE_PRIVATE_HEADERS_DIR)
     28VPATH = $(BUILT_PRODUCTS_DIR)/DerivedSources/WebKitLegacy/WebCorePrivateHeaders
    2929
    3030INTERNAL_HEADERS_DIR = $(BUILT_PRODUCTS_DIR)/DerivedSources/WebKitLegacy
    31 PUBLIC_HEADERS_DIR = $(TARGET_BUILD_DIR)/$(PUBLIC_HEADERS_FOLDER_PATH)
    32 PRIVATE_HEADERS_DIR = $(TARGET_BUILD_DIR)/$(PRIVATE_HEADERS_FOLDER_PATH)
     31PUBLIC_HEADERS_DIR = $(BUILT_PRODUCTS_DIR)/$(PUBLIC_HEADERS_FOLDER_PATH)
     32PRIVATE_HEADERS_DIR = $(BUILT_PRODUCTS_DIR)/$(PRIVATE_HEADERS_FOLDER_PATH)
    3333
    3434.PHONY : all
  • trunk/Source/WebKit/mac/migrate-headers.sh

    r177621 r194821  
    3434
    3535if [ "${ACTION}" = "build" -o "${ACTION}" = "install" -o "${ACTION}" = "installhdrs" ]; then
     36    ln -sfh "${WEBCORE_PRIVATE_HEADERS_DIR}" "${BUILT_PRODUCTS_DIR}/DerivedSources/WebKitLegacy/WebCorePrivateHeaders"
    3637    make -C mac -f "MigrateHeaders.make" -j `/usr/sbin/sysctl -n hw.activecpu`
    3738fi
  • trunk/Source/WebKit2/ChangeLog

    r194810 r194821  
     12016-01-09  Dan Bernstein  <mitz@apple.com>
     2
     3        [Cocoa] Allow overriding the frameworks directory independently of using a staging install path
     4        https://bugs.webkit.org/show_bug.cgi?id=152926
     5
     6        Reviewed by Tim Horton.
     7
     8        Introduce a new build setting, WK_OVERRIDE_FRAMEWORKS_DIR. When not empty, it determines
     9        where the frameworks are installed. Setting USE_STAGING_INSTALL_PATH to YES sets
     10        WK_OVERRIDE_FRAMEWORKS_DIR to $(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari.
     11
     12        Account for the possibility of WK_OVERRIDE_FRAMEWORKS_DIR containing spaces.
     13
     14        * Configurations/BaseTarget.xcconfig:
     15        - Add quotes to account for spaces.
     16        - Define WEBKIT_FRAMEWORKS_DIR and UMBRELLA_FRAMEWORKS_DIR based on
     17          WK_OVERRIDE_FRAMEWORKS_DIR.
     18
     19        * WebKit2.xcodeproj/project.pbxproj:
     20        - In the Migrate WebKitLegacy Headers build phase, work around make’s inability to handle
     21          spaces in paths by creating a symlink to WEBKIT_LEGACY_PRIVATE_HEADERS_DIR under
     22          BUILT_PRODUCTS_DIR and using the symlink as the value of
     23          WEBKIT_LEGACY_PRIVATE_HEADERS_DIR.
     24        - In the Postprocess WKBase.h and Postprocess WKFoundation.h build phases, add quotes to
     25          account for spaces.
     26
     27        * mac/MigrateHeadersFromWebKitLegacy.make:
     28          Use a BUILT_PRODUCTS_DIR-based path to the framework instead of a TARGET_BUILD_DIR-based
     29          one in order to avoid spaces.
     30
     31        * mac/postprocess-framework-headers.sh:
     32          Add quotes to account for spaces.
     33
    1342016-01-08  Alex Christensen  <achristensen@webkit.org>
    235
  • trunk/Source/WebKit2/Configurations/BaseTarget.xcconfig

    r194318 r194821  
    2525#include "Version.xcconfig"
    2626
    27 FRAMEWORK_SEARCH_PATHS_base = $(UMBRELLA_FRAMEWORKS_DIR) $(FRAMEWORK_SEARCH_PATHS);
     27FRAMEWORK_SEARCH_PATHS_base = "$(UMBRELLA_FRAMEWORKS_DIR)" $(FRAMEWORK_SEARCH_PATHS);
    2828FRAMEWORK_SEARCH_PATHS[sdk=iphone*] = $(FRAMEWORK_SEARCH_PATHS_base) $(SDKROOT)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks;
    2929FRAMEWORK_SEARCH_PATHS = $(FRAMEWORK_SEARCH_PATHS_base);
     
    3131GCC_PREFIX_HEADER = WebKit2Prefix.h;
    3232GCC_PREPROCESSOR_DEFINITIONS = $(DEBUG_DEFINES) $(FEATURE_DEFINES) $(WK_MANUAL_SANDBOXING_DEFINES) FRAMEWORK_NAME=WebKit
    33 HEADER_SEARCH_PATHS = $(BUILT_PRODUCTS_DIR)/usr/local/include $(WEBCORE_PRIVATE_HEADERS_DIR)/ForwardingHeaders $(WEBCORE_PRIVATE_HEADERS_DIR)/icu $(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2 $(HEADER_SEARCH_PATHS);
     33HEADER_SEARCH_PATHS = $(BUILT_PRODUCTS_DIR)/usr/local/include "$(WEBCORE_PRIVATE_HEADERS_DIR)/ForwardingHeaders" "$(WEBCORE_PRIVATE_HEADERS_DIR)/icu" $(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2 $(HEADER_SEARCH_PATHS);
    3434
    3535OTHER_CFLAGS = $(inherited) -iframework $(SDKROOT)$(SYSTEM_LIBRARY_DIR)/Frameworks/ApplicationServices.framework/Frameworks -iframework $(SDKROOT)$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Frameworks -iframework $(SDKROOT)$(SYSTEM_LIBRARY_DIR)/Frameworks/Quartz.framework/Frameworks -iframework $(SDKROOT)$(SYSTEM_LIBRARY_DIR)/Frameworks/CoreServices.framework/Frameworks -iframework $(SDKROOT)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks;
     
    3838NORMAL_WEBKIT_FRAMEWORKS_DIR = $(SYSTEM_LIBRARY_DIR)/Frameworks;
    3939
    40 WEBKIT_FRAMEWORKS_DIR[sdk=iphone*] = $(NORMAL_WEBKIT_FRAMEWORKS_DIR);
    41 WEBKIT_FRAMEWORKS_DIR = $(WEBKIT_FRAMEWORKS_DIR_$(PLATFORM_NAME)_USE_STAGING_INSTALL_PATH_$(USE_STAGING_INSTALL_PATH));
    42 WEBKIT_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_ = $(WEBKIT_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_NO);
    43 WEBKIT_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_NO = $(NORMAL_WEBKIT_FRAMEWORKS_DIR);
    44 WEBKIT_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_YES = $(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari;
     40WEBKIT_FRAMEWORKS_DIR = $(WEBKIT_FRAMEWORKS_DIR_USE_OVERRIDE_FRAMEWORKS_DIR_$(WK_USE_OVERRIDE_FRAMEWORKS_DIR));
     41WEBKIT_FRAMEWORKS_DIR_USE_OVERRIDE_FRAMEWORKS_DIR_NO = $(NORMAL_WEBKIT_FRAMEWORKS_DIR);
     42WEBKIT_FRAMEWORKS_DIR_USE_OVERRIDE_FRAMEWORKS_DIR_YES = $(WK_OVERRIDE_FRAMEWORKS_DIR);
    4543
    4644UMBRELLA_FRAMEWORKS_DIR = $(UMBRELLA_FRAMEWORKS_DIR_$(CONFIGURATION));
     
    4846UMBRELLA_FRAMEWORKS_DIR_Release = $(UMBRELLA_FRAMEWORKS_DIR_engineering);
    4947UMBRELLA_FRAMEWORKS_DIR_Production[sdk=iphone*] = $(SDKROOT)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks;
    50 UMBRELLA_FRAMEWORKS_DIR_Production[sdk=macosx*] = $(SDKROOT)$(UMBRELLA_FRAMEWORKS_DIR_Production_macosx_USE_STAGING_INSTALL_PATH_$(USE_STAGING_INSTALL_PATH));
    51 UMBRELLA_FRAMEWORKS_DIR_Production_macosx_USE_STAGING_INSTALL_PATH_ = $(UMBRELLA_FRAMEWORKS_DIR_Production_macosx_USE_STAGING_INSTALL_PATH_NO);
    52 UMBRELLA_FRAMEWORKS_DIR_Production_macosx_USE_STAGING_INSTALL_PATH_NO = $(NEXT_ROOT)$(SYSTEM_LIBRARY_DIR)/Frameworks/WebKit.framework/Versions/A/Frameworks;
    53 UMBRELLA_FRAMEWORKS_DIR_Production_macosx_USE_STAGING_INSTALL_PATH_YES = $(NEXT_ROOT)$(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari;
     48UMBRELLA_FRAMEWORKS_DIR_Production[sdk=macosx*] = $(SDKROOT)$(UMBRELLA_FRAMEWORKS_DIR_Production_macosx_USE_OVERRIDE_FRAMEWORKS_DIR_$(WK_USE_OVERRIDE_FRAMEWORKS_DIR));
     49UMBRELLA_FRAMEWORKS_DIR_Production_macosx_USE_OVERRIDE_FRAMEWORKS_DIR_NO = $(NEXT_ROOT)$(SYSTEM_LIBRARY_DIR)/Frameworks/WebKit.framework/Versions/A/Frameworks;
     50UMBRELLA_FRAMEWORKS_DIR_Production_macosx_USE_OVERRIDE_FRAMEWORKS_DIR_YES = $(WK_OVERRIDE_FRAMEWORKS_DIR);
    5451UMBRELLA_FRAMEWORKS_DIR_engineering = $(BUILT_PRODUCTS_DIR);
    5552
     
    6865WK_DONT_LINK_SHIM_101000 = YES;
    6966
    70 WK_LINK_SHIM[sdk=macosx*] = $(WK_LINK_SHIM_$(WK_DONT_LINK_SHIM));
    71 WK_LINK_SHIM_ = $(WK_LINK_SHIM_NO);
    72 WK_LINK_SHIM_NO = YES;
    73 WK_LINK_SHIM_YES = NO;
     67WK_LINK_SHIM[sdk=macosx*] = $(WK_NOT_$(WK_DONT_LINK_SHIM));
     68
     69WK_EMPTY_ = YES;
     70WK_NOT_ = YES;
     71WK_NOT_YES = NO;
     72
     73WK_USE_OVERRIDE_FRAMEWORKS_DIR = $(WK_NOT_$(WK_EMPTY_$(WK_OVERRIDE_FRAMEWORKS_DIR)));
     74
     75WK_OVERRIDE_FRAMEWORKS_DIR = $(WK_OVERRIDE_FRAMEWORKS_DIR_USE_STAGING_INSTALL_PATH_$(USE_STAGING_INSTALL_PATH));
     76WK_OVERRIDE_FRAMEWORKS_DIR_USE_STAGING_INSTALL_PATH_YES = $(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari;
  • trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj

    r194810 r194821  
    90539053                        runOnlyForDeploymentPostprocessing = 0;
    90549054                        shellPath = /bin/sh;
    9055                         shellScript = "if [ \"${ACTION}\" = \"build\" -o \"${ACTION}\" = \"install\" -o \"${ACTION}\" = \"installhdrs\" ]; then\nmake -C mac -f \"MigrateHeadersFromWebKitLegacy.make\" -j `/usr/sbin/sysctl -n hw.activecpu`\nfi\n";
     9055                        shellScript = "if [ \"${ACTION}\" = \"build\" -o \"${ACTION}\" = \"install\" -o \"${ACTION}\" = \"installhdrs\" ]; then\n    mkdir -p \"${BUILT_PRODUCTS_DIR}/DerivedSources/WebKit2\"\n    ln -sfh \"${WEBKIT_LEGACY_PRIVATE_HEADERS_DIR}\" \"${BUILT_PRODUCTS_DIR}/DerivedSources/WebKit2/WebKitLegacyPrivateHeaders\"\n    export WEBKIT_LEGACY_PRIVATE_HEADERS_DIR=\"${BUILT_PRODUCTS_DIR}/DerivedSources/WebKit2/WebKitLegacyPrivateHeaders\"\n    make -C mac -f \"MigrateHeadersFromWebKitLegacy.make\" -j `/usr/sbin/sysctl -n hw.activecpu`\nfi\n";
    90569056                };
    90579057                1AD98ECF191D867300CAA6DF /* Postprocess WKFoundation.h */ = {
     
    90689068                        runOnlyForDeploymentPostprocessing = 0;
    90699069                        shellPath = /bin/sh;
    9070                         shellScript = "WKFOUNDATION_H=${TARGET_BUILD_DIR}/${PUBLIC_HEADERS_FOLDER_PATH}/WKFoundation.h\n\nif [[ \"${WK_FRAMEWORK_HEADER_POSTPROCESSING_DISABLED}\" == \"YES\" ]]; then\n    UNIFDEF_OPTIONS=\"-UWK_FRAMEWORK_HEADER_POSTPROCESSING_ENABLED\";\nelse\n    UNIFDEF_OPTIONS=\"-DWK_FRAMEWORK_HEADER_POSTPROCESSING_ENABLED\";\nfi\n\nunifdef -B ${UNIFDEF_OPTIONS} -o ${WKFOUNDATION_H}.unifdef ${WKFOUNDATION_H}\n\ncase $? in\n0)\n    rm ${WKFOUNDATION_H}.unifdef\n    ;;\n1)\n    mv ${WKFOUNDATION_H}{.unifdef,}\n    ;;\n*)\n    exit 1\nesac\n";
     9070                        shellScript = "WKFOUNDATION_H=${TARGET_BUILD_DIR}/${PUBLIC_HEADERS_FOLDER_PATH}/WKFoundation.h\n\nif [[ \"${WK_FRAMEWORK_HEADER_POSTPROCESSING_DISABLED}\" == \"YES\" ]]; then\n    UNIFDEF_OPTIONS=\"-UWK_FRAMEWORK_HEADER_POSTPROCESSING_ENABLED\";\nelse\n    UNIFDEF_OPTIONS=\"-DWK_FRAMEWORK_HEADER_POSTPROCESSING_ENABLED\";\nfi\n\nunifdef -B ${UNIFDEF_OPTIONS} -o \"${WKFOUNDATION_H}\".unifdef \"${WKFOUNDATION_H}\"\n\ncase $? in\n0)\n    rm \"${WKFOUNDATION_H}\".unifdef\n    ;;\n1)\n    mv \"${WKFOUNDATION_H}\"{.unifdef,}\n    ;;\n*)\n    exit 1\nesac\n";
    90719071                };
    90729072                1ADAE12F1919A90C00F48E21 /* Update Info.plist with version information */ = {
     
    91349134                        runOnlyForDeploymentPostprocessing = 0;
    91359135                        shellPath = /bin/sh;
    9136                         shellScript = "WKBASE_H=${TARGET_BUILD_DIR}/${PRIVATE_HEADERS_FOLDER_PATH}/WKBase.h\n\nunifdef -B -D__APPLE__ -UBUILDING_GTK__ -UUSE_SOUP -UBUILDING_EFL__ -UBUILDING_QT__ -o ${WKBASE_H}.unifdef ${WKBASE_H}\n\ncase $? in\n0)\n    rm ${WKBASE_H}.unifdef\n    ;;\n1)\n    mv ${WKBASE_H}{.unifdef,}\n    ;;\n*)\n    exit 1\nesac\n";
     9136                        shellScript = "WKBASE_H=${TARGET_BUILD_DIR}/${PRIVATE_HEADERS_FOLDER_PATH}/WKBase.h\n\nunifdef -B -D__APPLE__ -UBUILDING_GTK__ -UUSE_SOUP -UBUILDING_EFL__ -UBUILDING_QT__ -o \"${WKBASE_H}\".unifdef \"${WKBASE_H}\"\n\ncase $? in\n0)\n    rm \"${WKBASE_H}\".unifdef\n    ;;\n1)\n    mv \"${WKBASE_H}\"{.unifdef,}\n    ;;\n*)\n    exit 1\nesac\n";
    91379137                };
    91389138                37E531011B2391090074F0DF /* Copy iOS Sandbox Profiles for Manual Sandboxing */ = {
  • trunk/Source/WebKit2/mac/MigrateHeadersFromWebKitLegacy.make

    r183343 r194821  
    2828# Migration of WebKit Legacy headers to WebKit.
    2929
    30 PRIVATE_HEADERS_DIR = $(TARGET_BUILD_DIR)/$(PRIVATE_HEADERS_FOLDER_PATH)
    31 PUBLIC_HEADERS_DIR = $(TARGET_BUILD_DIR)/$(PUBLIC_HEADERS_FOLDER_PATH)
     30PRIVATE_HEADERS_DIR = $(BUILT_PRODUCTS_DIR)/$(PRIVATE_HEADERS_FOLDER_PATH)
     31PUBLIC_HEADERS_DIR = $(BUILT_PRODUCTS_DIR)/$(PUBLIC_HEADERS_FOLDER_PATH)
    3232
    3333ifeq ($(PLATFORM_NAME), macosx)
  • trunk/Source/WebKit2/mac/postprocess-framework-headers.sh

    r190018 r194821  
    8888    SED_OPTIONS+=(${OTHER_SED_OPTIONS[*]})
    8989
    90     for HEADER_PATH in $1/*.h; do
    91         if [[ $HEADER_PATH -nt $TIMESTAMP_PATH ]]; then
    92             ditto ${HEADER_PATH} ${TARGET_TEMP_DIR}/${HEADER_PATH##*/}
    93             sed -i .tmp -E ${SED_OPTIONS[*]} ${TARGET_TEMP_DIR}/${HEADER_PATH##*/} || exit $?
    94             mv ${TARGET_TEMP_DIR}/${HEADER_PATH##*/} $HEADER_PATH
     90    for HEADER_PATH in "${1}/"*.h; do
     91        if [[ "$HEADER_PATH" -nt $TIMESTAMP_PATH ]]; then
     92            ditto "${HEADER_PATH}" "${TARGET_TEMP_DIR}/${HEADER_PATH##*/}"
     93            sed -i .tmp -E ${SED_OPTIONS[*]} "${TARGET_TEMP_DIR}/${HEADER_PATH##*/}" || exit $?
     94            mv "${TARGET_TEMP_DIR}/${HEADER_PATH##*/}" "$HEADER_PATH"
    9595        fi
    9696    done
     
    101101process_definitions "${BUILT_PRODUCTS_DIR}/${DEFINITIONS_PATH}" || process_definitions "${SDKROOT}/${DEFINITIONS_PATH}"
    102102
    103 rewrite_headers ${TARGET_BUILD_DIR}/${PUBLIC_HEADERS_FOLDER_PATH}
    104 rewrite_headers ${TARGET_BUILD_DIR}/${PRIVATE_HEADERS_FOLDER_PATH}
     103rewrite_headers "${TARGET_BUILD_DIR}/${PUBLIC_HEADERS_FOLDER_PATH}"
     104rewrite_headers "${TARGET_BUILD_DIR}/${PRIVATE_HEADERS_FOLDER_PATH}"
    105105
    106106touch ${TIMESTAMP_PATH}
Note: See TracChangeset for help on using the changeset viewer.