introduce -minimal mode to syncqt and use it for bootstrapping

the bootstrap does not need CamelCase includes, deprecated headers and
whatnot, so just don't do it. the full thing will be run on qtbase by
qmake.

Change-Id: Idffdd4750a73574c8c32ee75d00080abfe37e03c
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
This commit is contained in:
Oswald Buddenhagen 2012-08-31 16:33:33 +02:00 committed by Qt by Nokia
parent 8df98b43be
commit 8d97eb298d
4 changed files with 17 additions and 7 deletions

View File

@ -102,6 +102,7 @@ my $check_includes = 0;
my $copy_headers = 0;
my $create_uic_class_map = 0;
my $create_private_headers = 1;
my $minimal = 0;
my @modules_to_sync ;
$force_relative = 1 if ( -d "/System/Library/Frameworks" );
@ -125,6 +126,7 @@ sub showUsage
print " -relative Force relative symlinks (default: " . ($force_relative ? "yes" : "no") . ")\n";
print " -windows Force platform to Windows (default: " . ($force_win ? "yes" : "no") . ")\n";
print " -showonly Show action but not perform (default: " . ($showonly ? "yes" : "no") . ")\n";
print " -minimal Do not create CamelCase headers (default: " . ($minimal ? "yes" : "no") . ")\n";
print " -outdir <PATH> Specify output directory for sync (default: $out_basedir)\n";
print " -qtdir <PATH> Set the path to QtBase (detected: " . (defined $qtbasedir ? $qtbasedir : "-none-") . ")\n";
print " -quiet Only report problems, not activity (same as -verbose 0)\n";
@ -661,6 +663,9 @@ while ( @ARGV ) {
} elsif($arg eq "-verbose") {
$var = "verbose";
$val = shift @ARGV;
} elsif($arg eq "-minimal") {
$var = "minimal";
$val = "yes";
} elsif($arg eq "-private") {
$var = "create_private_headers";
$val = "yes";
@ -727,6 +732,12 @@ while ( @ARGV ) {
} elsif($force_relative) {
$force_relative--;
}
} elsif ($var eq "minimal") {
if($val eq "yes") {
$minimal++;
} elsif($minimal) {
$minimal--;
}
} elsif ($var eq "module") {
print "module :$val:\n" if($verbose_level);
die "No such module: $val" unless(defined $modules{$val});
@ -918,7 +929,7 @@ foreach my $lib (@modules_to_sync) {
my $iheader = $subdir . "/" . $header;
$iheader =~ s/^\Q$basedir\E/$out_basedir/ if ($shadow);
my @classes = $public_header ? classNames($iheader) : ();
my @classes = $public_header && !$minimal ? classNames($iheader) : ();
if($showonly) {
print "$header [$lib]\n";
foreach(@classes) {
@ -1024,7 +1035,7 @@ foreach my $lib (@modules_to_sync) {
}
}
unless($showonly) {
unless ($showonly || $minimal) {
# create deprecated headers
my $first = 1;
while (my ($header, $include) = each %{$deprecatedheaders{$lib}}) {

2
configure vendored
View File

@ -3540,7 +3540,7 @@ fi
# symlink includes
if [ -n "$PERL" ] && [ -x "$relpath/bin/syncqt" ]; then
"$outpath/bin/syncqt" "$relpath" || exit 1
"$outpath/bin/syncqt" -minimal "$relpath" || exit 1
fi
# $1: input variable name (awk regexp)

View File

@ -48,7 +48,6 @@ echo Please wait while bootstrapping configure ...
for %%C in (cl.exe icl.exe g++.exe perl.exe) do set %%C=%%~$PATH:C
set nosyncqt=
if not exist include (
if "%perl.exe%" == "" (
echo Perl not found in PATH. Aborting. >&2
@ -58,9 +57,8 @@ if not exist include (
md mkspecs
if errorlevel 1 goto exit
)
perl %QTSRC%bin\syncqt -outdir %QTDIR% %QTSRC%
perl %QTSRC%bin\syncqt -minimal -outdir %QTDIR% %QTSRC%
if errorlevel 1 goto exit
set nosyncqt=-no-syncqt
)
if not exist src\corelib\global\qconfig.h (
@ -116,7 +114,7 @@ if errorlevel 1 (cd ..\.. & exit /b 1)
cd ..\..
:conf
configure.exe -srcdir %QTSRC% %* %nosyncqt%
configure.exe -srcdir %QTSRC% %*
goto exit
:sconf

View File

@ -3398,6 +3398,7 @@ void Configure::generateHeaders()
cout << "Running syncqt..." << endl;
QStringList args;
args += buildPath + "/bin/syncqt.bat";
args += "-minimal";
args += sourcePath;
int retc = Environment::execute(args, QStringList(), QStringList());
if (retc) {