blob: 49922566c74f786d9835d90909f77ac75e1e5c0e [file] [log] [blame]
darind63e9d92005-06-12 22:48:34 +00001#!/usr/bin/perl -w
2
3# Copyright (C) 2005 Apple Computer, Inc. All rights reserved.
4#
5# Redistribution and use in source and binary forms, with or without
6# modification, are permitted provided that the following conditions
7# are met:
8#
9# 1. Redistributions of source code must retain the above copyright
10# notice, this list of conditions and the following disclaimer.
11# 2. Redistributions in binary form must reproduce the above copyright
12# notice, this list of conditions and the following disclaimer in the
13# documentation and/or other materials provided with the distribution.
14# 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
15# its contributors may be used to endorse or promote products derived
16# from this software without specific prior written permission.
17#
18# THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
19# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21# DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
22# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
24# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
25# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
29use strict;
30use FindBin;
31use lib $FindBin::Bin;
32use webkitdirs;
33
mrowe@apple.com307ffb62009-03-14 06:17:16 +000034my $programName = basename($0);
35my $usage = <<EOF;
36Usage: $programName [options]
37 --32-bit Set the default architecture to 32-bit
38 --64-bit Set the default architecture to 64-bit
39 --debug Set the default configuration to debug
40 --release Set the default configuration to release
41EOF
42
darind63e9d92005-06-12 22:48:34 +000043my $configuration = passedConfiguration();
mrowe@apple.com307ffb62009-03-14 06:17:16 +000044my $architecture = passedArchitecture();
45
46if (!$architecture) {
47 # Handle --64-bit explicitly here, as we don't want our other scripts to accept it
48 for my $i (0 .. $#ARGV) {
49 my $opt = $ARGV[$i];
50 if ($opt =~ /^--64-bit$/i) {
51 splice(@ARGV, $i, 1);
52 $architecture = 'x86_64';
53 }
54 }
55}
56
57if (!$configuration && !$architecture) {
58 print STDERR $usage;
59 exit 1;
60}
darind63e9d92005-06-12 22:48:34 +000061
62my $baseProductDir = baseProductDir();
63system "mkdir", "-p", "$baseProductDir";
mrowe@apple.com307ffb62009-03-14 06:17:16 +000064
65if ($configuration) {
66 open CONFIGURATION, ">", "$baseProductDir/Configuration" or die;
67 print CONFIGURATION $configuration;
68 close CONFIGURATION;
69}
70
71if ($architecture) {
72 if ($architecture ne "x86_64") {
73 open ARCHITECTURE, ">", "$baseProductDir/Architecture" or die;
74 print ARCHITECTURE $architecture;
75 close ARCHITECTURE;
76 } else {
77 unlink "$baseProductDir/Architecture";
78 }
79}