summaryrefslogtreecommitdiff
path: root/symbian
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2005-10-17 21:27:57 +0300
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2005-10-17 15:05:23 +0000
commit5c271e2566556176f5be72955599e28e159007fd (patch)
treeeafa42afe175184163877e7e8b9680bde48c27c6 /symbian
parent16fa893905d221693a5e0a95ba525247aa3d7a04 (diff)
downloadperl-5c271e2566556176f5be72955599e28e159007fd.tar.gz
even more Symbian
Message-ID: <B356D8F434D20B40A8CEDAEC305A1F24E7A61F@esebe105.NOE.Nokia.com> p4raw-id: //depot/perl@25782
Diffstat (limited to 'symbian')
-rw-r--r--symbian/TODO3
-rw-r--r--symbian/find_writeable_data.pl2
-rw-r--r--symbian/xsbuild.pl20
3 files changed, 14 insertions, 11 deletions
diff --git a/symbian/TODO b/symbian/TODO
index e8586d2efe..52436da659 100644
--- a/symbian/TODO
+++ b/symbian/TODO
@@ -47,9 +47,6 @@
fragile (see Symbian FAQ-0929), intensive debugging and fix needed
- in S60 2.6 (at least in Nokia 6630 v4.03.11) launching scripts via
FExplorer does not open up the console
-- in the SDK the build creates DLLs in the system area
- (e.g. epoc32\release\thumb\urel\io.dll), this is dangerous. Prefix them?
- (needs changes in xsbuild and DynaLoader/XSLoader)
=head2 Unicode
diff --git a/symbian/find_writeable_data.pl b/symbian/find_writeable_data.pl
index 24bf298713..bdb579086d 100644
--- a/symbian/find_writeable_data.pl
+++ b/symbian/find_writeable_data.pl
@@ -34,7 +34,7 @@ use Cwd;
use File::Basename;
my $dir = lc(getcwd());
-my $tgt = basename(shift @ARGV);
+my $tgt = basename(shift(@ARGV), ".mmp");
$dir =~ s!/!\\!g;
$dir =~ s!^c:!c:$ENV{EPOCROOT}epoc32\\build!;
diff --git a/symbian/xsbuild.pl b/symbian/xsbuild.pl
index 556db70e33..0f6d66da26 100644
--- a/symbian/xsbuild.pl
+++ b/symbian/xsbuild.pl
@@ -206,10 +206,12 @@ sub read_mmp {
}
sub write_mmp {
- my ( $base, $userinclude, @src ) = @_;
+ my ( $ext, $base, $userinclude, @src ) = @_;
+
+ my $extdash = $ext; $extdash =~ s!\\!-!g;
print "\t$base.mmp\n";
- $CONF{TARGET} = "$base.dll";
+ $CONF{TARGET} = "perl$VERSION-$extdash.dll";
$CONF{TARGETPATH} = "\\System\\Libs\\Perl\\$R_V_SV";
$CONF{SOURCE} = [@src];
$CONF{SOURCEPATH} = [ $CWD, $BUILDROOT ];
@@ -410,8 +412,10 @@ sub xsconfig {
$extdirdir = $extdirdir eq "." ? "" : "$extdirdir\\";
+ my $extdash = $ext; $extdash =~ s!\\!-!g;
+
my %lst;
- $lst{"$UREL\\$base.dll"} =
+ $lst{"$UREL\\perl$VERSION-$extdash.dll"} =
"$targetroot\\$ARM-symbian\\$base.dll"
if -f $basexs;
$lst{"$dir\\$base.pm"} = "$targetroot\\$extdirdir$base.pm"
@@ -424,6 +428,7 @@ sub xsconfig {
my @found;
find( sub { push @found, $File::Find::name if -f $_ }, 'lib' );
for my $found (@found) {
+ next if $found =~ /\.bak$/i; # Zlib
my ($short) = ( $found =~ m/^lib.(.+)/ );
$short =~ s!/!\\!g;
$found =~ s!/!\\!g;
@@ -603,7 +608,7 @@ __EOF__
unlink($submf);
my $subbase = $d;
$subbase =~ s!/!::!g;
- write_mmp( $subbase, ["..\\Encode"], "$subbase.c",
+ write_mmp( $ext, $subbase, ["..\\Encode"], "$subbase.c",
@subsrc );
write_makefile( $subbase, $build );
write_bld_inf($subbase);
@@ -630,7 +635,7 @@ __EOF__
print "Configuring Encode...\n";
}
- write_mmp( $base, [ keys %incdir ], @src );
+ write_mmp( $ext, $base, [ keys %incdir ], @src );
write_makefile( $base, $build );
}
my $lstname = $ext;
@@ -658,6 +663,7 @@ sub update_cwd {
for my $ext (@ARGV) {
$ext =~ s!::!\\!g;
+ my $extdash = "ext\\$ext"; $extdash =~ s!\\!-!g;
$ext =~ s!/!\\!g;
my $cfg;
@@ -794,8 +800,8 @@ __EOF__
my %symbol;
my $def;
my $basef;
- for my $f ("$SDK\\Epoc32\\Build$CWD\\$base\\WINS\\$base.def",
- "..\\BMARM\\${base}u.def") {
+ for my $f ("$SDK\\Epoc32\\Build$CWD\\$base\\WINS\\perl$VERSION-$extdash.def",
+ "..\\BMARM\\perl$VERSION-${extdash}u.def") {
print "\t($f - ";
if ( open( $def, $f ) ) {
print "OK)\n";