diff options
author | Marius Storm-Olsen <marius.storm-olsen@nokia.com> | 2012-03-29 09:07:20 -0500 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-04-05 04:35:38 +0200 |
commit | 1de59c1a077a6aeb23a3582828be88a6dd11731e (patch) | |
tree | 6e922ec72ab07bffd14f498eff3b5fe8bbb8466b /build | |
parent | 6ab6bd8ff70e24948acc4517ed4b1d4ed2a567e4 (diff) |
Fix building on Windows and OSX
A problem with the dependency algorithm would make the top-most
dependent module not compile. Also affects building QtWayland on
Linux.
OSX has a problem when doing 'make install' on Qt configured with
prefix pointing to qtbase (no installation needed), so disable that
for the alpha, like on Windows.
Also, remove a redundant line in the script.
Change-Id: I368e80520977cf8a4bfcbbf13445f50c820aee9c
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'build')
-rwxr-xr-x | build | 12 |
1 files changed, 8 insertions, 4 deletions
@@ -296,12 +296,17 @@ sub resolve_soft_dependencies { my ($self) = @_; + my @nondefault = @{$self->{'nondefault'}}; foreach my $module (keys(%{$self->{'deps'}})) { my @deps = split(/,/, $self->{'deps'}->{$module}); my @newdeps; foreach my $dep (@deps) { if ($dep =~ /(.*):s$/) { - push(@newdeps, $1) if (defined $self->{'deps'}->{$1}) + my $mod = $1; + if (defined $self->{'deps'}->{$mod} + && !grep {$_ eq $mod} @nondefault) { + push(@newdeps, $mod); + } } else { push(@newdeps, $dep); } @@ -336,7 +341,7 @@ sub get_next_modules } foreach my $dep (split(/,/, $deps)) { - push (@nextModules, $self->get_next_modules($dep)) unless $self->{'seenHash'}->{$module}; + push (@nextModules, $self->get_next_modules($dep)) unless $self->{'seenHash'}->{$dep}; } return @nextModules; @@ -377,7 +382,7 @@ sub build_project $self->exeLowPriv("cd $module && $build_command") && die "'cd $module && $build_command' failed: $?"; $install_command = "$self->{MAKE} install" if (!defined $install_command); ### TODO: Should be fixed after the alpha - unless ("$Config{osname}" =~ /mswin/i) { + unless ("$Config{osname}" =~ /(dar|ms)win/i) { $self->exeHighPriv("cd $module && $install_command") && die "'cd $module && $install_command failed: $?"; } $self->mark_as_finished($module); @@ -403,7 +408,6 @@ sub build_qt print " $mods\n"; while (my @modules = $self->get_all_next_modules) { - my @modules = $self->get_all_next_modules; foreach my $module (@modules) { print "build $module...\n"; $self->build_project($module); |