diff options
author | Kent Hansen <kent.hansen@nokia.com> | 2011-08-16 10:50:00 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-08-29 10:16:01 +0200 |
commit | 9830cb8e5992a352ec6508491ab52e8f2a9da877 (patch) | |
tree | 9baa3969878a1e070c56c9a3a67143c2d96ee5d6 /bin/syncqt | |
parent | 13b3545e833f6175f686c9776e1510db3f3f11eb (diff) |
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 <private/v8.h>
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 <kent.hansen@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Diffstat (limited to 'bin/syncqt')
-rwxr-xr-x | bin/syncqt | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/bin/syncqt b/bin/syncqt index 4eab929b30..f28b2bf60a 100755 --- a/bin/syncqt +++ b/bin/syncqt @@ -33,7 +33,7 @@ $qtbasedir = dirname(dirname($0)) if (!$qtbasedir); $qtbasedir =~ s=\\=/=g if (defined $qtbasedir); # will be defined based on the modules sync.profile -our (%modules, %moduleheaders, %classnames, %mastercontent, %modulepris); +our (%modules, %moduleheaders, @allmoduleheadersprivate, %classnames, %mastercontent, %modulepris); # global variables (modified by options) my $isunix = 0; @@ -792,6 +792,8 @@ loadSyncProfile(\$basedir, \$out_basedir); @modules_to_sync = keys(%modules) if($#modules_to_sync == -1); +my %allmoduleheadersprivate = map { $_ => 1 } @allmoduleheadersprivate; + $isunix = checkUnix; #cache checkUnix # create path @@ -828,6 +830,9 @@ foreach my $lib (@modules_to_sync) { my $pathtoheaders = ""; $pathtoheaders = $moduleheaders{$lib} if ($moduleheaders{$lib}); + my $allheadersprivate = 0; + $allheadersprivate = 1 if $allmoduleheadersprivate{$lib}; + #information used after the syncing my $pri_install_classes = ""; my $pri_install_files = ""; @@ -955,7 +960,7 @@ foreach my $lib (@modules_to_sync) { my $header_copies = 0; #figure out if it is a public header my $public_header = $header; - if($public_header =~ /_p.h$/ || $public_header =~ /_pch.h$/) { + if($allheadersprivate || $public_header =~ /_p.h$/ || $public_header =~ /_pch.h$/) { $public_header = 0; } else { foreach (@ignore_for_master_contents) { |