Skip to content

Commit

Permalink
[WPE][GTK] Introduce WPE 2.0 API version, and ENABLE_2022_GLIB_API fl…
Browse files Browse the repository at this point in the history
…ag to indicate either GTK 4 or WPE 2.0

https://bugs.webkit.org/show_bug.cgi?id=244641

Reviewed by Adrian Perez de Castro.

Since there are few users of the WPE 1.1 API, and we don't need to keep
it around, WPE 2.0 will simply replace WPE 1.1. In contrast, the WPE 1.0
API is still required until Igalia is ready to phase out libsoup 2.

With a new API version, I will be able to start breaking things in
subsequent commits.

I've also fixed some misleading code in OptionsWPE.cmake where option
dependencies were located under an unrelated comment, intermixed with
option definitions.

* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:

Canonical link: https://commits.webkit.org/254653@main
  • Loading branch information
mcatanzaro committed Sep 20, 2022
1 parent 93784da commit b2a6414
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 3 deletions.
1 change: 1 addition & 0 deletions Source/cmake/OptionsGTK.cmake
Expand Up @@ -225,6 +225,7 @@ endif ()
if (USE_GTK4)
set(WEBKITGTK_API_INFIX "")
set(WEBKITGTK_API_VERSION "5.0")
SET_AND_EXPOSE_TO_BUILD(ENABLE_2022_GLIB_API ON)
elseif (USE_SOUP2)
set(WEBKITGTK_API_INFIX "2")
set(WEBKITGTK_API_VERSION "4.0")
Expand Down
18 changes: 15 additions & 3 deletions Source/cmake/OptionsWPE.cmake
Expand Up @@ -94,6 +94,7 @@ WEBKIT_OPTION_DEFINE(ENABLE_DOCUMENTATION "Whether to generate documentation." P
WEBKIT_OPTION_DEFINE(ENABLE_INTROSPECTION "Whether to enable GObject introspection." PUBLIC ON)
WEBKIT_OPTION_DEFINE(ENABLE_JOURNALD_LOG "Whether to enable journald logging" PUBLIC ON)
WEBKIT_OPTION_DEFINE(ENABLE_WPE_QT_API "Whether to enable support for the Qt5/QML plugin" PUBLIC ${ENABLE_DEVELOPER_MODE})
WEBKIT_OPTION_DEFINE(ENABLE_WPE_1_1_API "Whether to build WPE 1.1 instead of WPE 2.0" PUBLIC OFF)
WEBKIT_OPTION_DEFINE(USE_ANGLE_WEBGL "Whether to use ANGLE as WebGL backend." PUBLIC ON)
WEBKIT_OPTION_DEFINE(USE_AVIF "Whether to enable support for AVIF images." PUBLIC ${ENABLE_EXPERIMENTAL_FEATURES})
WEBKIT_OPTION_DEFINE(USE_JPEGXL "Whether to enable support for JPEG-XL images." PUBLIC ${ENABLE_EXPERIMENTAL_FEATURES})
Expand All @@ -103,13 +104,16 @@ WEBKIT_OPTION_DEFINE(USE_SOUP2 "Whether to enable usage of Soup 2 instead of Sou
WEBKIT_OPTION_DEFINE(USE_WOFF2 "Whether to enable support for WOFF2 Web Fonts." PUBLIC ON)

# Private options specific to the WPE port.
WEBKIT_OPTION_DEPEND(ENABLE_DOCUMENTATION ENABLE_INTROSPECTION)
WEBKIT_OPTION_DEFINE(USE_GSTREAMER_HOLEPUNCH "Whether to enable GStreamer holepunch" PRIVATE OFF)
WEBKIT_OPTION_DEFINE(USE_EXTERNAL_HOLEPUNCH "Whether to enable external holepunch" PRIVATE OFF)

WEBKIT_OPTION_DEPEND(ENABLE_DOCUMENTATION ENABLE_INTROSPECTION)
WEBKIT_OPTION_DEPEND(USE_ANGLE_WEBGL ENABLE_WEBGL)
WEBKIT_OPTION_DEPEND(ENABLE_WEBGL2 USE_ANGLE_WEBGL)
WEBKIT_OPTION_DEPEND(ENABLE_GPU_PROCESS USE_ANGLE_WEBGL)

WEBKIT_OPTION_CONFLICT(USE_SOUP2 ENABLE_WPE_1_1_API)

if (CMAKE_SYSTEM_NAME MATCHES "Linux")
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_BUBBLEWRAP_SANDBOX PUBLIC ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEMORY_SAMPLER PRIVATE ON)
Expand Down Expand Up @@ -155,11 +159,17 @@ if (USE_SOUP2)
set(SOUP_MINIMUM_VERSION 2.54.0)
set(SOUP_API_VERSION 2.4)
set(WPE_API_VERSION 1.0)
else ()
elseif (ENABLE_WPE_1_1_API)
set(SOUP_MINIMUM_VERSION 3.0.0)
set(SOUP_API_VERSION 3.0)
set(WPE_API_VERSION 1.1)
set(ENABLE_SERVER_PRECONNECT ON)
else ()
SET_AND_EXPOSE_TO_BUILD(ENABLE_2022_GLIB_API ON)
set(SOUP_MINIMUM_VERSION 3.0.0)
set(SOUP_API_VERSION 3.0)
set(WPE_API_VERSION 2.0)
set(ENABLE_SERVER_PRECONNECT ON)
endif ()
find_package(LibSoup ${SOUP_MINIMUM_VERSION})

Expand All @@ -173,8 +183,10 @@ endif ()

if (WPE_API_VERSION VERSION_EQUAL "1.0")
CALCULATE_LIBRARY_VERSIONS_FROM_LIBTOOL_TRIPLE(WEBKIT 22 0 19)
else ()
elseif (WPE_API_VERSION VERSION_EQUAL "1.1")
CALCULATE_LIBRARY_VERSIONS_FROM_LIBTOOL_TRIPLE(WEBKIT 3 0 3)
else ()
CALCULATE_LIBRARY_VERSIONS_FROM_LIBTOOL_TRIPLE(WEBKIT 0 0 0)
endif ()

set(CMAKE_C_VISIBILITY_PRESET hidden)
Expand Down

0 comments on commit b2a6414

Please sign in to comment.