Bug 176475 - [WPE][CMake] The “install” target should install all public API headers
Summary: [WPE][CMake] The “install” target should install all public API headers
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WPE WebKit (show other bugs)
Version: Other
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Adrian Perez
URL:
Keywords:
Depends on:
Blocks: 178125
  Show dependency treegraph
 
Reported: 2017-09-06 13:42 PDT by Adrian Perez
Modified: 2017-10-10 04:30 PDT (History)
8 users (show)

See Also:


Attachments
Patch (1.76 KB, patch)
2017-10-09 14:53 PDT, Adrian Perez
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Adrian Perez 2017-09-06 13:42:57 PDT
Today while working in bug #176448 I noticed that the “install” target
for WPE only installs the JavaScriptCore headers (see the log below).
The rest of the public API headers should be installed as well.


---

[100%] Built target WebProcess
Install the project...
-- Install configuration: "Release"
-- Installing: /home/aperez/devel/wpe/WebKit/WebKitBuild/Release/wpewebkit-0.0.20170728/_install/include/wpe-0.1/WPE/JavaScriptCore/JSBase.h
-- Installing: /home/aperez/devel/wpe/WebKit/WebKitBuild/Release/wpewebkit-0.0.20170728/_install/include/wpe-0.1/WPE/JavaScriptCore/JSContextRef.h
-- Installing: /home/aperez/devel/wpe/WebKit/WebKitBuild/Release/wpewebkit-0.0.20170728/_install/include/wpe-0.1/WPE/JavaScriptCore/JSObjectRef.h
-- Installing: /home/aperez/devel/wpe/WebKit/WebKitBuild/Release/wpewebkit-0.0.20170728/_install/include/wpe-0.1/WPE/JavaScriptCore/JSStringRef.h
-- Installing: /home/aperez/devel/wpe/WebKit/WebKitBuild/Release/wpewebkit-0.0.20170728/_install/include/wpe-0.1/WPE/JavaScriptCore/JSTypedArray.h
-- Installing: /home/aperez/devel/wpe/WebKit/WebKitBuild/Release/wpewebkit-0.0.20170728/_install/include/wpe-0.1/WPE/JavaScriptCore/JSValueRef.h
-- Installing: /home/aperez/devel/wpe/WebKit/WebKitBuild/Release/wpewebkit-0.0.20170728/_install/include/wpe-0.1/WPE/JavaScriptCore/JavaScript.h
-- Installing: /home/aperez/devel/wpe/WebKit/WebKitBuild/Release/wpewebkit-0.0.20170728/_install/include/wpe-0.1/WPE/JavaScriptCore/WebKitAvailability.h
-- Installing: /home/aperez/devel/wpe/WebKit/WebKitBuild/Release/wpewebkit-0.0.20170728/_install/lib/libWPEWebInspectorResources.so
-- Installing: /home/aperez/devel/wpe/WebKit/WebKitBuild/Release/wpewebkit-0.0.20170728/_install/bin/WPEStorageProcess
-- Set runtime path of "/home/aperez/devel/wpe/WebKit/WebKitBuild/Release/wpewebkit-0.0.20170728/_install/bin/WPEStorageProcess" to ""
-- Installing: /home/aperez/devel/wpe/WebKit/WebKitBuild/Release/wpewebkit-0.0.20170728/_install/lib/libWPEWebKit.so.0.0.20170728
-- Installing: /home/aperez/devel/wpe/WebKit/WebKitBuild/Release/wpewebkit-0.0.20170728/_install/lib/libWPEWebKit.so.0
-- Installing: /home/aperez/devel/wpe/WebKit/WebKitBuild/Release/wpewebkit-0.0.20170728/_install/lib/libWPEWebKit.so
-- Installing: /home/aperez/devel/wpe/WebKit/WebKitBuild/Release/wpewebkit-0.0.20170728/_install/bin/WPEWebProcess
-- Set runtime path of "/home/aperez/devel/wpe/WebKit/WebKitBuild/Release/wpewebkit-0.0.20170728/_install/bin/WPEWebProcess" to ""
-- Installing: /home/aperez/devel/wpe/WebKit/WebKitBuild/Release/wpewebkit-0.0.20170728/_install/bin/WPENetworkProcess
-- Set runtime path of "/home/aperez/devel/wpe/WebKit/WebKitBuild/Release/wpewebkit-0.0.20170728/_install/bin/WPENetworkProcess" to ""
/home/aperez/devel/wpe/WebKit/WebKitBuild/Release/wpewebkit-0.0.20170728.tar (1/1)
Comment 1 Adrian Perez 2017-10-09 14:53:27 PDT
Created attachment 323226 [details]
Patch
Comment 2 Adrian Perez 2017-10-09 15:16:22 PDT
With the patch applied, the “tree” command generates the output below.
The idea is that programs using the WPE WebKit port would use:

  #include <wpe/webkit.h>

