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 $copy_headers = 0;
my $create_uic_class_map = 0; my $create_uic_class_map = 0;
my $create_private_headers = 1; my $create_private_headers = 1;
my $minimal = 0;
my @modules_to_sync ; my @modules_to_sync ;
$force_relative = 1 if ( -d "/System/Library/Frameworks" ); $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 " -relative Force relative symlinks (default: " . ($force_relative ? "yes" : "no") . ")\n";
print " -windows Force platform to Windows (default: " . ($force_win ? "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 " -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 " -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 " -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"; print " -quiet Only report problems, not activity (same as -verbose 0)\n";
@ -661,6 +663,9 @@ while ( @ARGV ) {
} elsif($arg eq "-verbose") { } elsif($arg eq "-verbose") {
$var = "verbose"; $var = "verbose";
$val = shift @ARGV; $val = shift @ARGV;
} elsif($arg eq "-minimal") {
$var = "minimal";
$val = "yes";
} elsif($arg eq "-private") { } elsif($arg eq "-private") {
$var = "create_private_headers"; $var = "create_private_headers";
$val = "yes"; $val = "yes";
@ -727,6 +732,12 @@ while ( @ARGV ) {
} elsif($force_relative) { } elsif($force_relative) {
$force_relative--; $force_relative--;
} }
} elsif ($var eq "minimal") {
if($val eq "yes") {
$minimal++;
} elsif($minimal) {
$minimal--;
}
} elsif ($var eq "module") { } elsif ($var eq "module") {
print "module :$val:\n" if($verbose_level); print "module :$val:\n" if($verbose_level);
die "No such module: $val" unless(defined $modules{$val}); die "No such module: $val" unless(defined $modules{$val});
@ -918,7 +929,7 @@ foreach my $lib (@modules_to_sync) {
my $iheader = $subdir . "/" . $header; my $iheader = $subdir . "/" . $header;
$iheader =~ s/^\Q$basedir\E/$out_basedir/ if ($shadow); $iheader =~ s/^\Q$basedir\E/$out_basedir/ if ($shadow);
my @classes = $public_header ? classNames($iheader) : (); my @classes = $public_header && !$minimal ? classNames($iheader) : ();
if($showonly) { if($showonly) {
print "$header [$lib]\n"; print "$header [$lib]\n";
foreach(@classes) { foreach(@classes) {
@ -1024,7 +1035,7 @@ foreach my $lib (@modules_to_sync) {
} }
} }
unless($showonly) { unless ($showonly || $minimal) {
# create deprecated headers # create deprecated headers
my $first = 1; my $first = 1;
while (my ($header, $include) = each %{$deprecatedheaders{$lib}}) { while (my ($header, $include) = each %{$deprecatedheaders{$lib}}) {

2
configure vendored
View File

@ -3540,7 +3540,7 @@ fi
# symlink includes # symlink includes
if [ -n "$PERL" ] && [ -x "$relpath/bin/syncqt" ]; then if [ -n "$PERL" ] && [ -x "$relpath/bin/syncqt" ]; then
"$outpath/bin/syncqt" "$relpath" || exit 1 "$outpath/bin/syncqt" -minimal "$relpath" || exit 1
fi fi
# $1: input variable name (awk regexp) # $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 for %%C in (cl.exe icl.exe g++.exe perl.exe) do set %%C=%%~$PATH:C
set nosyncqt=
if not exist include ( if not exist include (
if "%perl.exe%" == "" ( if "%perl.exe%" == "" (
echo Perl not found in PATH. Aborting. >&2 echo Perl not found in PATH. Aborting. >&2
@ -58,9 +57,8 @@ if not exist include (
md mkspecs md mkspecs
if errorlevel 1 goto exit 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 if errorlevel 1 goto exit
set nosyncqt=-no-syncqt
) )
if not exist src\corelib\global\qconfig.h ( if not exist src\corelib\global\qconfig.h (
@ -116,7 +114,7 @@ if errorlevel 1 (cd ..\.. & exit /b 1)
cd ..\.. cd ..\..
:conf :conf
configure.exe -srcdir %QTSRC% %* %nosyncqt% configure.exe -srcdir %QTSRC% %*
goto exit goto exit
:sconf :sconf

View File

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