summaryrefslogtreecommitdiff
path: root/symbian/config.pl
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2005-10-31 20:38:42 +0200
committerH.Merijn Brand <h.m.brand@xs4all.nl>2005-10-31 16:25:23 +0000
commit25ca88e0cbd385e70d7ea2ee4f8a34a9ff7bcc17 (patch)
tree81bd98f725c8e6e8c9d7760fe938f669619fbc56 /symbian/config.pl
parentf6ba99206280472c9e353abb350d114de9d2591b (diff)
downloadperl-25ca88e0cbd385e70d7ea2ee4f8a34a9ff7bcc17.tar.gz
Symbian port 0.3.0 as of blead@25911
Message-ID: <B356D8F434D20B40A8CEDAEC305A1F24E7A6D6@esebe105.NOE.Nokia.com> p4raw-id: //depot/perl@25933
Diffstat (limited to 'symbian/config.pl')
-rw-r--r--symbian/config.pl45
1 files changed, 41 insertions, 4 deletions
diff --git a/symbian/config.pl b/symbian/config.pl
index 77538b2786..eb479092f0 100644
--- a/symbian/config.pl
+++ b/symbian/config.pl
@@ -31,6 +31,7 @@ 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)
my $S80SDK = $ENV{S80SDK}; # qw(2.0) (from sdk.pl)
+my $UIQSDK = $ENV{UIQSDK}; # qw(2.0 2.1) (from sdk.pl)
my $UREL = $ENV{UREL}; # from sdk.pl
$UREL =~ s/-ARM-/$ARM/;
@@ -39,7 +40,7 @@ my $UARM = $ENV{UARM}; # from sdk.pl
die "$0: SDK not recognized\n"
if !defined($SYMBIAN_VERSION) ||
!defined($SDK_VERSION) ||
- (!defined($S60SDK) && !defined($S80SDK));
+ (!defined($S60SDK) && !defined($S80SDK) && !defined($UIQSDK));
die "$0: does not know which Windows compiler to use\n"
unless defined $WIN;
@@ -85,6 +86,11 @@ __EOF__
print $fh "MACRO\t__SERIES80_1X__\n" if $S80SDK =~ /^1\./;
print $fh "MACRO\t__SERIES80_2X__\n" if $S80SDK =~ /^2\./;
}
+ if ($SDK_VARIANT eq 'UIQ') {
+ print $fh "MACRO\t__UIQ__\n";
+ print $fh "MACRO\t__UIQ_1X__\n" if $UIQSDK =~ /^1\./;
+ print $fh "MACRO\t__UIQ_2X__\n" if $UIQSDK =~ /^2\./;
+ }
my ( @c, %c );
@c = map { glob } qw(*.c); # Find the .c files.
@c = map { lc } @c; # Lowercase the names.
@@ -111,11 +117,15 @@ __EOF__
if ( $miniperl || $perl || $type eq 'dll' ) {
print $fh <<__EOF__;
LIBRARY charconv.lib
-LIBRARY commonengine.lib
LIBRARY hal.lib
LIBRARY estor.lib
__EOF__
}
+ if ($SDK_VARIANT =~ /^S[68]0$/) {
+ print $fh <<__EOF__;
+LIBRARY commonengine.lib
+__EOF__
+ }
if ( $type eq 'exe' ) {
print $fh <<__EOF__;
STATICLIBRARY ecrt0.lib
@@ -248,6 +258,10 @@ sub create_symbian_port_h {
$S80SDK =~ /^(\d+)\.(\d+)$/;
($sdkmajor, $sdkminor) = ($1, $2);
}
+ if ($SDK_VARIANT eq 'UIQ') {
+ $UIQSDK =~ /^(\d+)\.(\d+)$/;
+ ($sdkmajor, $sdkminor) = ($1, $2);
+ }
print SYMBIAN_PORT_H <<__EOF__;
/* Copyright (c) 2004-2005, Nokia. All rights reserved. */
@@ -289,6 +303,8 @@ sub create_PerlApp_pkg {
qq[;Supports Series 60 v0.9\n(0x101F6F88), 0, 0, 0, {"Series60ProductID"}\n] :
defined $S80SDK ?
qq[;Supports Series 80 v2.0\n(0x101F8ED2), 0, 0, 0, {"Series80ProductID"}\n] :
+ defined $UIQSDK && $SDK_VERSION =~ /^(\d)\.(\d)$/ ?
+qq[;Supports UIQ v2.1\n(0x101F617B), $1, $2, 0, {"UIQ21ProductID"}\n] :
";Supports Series NN";
my $APPS = $UREL;
if (($SDK_VARIANT eq 'S60' && $SDK_VERSION ne '1.2' || $WIN eq 'winscw') || defined $S80SDK) { # Do only if not in S60 1.2 VC.
@@ -388,6 +404,17 @@ LIBRARY eikdlg.lib
LIBRARY ckndlg.lib
__EOF__
}
+ if (defined $UIQSDK) {
+ push @MACRO, '__UIQ__';
+ push @MACRO, '__UIQ_1X__' if $UIQSDK =~ /^1\./;
+ push @MACRO, '__UIQ_2X__' if $UIQSDK =~ /^2\./;
+ push @LIB, <<__EOF__;
+LIBRARY eikctl.lib
+LIBRARY eikcoctl.lib
+LIBRARY eikdlg.lib
+LIBRARY qikctl.lib
+__EOF__
+ }
print PERLAPP_MMP <<__EOF__;
// !!!!!! DO NOT EDIT THIS FILE !!!!!!
// This file is built by symbian\\config.pl.
@@ -421,7 +448,6 @@ LIBRARY euser.lib
LIBRARY perl$VERSION.lib
@LIB
-AIF PerlApp.aif . PerlAppAif.rss
__EOF__
if (@MACRO) {
for my $macro (@MACRO) {
@@ -430,6 +456,11 @@ MACRO $macro
__EOF__
}
}
+ if ($SDK_VARIANT =~ /^S[68]0$/) {
+ print PERLAPP_MMP <<__EOF__;
+AIF PerlApp.aif . PerlAppAif.rss
+__EOF__
+ }
close(PERLAPP_MMP);
push @unclean, 'symbian\PerlApp.mmp';
}
@@ -625,9 +656,15 @@ EXT = Compress::Zlib Cwd Data::Dumper Devel::Peek Digest::MD5 Errno Fcntl File:
buildext: perldll symbian\\xsbuild.pl lib\\Config.pm
perl \$(XLIB) symbian\\xsbuild.pl \$(XSBOPT) \$(EXT)
+buildextcpp: perldll symbian\\xsbuild.pl lib\\Config.pm
+ perl \$(XLIB) symbian\\xsbuild.pl --csuffix .cpp \$(XSBOPT) \$(EXT)
+
buildext_sis: perldll.sis symbian\\xsbuild.pl lib\\Config.pm
perl \$(XLIB) symbian\\xsbuild.pl \$(XSBOPT) --sis \$(EXT)
+buildextcpp_sis: perldll.sis symbian\\xsbuild.pl lib\\Config.pm
+ perl \$(XLIB) symbian\\xsbuild.pl --csuffix .cpp \$(XSBOPT) --sis \$(EXT)
+
cleanext: symbian\\xsbuild.pl
perl \$(XLIB) symbian\\xsbuild.pl \$(XSBOPT) --clean \$(EXT)
@@ -650,7 +687,7 @@ sdkinstall:
-mkdir \$(APIDIR)\\bin
-mkdir \$(BINDIR)
copy /y *.h \$(APIDIR)\\include
- - copy /y *.inc \$(APIDIR)\\include
+ -copy /y *.inc \$(APIDIR)\\include
copy /y lib\\ExtUtils\\xsubpp \$(APIDIR)\\lib\\ExtUtils
copy /y lib\\ExtUtils\\typemap \$(APIDIR)\\lib\\ExtUtils
copy /y lib\\ExtUtils\\ParseXS.pm \$(APIDIR)\\lib\\ExtUtils