# -------------------------------------------------------------------
# Project file for the QtWebKit C++ APIs
#
# See 'Tools/qmake/README' for an overview of the build system
# -------------------------------------------------------------------

TEMPLATE = lib
TARGET = QtWebKit

DESTDIR = $${ROOT_BUILD_DIR}/lib

runSyncQt() # Generate forwarding headers for the QtWebKit API

load(features)

include(WebKit/WebKit.pri)

CONFIG += wtf

!v8:CONFIG += javascriptcore

CONFIG += webcore

!no_webkit2 {
    CONFIG += webkit2
    QT += declarative

    # Ensure that changes to the WebKit2 API will trigger a qmake of this
    # file, which in turn runs syncqt to update the forwarding headers.
    QMAKE_INTERNAL_INCLUDED_FILES *= WebKit2/Target.pri
}

QT += network
haveQt(5): QT += widgets printsupport

win32*:!win32-msvc* {
    # Make sure OpenGL libs are after the webcore lib so MinGW can resolve symbols
    contains(DEFINES, ENABLE_WEBGL=1)|contains(CONFIG, texmap): LIBS += $$QMAKE_LIBS_OPENGL
}

!static: DEFINES += QT_MAKEDLL

SOURCES += \
    $$PWD/WebKit/qt/WebCoreSupport/QtFallbackWebPopup.cpp \
    $$PWD/WebKit/qt/WebCoreSupport/QtWebComboBox.cpp \
    $$PWD/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp \
    $$PWD/WebKit/qt/WebCoreSupport/ContextMenuClientQt.cpp \
    $$PWD/WebKit/qt/WebCoreSupport/DragClientQt.cpp \
    $$PWD/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp \
    $$PWD/WebKit/qt/WebCoreSupport/EditorClientQt.cpp \
    $$PWD/WebKit/qt/WebCoreSupport/EditCommandQt.cpp \
    $$PWD/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp \
    $$PWD/WebKit/qt/WebCoreSupport/FrameNetworkingContextQt.cpp \
    $$PWD/WebKit/qt/WebCoreSupport/GeolocationPermissionClientQt.cpp \
    $$PWD/WebKit/qt/WebCoreSupport/InitWebCoreQt.cpp \
    $$PWD/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp \
    $$PWD/WebKit/qt/WebCoreSupport/InspectorServerQt.cpp \
    $$PWD/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.cpp \
    $$PWD/WebKit/qt/WebCoreSupport/PageClientQt.cpp \
    $$PWD/WebKit/qt/WebCoreSupport/PopupMenuQt.cpp \
    $$PWD/WebKit/qt/WebCoreSupport/QtPlatformPlugin.cpp \
    $$PWD/WebKit/qt/WebCoreSupport/SearchPopupMenuQt.cpp \
    $$PWD/WebKit/qt/WebCoreSupport/TextCheckerClientQt.cpp \
    $$PWD/WebKit/qt/WebCoreSupport/PlatformStrategiesQt.cpp

HEADERS += \
    $$PWD/WebKit/qt/WebCoreSupport/InitWebCoreQt.h \
    $$PWD/WebKit/qt/WebCoreSupport/InspectorServerQt.h \
    $$PWD/WebKit/qt/WebCoreSupport/QtFallbackWebPopup.h \
    $$PWD/WebKit/qt/WebCoreSupport/QtWebComboBox.h \
    $$PWD/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h \
    $$PWD/WebKit/qt/WebCoreSupport/FrameNetworkingContextQt.h \
    $$PWD/WebKit/qt/WebCoreSupport/GeolocationPermissionClientQt.h \
    $$PWD/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.h \
    $$PWD/WebKit/qt/WebCoreSupport/PageClientQt.h \
    $$PWD/WebKit/qt/WebCoreSupport/QtPlatformPlugin.h \
    $$PWD/WebKit/qt/WebCoreSupport/PopupMenuQt.h \
    $$PWD/WebKit/qt/WebCoreSupport/SearchPopupMenuQt.h \
    $$PWD/WebKit/qt/WebCoreSupport/TextCheckerClientQt.h \
    $$PWD/WebKit/qt/WebCoreSupport/PlatformStrategiesQt.h

