typedef int (*sv_store_t)(pTHX_ stcxt_t *cxt, SV *sv);
-static sv_store_t sv_store[] = {
+static const sv_store_t sv_store[] = {
(sv_store_t)store_ref, /* svis_REF */
(sv_store_t)store_scalar, /* svis_SCALAR */
(sv_store_t)store_array, /* svis_ARRAY */
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
}
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 ];
$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"
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;
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);
print "Configuring Encode...\n";
}
- write_mmp( $base, [ keys %incdir ], @src );
+ write_mmp( $ext, $base, [ keys %incdir ], @src );
write_makefile( $base, $build );
}
my $lstname = $ext;
for my $ext (@ARGV) {
$ext =~ s!::!\\!g;
+ my $extdash = "ext\\$ext"; $extdash =~ s!\\!-!g;
$ext =~ s!/!\\!g;
my $cfg;
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";