Change 29990 by [EMAIL PROTECTED] on 2007/01/26 08:39:07

        Subject: [PATCH] further Symbian/S90 fixes from alexander smishlajev
        From: [EMAIL PROTECTED] (Jarkko Hietaniemi)
        Date: Fri, 26 Jan 2007 05:51:50 +0200 (EET)
        Message-Id: <[EMAIL PROTECTED]>

Affected files ...

... //depot/perl/README.symbian#9 edit
... //depot/perl/ext/Data/Dumper/Dumper.xs#69 edit
... //depot/perl/symbian/PerlBase.cpp#3 edit
... //depot/perl/symbian/config.sh#19 edit
... //depot/perl/symbian/symbianish.h#6 edit
... //depot/perl/symbian/xsbuild.pl#15 edit

Differences ...

==== //depot/perl/README.symbian#9 (text) ====
Index: perl/README.symbian
--- perl/README.symbian#8~29650~        2007-01-01 07:41:48.000000000 -0800
+++ perl/README.symbian 2007-01-26 00:39:07.000000000 -0800
@@ -12,7 +12,7 @@
 system that will affect how Perl version 5 (hereafter just Perl)
 is compiled and/or runs.
 
-B<NOTE: this port (as of 0.2.0) does not compile into a Symbian
+B<NOTE: this port (as of 0.4.1) does not compile into a Symbian
 OS GUI application, but instead it results in a Symbian DLL.>
 The DLL includes a C++ class called CPerlBase, which one can then
 (derive from and) use to embed Perl into applications, see F<symbian/README>.
@@ -28,13 +28,13 @@
 
 =head2 Compiling Perl on Symbian
 
-(0) You need to have the Symbian SDK installed.
+(0) You need to have the appropriate Symbian SDK installed.
 
     These instructions have been tested under various Nokia Series 60
     Symbian SDKs (1.2 to 2.6, 2.8 should also work, 1.2 compiles but
     does not work), Series 80 2.0, and Nokia 7710 (Series 90) SDK.
     You can get the SDKs from Forum Nokia (http://www.forum.nokia.com/).
-    A very rough port ("it compiles") to UIQ 2.0 has also been made.
+    A very rough port ("it compiles") to UIQ 2.1 has also been made.
 
     A prerequisite for any of the SDKs is to install ActivePerl
     from ActiveState, http://www.activestate.com/Products/ActivePerl/
@@ -98,9 +98,9 @@
         S60 2.8 | -  | +  | (not tested in a device)
         S80 2.6 | -  | +  | 9300
         S90 1.1 | +  | -  | 7710
-        UIQ 2.0 | -  | +  | (not tested in a device)
+        UIQ 2.1 | -  | +  | (not tested in a device)
 
-    (*) Compiles but does not work, unfortunately.
+    (*) Compiles but does not work, unfortunately, a problem with Symbian.
 
     If you are using the 'make' directly, it is the GNU make from the SDKs,
     and it will invoke the right make commands for the Windows emulator
@@ -302,7 +302,7 @@
 
 =head1 WARNING
 
-As of Perl Symbian port version 0.2.0 any part of Perl's standard
+As of Perl Symbian port version 0.4.1 any part of Perl's standard
 regression test suite has not been run on a real Symbian device using
 the ported Perl, so innumerable bugs may lie in wait.  Therefore there
 is absolutely no warranty.
@@ -310,11 +310,12 @@
 =head1 NOTE
 
 When creating and extending application programming interfaces (APIs)
-for Symbian or Series 60 or Series 80 it is suggested that trademarks,
-registered trademarks, or trade names are not used in the API names.
-Instead, developers should consider basing the API naming in the existing
-(C++) public component and API naming, modified as appropriate by the rules
-of the programming language the new APIs are for.
+for Symbian or Series 60 or Series 80 or Series 90 it is suggested
+that trademarks, registered trademarks, or trade names are not used in
+the API names.  Instead, developers should consider basing the API
+naming in the existing (C++, or maybe Java) public component and API
+naming, modified as appropriate by the rules of the programming
+language the new APIs are for.
   
 Nokia is a registered trademark of Nokia Corporation. Nokia's product
 names are trademarks or registered trademarks of Nokia.  Other product
@@ -404,7 +405,7 @@
   - Perl 5.9.4 (patch level 29622)
   - added extensions: Compress/Raw/Zlib, Digest/SHA,
     Hash/Util, Math/BigInt/FastCalc, Text/Soundex, Time/Piece
-  - port to S90 1.1 by Alexander Smishlajev
+  - port to S90 1.1 by alexander smishlajev
 
 We maintain the binary incompatibility.
 

==== //depot/perl/ext/Data/Dumper/Dumper.xs#69 (text) ====
Index: perl/ext/Data/Dumper/Dumper.xs
--- perl/ext/Data/Dumper/Dumper.xs#68~29152~    2006-10-30 02:13:22.000000000 
-0800
+++ perl/ext/Data/Dumper/Dumper.xs      2007-01-26 00:39:07.000000000 -0800
@@ -439,7 +439,13 @@
        (*levelp)++;
        ipad = sv_x(aTHX_ Nullsv, SvPVX_const(xpad), SvCUR(xpad), *levelp);
 
-       if (realtype <= SVt_PVBM) {                          /* scalar ref */
+       if (
+#if PERL_VERSION < 9
+               realtype <= SVt_PVBM
+#else
+               realtype <= SVt_PVMG
+#endif
+       ) {                          /* scalar ref */
            SV * const namesv = newSVpvn("${", 2);
            sv_catpvn(namesv, name, namelen);
            sv_catpvn(namesv, "}", 1);

==== //depot/perl/symbian/PerlBase.cpp#3 (text) ====
Index: perl/symbian/PerlBase.cpp
--- perl/symbian/PerlBase.cpp#2~29811~  2007-01-14 23:42:37.000000000 -0800
+++ perl/symbian/PerlBase.cpp   2007-01-26 00:39:07.000000000 -0800
@@ -1,5 +1,5 @@
 /* Copyright (c) 2004-2005 Nokia. All rights reserved. */
- 
+
 /* The CPerlBase class is licensed under the same terms as Perl itself. */
 
 /* See PerlBase.pod for documentation. */
@@ -193,7 +193,7 @@
     Argv = 0;
     return error == 0 ? KErrNone : KErrGeneral;
 }
-    
+
 
 EXPORT_C int CPerlBase::Parse(int argc, char *argv[], char *envp[])
 {
@@ -230,7 +230,7 @@
         iState = EPerlRunning;
         int ran = perl_run(iPerl);
         iState = (ran == 0) ? EPerlSuccess : EPerlFailure;
-        return ran; 
+        return ran;
     } else
         return -1;
 }
@@ -264,7 +264,7 @@
                 iConsoleBuffer[offset++] = 0;
             }
             break;
