diff options
Diffstat (limited to 'src')
m--------- | src/3rdparty | 0 | ||||
-rw-r--r-- | src/core/core.pro | 8 | ||||
-rw-r--r-- | src/core/core_gyp_generator.pro | 19 | ||||
-rw-r--r-- | src/core/core_module.pro | 15 | ||||
-rw-r--r-- | src/core/qtwebengine.gypi | 3 | ||||
-rw-r--r-- | src/process/process.pro | 10 | ||||
-rw-r--r-- | src/webengine/webengine.pro | 10 | ||||
-rw-r--r-- | src/webenginewidgets/webenginewidgets.pro | 19 |
8 files changed, 30 insertions, 54 deletions
diff --git a/src/3rdparty b/src/3rdparty -Subproject 9001f7258c97c6fe61d6362aa3431af7128f921 +Subproject 95854d944fb9195e2b2871367726f69cea9113d diff --git a/src/core/core.pro b/src/core/core.pro index c5fe808a6..5f0c3c29d 100644 --- a/src/core/core.pro +++ b/src/core/core.pro @@ -12,13 +12,17 @@ gyp_configure_target.depends = gyp_configure_host # gyp_run.pro calls gyp through gyp_qtwebengine on the qmake step, and ninja on the make step. gyp_run.file = gyp_run.pro - gyp_run.depends = core_gyp_generator gyp_configure_host gyp_configure_target +# This will take the compile output of ninja, and link+deploy the final binary. +core_module.file = core_module.pro +core_module.depends = gyp_run + SUBDIRS += core_gyp_generator \ gyp_configure_host \ gyp_configure_target \ - gyp_run + gyp_run \ + core_module REPACK_DIR = $$getOutDir()/$$getConfigDir()/gen/repack locales.files = $$REPACK_DIR/qtwebengine_locales diff --git a/src/core/core_gyp_generator.pro b/src/core/core_gyp_generator.pro index a75eb733a..25e105da6 100644 --- a/src/core/core_gyp_generator.pro +++ b/src/core/core_gyp_generator.pro @@ -7,12 +7,8 @@ GYPINCLUDES += qtwebengine.gypi TEMPLATE = lib -TARGET = Qt5WebEngineCore - -# gyp sets the default install name to /usr/local/lib and we need the module libraries to -# know its install_name so that they can let the dynamic linker load the core library. -# FIXME: Remove this and put it in qtwebengine.gypi once we can use a relative path to @loader_path. -macx: GYP_DYLIB_INSTALL_NAME_BASE = $$getOutDir()/$$getConfigDir() +# This must match the target name in core_module.pro to allow it to do the linking part. +TARGET = QtWebEngineCore QT += qml quick QT_PRIVATE += qml-private quick-private gui-private core-private @@ -104,14 +100,3 @@ HEADERS = \ yuv_video_node.h \ qrc_protocol_handler_qt.h \ url_request_qrc_job_qt.h - -VERSION = $$MODULE_VERSION -win32:CONFIG += skip_target_version_ext -load(resolve_target) -TARGET_NAME = $$basename(QMAKE_RESOLVED_TARGET) -TARGET_NAME = $$replace(TARGET_NAME, .$${VERSION},) - -target.files = $$getOutDir()/$$getConfigDir()/lib/$$TARGET_NAME -target.CONFIG += no_check_exist # Trust us, qmake... -target.path = $$[QT_INSTALL_LIBS] -INSTALLS += target diff --git a/src/core/core_module.pro b/src/core/core_module.pro new file mode 100644 index 000000000..049bd0596 --- /dev/null +++ b/src/core/core_module.pro @@ -0,0 +1,15 @@ +TARGET = QtWebEngineCore +MODULE = webenginecore + +# Look for linking information produced by gyp for our target according to core_generated.gyp +!include($$getOutDir()/$$getConfigDir()/$${TARGET}_linking.pri) { + error("Could not find the linking information that gyp should have generated.") +} + +# We distribute the module binary but headers are only available in-tree. +CONFIG += no_module_headers +load(qt_module) + +# Using -Wl,-Bsymbolic-functions seems to confuse the dynamic linker +# and doesn't let Chromium get access to libc symbols through dlsym. +CONFIG -= bsymbolic_functions diff --git a/src/core/qtwebengine.gypi b/src/core/qtwebengine.gypi index 20cac744a..0a179ea26 100644 --- a/src/core/qtwebengine.gypi +++ b/src/core/qtwebengine.gypi @@ -1,4 +1,7 @@ { + # This asks gyp to generate a .pri file with linking + # information so that qmake can take care of the deployment. + 'let_qmake_do_the_linking': 1, 'dependencies': [ '<(chromium_src_dir)/content/content.gyp:content', '<(chromium_src_dir)/content/content.gyp:content_app_browser', diff --git a/src/process/process.pro b/src/process/process.pro index cc68e3dda..a9f5d183f 100644 --- a/src/process/process.pro +++ b/src/process/process.pro @@ -1,15 +1,9 @@ TARGET = $$QTWEBENGINEPROCESS_NAME TEMPLATE = app -macx { - LIBPATH = $$getOutDir()/$$getConfigDir() - CONFIG -= app_bundle -} else:LIBPATH = $$getOutDir()/$$getConfigDir()/lib -LIBS_PRIVATE += -L$$LIBPATH -lQt5WebEngineCore -QMAKE_RPATHDIR += $$LIBPATH +QT_PRIVATE += webenginecore -qnx: QMAKE_RPATHLINKDIR += $${QNX_DIR}/$${QNX_CPUDIR}/usr/lib/qt5/lib -else: cross_compile: QMAKE_RPATHLINKDIR += $$[QT_INSTALL_LIBS] +CONFIG -= app_bundle load(qt_build_paths) DESTDIR = $$MODULE_BASE_OUTDIR/libexec diff --git a/src/webengine/webengine.pro b/src/webengine/webengine.pro index 062780469..cd175bfcc 100644 --- a/src/webengine/webengine.pro +++ b/src/webengine/webengine.pro @@ -4,18 +4,10 @@ TARGET = QtWebEngine DEFINES += QT_BUILD_WEBENGINE_LIB QT += qml quick -QT_PRIVATE += qml-private quick-private gui-private core-private +QT_PRIVATE += webenginecore qml-private quick-private gui-private core-private INCLUDEPATH += $$PWD api ../core -# FIXME: all this should eventually be turned into QT += webenginecore -macx:LIBPATH = $$getOutDir()/$$getConfigDir() -else:LIBPATH = $$getOutDir()/$$getConfigDir()/lib -LIBS_PRIVATE += -lQt5WebEngineCore -L$$LIBPATH -QMAKE_RPATHDIR += $$LIBPATH - -#DESTDIR = $$LIBPATH - SOURCES = \ api/qquickwebengineloadrequest.cpp \ api/qquickwebenginenewviewrequest.cpp \ diff --git a/src/webenginewidgets/webenginewidgets.pro b/src/webenginewidgets/webenginewidgets.pro index a871586ae..c97e4b61e 100644 --- a/src/webenginewidgets/webenginewidgets.pro +++ b/src/webenginewidgets/webenginewidgets.pro @@ -4,15 +4,7 @@ TARGET = QtWebEngineWidgets DEFINES += QT_BUILD_WEBENGINEWIDGETS_LIB QT += widgets network -QT_PRIVATE += widgets-private gui-private network-private core-private - -# FIXME: all this should eventually be turned into QT += webenginecore -macx:LIBPATH = $$getOutDir()/$$getConfigDir() -else:LIBPATH = $$getOutDir()/$$getConfigDir()/lib -LIBS_PRIVATE += -L$$LIBPATH -lQt5WebEngineCore -QMAKE_RPATHDIR += $$LIBPATH - -DESTDIR = $$LIBPATH +QT_PRIVATE += webenginecore widgets-private gui-private network-private core-private INCLUDEPATH += $$PWD api ../core @@ -33,12 +25,3 @@ HEADERS = \ render_widget_host_view_qt_delegate_webpage.h load(qt_module) - -# Some binutils versions configured for cross compilation only support -# sysroot-relative rpath values and can't use the rpath specified above. -# Instead, append an appropriate rpath-link to lib_qt_webenginewidgets.pri. -cross_compile:!build_pass { - local_build_rpath_link = "QMAKE_RPATHLINKDIR += $$LIBPATH" - # MODULE_PRI is defined in qt_module_pris.prf - write_file($$MODULE_PRI, local_build_rpath_link, append) -} |