⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 287884 in webkit


Ignore:
Timestamp:
Jan 11, 2022, 9:55:07 AM (5 years ago)
Author:
msaboff@apple.com
Message:

Fixed installhdr build failures in WebCore and WebKitLegacy
https://bugs.webkit.org/show_bug.cgi?id=235059

Reviewed by Filip Pizlo.

Source/WebCore:

Reworked how SYSTEM_CONTENT_PATH is added to values to the minimum that is required for the build system.
Before this change, SYSTEM_CONTENT_PATH was added twice to some configuration variables due to is
incorrectly being added to NORMAL_WEBCORE_FRAMEWORKS_DIR.

Also refactored the computation of JAVASCRIPTCORE_PRIVATE_HEADERS_DIR to use the newly added
INSTALL_PATH_PREFIX value.

  • Configurations/WebCore.xcconfig:

Source/WebKitLegacy:

On iOS, we need to create symbolic links for WebKitLegacy when using the SYSTEM_CONTENT_PATH.
Copied the creation script to the project and updated the configuration file accordingly.

  • WebKitLegacy.xcodeproj/project.pbxproj:
  • scripts/create-symlink-to-altroot.sh: Added.

Source/WebKitLegacy/mac:

Refactored how INSTALL_PATH is calculated to simplify the logic for the macOS / iOS
location difference for the WebKitLegacy framework. In WebKitLegacy.xcconfig, that
required changing NORMAL_PRODUCTION_FRAMEWORKS_DIR.

Added the configuration values, ALTERNATE_ROOT_PATH and OUTPUT_ALTERNATE_ROOT_PATH, for
iOS builds to drive the newly added create symlinks script.

Did the same rework as in WebCore configuration to eliminate using SYSTEM_CONTENT_PATH
twice for some paths.

  • Configurations/WebKitLegacy.xcconfig:
