print "Configuring...\n";
print "Configuring with: Perl version $] ($^X)\n";
-do "sanity.pl";
+do "sanity.pl" or die $@;
-my %VERSION = %{ do "version.pl" };
+my %VERSION = %{ do "version.pl" or die $@ };
printf "Configuring for: Perl version $VERSION{REVISION}.%03d%03d\n",
$VERSION{VERSION}, $VERSION{SUBVERSION};
my $R_V_SV = "$VERSION{REVISION}.$VERSION{VERSION}.$VERSION{SUBVERSION}";
my ($SYMBIAN_ROOT, $SYMBIAN_VERSION, $SDK_NAME, $SDK_VARIANT, $SDK_VERSION) =
- @{ do "sdk.pl" };
-my %PORT = %{ do "port.pl" };
+ @{ do "sdk.pl" or die $@ };
+my %PORT = %{ do "port.pl" or die $@ };
if ($SYMBIAN_ROOT eq 'C:\Symbian\Series60_1_2_CW') {
( $SYMBIAN_VERSION, $SDK_VERSION ) = qw(6.1 1.2);
my $WIN = $ENV{WIN} ; # 'wins', 'winscw' (from sdk.pl)
my $ARM = 'thumb'; # 'thumb', 'armv5'
my $S60SDK = $ENV{S60SDK}; # qw(1.2 2.0 2.1 2.6) (from sdk.pl)
+ if ($SDK_VARIANT eq 'S60' && $S60SDK =~ /^5\./) {
+ $ARM = 'armv5'; # 'thumb', 'armv5' # Configuration for S60 5th Edition SDK v1.0
+ }
my $S80SDK = $ENV{S80SDK}; # qw(2.0) (from sdk.pl)
my $S90SDK = $ENV{S90SDK}; # qw(1.1) (from sdk.pl)
my $UIQSDK = $ENV{UIQSDK}; # qw(2.0 2.1) (from sdk.pl)
print "Symbian $SYMBIAN_VERSION SDK $SDK_VARIANT $SDK_VERSION ($WIN) installed at $SYMBIAN_ROOT\n";
-my $CWD = do "cwd.pl";
+my $CWD = do "cwd.pl" or die $@;
print "Build directory $CWD\n";
die "$0: '+' in cwd does not work with Series 60 SDK 1.2\n"
print $fh <<__EOF__;
TARGET $target.$type
TARGETTYPE $type
-$targetpath
-EPOCHEAPSIZE 1024 8388608
-EPOCSTACKSIZE 65536
+__EOF__
+ if ($SDK_VARIANT eq 'S60' && $S60SDK =~ /^5\./) {
+ print $fh "UID\t0 0xEA3E9181\n" if $miniperl;
+ print $fh "UID\t0 0xED04DD86\n" if $perl;
+ print $fh "UID\t0x1000008d 0xE8667302\n" unless $miniperl || $perl;
+ print $fh "CAPABILITY\tNONE\n";
+ } else {
+ print $targetpath;
+ print $fh "EPOCHEAPSIZE\t1024 8388608";
+ print $fh "EPOCSTACKSIZE\t65536";
+ }
+ print $fh <<__EOF__;
EXPORTUNFROZEN
SRCDBG
__EOF__
if ($SDK_VARIANT eq 'S60') {
- print $fh "MACRO\t__SERIES60__\n";
- print $fh "MACRO\t__SERIES60_1X__\n" if $S60SDK =~ /^1\./;
- print $fh "MACRO\t__SERIES60_2X__\n" if $S60SDK =~ /^2\./;
+ print $fh "MACRO\t__SERIES60__\n";
+ print $fh "MACRO\t__SERIES60_1X__\n" if $S60SDK =~ /^1\./;
+ print $fh "MACRO\t__SERIES60_2X__\n" if $S60SDK =~ /^2\./;
+ print $fh "MACRO\t__SERIES60_3X__\n" if $S60SDK =~ /^5\./;
}
if ($SDK_VARIANT eq 'S80') {
print $fh "MACRO\t__SERIES80__\n";
@c = map { glob } qw(*.c); # Find the .c files.
@c = map { lc } @c; # Lowercase the names.
@c = grep { !/malloc\.c/ } @c; # Use the system malloc.
- @c = grep { !/madly\.c/ } @c; # mad is undef.
@c = grep { !/main\.c/ } @c; # main.c must be explicit.
push @c, map { lc } @x;
@c = map { s:^\.\./::; $_ } @c; # Remove the leading ../
print $fh <<__EOF__;
MACRO PERL_GLOBAL_STRUCT
MACRO PERL_GLOBAL_STRUCT_PRIVATE
-RESOURCE symbian\\PerlUi.rss
__EOF__
- }
+ }
+ unless ($miniperl || $perl ) {
+ if ($SDK_VARIANT eq 'S60' && $S60SDK =~ /^5\./) {
+ print $fh "START RESOURCE\tsymbian\\PerlUi.rss\nEND\n";
+ } else {
+ print $fh "RESOURCE\tsymbian\\PerlUi.rss";
+ }
+ }
close $fh;
}
else {
perl${VERSION}ext.sis perlext.sis: perldll_arm buildext_sis
perl symbian\\makesis.pl perl${VERSION}ext
-EXT = Compress::Raw::Zlib Cwd Data::Dumper Devel::Peek Digest::MD5 Errno Fcntl File::Glob Filter::Util::Call IO List::Util MIME::Base64 PerlIO::scalar PerlIO::via SDBM_File Socket Storable Time::HiRes XSLoader attrs
+EXT = Compress::Raw::Zlib Cwd Data::Dumper Devel::Peek Digest::MD5 Errno Fcntl File::Glob Filter::Util::Call IO List::Util MIME::Base64 PerlIO::scalar PerlIO::via SDBM_File Socket Storable Time::HiRes XSLoader attributes
buildext: perldll symbian\\xsbuild.pl lib\\Config.pm
perl \$(XLIB) symbian\\xsbuild.pl \$(XSBOPT) \$(EXT)