Remove QtMultimediaKit - all content has moved to QtMultimedia.
[mirror/qt/qt5.git] / configure
1 #!/usr/bin/perl
2 ####################################################################################################
3 #
4 # Mother script for Qt Modularization
5 #
6 # Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
7 # Contact: Nokia Corporation (qt-info@nokia.com)
8 #
9 ####################################################################################################
10 use strict;
11 use warnings;
12
13 use File::Basename;
14 use File::Path;
15 use Cwd;
16 use Cwd 'abs_path';
17 use Config;
18
19 # Makes sure the arguments are directories, and creates them if not.
20 # Will die if there is an error.
21 sub ensureDir {
22     foreach (@_) {
23         if (-e $_) {
24             if (-d $_) {
25                 next;
26             } else {
27                 die ("$_ exists, but is not a directory");
28             }
29         }
30         File::Path::mkpath($_) or die("Could not create $_");
31     }
32 }
33
34 # `system', but also print the command
35 sub system_v
36 {
37     print "+ ";
38     print @_;
39     print "\n";
40     return system(@_);
41 }
42
43 my $relpath = dirname(abs_path($0));
44 $relpath =~ s,\\,/,g;
45 # the current directory is the "build tree" or "object tree"
46 my $outpath = getcwd();
47
48 if (! -e "$relpath/qtbase/configure") {
49     die("$relpath/qtbase/configure not found. Did you forget to run \"init-repository\"?");
50 }
51
52 ensureDir("$outpath/qtbase");
53 chdir("$outpath/qtbase");
54 if (-e ".qmake.cache") {
55     # Remove this so we can detect if configure finished properly
56     unlink ".qmake.cache";
57 }
58 my $ret = system_v("$relpath/qtbase/configure @ARGV");
59 exit $ret unless ($ret == 0);
60 if (! -e ".qmake.cache") {
61     # Even though there was no error code, this file wasn't created
62     # so configure didn't finish properly. This is probably because
63     # the user passed -help
64     exit 0;
65 }
66
67 chdir("$outpath");
68
69 open QMAKE_CACHE, ">.qmake.cache" || die "Could not open .qmake.cache for writing!\n";
70 print QMAKE_CACHE "include(\$\$PWD/qtbase/.qmake.cache)\n";
71 close QMAKE_CACHE;
72
73 $ret = system_v("$outpath/qtbase/bin/qmake $relpath/qt.pro");
74 exit $ret;