-        } 
+        }
         else {
             TBool doBackward  = EFalse;
             TBool doBackspace = EFalse;
@@ -318,26 +318,26 @@
         errno = EIO;
         return -1;
     }
-   
+
     if (n < 0) {
         errno = EINVAL;
         return -1;
     }
-    
+
     if (n == 0)
         return 0;
- 
+
     TBuf8<4 * KPerlConsoleBufferMaxTChars> aBufferUtf8;
     TBuf16<KPerlConsoleBufferMaxTChars>    aBufferUtf16;
     int length = ConsoleReadLine();
-    int i;    
+    int i;
 
     iConsoleUsed += length;
 
     aBufferUtf16.SetLength(length);
     for (i = 0; i < length; i++)
         aBufferUtf16[i] = iConsoleBuffer[i];
-    aBufferUtf8.SetLength(4 * length); 
+    aBufferUtf8.SetLength(4 * length);
 
     CnvUtfConverter::ConvertFromUnicodeToUtf8(aBufferUtf8, aBufferUtf16);
 
@@ -358,7 +358,7 @@
             return -1;
         }
         buf[i] = u;
-    } 
+    }
 #endif
     if (nUtf8 < n)
         buf[nUtf8] = 0;

==== //depot/perl/symbian/config.sh#19 (text) ====
Index: perl/symbian/config.sh
--- perl/symbian/config.sh#18~29811~    2007-01-14 23:42:37.000000000 -0800
+++ perl/symbian/config.sh      2007-01-26 00:39:07.000000000 -0800
@@ -84,8 +84,8 @@
 d_crypt='undef'
 d_crypt_r='undef'
 d_csh='undef'
+d_ctermid='undef'
 d_ctermid_r='undef'
-d_cterm='undef'
 d_ctime_r='undef'
 d_c99_variadic_macros='undef'
 d_cuserid='undef'

==== //depot/perl/symbian/symbianish.h#6 (text) ====
Index: perl/symbian/symbianish.h
--- perl/symbian/symbianish.h#5~29465~  2006-12-05 01:41:44.000000000 -0800
+++ perl/symbian/symbianish.h   2007-01-26 00:39:07.000000000 -0800
@@ -22,7 +22,7 @@
  *     available to set I/O characteristics
  */
 #define        HAS_IOCTL               / **/
- 
+
 /* HAS_UTIME:
  *     This symbol, if defined, indicates that the routine utime() is
  *     available to update the access and modification times of files.
@@ -47,7 +47,7 @@
 #undef HAS_WAIT
 
 #endif /* !PERL_MICRO */
-  
+
 /* USEMYBINMODE
  *     This symbol, if defined, indicates that the program should
  *     use the routine my_binmode(FILE *fp, char iotype) to insure
@@ -71,7 +71,7 @@
 #define USE_STAT_RDEV  /**/
 
 /* ACME_MESS:
- *     This symbol, if defined, indicates that error messages should be 
+ *     This symbol, if defined, indicates that error messages should be
  *     should be generated in a format that allows the use of the Acme
  *     GUI/editor's autofind feature.
  */

==== //depot/perl/symbian/xsbuild.pl#15 (text) ====
Index: perl/symbian/xsbuild.pl
--- perl/symbian/xsbuild.pl#14~29848~   2007-01-17 05:38:05.000000000 -0800
+++ perl/symbian/xsbuild.pl     2007-01-26 00:39:07.000000000 -0800
@@ -6,6 +6,7 @@
 use File::Basename;
 use Cwd;
 
+unshift @INC, dirname $0 or '.';
 do "sanity.pl" or die $@;
 
 my $CoreBuild = -d "ext" && -f "perl.h" && -d "symbian" && -f "perl.c";
@@ -63,7 +64,6 @@
 my ($SYMBIAN_ROOT, $SYMBIAN_VERSION, $SDK_NAME, $SDK_VARIANT, $SDK_VERSION);
 
 if ($CoreBuild) {
-    unshift @INC, "symbian";
     do "sanity.pl" or die $@;
     my %VERSION = %{ do "version.pl" or die $@ };
     ($SYMBIAN_ROOT, $SYMBIAN_VERSION, $SDK_NAME, $SDK_VARIANT, $SDK_VERSION) =
End of Patch.

Reply via email to