blead 25801: Symbian batch of today
[p5sagit/p5-mst-13.2.git] / symbian / sdk.pl
1 use strict;
2
3 my $SDK;
4 my $WIN;
5
6 if ($ENV{PATH} =~ m!\\Symbian\\(.+?)\\gcc\\bin!) {
7     my $cc = $1;
8     $WIN = $cc =~ m!_CW!i ? 'winscw' : 'wins';
9     $ENV{WIN} = $WIN; 
10     if ($cc =~ m!Series60_v20!) {
11         $ENV{S60SDK} = '2.0';
12     } elsif ($cc =~ m!Series60_v21!) {
13         $ENV{S60SDK} = '2.1';
14     } elsif ($cc =~ m!S60_2nd_FP2!) {
15         $ENV{S60SDK} = '2.6';
16     }
17 }
18
19 if (open(GCC, "gcc -v 2>&1|")) {
20    while (<GCC>) {
21      if (/Reading specs from ((?:C:)?\\Symbian.+?)\\Epoc32\\/i) {
22        $SDK = $1;
23        # The S60SDK tells the Series 60 SDK version.
24        if ($SDK eq 'C:\Symbian\6.1\Shared') { # Visual C. 
25            $SDK = 'C:\Symbian\6.1\Series60';
26            $ENV{S60SDK} = '1.2';
27        } elsif ($SDK eq 'C:\Symbian\Series60_1_2_CW') { # CodeWarrior.
28            $ENV{S60SDK} = '1.2';
29        }
30        last;
31      }
32    }
33    close GCC;
34 } else {
35   die "$0: failed to run gcc: $!\n";
36 }
37
38 my $UARM = $ENV{UARM} ? $ENV{UARM} : "urel";
39 my $UREL = "$SDK\\epoc32\\release\\-ARM-\\$UARM";
40 if ($SDK eq 'C:\Symbian\6.1\Series60' && $ENV{WIN} eq 'winscw') {
41     $UREL = "C:\\Symbian\\Series60_1_2_CW\\epoc32\\release\\-ARM-\\urel";
42 }
43 $ENV{UREL} = $UREL;
44 $ENV{UARM} = $UARM;
45
46 die "$0: failed to locate the Symbian SDK\n" unless defined $SDK;
47
48 $SDK;
49
50 # The following is a cheat sheet for the right S60/S80 SDK settings.
51 #
52 # set EPOC_BIN=%EPOCROOT%Epoc32\gcc\bin;%EPOCROOT%Epoc32\Tools
53 # set MWCW=C:\Program Files\Metrowerks\CodeWarrior for Symbian OEM v2.8
54 # set MSVC=C:\Program Files\Microsoft Visual Studio
55 # set MSVC_BIN=%MSVC%\VC98\Bin;%MSVC%\Common\MSDev98\Bin
56 # set MSVC_INC=%MSVC%\VC98\atl\include;%MSVC%\mfc\include;%MSVC%\include
57 # set MSVC_LIB=%MSVC%\mfc\lib;%MSVC%\lib
58 #
59 # s60-1.2-cw:
60 #
61 # set EPOCROOT=\Symbian\Series60_1_2_CW\
62 # set PATH=%EPOC_BIN%;%MSVC_BIN%;%MWCW%\Bin;%MWCW%\Symbian_Tools\Command_Line_Tools;%PATH%
63 # set USERDEFS=%USERDEFS% -D__SERIES60_12__ -D__SERIES60_MAJOR__=1 -D__SERIES60_MINOR__=2 -D__SERIES60_1X__
64 #
65 # s60-1.2-vc:
66 #
67 # set EPOCROOT=\Symbian\6.1\Series60\
68 # set PATH=\Symbian\6.1\Shared\Epoc32\gcc\bin;\Symbian\6.1\Shared\Epoc32\Tools;%MSVC_BIN%;%PATH%
69 # set INCLUDE=%MSVC_INC%
70 # set LIB=%MSVC_LIB%
71 # set USERDEFS=%USERDEFS% -D__SERIES60_12__ -D__SERIES60_MAJOR__=1 -D__SERIES60_MINOR__=2 -D__SERIES60_1X__
72
73 # s60-2.0-cw:
74 #
75 # set EPOCROOT=\Symbian\7.0s\Series60_v20_CW\
76 # set EPOCDEVICE=Series60_2_0_CW:com.Nokia.Series60_2_0_CW
77 # set PATH=%EPOC_BIN%;%MWCW%\Bin;%MWCW%\Symbian_Tools\Command_Line_Tools;%PATH%
78 # set USERDEFS=%USERDEFS% -D__SERIES60_20__ -D__SERIES60_MAJOR__=2 -D__SERIES60_MINOR__=0 -D__SERIES60_2X__
79
80 # s60-2.0-vc:
81 #
82 # set EPOCROOT=\Symbian\7.0s\Series60_v20\
83 # set EPOCDEVICE=Series60_v20:com.nokia.series60
84 # set PATH=%EPOC_BIN%;%MSVC_BIN%;%PATH%
85 # set INCLUDE=%MSVC_INC%
86 # set LIB=%MSVC_LIB%
87 # set USERDEFS=%USERDEFS% -D__SERIES60_20__ -D__SERIES60_MAJOR__=2 -D__SERIES60_MINOR__=0 -D__SERIES60_2X__
88
89 # s60-2.1-cw:
90 #
91 # set EPOCROOT=\Symbian\7.0s\Series60_v21_CW\
92 # set EPOCDEVICE=Series60_v21_CW:com.Nokia.series60
93 # set PATH=%EPOC_BIN%;%MWCW%\Bin;%MWCW%\Symbian_Tools\Command_Line_Tools;%PATH%
94 # set USERDEFS=%USERDEFS% -D__SERIES60_21__ -D__SERIES60_MAJOR__=2 -D__SERIES60_MINOR__=1 -D__SERIES60_2X__
95
96 # s60-2.6-cw:
97 #
98 # set EPOCROOT=\Symbian\8.0a\S60_2nd_FP2_CW\
99 # set EPOCDEVICE=S60_2nd_FP2_CW:com.nokia.series60
100 # set PATH=%EPOC_BIN%;%MWCW%\Bin;%MWCW%\Symbian_Tools\Command_Line_Tools;%PATH%
101 # set USERDEFS=%USERDEFS% -D__SERIES60_26__ -D__SERIES60_MAJOR__=2 -D__SERIES60_MINOR__=6 -D__SERIES60_2X__ -D__BLUETOOTH_API_V2__
102
103 # s60-2.6-vc:
104 #
105 # set EPOCROOT=\Symbian\8.0a\S60_2nd_FP2\
106 # set EPOCDEVICE=S60_2nd_FP2:com.nokia.Series60
107 # set PATH=%EPOC_BIN%;%MSVC_BIN%;%PATH%
108 # set INCLUDE=%MSVC_INC%
109 # set LIB=%MSVC_LIB%
110 # set USERDEFS=%USERDEFS% -D__SERIES60_26__ -D__SERIES60_MAJOR__=2 -D__SERIES60_MINOR__=6 -D__SERIES60_2X__ -D__BLUETOOTH_API_V2__
111
112 # s60-2.8-cw:
113 #
114 # set EPOCROOT=\Symbian\8.1a\S60_2nd_FP3\
115 # set EPOCDEVICE=S60_2nd_FP3:com.nokia.series60
116 # set PATH=%EPOC_BIN%;%MWCW%\Bin;%MWCW%\Symbian_Tools\Command_Line_Tools;%PATH%
117 # set USERDEFS=%USERDEFS% -D__SERIES60_28__ -D__SERIES60_MAJOR__=2 -D__SERIES60_MINOR__=8 -D__SERIES60_2X__ -D__BLUETOOTH_API_V2__
118
119 # s80-2.0-cw:
120 #
121 # set EPOCROOT=\Symbian\7.0s\S80_DP2_0_SDK_CW\
122 # set EPOCDEVICE=Series80_DP2_0_SDK_CW:com.nokia.Series80
123 # set PATH=%EPOC_BIN%;%MWCW%\Bin;%MWCW%\Symbian_Tools\Command_Line_Tools;%PATH%
124 # set USERDEFS=%USERDEFS% -D__SERIES80_20__ -D__SERIES80_MAJOR__=2 -D__SERIES80_MINOR__=0 -D__SERIES80_2X__
125 #
126 # s80-2.0-vc:
127 #
128 # set EPOCROOT=\Symbian\7.0s\S80_DP2_0_SDK\
129 # set EPOCDEVICE=Series80_DP2_0_SDK:com.nokia.Series80
130 # set PATH=%EPOC_BIN%;%MWCW%\Bin;%MWCW%\Symbian_Tools\Command_Line_Tools;%PATH%
131 # set USERDEFS=%USERDEFS% -D__SERIES80_20__ -D__SERIES80_MAJOR__=2 -D__SERIES80_MINOR__=0 -D__SERIES80_2X__
132 #
133 # EOF
134