The deprecated WebKit2 C API is still around and disabled by default.
It can be installed in parallel passing “-DEXPORT_DEPRECATED_WEBKIT2_C_API”
to CMake when configuring.

----8<----------------- tree output -------------------8<----

/home/aperez/devel/wpe/buildroot/output/target/usr/include/wpe-0.1/
└── WPE
    ├── JavaScriptCore
    │   ├── JavaScript.h
    │   ├── JSBase.h
    │   ├── JSContextRef.h
    │   ├── JSObjectRef.h
    │   ├── JSStringRef.h
    │   ├── JSTypedArray.h
    │   ├── JSValueRef.h
    │   └── WebKitAvailability.h
    └── wpe
        ├── WebKitApplicationInfo.h
        ├── WebKitAuthenticationRequest.h
        ├── WebKitAutomationSession.h
        ├── WebKitBackForwardList.h
        ├── WebKitBackForwardListItem.h
        ├── WebKitContextMenuActions.h
        ├── WebKitContextMenu.h
        ├── WebKitContextMenuItem.h
        ├── WebKitCookieManager.h
        ├── WebKitCredential.h
        ├── WebKitDefines.h
        ├── WebKitDownload.h
        ├── WebKitEditingCommands.h
        ├── WebKitEditorState.h
        ├── WebKitEnumTypes.h
        ├── WebKitError.h
        ├── WebKitFaviconDatabase.h
        ├── WebKitFindController.h
        ├── WebKitFormSubmissionRequest.h
        ├── WebKitGeolocationPermissionRequest.h
        ├── webkit.h
        ├── WebKitHitTestResult.h
        ├── WebKitInstallMissingMediaPluginsPermissionRequest.h
        ├── WebKitJavascriptResult.h
        ├── WebKitMimeInfo.h
        ├── WebKitNavigationAction.h
        ├── WebKitNavigationPolicyDecision.h
        ├── WebKitNetworkProxySettings.h
        ├── WebKitNotification.h
        ├── WebKitNotificationPermissionRequest.h
        ├── WebKitPermissionRequest.h
        ├── WebKitPlugin.h
        ├── WebKitPolicyDecision.h
        ├── WebKitResponsePolicyDecision.h
        ├── WebKitSecurityManager.h
        ├── WebKitSecurityOrigin.h
        ├── WebKitSettings.h
        ├── WebKitURIRequest.h
        ├── WebKitURIResponse.h
        ├── WebKitURISchemeRequest.h
        ├── WebKitUserContent.h
        ├── WebKitUserContentManager.h
        ├── WebKitUserMediaPermissionRequest.h
        ├── WebKitWebContext.h
        ├── WebKitWebResource.h
        ├── WebKitWebsiteData.h
        ├── WebKitWebsiteDataManager.h
        ├── WebKitWebView.h
        ├── WebKitWebViewSessionState.h
        └── WebKitWindowProperties.h