Location:
trunk/Source
Files:
1 added
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r287881 r287884  
     12022-01-11  Michael Saboff  <msaboff@apple.com>
     2
     3        Fixed installhdr build failures in WebCore and WebKitLegacy
     4        https://bugs.webkit.org/show_bug.cgi?id=235059
     5
     6        Reviewed by Filip Pizlo.
     7
     8        Reworked how SYSTEM_CONTENT_PATH is added to values to the minimum that is required for the build system.
     9        Before this change, SYSTEM_CONTENT_PATH was added twice to some configuration variables due to is
     10        incorrectly being added to NORMAL_WEBCORE_FRAMEWORKS_DIR.
     11
     12        Also refactored the computation of JAVASCRIPTCORE_PRIVATE_HEADERS_DIR to use the newly added
     13        INSTALL_PATH_PREFIX value.
     14
     15        * Configurations/WebCore.xcconfig:
     16
    1172022-01-11  Antoine Quint  <graouts@webkit.org>
    218
  • trunk/Source/WebCore/Configurations/WebCore.xcconfig

    r287382 r287884  
    5757INFOPLIST_FILE = Info.plist;
    5858
    59 INSTALL_PATH = $(INSTALL_PATH_$(WK_COCOA_TOUCH));
     59INSTALL_PATH_PREFIX = $(INSTALL_PATH_PREFIX_USE_SYSTEM_CONTENT_PATH_$(USE_SYSTEM_CONTENT_PATH));
     60INSTALL_PATH_PREFIX_USE_SYSTEM_CONTENT_PATH_YES = $(SYSTEM_CONTENT_PATH);
     61
     62INSTALL_PATH = $(INSTALL_PATH_PREFIX)$(INSTALL_PATH_$(WK_COCOA_TOUCH));
    6063INSTALL_PATH_cocoatouch = $(WK_ALTERNATE_WEBKIT_SDK_PATH)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks;
    6164INSTALL_PATH_ = $(WEBCORE_FRAMEWORKS_DIR);
     
    7376
    7477ALTERNATE_ROOT_PATH[sdk=iphone*] = $(SYSTEM_LIBRARY_DIR)/PrivateFrameworks;
    75 ALTERNATE_ROOT_PATH[sdk=macosx*] = $(DYLIB_INSTALL_NAME_BASE_PLATFORM_$(WK_USE_ALTERNATE_FRAMEWORKS_DIR));
     78ALTERNATE_ROOT_PATH[sdk=macosx*] = $(SYSTEM_LIBRARY_DIR)/Frameworks/WebKit.framework/Versions/A/Frameworks;
    7679
    7780OUTPUT_ALTERNATE_ROOT_PATH[sdk=iphone*] = $(OUTPUT_ALTERNATE_ROOT_PATH_$(USE_SYSTEM_CONTENT_PATH));
     
    151154SECTORDER_FLAGS_Production[sdk=macosx*] = -Wl,-order_file,WebCore.order;
    152155
    153 NORMAL_WEBCORE_FRAMEWORKS_PREFIX = $(NORMAL_WEBCORE_FRAMEWORKS_PREFIX_$(USE_SYSTEM_CONTENT_PATH));
    154 NORMAL_WEBCORE_FRAMEWORKS_PREFIX_YES = $(SYSTEM_CONTENT_PATH);
    155 
    156 NORMAL_WEBCORE_FRAMEWORKS_DIR[sdk=iphone*] = $(NORMAL_WEBCORE_FRAMEWORKS_PREFIX)$(PRODUCTION_FRAMEWORKS_DIR);
    157 NORMAL_WEBCORE_FRAMEWORKS_DIR[sdk=macosx*] = $(NORMAL_WEBCORE_FRAMEWORKS_PREFIX)$(SYSTEM_LIBRARY_DIR)/Frameworks/WebKit.framework/Versions/A/Frameworks;
     156NORMAL_WEBCORE_FRAMEWORKS_DIR[sdk=iphone*] = $(PRODUCTION_FRAMEWORKS_DIR);
     157NORMAL_WEBCORE_FRAMEWORKS_DIR[sdk=macosx*] = $(SYSTEM_LIBRARY_DIR)/Frameworks/WebKit.framework/Versions/A/Frameworks;
    158158
    159159WEBCORE_FRAMEWORKS_DIR = $(WEBCORE_FRAMEWORKS_DIR_USE_OVERRIDE_FRAMEWORKS_DIR_$(WK_USE_OVERRIDE_FRAMEWORKS_DIR));
     
    186186JAVASCRIPTCORE_PRIVATE_HEADERS_DIR_Debug = $(JAVASCRIPTCORE_PRIVATE_HEADERS_engineering);
    187187JAVASCRIPTCORE_PRIVATE_HEADERS_DIR_Production = $(JAVASCRIPTCORE_PRIVATE_HEADERS_DIR_Production_COCOA_TOUCH_$(WK_IS_COCOA_TOUCH));
    188 JAVASCRIPTCORE_PRIVATE_HEADERS_DIR_Production_COCOA_TOUCH_YES = $(SDKROOT)$(WK_ALTERNATE_WEBKIT_SDK_PATH)$(SYSTEM_LIBRARY_DIR)/Frameworks/JavaScriptCore.framework/PrivateHeaders;
     188JAVASCRIPTCORE_PRIVATE_HEADERS_DIR_Production_COCOA_TOUCH_YES = $(SDKROOT)$(WK_ALTERNATE_WEBKIT_SDK_PATH)$(INSTALL_PATH_PREFIX)$(SYSTEM_LIBRARY_DIR)/Frameworks/JavaScriptCore.framework/PrivateHeaders;
    189189JAVASCRIPTCORE_PRIVATE_HEADERS_DIR_Production_COCOA_TOUCH_NO = $(SDKROOT)$(PRODUCTION_FRAMEWORKS_DIR)/JavaScriptCore.framework/PrivateHeaders;
    190190JAVASCRIPTCORE_PRIVATE_HEADERS_engineering = $(BUILT_PRODUCTS_DIR)/JavaScriptCore.framework/PrivateHeaders;
  • trunk/Source/WebKitLegacy/ChangeLog

    r287848 r287884  
     12022-01-11  Michael Saboff  <msaboff@apple.com>
     2
     3        Fixed installhdr build failures in WebCore and WebKitLegacy
     4        https://bugs.webkit.org/show_bug.cgi?id=235059
     5
     6        Reviewed by Filip Pizlo.
     7
     8        On iOS, we need to create symbolic links for WebKitLegacy when using the SYSTEM_CONTENT_PATH.
     9        Copied the creation script to the project and updated the configuration file accordingly.
     10 
     11        * WebKitLegacy.xcodeproj/project.pbxproj:
     12        * scripts/create-symlink-to-altroot.sh: Added.
     13
    1142022-01-10  Alex Christensen  <achristensen@webkit.org>
    215
  • trunk/Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj

    r285770 r287884  
    30813081                                1A3193D5191856E500E1CF89 /* Symlink WebKitPluginHost */,
    30823082                                537CF83A22EFBFB100C6EBB3 /* Check .xcfilelists */,
     3083                                650473452789431C00AF78A2 /* Create Symlink to Alt Root Path */,
    30833084                        );
    30843085                        buildRules = (
     
    33243325                        shellPath = /bin/sh;
    33253326                        shellScript = "# Touch Info.plist to let Xcode know it needs to copy it into the built product\nif [[ \"${CONFIGURATION}\" != \"Production\" ]]; then\n    touch \"${PROJECT_DIR}/mac/Info.plist\";\nfi;\n";
     3327                };
     3328                650473452789431C00AF78A2 /* Create Symlink to Alt Root Path */ = {
     3329                        isa = PBXShellScriptBuildPhase;
     3330                        buildActionMask = 8;
     3331                        files = (
     3332                        );
     3333                        inputFileListPaths = (
     3334                        );
     3335                        inputPaths = (
     3336                        );
     3337                        name = "Create Symlink to Alt Root Path";
     3338                        outputFileListPaths = (
     3339                        );
     3340                        outputPaths = (
     3341                                "${OUTPUT_ALTERNATE_ROOT_PATH}",
     3342                        );
     3343                        runOnlyForDeploymentPostprocessing = 1;
     3344                        shellPath = /bin/sh;
     3345                        shellScript = "\"${SRCROOT}/scripts/create-symlink-to-altroot.sh\"\n";
    33263346                };
    33273347                7C02321B251B9A8A00BA7BB6 /* Generate Preferences */ = {
  • trunk/Source/WebKitLegacy/mac/ChangeLog

    r287848 r287884  
     12022-01-11  Michael Saboff  <msaboff@apple.com>
     2
     3        Fixed installhdr build failures in WebCore and WebKitLegacy
     4        https://bugs.webkit.org/show_bug.cgi?id=235059
     5
     6        Reviewed by Filip Pizlo.
     7
     8        Refactored how INSTALL_PATH is calculated to simplify the logic for the macOS / iOS
     9        location difference for the WebKitLegacy framework.  In WebKitLegacy.xcconfig, that
     10        required changing NORMAL_PRODUCTION_FRAMEWORKS_DIR.
     11
     12        Added the configuration values, ALTERNATE_ROOT_PATH and OUTPUT_ALTERNATE_ROOT_PATH, for
     13        iOS builds to drive the newly added create symlinks script.
     14
     15        Did the same rework as in WebCore configuration to eliminate using SYSTEM_CONTENT_PATH
     16        twice for some paths.
     17
     18        * Configurations/WebKitLegacy.xcconfig:
     19
    1202022-01-10  Alex Christensen  <achristensen@webkit.org>
    221
  • trunk/Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig

    r287848 r287884  
    6262HEADER_SEARCH_PATHS = "$(WEBCORE_PRIVATE_HEADERS_DIR)/ForwardingHeaders" "$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKitLegacy" "$(BUILT_PRODUCTS_DIR)/usr/local/include" $(WEBGPU_HEADER_SEARCH_PATHS) $(WEBKITADDITIONS_HEADER_SEARCH_PATHS) $(LIBWEBRTC_HEADER_SEARCH_PATHS) $(HEADER_SEARCH_PATHS) $(SRCROOT);
    6363INFOPLIST_FILE = mac/Info.plist;
    64 INSTALL_PATH = $(INSTALL_PATH_USE_SYSTEM_CONTENT_PATH_$(USE_SYSTEM_CONTENT_PATH));
    65 INSTALL_PATH_USE_SYSTEM_CONTENT_PATH_YES = $(SYSTEM_CONTENT_PATH)$(WEBKIT_LEGACY_FRAMEWORKS_DIR);
    66 INSTALL_PATH_USE_SYSTEM_CONTENT_PATH_ = $(INSTALL_PATH_USE_SYSTEM_CONTENT_PATH_NO);
    67 INSTALL_PATH_USE_SYSTEM_CONTENT_PATH_NO = $(INSTALL_PATH_COCOA_TOUCH_$(WK_IS_COCOA_TOUCH));
    68 INSTALL_PATH_COCOA_TOUCH_YES = $(WK_ALTERNATE_WEBKIT_SDK_PATH)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks;
    69 INSTALL_PATH_COCOA_TOUCH_NO = $(WEBKIT_LEGACY_FRAMEWORKS_DIR);
     64
     65INSTALL_PATH_PREFIX = $(INSTALL_PATH_PREFIX_USE_SYSTEM_CONTENT_PATH_$(USE_SYSTEM_CONTENT_PATH));
     66INSTALL_PATH_PREFIX_USE_SYSTEM_CONTENT_PATH_YES = $(SYSTEM_CONTENT_PATH);
     67
     68INSTALL_PATH = $(INSTALL_PATH_COCOA_TOUCH_$(WK_IS_COCOA_TOUCH));
     69INSTALL_PATH_COCOA_TOUCH_YES = $(INSTALL_PATH_PREFIX)$(WK_ALTERNATE_WEBKIT_SDK_PATH)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks;
     70INSTALL_PATH_COCOA_TOUCH_NO = $(INSTALL_PATH_PREFIX)$(WEBKIT_LEGACY_FRAMEWORKS_DIR);
    7071
    7172DYLIB_INSTALL_NAME_BASE = $(DYLIB_INSTALL_NAME_BASE_$(WK_USE_ALTERNATE_FRAMEWORKS_DIR));
     
    7778INSTALLHDRS_SCRIPT_PHASE = YES;
    7879APPLY_RULES_IN_COPY_HEADERS = $(WK_USE_NEW_BUILD_SYSTEM);
     80
     81ALTERNATE_ROOT_PATH[sdk=iphone*] = $(SYSTEM_LIBRARY_DIR)/PrivateFrameworks;
     82
     83OUTPUT_ALTERNATE_ROOT_PATH[sdk=iphone*] = $(OUTPUT_ALTERNATE_ROOT_PATH_$(USE_SYSTEM_CONTENT_PATH));
     84OUTPUT_ALTERNATE_ROOT_PATH_YES[sdk=iphone*] = $(DSTROOT)$(ALTERNATE_ROOT_PATH)/$(FULL_PRODUCT_NAME);
    7985
    8086PRODUCT_NAME = WebKitLegacy;
     
    117123WEBKIT_LEGACY_FRAMEWORKS_DIR_USE_OVERRIDE_FRAMEWORKS_DIR_YES = $(WK_OVERRIDE_FRAMEWORKS_DIR);
    118124
    119 NORMAL_PRODUCTION_FRAMEWORKS_PREFIX = $(NORMAL_PRODUCTION_FRAMEWORKS_PREFIX_$(USE_SYSTEM_CONTENT_PATH));
    120 NORMAL_PRODUCTION_FRAMEWORKS_PREFIX_YES = $(SYSTEM_CONTENT_PATH);
    121 
    122125NORMAL_PRODUCTION_FRAMEWORKS_DIR = $(NORMAL_PRODUCTION_FRAMEWORKS_DIR_COCOA_TOUCH_$(WK_IS_COCOA_TOUCH));
    123 NORMAL_PRODUCTION_FRAMEWORKS_DIR_COCOA_TOUCH_YES = $(SDKROOT)$(NORMAL_PRODUCTION_FRAMEWORKS_PREFIX)$(WK_ALTERNATE_WEBKIT_SDK_PATH)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks;
    124 NORMAL_PRODUCTION_FRAMEWORKS_DIR_COCOA_TOUCH_NO = $(NEXT_ROOT)$(NORMAL_PRODUCTION_FRAMEWORKS_PREFIX)$(SYSTEM_LIBRARY_DIR)/Frameworks;
     126NORMAL_PRODUCTION_FRAMEWORKS_DIR_COCOA_TOUCH_YES = $(SDKROOT)$(INSTALL_PATH_PREFIX)$(WK_ALTERNATE_WEBKIT_SDK_PATH)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks;
     127NORMAL_PRODUCTION_FRAMEWORKS_DIR_COCOA_TOUCH_NO = $(NEXT_ROOT)$(INSTALL_PATH_PREFIX)$(SYSTEM_LIBRARY_DIR)/Frameworks;
    125128
    126129PRODUCTION_FRAMEWORKS_DIR = $(PRODUCTION_FRAMEWORKS_DIR_COCOA_TOUCH_$(WK_IS_COCOA_TOUCH));
Note: See TracChangeset for help on using the changeset viewer.