mirror of https://github.com/vitalif/phantomjs
Make qphantom platform plugin static and adjust build scripts
parent
f37c7e29e0
commit
cef6c84e00
129
build.sh
129
build.sh
|
@ -2,9 +2,6 @@
|
|||
|
||||
set -e
|
||||
|
||||
QT_CFG=''
|
||||
|
||||
BUILD_CONFIRM=0
|
||||
COMPILE_JOBS=1
|
||||
MAKEFLAGS_JOBS=''
|
||||
|
||||
|
@ -34,16 +31,9 @@ if [[ "$COMPILE_JOBS" -gt 8 ]]; then
|
|||
fi
|
||||
|
||||
SILENT=
|
||||
QT_CFG=
|
||||
QTCORE=bundled
|
||||
QTWEBKIT=bundled
|
||||
|
||||
until [[ -z "$1" ]]; do
|
||||
case $1 in
|
||||
(--qt-config)
|
||||
shift
|
||||
QT_CFG+=" $1"
|
||||
shift;;
|
||||
(--qmake-args)
|
||||
shift
|
||||
QMAKE_ARGS=$1
|
||||
|
@ -52,53 +42,18 @@ until [[ -z "$1" ]]; do
|
|||
shift
|
||||
COMPILE_JOBS=$1
|
||||
shift;;
|
||||
(--confirm)
|
||||
BUILD_CONFIRM=1
|
||||
shift;;
|
||||
(--silent)
|
||||
SILENT=silent
|
||||
shift;;
|
||||
(--qt=system)
|
||||
QTCORE=system
|
||||
shift;;
|
||||
(--qtwebkit=system)
|
||||
QTCORE=system
|
||||
QTWEBKIT=system
|
||||
shift;;
|
||||
|
||||
(--*=system | --*=bundled)
|
||||
QT_CFG+=" $1"
|
||||
shift;;
|
||||
|
||||
"--help")
|
||||
cat <<EOF
|
||||
Usage: $0 [--qt-config CONFIG] [--jobs NUM]
|
||||
Usage: $0 [--jobs NUM]
|
||||
|
||||
--confirm Do not prompt for confirmation of this
|
||||
very slow build process.
|
||||
--silent Produce less verbose output.
|
||||
--jobs NUM How many parallel compile jobs to use.
|
||||
Defaults to the number of CPU cores you have,
|
||||
with a maximum of 8.
|
||||
|
||||
--qtdeps=system|bundled Use system-provided | bundled libraries for
|
||||
all of Qt's dependencies. EXPERIMENTAL.
|
||||
--LIBRARY=system|bundled Use system-provided | bundled LIBRARY.
|
||||
See src/qt/preconfig.sh for all possible
|
||||
LIBRARY values. EXPERIMENTAL.
|
||||
--qt-config OPTION Specify extra config options to be used when
|
||||
configuring Qt.
|
||||
|
||||
--qt=system Use system-provided Qt core libraries.
|
||||
EXPERIMENTAL, build may not succeed.
|
||||
Mutually exclusive with --qt-config and all
|
||||
--LIBRARY= / --qtdeps= options.
|
||||
|
||||
--qtwebkit=system Use system-provided QtWebkit.
|
||||
EXPERIMENTAL, build may not succeed.
|
||||
Implies --system-qt.
|
||||
Mutually exclusive with --qt-config and all
|
||||
--LIBRARY= / --qtdeps= options.
|
||||
EOF
|
||||
exit 0
|
||||
;;
|
||||
|
@ -108,89 +63,17 @@ EOF
|
|||
esac
|
||||
done
|
||||
|
||||
if [[ "$QTCORE" = system ]] && [[ -n "$QT_CFG" ]]; then
|
||||
echo "$0: --qt=system prevents fine-tuning the Qt configuration" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ "$BUILD_CONFIRM" -eq 0 ]]; then
|
||||
cat << EOF
|
||||
----------------------------------------
|
||||
WARNING
|
||||
----------------------------------------
|
||||
|
||||
Building PhantomJS from source takes a very long time, anywhere from 30
|
||||
minutes to several hours (depending on the machine configuration).
|
||||
We recommend you use the premade binary packages on supported operating
|
||||
systems.
|
||||
|
||||
For details, please go the the web site: http://phantomjs.org/download.html.
|
||||
|
||||
EOF
|
||||
|
||||
echo "Do you want to continue (y/n)?"
|
||||
read continue
|
||||
if [[ "$continue" != "y" ]]; then
|
||||
exit 1
|
||||
fi
|
||||
echo
|
||||
echo
|
||||
fi
|
||||
|
||||
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
|
||||
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
|
||||
UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
|
||||
|
||||
MAKE_S=""
|
||||
if [[ "$SILENT" == "silent" ]]; then
|
||||
MAKE_S="-s"
|
||||
QT_CFG+=" --silent"
|
||||
fi
|
||||
|
||||
echo "System architecture... ($UNAME_SYSTEM $UNAME_RELEASE $UNAME_MACHINE)"
|
||||
echo
|
||||
|
||||
if [[ "$QTCORE" == "bundled" ]]; then
|
||||
export QMAKE=$PWD/src/qt/qtbase/bin/qmake
|
||||
( cd src/qt && ./preconfig.sh $QTDEPLIBS $QT_CFG )
|
||||
|
||||
echo
|
||||
echo "Building Qt..."
|
||||
echo
|
||||
( cd src/qt/qtbase && make -j$COMPILE_JOBS $MAKE_S )
|
||||
else
|
||||
export QMAKE=qmake
|
||||
# some Linux distros (e.g. Debian) allow you to parallel-install
|
||||
# Qt4 and Qt5, using this environment variable to declare which
|
||||
# one you want
|
||||
export QT_SELECT=qt5
|
||||
fi
|
||||
|
||||
if [[ "$QTWEBKIT" == "bundled" ]]; then
|
||||
echo
|
||||
echo "Building QtWebkit..."
|
||||
echo
|
||||
if grep -qEe '-qt-sql-sqlite\>' src/qt/qtbase/config.status; then
|
||||
export SQLITE3SRCDIR=$PWD/src/qt/qtbase/src/3rdparty/sqlite/
|
||||
fi
|
||||
|
||||
# By default, suppress video and audio-related features.
|
||||
# They can be reactivated with e.g.
|
||||
# --qmake-args WEBKIT_CONFIG+='use_gstreamer video'
|
||||
WEBKIT_DISABLE=
|
||||
WEBKIT_DISABLE+=' use_glib'
|
||||
WEBKIT_DISABLE+=' use_gstreamer'
|
||||
WEBKIT_DISABLE+=' use_gstreamer010'
|
||||
WEBKIT_DISABLE+=' use_native_fullscreen_video'
|
||||
WEBKIT_DISABLE+=' legacy_web_audio'
|
||||
WEBKIT_DISABLE+=' web_audio'
|
||||
WEBKIT_DISABLE+=' video'
|
||||
WEBKIT_DISABLE+=' gamepad'
|
||||
|
||||
( cd src/qt/qtwebkit &&
|
||||
$QMAKE "WEBKIT_CONFIG -= $WEBKIT_DISABLE" $QMAKE_ARGS &&
|
||||
make -j$COMPILE_JOBS $MAKE_S )
|
||||
fi
|
||||
export QMAKE=qmake
|
||||
# some Linux distros (e.g. Debian) allow you to parallel-install
|
||||
# Qt4 and Qt5, using this environment variable to declare which
|
||||
# one you want
|
||||
export QT_SELECT=qt5
|
||||
|
||||
echo
|
||||
echo "Building main PhantomJS application..."
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
TEMPLATE = subdirs
|
||||
CONFIG += ordered
|
||||
SUBDIRS += src/phantomjs.pro
|
||||
SUBDIRS += src/qphantom/phantom.pro src/phantomjs.pro
|
||||
|
|
|
@ -40,6 +40,9 @@
|
|||
#include <QSslSocket>
|
||||
#include <QIcon>
|
||||
|
||||
#include <QtPlugin>
|
||||
Q_IMPORT_PLUGIN(PhantomIntegrationPlugin)
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
char **new_argv = (char**) malloc(sizeof(char*) * (3+argc));
|
||||
|
|
|
@ -8,15 +8,14 @@ TARGET = phantomjs
|
|||
QT += network webkitwidgets printsupport
|
||||
CONFIG += console
|
||||
|
||||
QT += platformsupport-private
|
||||
LIBS += ../bin/libqphantom.a
|
||||
|
||||
DESTDIR = ../bin
|
||||
|
||||
RESOURCES = phantomjs.qrc \
|
||||
ghostdriver/ghostdriver.qrc
|
||||
|
||||
!winrt:!win32: {
|
||||
QTPLUGIN += qphantom
|
||||
}
|
||||
|
||||
HEADERS += \
|
||||
phantom.h \
|
||||
callback.h \
|
||||
|
|
|
@ -2,18 +2,15 @@ TEMPLATE = lib
|
|||
TARGET = qphantom
|
||||
DESTDIR = ../../bin
|
||||
|
||||
CONFIG += plugin
|
||||
CONFIG += qpa/genericunixfontdatabase
|
||||
CONFIG += plugin static
|
||||
|
||||
PLUGIN_TYPE = platforms
|
||||
PLUGIN_CLASS_NAME = PhantomIntegrationPlugin
|
||||
|
||||
QT += core-private gui-private platformsupport-private
|
||||
QT += platformsupport-private
|
||||
|
||||
SOURCES = main.cpp \
|
||||
SOURCES += main.cpp \
|
||||
phantomintegration.cpp \
|
||||
phantombackingstore.cpp
|
||||
HEADERS = phantomintegration.h \
|
||||
HEADERS += phantomintegration.h \
|
||||
phantombackingstore.h
|
||||
|
||||
OTHER_FILES += phantom.json
|
||||
|
|
Loading…
Reference in New Issue