3 directories, 58 files
Comment 3 Carlos Garcia Campos 2017-10-10 03:51:46 PDT
(In reply to Adrian Perez from comment #2)
> With the patch applied, the “tree” command generates the output below.
> The idea is that programs using the WPE WebKit port would use:
> 
>   #include <wpe/webkit.h>
> 
> The deprecated WebKit2 C API is still around and disabled by default.
> It can be installed in parallel passing “-DEXPORT_DEPRECATED_WEBKIT2_C_API”
> to CMake when configuring.

We should not allow to install the C API in any case in upstream.

> ----8<----------------- tree output -------------------8<----
> 
> /home/aperez/devel/wpe/buildroot/output/target/usr/include/wpe-0.1/
> └── WPE
>     ├── JavaScriptCore
>     │   ├── JavaScript.h
>     │   ├── JSBase.h
>     │   ├── JSContextRef.h
>     │   ├── JSObjectRef.h
>     │   ├── JSStringRef.h
>     │   ├── JSTypedArray.h
>     │   ├── JSValueRef.h
>     │   └── WebKitAvailability.h
>     └── wpe
>         ├── WebKitApplicationInfo.h
>         ├── WebKitAuthenticationRequest.h
>         ├── WebKitAutomationSession.h
>         ├── WebKitBackForwardList.h
>         ├── WebKitBackForwardListItem.h
>         ├── WebKitContextMenuActions.h
>         ├── WebKitContextMenu.h
>         ├── WebKitContextMenuItem.h
>         ├── WebKitCookieManager.h
>         ├── WebKitCredential.h
>         ├── WebKitDefines.h
>         ├── WebKitDownload.h
>         ├── WebKitEditingCommands.h
>         ├── WebKitEditorState.h
>         ├── WebKitEnumTypes.h
>         ├── WebKitError.h
>         ├── WebKitFaviconDatabase.h
>         ├── WebKitFindController.h
>         ├── WebKitFormSubmissionRequest.h
>         ├── WebKitGeolocationPermissionRequest.h
>         ├── webkit.h
>         ├── WebKitHitTestResult.h
>         ├── WebKitInstallMissingMediaPluginsPermissionRequest.h
>         ├── WebKitJavascriptResult.h
>         ├── WebKitMimeInfo.h
>         ├── WebKitNavigationAction.h
>         ├── WebKitNavigationPolicyDecision.h
>         ├── WebKitNetworkProxySettings.h
>         ├── WebKitNotification.h
>         ├── WebKitNotificationPermissionRequest.h
>         ├── WebKitPermissionRequest.h
>         ├── WebKitPlugin.h
>         ├── WebKitPolicyDecision.h
>         ├── WebKitResponsePolicyDecision.h
>         ├── WebKitSecurityManager.h
>         ├── WebKitSecurityOrigin.h
>         ├── WebKitSettings.h
>         ├── WebKitURIRequest.h
>         ├── WebKitURIResponse.h
>         ├── WebKitURISchemeRequest.h
>         ├── WebKitUserContent.h
>         ├── WebKitUserContentManager.h
>         ├── WebKitUserMediaPermissionRequest.h
>         ├── WebKitWebContext.h
>         ├── WebKitWebResource.h
>         ├── WebKitWebsiteData.h
>         ├── WebKitWebsiteDataManager.h
>         ├── WebKitWebView.h
>         ├── WebKitWebViewSessionState.h
>         └── WebKitWindowProperties.h
> 
> 3 directories, 58 files
Comment 4 Adrian Perez 2017-10-10 04:27:08 PDT
(In reply to Carlos Garcia Campos from comment #3)
> (In reply to Adrian Perez from comment #2)
> > With the patch applied, the “tree” command generates the output below.
> > The idea is that programs using the WPE WebKit port would use:
> > 
> >   #include <wpe/webkit.h>
> > 
> > The deprecated WebKit2 C API is still around and disabled by default.
> > It can be installed in parallel passing “-DEXPORT_DEPRECATED_WEBKIT2_C_API”
> > to CMake when configuring.
> 
> We should not allow to install the C API in any case in upstream.

I completely agree with this, but I was afraid that there might be
someone still using the C API so it seemed better to leave it around
for now and handle its removal in a separate bug+patch. I have just
filed bug #178125 for that.
Comment 5 WebKit Commit Bot 2017-10-10 04:27:43 PDT
Comment on attachment 323226 [details]
Patch

Clearing flags on attachment: 323226

Committed r223128: <http://trac.webkit.org/changeset/223128>
Comment 6 WebKit Commit Bot 2017-10-10 04:27:45 PDT
All reviewed patches have been landed.  Closing bug.