contains(DEFINES, ENABLE_VIDEO=1) {
    !contains(DEFINES, WTF_USE_QTKIT=1):!contains(DEFINES, WTF_USE_GSTREAMER=1):contains(DEFINES, WTF_USE_QT_MULTIMEDIA=1) {
        HEADERS += $$PWD/WebKit/qt/WebCoreSupport/FullScreenVideoWidget.h
        SOURCES += $$PWD/WebKit/qt/WebCoreSupport/FullScreenVideoWidget.cpp
    }

    contains(DEFINES, WTF_USE_QTKIT=1) | contains(DEFINES, WTF_USE_GSTREAMER=1) | contains(DEFINES, WTF_USE_QT_MULTIMEDIA=1) {
        HEADERS += $$PWD/WebKit/qt/WebCoreSupport/FullScreenVideoQt.h
        SOURCES += $$PWD/WebKit/qt/WebCoreSupport/FullScreenVideoQt.cpp
    }

    contains(DEFINES, WTF_USE_QTKIT=1) {
        INCLUDEPATH += \
            $$PWD/WebCore/platform/qt/ \
            $$PWD/WebCore/platform/mac/ \
            $$PWD/../WebKitLibraries/

        DEFINES += NSGEOMETRY_TYPES_SAME_AS_CGGEOMETRY_TYPES

        contains(CONFIG, "x86") {
            DEFINES+=NS_BUILD_32_LIKE_64
        }

        HEADERS += \
            $$PWD/WebKit/qt/WebCoreSupport/WebSystemInterface.h \
            $$PWD/WebKit/qt/WebCoreSupport/QTKitFullScreenVideoHandler.h

        OBJECTIVE_SOURCES += \
            $$PWD/WebKit/qt/WebCoreSupport/WebSystemInterface.mm \
            $$PWD/WebKit/qt/WebCoreSupport/QTKitFullScreenVideoHandler.mm

        LIBS += -framework Security -framework IOKit

        # We can know the Mac OS version by using the Darwin major version
        DARWIN_VERSION = $$split(QMAKE_HOST.version, ".")
        DARWIN_MAJOR_VERSION = $$first(DARWIN_VERSION)
        equals(DARWIN_MAJOR_VERSION, "11") {
            LIBS += $${ROOT_WEBKIT_DIR}/WebKitLibraries/libWebKitSystemInterfaceLion.a
        } else:equals(DARWIN_MAJOR_VERSION, "10") {
            LIBS += $${ROOT_WEBKIT_DIR}/WebKitLibraries/libWebKitSystemInterfaceSnowLeopard.a
        } else:equals(DARWIN_MAJOR_VERSION, "9") {
            LIBS += $${ROOT_WEBKIT_DIR}/WebKitLibraries/libWebKitSystemInterfaceLeopard.a
        }
    }
}

contains(DEFINES, ENABLE_ICONDATABASE=1) {
    HEADERS += \
        $$PWD/WebCore/loader/icon/IconDatabaseClient.h \
        $$PWD/WebKit/qt/WebCoreSupport/IconDatabaseClientQt.h

    SOURCES += \
        $$PWD/WebKit/qt/WebCoreSupport/IconDatabaseClientQt.cpp
}

contains(DEFINES, ENABLE_DEVICE_ORIENTATION=1) {
    HEADERS += \
        $$PWD/WebKit/qt/WebCoreSupport/DeviceMotionClientQt.h \
        $$PWD/WebKit/qt/WebCoreSupport/DeviceMotionProviderQt.h \
        $$PWD/WebKit/qt/WebCoreSupport/DeviceOrientationClientQt.h \
        $$PWD/WebKit/qt/WebCoreSupport/DeviceOrientationClientMockQt.h \
        $$PWD/WebKit/qt/WebCoreSupport/DeviceOrientationProviderQt.h

    SOURCES += \
        $$PWD/WebKit/qt/WebCoreSupport/DeviceMotionClientQt.cpp \
        $$PWD/WebKit/qt/WebCoreSupport/DeviceMotionProviderQt.cpp \
        $$PWD/WebKit/qt/WebCoreSupport/DeviceOrientationClientQt.cpp \
        $$PWD/WebKit/qt/WebCoreSupport/DeviceOrientationClientMockQt.cpp \
        $$PWD/WebKit/qt/WebCoreSupport/DeviceOrientationProviderQt.cpp
}

