Add test to make sure everything that outputs an exception or warning has a matching...
[p5sagit/p5-mst-13.2.git] / symbian / sdk.pl
CommitLineData
27da23d5 1use strict;
2
ed76c0e4 3my $SYMBIAN_VERSION;
4my $SYMBIAN_ROOT;
5my $SDK_NAME;
6my $SDK_VARIANT;
7my $SDK_VERSION;
27da23d5 8my $WIN;
9
ed76c0e4 10if ($ENV{PATH} =~ m!\\Symbian\\(.+?)\\(.+?)\\Epoc32\\gcc\\bin!i) {
11 $SYMBIAN_VERSION = $1;
12 $SDK_NAME = $2;
13 $WIN = ($SDK_NAME =~ m!_CW!i || $SDK_NAME eq '8.1a') ?
14 'winscw' : 'wins';
27da23d5 15 $ENV{WIN} = $WIN;
ed76c0e4 16 if ($SDK_NAME =~ m!Series60_v20!) {
17 $SDK_VARIANT = 'S60';
db5886f1 18 $SDK_VERSION = $ENV{S60SDK} = '2.0';
ed76c0e4 19 } elsif ($SDK_NAME =~ m!Series60_v21!) {
20 $SDK_VARIANT = 'S60';
21 $SDK_VERSION = $ENV{S60SDK} = '2.1';
22 } elsif ($SDK_NAME =~ m!S60_2nd_FP2!) {
23 $SDK_VARIANT = 'S60';
24 $SDK_VERSION = $ENV{S60SDK} = '2.6';
25 } elsif ($SDK_NAME =~ m!S60_2nd_FP3!) {
26 $SDK_VARIANT = 'S60';
27 $SDK_VERSION = $ENV{S60SDK} = '2.8';
28 } elsif ($SDK_NAME =~ m!S80_DP2_0_SDK!) {
29 $SDK_VARIANT = 'S80';
30 $SDK_VERSION = $ENV{S80SDK} = '2.0';
53d44271 31 } elsif ($SDK_NAME =~ m!Nokia_7710_SDK!) {
32 $SDK_VARIANT = 'S90';
33 $SDK_VERSION = $ENV{S90SDK} = '1.1';
27da23d5 34 }
25ca88e0 35} elsif ($ENV{PATH} =~ m!\\Symbian\\UIQ_(\d)(\d)\\Epoc32\\gcc\\bin!i) {
36 $SDK_NAME = 'UIQ';
37 $SDK_VARIANT = 'UIQ';
38 $SDK_VERSION = $ENV{UIQSDK} = "$1.$2";
39 if ($SDK_VERSION =~ /^2\./) {
40 $SYMBIAN_VERSION = '7.0s';
41 } else {
42 die "$0: Unknown UIQ version '$SDK_VERSION'\n";
43 }
44 $WIN = 'winscw'; # This is CodeWarrior, how about Borland?
45 $ENV{WIN} = $WIN;
27da23d5 46}
47
25ca88e0 48if (open(GCC, "gcc -v 2>&1 |")) {
27da23d5 49 while (<GCC>) {
db5886f1 50 # print;
53d44271 51 if (/Reading specs from (.+?)\\Epoc32\\/i) {
ed76c0e4 52 $SYMBIAN_ROOT = $1;
25ca88e0 53 # The S60SDK tells the Series 60 SDK version.
ed76c0e4 54 if ($ENV{S60SDK}) {
55 if ($SYMBIAN_ROOT eq 'C:\Symbian\6.1\Shared') { # Visual C.
56 $SYMBIAN_ROOT = 'C:\Symbian\6.1\Series60';
57 $SDK_VERSION = $ENV{S60SDK} = '1.2';
58 } elsif ($SYMBIAN_ROOT eq 'C:\Symbian\Series60_1_2_CW') { # CodeWarrior.
59 $SDK_VERSION = $ENV{S60SDK} = '1.2';
60 }
27da23d5 61 }
62 last;
63 }
64 }
65 close GCC;
66} else {
67 die "$0: failed to run gcc: $!\n";
68}
69
0e637710 70# Configuration for S60 5th Edition SDK v0.9
71$SYMBIAN_VERSION = '9.4';
72$SDK_NAME = 'S60_5th_Edition_SDK';
73$WIN = 'winscw';
74$ENV{WIN} = $WIN;
75$SDK_VARIANT = 'S60';
76$SDK_VERSION = $ENV{S60SDK} = '5.0';
77$SYMBIAN_ROOT = '\\';
78
ed76c0e4 79die "$0: failed to locate the Symbian SDK\n" unless defined $SYMBIAN_ROOT;
80
27da23d5 81my $UARM = $ENV{UARM} ? $ENV{UARM} : "urel";
ed76c0e4 82my $UREL = "$SYMBIAN_ROOT\\epoc32\\release\\-ARM-\\$UARM";
83if ($SYMBIAN_ROOT eq 'C:\Symbian\6.1\Series60' && $ENV{WIN} eq 'winscw') {
27da23d5 84 $UREL = "C:\\Symbian\\Series60_1_2_CW\\epoc32\\release\\-ARM-\\urel";
85}
86$ENV{UREL} = $UREL;
87$ENV{UARM} = $UARM;
88
ed76c0e4 89[ $SYMBIAN_ROOT, $SYMBIAN_VERSION, $SDK_NAME, $SDK_VARIANT, $SDK_VERSION ];
c8f896e5 90
91# The following is a cheat sheet for the right S60/S80 SDK settings.
92#
d0d72822 93# symbiancommon.bat:
c8f896e5 94# set EPOC_BIN=%EPOCROOT%Epoc32\gcc\bin;%EPOCROOT%Epoc32\Tools
95# set MWCW=C:\Program Files\Metrowerks\CodeWarrior for Symbian OEM v2.8
96# set MSVC=C:\Program Files\Microsoft Visual Studio
d0d72822 97# set MSVC_BIN=%MSVC%\VC98\Bin;%MSVC%\Aux\MSDev98\Bin
db5886f1 98# set MSVC_INC=%MSVC%\VC98\atl\include;%MSVC%\VC98\include;%MSVC%\mfc\include;%MSVC%\include
c8f896e5 99# set MSVC_LIB=%MSVC%\mfc\lib;%MSVC%\lib
100#
4764e399 101# Note that if you are using Microsoft Visual Studio 8
102# (for example because you are using the Microsoft Visual C++
103# 2005 Express Edition), the MSVC settings will be different:
104# set MSVC=C:\Program Files\Microsoft Visual Studio 8\VC
105# set MSVC_BIN=%MSVC%\bin
106# set MSVC_INC=%MSVC%\include
107# set MSVC_LIB=%MSVC%\lib
108#
c8f896e5 109# s60-1.2-cw:
110#
111# set EPOCROOT=\Symbian\Series60_1_2_CW\
d0d72822 112# symbiancommon
4764e399 113# set PATH=%EPOC_BIN%;%MSVC_BIN%;%MWCW%\Bin;%MWCW%\Symbian_Tools\Command_Line_Tools;%MSVC_BIN%;C:\perl\bin;C:\winnt\system32;%PATH%
c8f896e5 114# set USERDEFS=%USERDEFS% -D__SERIES60_12__ -D__SERIES60_MAJOR__=1 -D__SERIES60_MINOR__=2 -D__SERIES60_1X__
115#
116# s60-1.2-vc:
117#
118# set EPOCROOT=\Symbian\6.1\Series60\
d0d72822 119# symbiancommon
4764e399 120# set PATH=\Symbian\6.1\Shared\Epoc32\gcc\bin;\Symbian\6.1\Shared\Epoc32\Tools;%MSVC_BIN%;C:\perl\bin;C:\winnt\system32;%PATH%
c8f896e5 121# set INCLUDE=%MSVC_INC%
122# set LIB=%MSVC_LIB%
123# set USERDEFS=%USERDEFS% -D__SERIES60_12__ -D__SERIES60_MAJOR__=1 -D__SERIES60_MINOR__=2 -D__SERIES60_1X__
124#
125# s60-2.0-cw:
126#
127# set EPOCROOT=\Symbian\7.0s\Series60_v20_CW\
128# set EPOCDEVICE=Series60_2_0_CW:com.Nokia.Series60_2_0_CW
d0d72822 129# symbiancommon
4764e399 130# set PATH=%EPOC_BIN%;%MWCW%\Bin;%MWCW%\Symbian_Tools\Command_Line_Tools;%MSVC_BIN%;C:\perl\bin;C:\winnt\system32;%PATH%
c8f896e5 131# set USERDEFS=%USERDEFS% -D__SERIES60_20__ -D__SERIES60_MAJOR__=2 -D__SERIES60_MINOR__=0 -D__SERIES60_2X__
132#
133# s60-2.0-vc:
134#
135# set EPOCROOT=\Symbian\7.0s\Series60_v20\
136# set EPOCDEVICE=Series60_v20:com.nokia.series60
d0d72822 137# symbiancommon
4764e399 138# set PATH=%EPOC_BIN%;%MSVC_BIN%;C:\perl\bin;C:\winnt\system32;%PATH%
c8f896e5 139# set INCLUDE=%MSVC_INC%
140# set LIB=%MSVC_LIB%
141# set USERDEFS=%USERDEFS% -D__SERIES60_20__ -D__SERIES60_MAJOR__=2 -D__SERIES60_MINOR__=0 -D__SERIES60_2X__
142#
143# s60-2.1-cw:
144#
145# set EPOCROOT=\Symbian\7.0s\Series60_v21_CW\
146# set EPOCDEVICE=Series60_v21_CW:com.Nokia.series60
d0d72822 147# symbiancommon
4764e399 148# set PATH=%EPOC_BIN%;%MWCW%\Bin;%MWCW%\Symbian_Tools\Command_Line_Tools;%MSVC_BIN%;C:\perl\bin;C:\winnt\system32;%PATH%
c8f896e5 149# set USERDEFS=%USERDEFS% -D__SERIES60_21__ -D__SERIES60_MAJOR__=2 -D__SERIES60_MINOR__=1 -D__SERIES60_2X__
150#
151# s60-2.6-cw:
152#
153# set EPOCROOT=\Symbian\8.0a\S60_2nd_FP2_CW\
154# set EPOCDEVICE=S60_2nd_FP2_CW:com.nokia.series60
d0d72822 155# symbiancommon
4764e399 156# set PATH=%EPOC_BIN%;%MWCW%\Bin;%MWCW%\Symbian_Tools\Command_Line_Tools;%MSVC_BIN%;C:\perl\bin;C:\winnt\system32;%PATH%
c8f896e5 157# set USERDEFS=%USERDEFS% -D__SERIES60_26__ -D__SERIES60_MAJOR__=2 -D__SERIES60_MINOR__=6 -D__SERIES60_2X__ -D__BLUETOOTH_API_V2__
158#
159# s60-2.6-vc:
160#
161# set EPOCROOT=\Symbian\8.0a\S60_2nd_FP2\
162# set EPOCDEVICE=S60_2nd_FP2:com.nokia.Series60
d0d72822 163# symbiancommon
4764e399 164# set PATH=%EPOC_BIN%;%MSVC_BIN%;C:\perl\bin;C:\winnt\system32;%PATH%
c8f896e5 165# set INCLUDE=%MSVC_INC%
166# set LIB=%MSVC_LIB%
167# set USERDEFS=%USERDEFS% -D__SERIES60_26__ -D__SERIES60_MAJOR__=2 -D__SERIES60_MINOR__=6 -D__SERIES60_2X__ -D__BLUETOOTH_API_V2__
168#
169# s60-2.8-cw:
170#
171# set EPOCROOT=\Symbian\8.1a\S60_2nd_FP3\
172# set EPOCDEVICE=S60_2nd_FP3:com.nokia.series60
d0d72822 173# symbiancommon
4764e399 174# set PATH=%EPOC_BIN%;%MWCW%\Bin;%MWCW%\Symbian_Tools\Command_Line_Tools;%MSVC_BIN%;C:\perl\bin;C:\winnt\system32;%PATH%
c8f896e5 175# set USERDEFS=%USERDEFS% -D__SERIES60_28__ -D__SERIES60_MAJOR__=2 -D__SERIES60_MINOR__=8 -D__SERIES60_2X__ -D__BLUETOOTH_API_V2__
176#
4764e399 177# s60-2.8-vc:
178#
179# set EPOCROOT=\Symbian\8.1a\S60_2nd_FP3\
180# set EPOCDEVICE=S60_2nd_FP3:com.nokia.series60
181# symbiancommon
182# set PATH=%EPOC_BIN%;%MSVC_BIN%;C:\perl\bin;C:\winnt\system32;%PATH%
183# set USERDEFS=%USERDEFS% -D__SERIES60_28__ -D__SERIES60_MAJOR__=2 -D__SERIES60_MINOR__=8 -D__SERIES60_2X__ -D__BLUETOOTH_API_V2__
184#
c8f896e5 185# s80-2.0-cw:
186#
187# set EPOCROOT=\Symbian\7.0s\S80_DP2_0_SDK_CW\
188# set EPOCDEVICE=Series80_DP2_0_SDK_CW:com.nokia.Series80
d0d72822 189# symbiancommon
4764e399 190# set PATH=%EPOC_BIN%;%MWCW%\Bin;%MWCW%\Symbian_Tools\Command_Line_Tools;%MSVC_BIN%;C:\perl\bin;C:\winnt\system32;%PATH%
c8f896e5 191# set USERDEFS=%USERDEFS% -D__SERIES80_20__ -D__SERIES80_MAJOR__=2 -D__SERIES80_MINOR__=0 -D__SERIES80_2X__
192#
193# s80-2.0-vc:
194#
195# set EPOCROOT=\Symbian\7.0s\S80_DP2_0_SDK\
196# set EPOCDEVICE=Series80_DP2_0_SDK:com.nokia.Series80
d0d72822 197# symbiancommon
4764e399 198# set PATH=%EPOC_BIN%;%MWCW%\Bin;%MWCW%\Symbian_Tools\Command_Line_Tools;%MSVC_BIN%;C:\perl\bin;C:\winnt\system32;%PATH%
c8f896e5 199# set USERDEFS=%USERDEFS% -D__SERIES80_20__ -D__SERIES80_MAJOR__=2 -D__SERIES80_MINOR__=0 -D__SERIES80_2X__
200#
d0d72822 201# UIQ-2.1-vc:
202# set EPOCROOT=\Symbian\UIQ_21\
203# set EPOCDEVICE=
204# set EPOC_BIN=%EPOCROOT%Epoc32\gcc\bin;%EPOCROOT%Epoc32\Tools
205# set MWCW=C:\APPS\codewarrior_3.0
206# set MSVC=C:\Program Files\Microsoft Visual Studio
207# set MSVC_BIN=%MSVC%;%MSVC%\Common\MSDev98\Bin
208# set MSVC_INC=%MSVC%\VC98\atl\include;%MSVC%\mfc\include;%MSVC%\include
209# set MSVC_LIB=%MSVC%\mfc\lib;%MSVC%\lib
4764e399 210# set PATH=%EPOC_BIN%;%MWCW%\Bin;%MWCW%\Symbian_Tools\Command_Line_Tools;%MSVC_BIN%;C:\perl\bin;C:\winnt\system32;%PATH%
d0d72822 211# set USERDEFS=%USERDEFS% -D__UIQ_21__ -D__UIQ_MAJOR__=2 -D__UIQ_MINOR__=1 -D__UIQ_2X__
212#
0e637710 213# Configuration for S60 5th Edition SDK v0.9
214#set EPOCROOT=\
215#set PATH=%EPOCROOT%epoc32\gcc\bin;%EPOCROOT%epoc32\tools;%PATH%
216#
c8f896e5 217# EOF
218