syncqt: fix fallback of -builddir

it needs to fall back to -outdir if only the latter is specified, as
otherwise funny things will happen.

this didn't affect the calls in qt_module_headers.prf (both options
used) and the unix configure script (neither option used), but it
affected configure.bat, and possible callers outside qt's build system,
which apparently includes our packaging scripts.

amends ede6c44756.

Task-number: QTBUG-66626
Change-Id: I08633033c04152616545501490c9b3fb939cab6c
Reviewed-by: Lionel CHAZALLON <longchair@hotmail.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
This commit is contained in:
Oswald Buddenhagen 2018-02-27 19:51:39 +01:00
parent 7f504283ef
commit 3a32ad7859

View File

@ -76,7 +76,7 @@ sub normalizePath {
# set output basedir to be where ever syncqt is run from
our $out_basedir = getcwd();
normalizePath(\$out_basedir);
our $build_basedir = $out_basedir;
our $build_basedir;
our $basedir;
# Make sure we use Windows line endings for chomp and friends on Windows.
@ -129,7 +129,7 @@ sub showUsage
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 " -builddir <PATH> Specify build directory for sync (default: $build_basedir)\n";
print " -builddir <PATH> Specify build directory for sync (default: same as -outdir)\n";
print " -version <VERSION> Specify the module's version (default: detect from qglobal.h)\n";
print " -quiet Only report problems, not activity (same as -verbose 0)\n";
print " -v, -verbose <level> Sets the verbosity level (max. 4) (default: $verbose_level)\n";
@ -728,7 +728,7 @@ sub globosort($$) {
}
# check if this is an in-source build, and if so use that as the basedir too
$basedir = locateSyncProfile($build_basedir);
$basedir = locateSyncProfile($out_basedir);
if ($basedir) {
$basedir = dirname($basedir) ;
normalizePath(\$basedir);
@ -899,6 +899,8 @@ while ( @ARGV ) {
die "Could not find any sync.profile for your module!\nPass <module directory> to syncqt to sync your header files.\nsyncqt failed" if (!$basedir);
die "The -version argument is mandatory" if (!$module_version);
$build_basedir = $out_basedir if (!defined($build_basedir));
our @ignore_headers = ();
our @ignore_for_master_contents = ();
our @ignore_for_include_check = ();