contains(DEFINES, ENABLE_GEOLOCATION=1) {
     haveQt(5): QT += location

     HEADERS += \
        $$PWD/WebKit/qt/WebCoreSupport/GeolocationClientQt.h
     SOURCES += \
        $$PWD/WebKit/qt/WebCoreSupport/GeolocationClientQt.cpp
}

contains(CONFIG, texmap) {
    DEFINES += WTF_USE_TEXTURE_MAPPER=1
}


# ------------- Install rules -------------

modulefile.files = $$QT.webkit.modulefile
mkspecs = $$[QMAKE_MKSPECS]
mkspecs = $$split(mkspecs, :)
modulefile.path = $$last(mkspecs)/modules
INSTALLS += modulefile

# Syncqt has already run at this point, so we can use headers.pri
# as a basis for our install-rules
HEADERS_PRI = $${ROOT_BUILD_DIR}/include/$$TARGET/headers.pri
!include($$HEADERS_PRI): error(Failed to resolve install headers)

headers.files = $$SYNCQT.HEADER_FILES $$SYNCQT.HEADER_CLASSES
!isEmpty(INSTALL_HEADERS): headers.path = $$INSTALL_HEADERS/$${TARGET}
else: headers.path = $$[QT_INSTALL_HEADERS]/$${TARGET}
INSTALLS += headers

!isEmpty(INSTALL_LIBS): target.path = $$INSTALL_LIBS
else: target.path = $$[QT_INSTALL_LIBS]
INSTALLS += target

unix {
    CONFIG += create_pc create_prl
    QMAKE_PKGCONFIG_LIBDIR = $$target.path
    QMAKE_PKGCONFIG_INCDIR = $$headers.path
    QMAKE_PKGCONFIG_DESTDIR = pkgconfig
    lib_replace.match = $$re_escape($$DESTDIR)
    lib_replace.replace = $$[QT_INSTALL_LIBS]
    QMAKE_PKGCONFIG_INSTALL_REPLACE += lib_replace
}

mac {
    !static:contains(QT_CONFIG, qt_framework):!CONFIG(webkit_no_framework) {
        !build_pass {
            message("Building QtWebKit as a framework, as that's how Qt was built. You can")
            message("override this by passing CONFIG+=webkit_no_framework to build-webkit.")
        } else {
            isEmpty(QT_SOURCE_TREE):debug_and_release:TARGET = $$qtLibraryTarget($$TARGET)
        }

        CONFIG += lib_bundle qt_no_framework_direct_includes qt_framework

        # For debug_and_release configs, only copy headers in release
        !debug_and_release|if(build_pass:CONFIG(release, debug|release)) {
            FRAMEWORK_HEADERS.version = Versions
            FRAMEWORK_HEADERS.files = $${headers.files}
            FRAMEWORK_HEADERS.path = Headers
            QMAKE_BUNDLE_DATA += FRAMEWORK_HEADERS
        }
    }

    QMAKE_LFLAGS_SONAME = "$${QMAKE_LFLAGS_SONAME}$${DESTDIR}$${QMAKE_DIR_SEP}"
}

plugin_backend_xlib {
    CONFIG *= link_pkgconfig
    PKGCONFIG += x11
}

linux-g++*: {
    PRE_TARGETDEPS += $$PWD/qtwebkit-export.map
    QMAKE_LFLAGS += -Wl,--version-script=$$PWD/qtwebkit-export.map
}
