From: Olaf Flebbe Date: Tue, 13 Jun 2000 22:59:29 +0000 (+0200) Subject: 5.6.0 Patch for EPOC X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=eb0d51032951025d503d808dc9e0dda8999ea12e;p=p5sagit%2Fp5-mst-13.2.git 5.6.0 Patch for EPOC Message-ID: <23449.960929969@www11.gmx.net> p4raw-id: //depot/cfgperl@6262 --- diff --git a/README.epoc b/README.epoc index b4bcca6..2163c46 100644 --- a/README.epoc +++ b/README.epoc @@ -4,7 +4,7 @@ Perl 5 README file for the EPOC operating system. Olaf Flebbe http://www.linuxstart.com/~oflebbe/perl/perl5.html -2000-02-20 +2000-05-15 ===================================================================== Introduction @@ -13,9 +13,8 @@ Introduction EPOC is a OS for palmtops and mobile phones. For more informations look at: http://www.symbian.com/ -This is a port of Perl version 5.5.650 to EPOC. It runs on the Perl -Series 5, Series 5mx and the Psion Revo. I have no reports for other -EPOC devices. +This is a port of Perl version 5.6.0 to EPOC. It runs on the Perl +Series 5, Series 5mx and the Psion Revo and on the Ericson M128. Features are left out, because of restrictions of the POSIX support. @@ -157,4 +156,4 @@ Support Status I'm offering this port "as is". You can ask me questions, but I can't guarantee I'll be able to answer them; I don't know much about Perl -internals myself; +internals myself. diff --git a/epoc/config.sh b/epoc/config.sh index 113260f..5b37e3a 100644 --- a/epoc/config.sh +++ b/epoc/config.sh @@ -79,7 +79,7 @@ cppsymbols='' crosscompile='define' cryptlib='' csh='csh' -d_Gconvert='sprintf((b),"%.*g",(n),(x))' +d_Gconvert='epoc_gcvt((x),(n),(b))' d_PRIEldbl='undef' d_PRIFldbl='undef' d_PRIGldbl='undef' @@ -194,7 +194,7 @@ d_htonl='define' d_iconv='undef' d_index='undef' d_inetaton='define' -d_int64t='undef' +d_int64_t='undef' d_iovec_s='undef' d_isascii='define' d_isnan='define' @@ -385,7 +385,7 @@ emacs='' eunicefix=':' exe_ext='' expr='expr' -extensions='Data/Dumper File/Glob IO Socket' +extensions='Data/Dumper File/Glob IO Socket Fcntl' fflushNULL='undef' fflushall='define' find='' @@ -497,7 +497,7 @@ installstyle='' installusrbinperl='undef' installvendorlib='' intsize='4' -known_extensions='Data/Dumper File/Glob IO Socket' +known_extensions='Data/Dumper File/Glob IO Socket Fcntl' ksh='' large='' ld='echo' @@ -645,7 +645,7 @@ sleep='' smail='' small='' so='' -socksizetype='int' +socksizetype='size_t' sockethdr='' socketlib='' sort='sort' @@ -656,7 +656,7 @@ src='.' ssizetype='long' startperl='' startsh='#!/bin/sh' -static_ext='Data/Dumper File/Glob IO Socket' +static_ext='Data/Dumper File/Glob IO Socket Fcntl' stdchar='char' stdio_base='' stdio_bufsiz='' @@ -794,3 +794,159 @@ use5005threads='undef' useithreads='undef' inc_version_list=' ' inc_version_list_init='0' +d_madvise='undef' +d_mkdtemp='undef' +d_mkstemp='undef' +d_mkstemps='undef' +d_mmap='undef' +d_mprotect='undef' +d_msync='undef' +d_munmap='undef' +d_qgcvt='undef' +d_socklen_t='undef' +d_vendorarch='' +i_iconv='undef' +i_ieeefp='undef' +i_sunmath='undef' +i_syslog='undef' +i_sysmman='undef' +i_sysutsname='undef' +installvendorarch='' +mmaptype='' +revision='5' +sizesize='4' +socksizetype='int' + +double='undef' +usemorebits='undef' +usemultiplicity='undef' +usemymalloc='n' +usenm='' +useopcode='' +useperlio='undef' +useposix='' +usesfio='' +useshrplib='' +usesocks='undef' +usethreads='undef' +usevendorprefix='' +usevfork='' +usrinc='' +uuname='' +vendorlib='' +vendorlib_stem='' +vendorlibexp='' +vendorprefix='' +vendorprefixexp='' +version='5.6.0' +vi='' +voidflags='15' +xlibpth='' +zcat='' +zip='' +# Configure command line arguments. +config_arg0='' +config_args='' +config_argc=11 +config_arg1='' +config_arg2='' +config_arg3='' +config_arg4='' +config_arg5='' +config_arg6='' +config_arg7='' +config_arg8='' +config_arg9='' +config_arg10='' +config_arg11='' +PERL_REVISION=5 +PERL_VERSION=6 +PERL_SUBVERSION=0 +PERL_API_REVISION=5 +PERL_API_VERSION=6 +PERL_API_SUBVERSION=0 +CONFIGDOTSH=true +# Variables propagated from previous config.sh file. +pp_sys_cflags='' +epocish_cflags='ccflags="$cflags -xc++"' +ivtype='int' +uvtype='unsigned int' +i8type='char' +u8type='unsigned char' +i16type='short' +u16type='unsigned short' +i32type='int' +u32type='unsigned int' +i64type='long long' +u64type='unsigned long long' +d_quad='define' +quadtype='long long' +quadtype='unsigned long long' +quadkind='QUAD_IS_LONG_LONG' +nvtype='double' +ivsize='4' +uvsize='4' +i8size='1' +u8size='1' +i16size='2' +u16size='2' +i32size='4' +u32size='4' +i64size='8' +u64size='8' +d_fs_data_s='undef' +d_fseeko='undef' +d_ldbl_dig='undef' +d_sqrtl='undef' +d_getmnt='undef' +d_statfs_f_flags='undef' +d_statfs_s='undef' +d_ustat='undef' +i_sysstatfs='undef' +i_sysvfs='undef' +i_ustat='undef' +uidsize='2' +uidsign='1' +gidsize='2' +gidsign='1' +ivdformat='"ld"' +uvuformat='"lu"' +uvoformat='"lo"' +uvxformat='"lx"' +uidformat='"hu"' +gidformat='"hu"' +d_strtold='undef' +d_strtoll='undef' +d_strtouq='undef' +d_nv_preserves_uv='define' +use5005threads='undef' +useithreads='undef' +inc_version_list=' ' +inc_version_list_init='0' +d_madvise='undef' +d_mkdtemp='undef' +d_mkstemp='undef' +d_mkstemps='undef' +d_mmap='undef' +d_mprotect='undef' +d_msync='undef' +d_munmap='undef' +d_qgcvt='undef' +d_socklen_t='undef' +d_vendorarch='' +i_iconv='undef' +i_ieeefp='undef' +i_sunmath='undef' +i_syslog='undef' +i_sysmman='undef' +i_sysutsname='undef' +installvendorarch='' +mmaptype='' +revision='5' +sizesize='4' +socksizetype='int' +xs_apiversion='5.005' +d_getcwd='define' +i_sysmode='undef' +d_vendorarch='undef' + diff --git a/epoc/createpkg.pl b/epoc/createpkg.pl index 6977bd3..77dafb1 100644 --- a/epoc/createpkg.pl +++ b/epoc/createpkg.pl @@ -3,11 +3,11 @@ use File::Find; use Cwd; -$VERSION="5.5"; -$PATCH="650"; -$EPOC_VERSION=19; +$VERSION="5.6"; +$PATCH="0"; +$EPOC_VERSION=20; $CROSSCOMPILEPATH=cwd; -$CROSSREPLACEPATH="H:\\devel\\perl5.5.650"; +$CROSSREPLACEPATH="H:\\perl"; sub filefound { diff --git a/epoc/epocish.c b/epoc/epocish.c index 134eaef..4963a2e5 100644 --- a/epoc/epocish.c +++ b/epoc/epocish.c @@ -6,7 +6,7 @@ * */ -/* This is indeed C++ Code !! */ +/* This is C++ Code !! */ #include @@ -31,4 +31,25 @@ epoc_spawn( char *cmd, char *cmdline) { return 0; } + + /* Workaround for defect atof(), see java defect list for epoc */ + double epoc_atof( const char* str) { + TReal64 aRes; + + TLex lex( _L( str)); + TInt err = lex.Val( aRes, TChar( '.')); + return aRes; + } + + void epoc_gcvt( double x, int digits, unsigned char *buf) { + TRealFormat trel; + + trel.iPlaces = digits; + trel.iPoint = TChar( '.'); + + TPtr result( buf, 80); + + result.Num( x, trel); + result.Append( TChar( 0)); + } } diff --git a/epoc/epocish.h b/epoc/epocish.h index f4be0ff..75a64fc 100644 --- a/epoc/epocish.h +++ b/epoc/epocish.h @@ -121,9 +121,6 @@ /* getsockname returns the size of struct sockaddr_in *without* padding */ #define BOGUS_GETNAME_RETURN 8 -/* Yes, size_t is size_t */ -#define Sock_size_t size_t - /* read() on a socket blocks until buf is filled completly, recv() returns each massage @@ -133,3 +130,13 @@ /* No /dev/random available*/ #define PERL_NO_DEV_RANDOM + +/* + work around for buggy atof(): + atof() in ER5 stdlib depends on locale. +*/ + +double epoc_atof( const char *ptr); +#define atof(a) epoc_atof(a) + +