From 9830cb8e5992a352ec6508491ab52e8f2a9da877 Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Tue, 16 Aug 2011 10:50:00 +0200 Subject: Add QtV8 library to QtBase This adds Aaron's copy of V8 to src/3rdparty/v8 (as a git submodule), and builds it as a "normal" Qt library (without any dependencies on Qt itself). The library can be added to a project with QT += v8-private V8 API headers are available as private includes, e.g. #include The API is private because we're exposing a third-party API directly, and we don't want to (and cannot) make source or binary compatibility guarantees for it. Since we want the V8 public API headers to be private headers in Qt, syncqt and sync.profile were extended to understand a new configuration option, the @allmoduleheadersprivate array, that tells syncqt whether all the library headers should be treated as private even though they don't follow the _p.h Qt convention. The V8 project files, patches and autotests are copied from the QtDeclarative repository. The next step after this commit is to remove QtDeclarative's copy of V8 and link with QtV8 instead. Task-number: QTBUG-20963 Change-Id: Ib8820362cdbc8fa662a5e97db841656cf38d1b62 Reviewed-on: http://codereview.qt.nokia.com/3092 Reviewed-by: Kent Hansen Reviewed-by: Lars Knoll --- configure | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) (limited to 'configure') diff --git a/configure b/configure index 0a18aafd8c..35ffeee6a0 100755 --- a/configure +++ b/configure @@ -708,6 +708,7 @@ CFG_PHONON_BACKEND=yes CFG_MULTIMEDIA=auto CFG_AUDIO_BACKEND=auto CFG_SVG=auto +CFG_V8=auto CFG_DECLARATIVE=auto CFG_DECLARATIVE_DEBUG=yes CFG_WEBKIT=auto # (yes|no|auto|debug) @@ -2123,6 +2124,17 @@ while [ "$#" -gt 0 ]; do fi fi ;; + v8) + if [ "$VAL" = "yes" ]; then + CFG_V8="yes" + else + if [ "$VAL" = "no" ]; then + CFG_V8="no" + else + UNKNOWN_OPT=yes + fi + fi + ;; declarative) if [ "$VAL" = "yes" ]; then CFG_DECLARATIVE="yes" @@ -3897,6 +3909,9 @@ fi -no-scripttools .... Do not build the QtScriptTools module. + -scripttools ....... Build the QtScriptTools module. + -no-v8 ............. Do not build the V8 module. + + -v8 ................ Build the V8 module. + -no-declarative ..... Do not build the declarative module. + -declarative ....... Build the declarative module. @@ -7618,9 +7633,19 @@ fi #fi +if [ "$CFG_V8" = "auto" ]; then + CFG_V8=yes +fi + +if [ "$CFG_V8" = "no" ]; then + QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_V8" +else + QT_CONFIG="$QT_CONFIG v8" +fi + if [ "$CFG_DECLARATIVE" = "yes" ]; then - if [ "$CFG_SCRIPT" = "no" -o "$CFG_GUI" = "no" ]; then - echo "Error: QtDeclarative was requested, but it can't be built due to QtScript or QtGui being disabled." + if [ "$CFG_V8" = "no" -o "$CFG_GUI" = "no" ]; then + echo "Error: QtDeclarative was requested, but it can't be built due to QtV8 or QtGui being disabled." exit 1 fi fi @@ -8670,6 +8695,7 @@ if [ "$CFG_WEBKIT" != "no" ] || [ "$CFG_SCRIPT" != "no" ]; then echo "JavaScriptCore JIT ..... $CFG_JAVASCRIPTCORE_JIT" fi fi +echo "V8 module .............. $CFG_V8" echo "Declarative module ..... $CFG_DECLARATIVE" if [ "$CFG_DECLARATIVE" = "yes" ]; then echo "Declarative debugging ...$CFG_DECLARATIVE_DEBUG" -- cgit v1.2.3