Bug 183251 - [CMake] Split JSC header copying into public and private targets
Summary: [CMake] Split JSC header copying into public and private targets
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Don Olmstead
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2018-03-01 11:37 PST by Don Olmstead
Modified: 2018-03-05 10:48 PST (History)
8 users (show)

See Also:


Attachments
Patch (1.78 KB, patch)
2018-03-01 11:38 PST, Don Olmstead
no flags Details | Formatted Diff | Diff
Patch (3.70 KB, patch)
2018-03-01 12:02 PST, Don Olmstead
no flags Details | Formatted Diff | Diff
Patch (4.73 KB, patch)
2018-03-01 12:25 PST, Don Olmstead
annulen: review+
commit-queue: commit-queue-
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Don Olmstead 2018-03-01 11:37:48 PST
Currently there is no way to set the name of the target for copying of headers.
Comment 1 Don Olmstead 2018-03-01 11:38:59 PST
Created attachment 334830 [details]
Patch

Add TARGET_NAME parameter
Comment 2 Konstantin Tokarev 2018-03-01 11:52:07 PST
Please add usage to the patch to demonstrate need of such complications
Comment 3 Don Olmstead 2018-03-01 12:02:32 PST
Created attachment 334835 [details]
Patch

This patch splits the copying of headers into 2 separate targets, one for public and one for private.

JavaScriptCore and WebKit have both public and private headers that need to be installed. In this case LLIntOffsets technically needs access to the public headers of JavaScriptCore before it is built. This makes the dependencies more explicit.
Comment 4 Don Olmstead 2018-03-01 12:25:06 PST
Created attachment 334837 [details]
Patch

Rename target in Tools
Comment 5 Fujii Hironori 2018-03-01 16:32:07 PST
I don't like this TARGET_NAME idea.

How do you think a following style?

WEBKIT_MAKE_FORWARDING_HEADERS(JavaScriptCore
    PUBLIC_HEADERS ${JavaScriptCore_PUBLIC_FRAMEWORK_HEADERS}
    PRIVATE_HEADERS ${JavaScriptCore_PRIVATE_FRAMEWORK_HEADERS}
    DERIVED_SOURCE_DIRECTORIES
        ${DERIVED_SOURCES_DIR}/JavaScriptCore
        ${DERIVED_SOURCES_DIR}/JavaScriptCore/inspector
    FLATTENED)

And, it should be unified into WEBKIT_FRAMEWORK in the future (Bug 182593 Comment 8).
Comment 6 Don Olmstead 2018-03-01 16:36:00 PST
(In reply to Fujii Hironori from comment #5)
> I don't like this TARGET_NAME idea.
> 
> How do you think a following style?
> 
> WEBKIT_MAKE_FORWARDING_HEADERS(JavaScriptCore
>     PUBLIC_HEADERS ${JavaScriptCore_PUBLIC_FRAMEWORK_HEADERS}
>     PRIVATE_HEADERS ${JavaScriptCore_PRIVATE_FRAMEWORK_HEADERS}
>     DERIVED_SOURCE_DIRECTORIES
>         ${DERIVED_SOURCES_DIR}/JavaScriptCore
>         ${DERIVED_SOURCES_DIR}/JavaScriptCore/inspector
>     FLATTENED)
> 
> And, it should be unified into WEBKIT_FRAMEWORK in the future (Bug 182593
> Comment 8).

I was thinking that at a later time the current WEBKIT_MAKE_FORWARDING_HEADERS is turned into a private CMake function that would be invoked either in WEBKIT_FRAMEWORK or in something like what you are suggesting here.
Comment 7 WebKit Commit Bot 2018-03-05 05:28:49 PST
Comment on attachment 334837 [details]
Patch

Rejecting attachment 334837 [details] from commit-queue.

Failed to run "['/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch', '--status-host=webkit-queues.webkit.org', '--bot-id=webkit-cq-01', 'land-attachment', '--force-clean', '--non-interactive', '--parent-command=commit-queue', 334837, '--port=mac']" exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
rdparty/autoinstalled/mechanize/_urllib2_fork.py", line 332, in _call_chain
    result = func(*args)
  File "/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_urllib2_fork.py", line 1170, in https_open
    return self.do_open(conn_factory, req)
  File "/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_urllib2_fork.py", line 1118, in do_open
    raise URLError(err)
urllib2.URLError: <urlopen error [Errno 60] Operation timed out>

Full output: http://webkit-queues.webkit.org/results/6812439
Comment 8 Konstantin Tokarev 2018-03-05 10:47:04 PST
Committed https://trac.webkit.org/r229282
Comment 9 Radar WebKit Bug Importer 2018-03-05 10:48:59 PST
<rdar://problem/38145595>