diff options
author | Todd C. Miller <millert@cvs.openbsd.org> | 2000-04-06 16:09:31 +0000 |
---|---|---|
committer | Todd C. Miller <millert@cvs.openbsd.org> | 2000-04-06 16:09:31 +0000 |
commit | 046e115b0085c8555ec9eb2baf0dcd7f58048cf8 (patch) | |
tree | e485da7c7ab765b32af758fe68161b4da05a45b1 /gnu/usr.bin/perl | |
parent | f7c0cb23b110d5d91d4312dce219b01f6d671b32 (diff) |
virgin perl 5.6.0
Diffstat (limited to 'gnu/usr.bin/perl')
-rw-r--r-- | gnu/usr.bin/perl/README.epoc | 210 | ||||
-rw-r--r-- | gnu/usr.bin/perl/README.vmesa | 138 | ||||
-rw-r--r-- | gnu/usr.bin/perl/epoc/config.sh | 511 | ||||
-rw-r--r-- | gnu/usr.bin/perl/epoc/createpkg.pl | 43 | ||||
-rw-r--r-- | gnu/usr.bin/perl/epoc/epoc.c | 194 | ||||
-rw-r--r-- | gnu/usr.bin/perl/epoc/epoc_stubs.c | 53 | ||||
-rw-r--r-- | gnu/usr.bin/perl/epoc/epocish.c | 43 | ||||
-rw-r--r-- | gnu/usr.bin/perl/epoc/epocish.h | 49 | ||||
-rw-r--r-- | gnu/usr.bin/perl/epoc/link.pl | 6 | ||||
-rw-r--r-- | gnu/usr.bin/perl/ext/DynaLoader/dl_vmesa.xs | 29 | ||||
-rw-r--r-- | gnu/usr.bin/perl/hints/rhapsody.sh | 105 | ||||
-rw-r--r-- | gnu/usr.bin/perl/hints/vmesa.sh | 14 |
12 files changed, 509 insertions, 886 deletions
diff --git a/gnu/usr.bin/perl/README.epoc b/gnu/usr.bin/perl/README.epoc index f5773506ff4..b4bcca60e4a 100644 --- a/gnu/usr.bin/perl/README.epoc +++ b/gnu/usr.bin/perl/README.epoc @@ -1,154 +1,160 @@ -If you read this file _as_is_, just ignore the funny characters you -see. It is written in the POD format (see pod/perlpod.pod) which is -specially designed to be readable as is. +===================================================================== +Perl 5 README file for the EPOC operating system. +===================================================================== -=head1 NAME +Olaf Flebbe <o.flebbe@gmx.de> +http://www.linuxstart.com/~oflebbe/perl/perl5.html +2000-02-20 -perlepoc - Perl for EPOC +===================================================================== +Introduction +===================================================================== -=head1 SYNOPSIS +EPOC is a OS for palmtops and mobile phones. For more informations look at: +http://www.symbian.com/ -Perl 5 README file for the EPOC Release 5 operating system. +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. -=head1 INTRODUCTION +Features are left out, because of restrictions of the POSIX support. -EPOC is an OS for palmtops and mobile phones. For more information look -at: L<http://www.symbian.com/> +===================================================================== +Installation/Usage +===================================================================== -This is a port of perl to the epocemx SDK by Eberhard Mattes, which -itself uses the SDK by symbian. Essentially epocemx it is a POSIX -look alike environment for the EPOC OS. For more information look at: -L<http://epocemx.sourceforge.net/> +You will need ~4MB free space in order to install and run perl. -perl and epocemx runs on Epoc Release 5 machines: Psion 5mx, 5mx Pro, -Psion Revo, Psion Netbook and on the Ericsson M128. It may run on Epoc -Release 3 Hardware (Series 5 classic), too. For more information about -this hardware please refer to L<http://www.psion.com/> +Install perl.sis on the EPOC machine (most likely a PSION Series 5, +5mx). If you do not know how to do that, you are on your own. -Vendors which like to have support for their devices are free to send -me a sample. +Perl itself and its standard library are using 2.5 MB disk space. I +left out unicode support modules and modules which will not work with +this version. (For details look into epoc/createpkg.pl). If you like +to use them, you are free to copy them from a current perl release. -=head1 INSTALLING PERL ON EPOC +Copy eshell.exe from the same page you got perl to your EPOC device. +Start eshell.exe with a double tap. -You can download a ready-to-install version from -L<http://www.oflebbe.de/perl/perl5.html> +Now you can enter: perl -de 0 in order to run the perl debugger. If +you are leaving perl, you get into the system screen. You have to +switch back manually to eshell.exe When perl is running, you will see +a task with the name STDOUT in the task list. -You will need at least ~6MB free space in order to install and run perl. +====================================================================== +IO Redirection +====================================================================== -Please install the emxusr.sis package from -L<http://epocemx.sourceforge.net/> first. +You can redirect the output with the UNIX bourne shell syntax (this is +built into perl rather then eshell) For instance the following command +line will run the script test.pl with the output redirected to +stdout_file, the errors to stderr_file and input from stdin_file. -Install perl.sis on the EPOC machine. If you do not know how to do -that, consult your PsiWin documentation. +perl test.pl >stdout_file <stdin_file 2>stderr_file -Perl itself and its standard library is using 4 MB disk space. -Unicode support and some other modules are left out. (For details, -please look into epoc/createpkg.pl). If you like to use these modules, -you are free to copy them from a current perl release. +Alternativly you can use 2>&1 in order to add the standard error +output to stdout. -=head1 STARTING PERL ON EPOC +====================================================================== +PATH Names +====================================================================== -Please use the epocemx shell to start perl. perl integrates with the -conventions of epocemx. +Pathnames to executables in eshell.exe have to be written with +backslashes '\', file arguments to perl with slashes '/'. The default +drive of perl is the same as the drive perl.exe is located on, the +default path seems to be '/'. -=head2 Features of Perl on Epoc +i.e. command lines look a little bit funny: -The built-in function EPOC::getcwd returns the current directory. +D:\perl.exe C:/test.pl >C:/output.txt -=head2 Restrictions of Perl on Epoc +You can automatically search for file on all EPOC drives with a ? as +the driver letter. For instance ?:\a.txt seraches for C:\a.txt, +D:\b.txt (and Z:\a.txt). -Features are left out, because of restrictions of the POSIX support in -EPOC: +====================================================================== +Editors +====================================================================== -=over 4 +You may have a problem to create perl scripts. A cumbersome workaround +is to use the OPL Editor and exporting to text. -=item * +The OPL+ Editor is quite good. (Shareware: http://www.twiddlebit.com) +There is a port of vim around: + http://www.starship.freeserve.co.uk/index.html -socket IO is only implemented poorly. You can only use sysread and -syswrite on them. The commands read, write, print, <> do not work for -sockets. This may change iff epocemx supports sockets. +====================================================================== +Restrictions +====================================================================== -=item * +The following things are left out of this perl port: -kill, alarm and signals. Do not try to use them. This may be -impossible to implement on EPOC. ++ backquoting, pipes etc. -=item * ++ system() does not inherit ressources like: file descriptors, + environment etc. -select is missing. ++ signal, kill, alarm. Do not try to use them. This may be + impossible to implement on EPOC. -=item * ++ select is missing. -binmode does not exist. (No CR LF to LF translation for text files) ++ binmode does not exist. (No CR LF to LF translation for text files) -=item * ++ EPOC does not handle the notion of current drive and current + directory very well (i.e. not at all, but it tries hard to emulate + one) See PATH. -EPOC does not handle the notion of current drive and current -directory very well (i.e. not at all, but it tries hard to emulate -one). See PATH. ++ You need the shell eshell.exe in order to run perl.exe and supply + it with arguments. -=item * ++ Heap is limited to 4MB. -Heap is limited to 4MB. - -=item * - -Dynamic loading is not implemented. - -=back - -=head2 Compiling Perl 5 on the EPOC cross compiling environment +=================================================================== +Compiling Perl 5 on the EPOC cross compiling envionment. +=================================================================== Sorry, this is far too short. -=over 4 - -=item * - -You will need the epocemx SDK from Eberhard Mattes. - -=item * + You will need the C++ SDK from http://developer.epocworld.com/. -Get the Perl sources from your nearest CPAN site. + You will need to set up the cross SDK from + http://www.linuxstart.com/~oflebbe -=item * + You may have to adjust config.sh (cc, cppflags) for your epoc + install location. -Unpack the sources. + You may have to adjust config.sh for your cross SDK location -=item * + Get the Perl sources from your nearest CPAN site. -Build a native perl from this sources... Make sure to save the -miniperl executable as miniperl.native. - -Start again from scratch + Unpack the sources. + Build a native perl from this sources... cp epoc/* . ./Configure -S - make + make perl cp miniperl.native miniperl - touch miniperl.exe - make + make perl + perl link.pl perlmain.o lib/auto/DynaLoader/DynaLoader.a \ + lib/auto/Data/Dumper.a \ + lib/auto/File/Glob/Glob.a lib/auto/IO/IO.a \ + lib/auto/Socket/Socket.a perl.a `cat ext.libs` perl createpkg.pl + wine "G:/bin/makesis perl.pkg perl.sis" - emxsis perl.pkg perl.sis - -=back - -=head1 SUPPORT STATUS OF PERL ON EPOC - -I'm offering this port "as is". You can ask me questions, but I can't -guarantee I'll be able to answer them. Since the port to epocemx is -quite new, please check the web for updates first. - -Very special thanks to Eberhard Mattes for epocemx. - -=head1 AUTHOR -Olaf Flebbe <olaf@oflebbe.de> -L<http://www.oflebbe.de/perl/perl5.html> +==================================================================== +Wish List +==================================================================== -=head1 LAST UPDATE +- Threads ? +- Acess to the GUI? -2003-01-18 +==================================================================== +Support Status +==================================================================== -=cut +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; diff --git a/gnu/usr.bin/perl/README.vmesa b/gnu/usr.bin/perl/README.vmesa index ae8e3864da4..a6bb96b37f4 100644 --- a/gnu/usr.bin/perl/README.vmesa +++ b/gnu/usr.bin/perl/README.vmesa @@ -1,102 +1,57 @@ - -This document is written in pod format hence there are punctuation -characters in odd places. Do not worry, you've apparently got -the ASCII->EBCDIC translation worked out correctly. You can read -more about pod in pod/perlpod.pod or the short summary in the -INSTALL file. - -=head1 NAME - -perlvmesa - building and installing Perl for VM/ESA. - -=head1 SYNOPSIS - -This document will help you Configure, build, test and install Perl -on VM/ESA. - -=head1 DESCRIPTION +README.vmesa This is a fully ported perl for VM/ESA 2.3.0. It may work on other versions, but that's the one we've tested it on. If you've downloaded the binary distribution, it needs to be installed below /usr/local. Source code distributions have an -automated "make install" step that means you do not need to extract +automated `make install` step that means you do not need to extract the source code below /usr/local (though that is where it will be installed by default). You may need to worry about the networking configuration files discussed in the last bullet below. -=head2 Unpacking Perl Distribution on VM/ESA - To extract an ASCII tar archive on VM/ESA, try this: pax -o to=IBM-1047,from=ISO8859-1 -r < latest.tar -=head2 Setup Perl and utilities on VM/ESA - GNU make for VM/ESA, which may be required for the build of perl, is available from: -L<http://vm.marist.edu/~neale/vmoe.html> - -=head2 Configure Perl on VM/ESA + http://pucc.princeton.edu/~neale/vmoe.html Once you've unpacked the distribution, run Configure (see INSTALL for full discussion of the Configure options), and then run make, then "make test" then "make install" (this last step may require UID=0 -privileges). +privileges) There is a "hints" file for vmesa that specifies the correct values -for most things. Some things to watch out for are: - -=over 4 - -=item * - -this port does support dynamic loading but it's not had much testing - -=item * - -Don't turn on the compiler optimization flag "-O". There's -a bug in the compiler (APAR PQ18812) that generates some bad code -the optimizer is on. - -=item * - -As VM/ESA doesn't fully support the fork() API programs relying on -this call will not work. I've replaced fork()/exec() with spawn() -and the standalone exec() with spawn(). This has a side effect when -opening unnamed pipes in a shell script: there is no child process -generated under. - -=item * - -At the moment the hints file for VM/ESA basically bypasses all of the -automatic configuration process. This is because Configure relies on: -1. The header files living in the Byte File System (you could put the -there if you want); 2. The C preprocessor including the #include -statements in the preprocessor output (.i) file. - -=back - -=head2 Testing Anomalies of Perl on VM/ESA - -The "make test" step runs a Perl Verification Procedure, usually before -installation. As the 5.6.1 kit was being assembled -the following "failures" were known to appear on some machines -during "make test" (mostly due to ASCII vs. EBCDIC conflicts), -your results may differ: - -[the list of failures being compiled] - -=head2 Usage Hints for Perl on VM/ESA - +for most things. Some things to watch out for are + + - this port does support dynamic loading but it's not had much testing + + - Don't turn on the compiler optimization flag "-O". There's + a bug in the compiler (APAR PQ18812) that generates some bad code + the optimizer is on. + + - As VM/ESA doesn't fully support the fork() API programs relying on + this call will not work. I've replaced fork()/exec() with spawn() + and the standalone exec() with spawn(). This has a side effect when + opening unnamed pipes in a shell script: there is no child process + generated under. + + - At the moment the hints file for VM/ESA basically bypasses all of the + automatic configuration process. This is because Configure relies on: + 1. The header files living in the Byte File System (you could put the + there if you want; + 2. The C preprocessor including the #include statements in the + preprocessor output (.i) file. + When using perl on VM/ESA please keep in mind that the EBCDIC and ASCII character sets are different. Perl builtin functions that may behave differently under EBCDIC are mentioned in the perlport.pod document. OpenEdition (UNIX System Services) does not (yet) support the #! means -of script invocation. +of script invokation. See: head `whence perldoc` @@ -104,37 +59,18 @@ See: for an example of how to use the "eval exec" trick to ask the shell to have perl run your scripts for you. -=head1 AUTHORS - -Neale Ferguson. - -=head1 SEE ALSO - -L<INSTALL>, L<perlport>, L<perlebcdic>. - -=head2 Mailing list for Perl on VM/ESA - -If you are interested in the VM/ESA, z/OS (formerly known as OS/390) -and POSIX-BC (BS2000) ports of Perl then see the perl-mvs mailing list. -To subscribe, send an empty message to perl-mvs-subscribe@perl.org. +If you are interested in the VM and OS/390 ports of perl then see the +perl-mvs mailing list: The Perl Institute (http://www.perl.org/) +maintains a mailing list of interest to all folks building and/or +using perl on EBCDIC platforms. To subscibe, send a message of: -See also: + subscribe perl-mvs -L<http://lists.perl.org/list/perl-mvs.html> +to majordomo@perl.org. -There are web archives of the mailing list at: - -=over 4 - -=item * - -L<http://www.xray.mpe.mpg.de/mailing-lists/perl-mvs/> - -=item * - -L<http://archive.develooper.com/perl-mvs@perl.org/> - -=back - -=cut +Regression tests: as the 5.005 kit was was being assembled +the following "failures" were known to appear on some machines +during `make test` (mostly due to ASCII vs. EBCDIC conflicts), +your results may differ: +[the list of failures being compiled] diff --git a/gnu/usr.bin/perl/epoc/config.sh b/gnu/usr.bin/perl/epoc/config.sh index 1e826100582..a60b7a0f085 100644 --- a/gnu/usr.bin/perl/epoc/config.sh +++ b/gnu/usr.bin/perl/epoc/config.sh @@ -17,6 +17,7 @@ Header='' Id='$Id' Locker='' Log='$Log' +Mcc='' RCSfile='$RCSfile' Revision='$Revision' Source='' @@ -25,24 +26,23 @@ _a='.a' _exe='.exe' _o='.o' afs='false' -afsroot='/afs' alignbytes='8' ansi2knr='' aphostname='' apirevision='' apisubversion='' apiversion='' -ar='arm-epoc-pe-ar' -archlib='/usr/lib/perl/5.16.3/epoc' -archlibexp='/usr/lib/perl/5.16.3/epoc' +ar='arm-pe-ar' +archlib='/perl/lib/5.6.0/epoc' +archlibexp='/perl/lib/5.6.0/epoc' archname64='' archname='epoc' archobjs='epoc.o epocish.o epoc_stubs.o' -asctime_r_proto='0' awk='awk' baserev='5.0' bash='' bin='' +bincompat5005='false' binexp='' bison='bison' byacc='' @@ -50,15 +50,14 @@ byteorder='1234' c='' castflags='0' cat='cat' -cc='arm-epoc-pe-gcc -DEPOC' +cc='arm-pe-gcc -B/usr/local/lib/gcc-lib/arm-pe/cygnus-2.7.2-960323/ -nostdinc -D__SYMBIAN32__ -D__PSISOFT32__ -D__GCC32__ -D__EPOC32__ -D__MARM__ -D__EXE__ -I/usr/local/epoc/include/ -I/usr/local/epoc/include/libc -DEPOC' cccdlflags='' ccdlflags='' -ccflags='' +ccflags='-Wno-ctor-dtor-privacy -mcpu-arm710 -mapcs-32 -mshort-load-bytes -msoft-float -fcheck-new -fvtable-thunks' ccsymbols='' cf_by='olaf' cf_email='o.flebbe@gmx.de' -cf_time='Dec 2001' -charbits='8' +cf_time='Dec 1999' chgrp='' chmod='' chown='' @@ -68,25 +67,23 @@ compress='' contains='grep' cp='cp' cpio='' -cpp='arm-epoc-pe-cpp' +cpp='arm-pe-cpp' cpp_stuff='42' cppccsymbols='EPOC=1' -cppflags='' +cppflags=' -nostdinc -D__SYMBIAN32__ -D__PSISOFT32__ -D__GCC32__ -D__EPOC32__ -D__MARM__ -D__EXE__ -I/usr/local/epoc/include/ -I/usr/local/epoc/include/libc' cpplast='-' cppminus='-' -cpprun='arm-epoc-pe-gcc -E' -cppstdin='arm-epoc-pe-gcc -E' +cpprun='arm-pe-gcc -E -B/usr/local/lib/gcc-lib/arm-pe/cygnus-2.7.2-960323/' +cppstdin='arm-pe-gcc -E -B/usr/local/lib/gcc-lib/arm-pe/cygnus-2.7.2-960323/' cppsymbols='' -crypt_r_proto='0' +crosscompile='define' cryptlib='' csh='csh' -ctermid_r_proto='0' -ctime_r_proto='0' -d_Gconvert='epoc_gcvt((x),(n),(b))' -d_PRIEUldbl='undef' -d_PRIFUldbl='undef' -d_PRIGUldbl='undef' -d_PRIXU64='undef' +d_Gconvert='sprintf((b),"%.*g",(n),(x))' +d_PRIEldbl='undef' +d_PRIFldbl='undef' +d_PRIGldbl='undef' +d_PRIX64='undef' d_PRId64='undef' d_PRIeldbl='undef' d_PRIfldbl='define' @@ -95,149 +92,83 @@ d_PRIi64='undef' d_PRIo64='undef' d_PRIu64='undef' d_PRIx64='undef' -d_SCNfldbl='undef' -d__fwalk='undef' d_access='undef' d_accessx='undef' -d_aintl='undef' d_alarm='undef' d_archlib='define' -d_asctime64='undef' -d_asctime_r='undef' d_atolf='undef' d_atoll='undef' -d_attribute_deprecated='undef' -d_attribute_format='undef' -d_attribute_malloc='undef' -d_attribute_nonnull='undef' -d_attribute_noreturn='undef' -d_attribute_pure='undef' -d_attribute_unused='undef' -d_attribute_warn_unused_result='undef' +d_attribut='undef' d_bcmp='define' d_bcopy='define' +d_bincompat5005='undef' d_bsd='undef' d_bsdgetpgrp='undef' d_bsdsetpgrp='undef' -d_builtin_choose_expr='undef' -d_builtin_expect='undef' d_bzero='define' -d_c99_variadic_macros='undef' d_casti32='undef' d_castneg='undef' d_charvspr='undef' d_chown='undef' d_chroot='undef' d_chsize='undef' -d_class='undef' -d_clearenv='define' d_closedir='undef' d_cmsghdr_s='undef' d_const='define' -d_copysignl='undef' -d_cplusplus='undef' d_crypt='undef' -d_crypt_r='undef' d_csh='undef' -d_ctermid='undef' -d_ctermid_r='undef' -d_ctime64='undef' -d_ctime_r='undef' d_cuserid='undef' d_dbl_dig='undef' -d_dbminitproto='undef' -d_difftime64='undef' d_difftime='define' -d_dir_dd_fd='undef' -d_dirfd='undef' d_dirnamlen='undef' d_dlerror='undef' d_dlopen='undef' d_dlsymun='undef' d_dosuid='undef' -d_drand48_r='undef' d_drand48proto='define' d_dup2='undef' d_eaccess='undef' d_endgrent='undef' -d_endgrent_r='undef' d_endhent='undef' -d_endhostent_r='undef' d_endnent='undef' -d_endnetent_r='undef' d_endpent='undef' -d_endprotoent_r='undef' d_endpwent='undef' -d_endpwent_r='undef' d_endsent='undef' -d_endservent_r='undef' +d_endspent='undef' d_eofnblk='define' d_eunice='undef' -d_faststdio='undef' -d_fchdir='undef' d_fchmod='undef' d_fchown='undef' d_fcntl='undef' -d_fcntl_can_lock='undef' d_fd_macros='undef' d_fd_set='define' d_fds_bits='undef' d_fgetpos='define' -d_finite='undef' -d_finitel='undef' d_flexfnam='define' d_flock='undef' -d_flockproto='undef' d_fork='undef' -d_fp_class='undef' d_fpathconf='undef' -d_fpclass='undef' -d_fpclassify='undef' -d_fpclassl='undef' d_fpos64_t='undef' -d_frexpl='undef' -d_fs_data_s='undef' d_fseeko='undef' d_fsetpos='define' d_fstatfs='define' d_fstatvfs='undef' -d_fsync='undef' d_ftello='undef' d_ftime='undef' -d_futimes='undef' -d_gdbm_ndbm_h_uses_prototypes='undef' -d_gdbmndbm_h_uses_prototypes='undef' -d_getaddrinfo='undef' -d_getcwd='define' -d_getespwnam='undef' d_getfsstat='undef' d_getgrent='undef' -d_getgrent_r='undef' -d_getgrgid_r='undef' -d_getgrnam_r='undef' d_getgrps='undef' d_gethbyaddr='define' d_gethbyname='define' d_gethent='undef' d_gethname='undef' -d_gethostbyaddr_r='undef' -d_gethostbyname_r='undef' -d_gethostent_r='undef' d_gethostprotos='define' -d_getitimer='undef' d_getlogin='undef' -d_getlogin_r='undef' -d_getmnt='undef' d_getmntent='undef' -d_getnameinfo='undef' d_getnbyaddr='undef' d_getnbyname='undef' d_getnent='undef' -d_getnetbyaddr_r='undef' -d_getnetbyname_r='undef' -d_getnetent_r='undef' d_getnetprotos='define' -d_getpagsz='undef' d_getpbyname='define' d_getpbynumber='define' d_getpent='undef' @@ -246,55 +177,30 @@ d_getpgrp2='undef' d_getpgrp='undef' d_getppid='undef' d_getprior='undef' -d_getprotobyname_r='undef' -d_getprotobynumber_r='undef' -d_getprotoent_r='undef' d_getprotoprotos='define' -d_getprpwnam='undef' d_getpwent='undef' -d_getpwent_r='undef' -d_getpwnam_r='undef' -d_getpwuid_r='undef' d_getsbyname='undef' d_getsbyport='undef' d_getsent='undef' -d_getservbyname_r='undef' -d_getservbyport_r='undef' -d_getservent_r='undef' d_getservprotos='define' +d_getspent='undef' d_getspnam='undef' -d_getspnam_r='undef' d_gettimeod='define' -d_gmtime64='undef' -d_gmtime_r='undef' d_gnulibc='undef' d_grpasswd='undef' d_hasmntopt='undef' d_htonl='define' -d_ilogbl='undef' -d_inc_version_list='undef' +d_iconv='undef' d_index='undef' d_inetaton='define' -d_inetntop='undef' -d_inetpton='undef' -d_int64_t='undef' +d_int64t='undef' d_iovec_s='undef' -d_ipv6_mreq='undef' d_isascii='define' -d_isblank='undef' -d_isfinite='undef' -d_isinf='undef' -d_isnan='define' -d_isnanl='undef' d_killpg='undef' d_lchown='undef' d_ldbl_dig='undef' -d_libm_lib_version='0' d_link='undef' d_llseek='undef' -d_localtime64='undef' -d_localtime_r='undef' -d_localtime_r_needs_tzset='undef' d_locconv='undef' d_lockf='undef' d_longdbl='undef' @@ -302,8 +208,6 @@ d_longlong='define' d_lseekproto='define' d_lstat='undef' d_madvise='undef' -d_malloc_good_size='undef' -d_malloc_size='undef' d_mblen='undef' d_mbstowcs='undef' d_mbtowc='undef' @@ -313,16 +217,9 @@ d_memcpy='define' d_memmove='define' d_memset='define' d_mkdir='define' -d_mkdtemp='undef' d_mkfifo='undef' -d_mkstemp='undef' -d_mkstemps='undef' -d_mktime64='undef' d_mktime='define' d_mmap='undef' -d_modfl='undef' -d_modfl_pow32_bug='undef' -d_modflproto='undef' d_mprotect='undef' d_msg='undef' d_msg_ctrunc='undef' @@ -338,11 +235,7 @@ d_msgsnd='undef' d_msync='undef' d_munmap='undef' d_mymalloc='undef' -d_ndbm_h_uses_prototypes='undef' d_nice='undef' -d_nl_langinfo='undef' -d_nv_preserves_uv='define' -d_nv_zero_is_allbits_zero='undef' d_off64_t='undef' d_old_pthread_create_joinable='undef' d_oldpthreads='undef' @@ -350,18 +243,10 @@ d_oldsock='undef' d_open3='define' d_pathconf='undef' d_pause='undef' -d_perl_otherlibdirs='undef' d_phostname='undef' d_pipe='undef' d_poll='undef' d_portable='undef' -d_prctl='undef' -d_prctl_set_name='undef' -d_printf_format_null='undef' -d_procselfexe='undef' -d_pseudofork='undef' -d_pthread_atfork='undef' -d_pthread_attr_setscope='undef' d_pthread_yield='undef' d_pwage='undef' d_pwchange='undef' @@ -372,11 +257,7 @@ d_pwgecos='undef' d_pwpasswd='undef' d_pwquota='undef' d_qgcvt='undef' -d_quad='define' -d_random_r='undef' -d_readdir64_r='undef' d_readdir='define' -d_readdir_r='undef' d_readlink='undef' d_readv='undef' d_recvmsg='undef' @@ -386,8 +267,6 @@ d_rmdir='define' d_safebcpy='undef' d_safemcpy='undef' d_sanemcmp='define' -d_sbrkproto='undef' -d_scalbnl='undef' d_sched_yield='undef' d_scm_rights='undef' d_seekdir='define' @@ -402,25 +281,17 @@ d_sendmsg='undef' d_setegid='undef' d_seteuid='undef' d_setgrent='undef' -d_setgrent_r='undef' d_setgrps='undef' d_sethent='undef' -d_sethostent_r='undef' -d_setitimer='undef' d_setlinebuf='undef' d_setlocale='undef' -d_setlocale_r='undef' d_setnent='undef' -d_setnetent_r='undef' d_setpent='undef' d_setpgid='undef' d_setpgrp2='undef' d_setpgrp='undef' d_setprior='undef' -d_setproctitle='undef' -d_setprotoent_r='undef' d_setpwent='undef' -d_setpwent_r='undef' d_setregid='undef' d_setresgid='undef' d_setresuid='undef' @@ -428,8 +299,8 @@ d_setreuid='undef' d_setrgid='undef' d_setruid='undef' d_setsent='undef' -d_setservent_r='undef' d_setsid='undef' +d_setspent='undef' d_setvbuf='undef' d_sfio='undef' d_shm='undef' @@ -439,37 +310,15 @@ d_shmctl='undef' d_shmdt='undef' d_shmget='undef' d_sigaction='undef' -d_signbit='undef' -d_sigprocmask='undef' d_sigsetjmp='undef' -d_sin6_scope_id='undef' -d_sitearch='undef' -d_snprintf='undef' -d_sockaddr_in6='undef' -d_sockaddr_sa_len='undef' -d_sockatmark='undef' -d_sockatmarkproto='undef' d_socket='define' -d_socklen_t='undef' d_sockpair='undef' -d_socks5_init='undef' -d_sprintf_returns_strlen='undef' -d_sqrtl='undef' -d_srand48_r='undef' -d_srandom_r='undef' -d_sresgproto='undef' -d_sresuproto='undef' d_statblks='define' d_statfs='undef' -d_statfs_f_flags='undef' -d_statfs_s='undef' d_statfsflags='define' -d_static_inline='undef' d_statvfs='undef' d_stdio_cnt_lval='define' d_stdio_ptr_lval='define' -d_stdio_ptr_lval_nochange_cnt='undef' -d_stdio_ptr_lval_sets_cnt='undef' d_stdio_stream_array='undef' d_stdiobase='undef' d_stdstdio='undef' @@ -478,23 +327,14 @@ d_strcoll='define' d_strctcpy='define' d_strerrm='strerror(e)' d_strerror='define' -d_strerror_r='undef' -d_strftime='define' -d_strlcat='undef' -d_strlcpy='undef' d_strtod='define' d_strtol='define' -d_strtold='undef' -d_strtoll='undef' -d_strtoq='undef' d_strtoul='define' d_strtoull='undef' -d_strtouq='undef' d_strxfrm='define' d_suidsafe='undef' d_symlink='undef' d_syscall='undef' -d_syscallproto='undef' d_sysconf='define' d_sysernlst='undef' d_syserrlst='undef' @@ -504,25 +344,12 @@ d_tcsetpgrp='undef' d_telldir='define' d_telldirproto='define' d_time='undef' -d_timegm='undef' d_times='undef' -d_tm_tm_gmtoff='undef' -d_tm_tm_zone='undef' -d_tmpnam_r='undef' d_truncate='undef' -d_ttyname_r='undef' d_tzname='undef' -d_u32align='define' -d_ualarm='undef' d_umask='undef' d_uname='undef' d_union_semun='undef' -d_unordered='undef' -d_unsetenv='undef' -d_usleep='undef' -d_usleepproto='undef' -d_ustat='undef' -d_vendorarch='undef' d_vendorlib='undef' d_vfork='undef' d_void_closedir='undef' @@ -530,7 +357,6 @@ d_voidsig='undef' d_voidtty='undef' d_volatile='define' d_vprintf='define' -d_vsnprintf='undef' d_wait4='undef' d_waitpid='undef' d_wcstombs='undef' @@ -540,34 +366,22 @@ d_xenix='undef' date='date' db_hashtype='undef' db_prefixtype='undef' -db_version_major='0' -db_version_minor='0' -db_version_patch='0' defvoidused='15' direntrytype='struct dirent' dlext='none' dlsrc='dl_none.xs' -double='undef' doublesize='8' drand01='(rand()/(double)(1U<<RANDBITS))' -drand48_r_proto='0' -dtrace='' dynamic_ext='' eagain='EAGAIN' ebcdic='undef' echo='echo' egrep='egrep' emacs='' -endgrent_r_proto='0' -endhostent_r_proto='0' -endnetent_r_proto='0' -endprotoent_r_proto='0' -endpwent_r_proto='0' -endservent_r_proto='0' eunicefix=':' exe_ext='' expr='expr' -extensions='Data/Dumper Digest/MD5 Errno Fcntl File/Glob Filter/Util/Call IO List/Util MIME/Base64 Opcode PerlIO/scalar Socket Storable Sys/Hostname Unicode/Storable attributes re' +extensions='Data/Dumper File/Glob IO Socket' fflushNULL='undef' fflushall='define' find='' @@ -575,36 +389,12 @@ firstmakefile='makefile' flex='' fpostype='fpos_t' freetype='void' -full_ar='arm-epoc-pe-ar' +full_ar='/usr/local/bin/arm-pe-ar' full_csh='' full_sed='/usr/bin/sed' gccversion='' -getgrent_r_proto='0' -getgrgid_r_proto='0' -getgrnam_r_proto='0' -gethostbyaddr_r_proto='0' -gethostbyname_r_proto='0' -gethostent_r_proto='0' -getlogin_r_proto='0' -getnetbyaddr_r_proto='0' -getnetbyname_r_proto='0' -getnetent_r_proto='0' -getprotobyname_r_proto='0' -getprotobynumber_r_proto='0' -getprotoent_r_proto='0' -getpwent_r_proto='0' -getpwnam_r_proto='0' -getpwuid_r_proto='0' -getservbyname_r_proto='0' -getservbyport_r_proto='0' -getservent_r_proto='0' -getspnam_r_proto='0' -gidformat='"hu"' -gidsign='1' -gidsize='2' gidtype='gid_t' glibpth='' -gmtime_r_proto='0' grep='grep' groupcat='' groupstype='gid_t' @@ -613,18 +403,9 @@ h_fcntl='' h_sysfile='' hint='' hostcat='' -i16size='2' -i16type='short' -i32size='4' -i32type='int' -i64size='8' -i64type='long long' -i8size='1' -i8type='char' +huge='' i_arpainet='define' -i_assert='define' i_bsdioctl='undef' -i_crypt='undef' i_db='undef' i_dbm='undef' i_dirent='define' @@ -632,21 +413,15 @@ i_dld='undef' i_dlfcn='undef' i_fcntl='define' i_float='undef' -i_fp='undef' -i_fp_class='undef' i_gdbm='undef' -i_gdbm_ndbm='undef' -i_gdbmndbm='undef' i_grp='undef' +i_iconv='undef' i_ieeefp='undef' i_inttypes='undef' -i_langinfo='undef' -i_libutil='undef' i_limits='define' i_locale='undef' i_machcthr='undef' i_malloc='undef' -i_mallocmalloc='undef' i_math='define' i_memory='undef' i_mntent='undef' @@ -656,7 +431,6 @@ i_neterrno='undef' i_netinettcp='define' i_niin='define' i_poll='undef' -i_prot='undef' i_pthread='undef' i_pwd='undef' i_rpcsvcdbm='undef' @@ -665,7 +439,6 @@ i_sgtty='undef' i_shadow='undef' i_socks='undef' i_stdarg='define' -i_stdbool='undef' i_stddef='define' i_stdlib='define' i_string='define' @@ -676,19 +449,15 @@ i_sysfile='undef' i_sysfilio='undef' i_sysin='undef' i_sysioctl='define' -i_syslog='undef' i_sysmman='undef' -i_sysmode='undef' i_sysmount='undef' i_sysndir='undef' i_sysparam='define' -i_syspoll='undef' i_sysresrc='define' i_syssecrt='undef' i_sysselct='undef' i_syssockio='undef' i_sysstat='define' -i_sysstatfs='undef' i_sysstatvfs='undef' i_systime='define' i_systimek='undef' @@ -696,48 +465,39 @@ i_systimes='define' i_systypes='define' i_sysuio='undef' i_sysun='undef' -i_sysutsname='undef' -i_sysvfs='undef' i_syswait='define' i_termio='undef' i_termios='undef' i_time='define' i_unistd='define' -i_ustat='undef' i_utime='undef' i_values='undef' i_varargs='undef' i_varhdr='undef' i_vfork='undef' ignore_versioned_solibs='' -inc_version_list=' ' -inc_version_list_init='0' incpath='' inews='' -installarchlib='/home/of/PERL/perl/lib/5.16.3/epoc' -installbin='/home/of/PERL/System/Programs/' -installman1dir='/home/of/PERL/man1' -installman3dir='/home/of/PERL/man3' -installprefix='' +installarchlib='/home/olaf/E/lib' +installbin='/home/olaf/E/bin' +installman1dir='' +installman3dir='' +installprefix='/home/olaf/' installprefixexp='' -installprivlib='/home/of/PERL/perl/lib/5.16.3/' -installscript='/home/of/PERL/bin/' -installsitearch='/home/of/PERL/site/lib/site_perl/5.16.3/epoc' -installsitelib='/home/of/PERL/perl/lib/site_perl/5.16.3' +installprivlib='' +installscript='' +installsitearch='/home/olaf/E/site/' +installsitelib='/home/olaf/E/site/lib' installstyle='' installusrbinperl='undef' -installvendorarch='' installvendorlib='' intsize='4' -issymlink='' -ivdformat='"ld"' -ivsize='4' -ivtype='int' -known_extensions='Data/Dumper File/Glob IO Socket Fcntl Sys/Hostname Errno' +known_extensions='Data/Dumper File/Glob IO Socket' ksh='' +large='' ld='echo' lddlflags='' -ldflags='-Wl,-heap,0x04000000' +ldflags='' ldlibpthname='' less='' lib_ext='' @@ -751,7 +511,6 @@ lint='' lkflags='' ln='ln' lns='/bin/ln -s' -localtime_r_proto='0' locincpth='' loclibpth='' longdblsize='8' @@ -762,7 +521,6 @@ lpr='' ls='ls' lseeksize='8' lseektype='off_t' -mad='undef' mail='' mailx='' make='make' @@ -770,30 +528,18 @@ make_set_make='#' mallocobj='' mallocsrc='' malloctype='void *' -man1='man1' man1dir='' man1direxp='' man1ext='' -man2='man2' -man2ext='2' -man3='man3' man3dir='' man3direxp='' man3ext='' -man4='man4' -man4ext='4' -man5='man5' -man5ext='5' -man6='man6' -man6ext='6' -man7='man7' -man7ext='7' -man8='man8' -man8ext='8' +medium='' mips='' mips_type='' mkdir='mkdir' mmaptype='' +models='none' modetype='mode_t' more='more' multiarch='define' @@ -803,23 +549,15 @@ mydomain='.gmx.de' myhostname='dragon' myuname='' n='-n' -need_va_copy='undef' netdb_hlen_type='int' netdb_host_type='const char *' netdb_name_type='const char *' netdb_net_type='int' -nm='arm-epoc-pe-nm' +nm='arm-pe-nm' nm_opt='' nm_so_opt='' -nonxs_ext='Errno' +nonxs_ext='' nroff='nroff' -nv_overflows_integers_at='0' -nv_preserves_uv_bits='32' -nveformat='"e"' -nvfformat='"f"' -nvgformat='"g"' -nvsize='16' -nvtype='double' o_nonblock='O_NONBLOCK' obj_ext='' old_pthread_create_joinable='' @@ -827,14 +565,12 @@ optimize='-fomit-frame-pointer -DNDEBUG -O' orderlib='' osname='epoc' osvers='' -otherlibdirs='' package='' pager='' passcat='' patchlevel='' -path_sep=':' +path_sep='' perl='' -perl_static_inline='static' perladmin='' perlpath='' pg='' @@ -845,33 +581,22 @@ pmake='' pr='' prefix='' prefixexp='' -privlib='/usr/lib/perl/5.16.3' -privlibexp='/usr/lib/perl/5.16.3' -procselfexe='' +privlib='/perl/lib/5.6.0' +privlibexp='/perl/lib/5.6.0' prototype='define' ptrsize='4' -quadkind='QUAD_IS_LONG_LONG' -quadtype='long long' randbits='31' randfunc='' -random_r_proto='0' randseedtype='unsigned' -ranlib='arm-epoc-pe-ranlib' +ranlib='arm-pe-ranlib' rd_nodata='-1' -readdir64_r_proto='0' -readdir_r_proto='0' -revision='5' rm='rm' rmail='' runnm='false' -sGMTIME_max='2147483647' -sGMTIME_min='0' -sLOCALTIME_max='2147483647' -sLOCALTIME_min='0' -sPRIEUldbl='' -sPRIFUldbl='' -sPRIGUldbl='' -sPRIXU64='' +sPRIEldbl='' +sPRIFldbl='' +sPRIGldbl='' +sPRIX64='' sPRId64='' sPRIeldbl='' sPRIfldbl='"f"' @@ -880,7 +605,6 @@ sPRIi64='' sPRIo64='' sPRIu64='' sPRIx64='' -sSCNfldbl='' sched_yield='' scriptdir='' scriptdirexp='' @@ -889,13 +613,6 @@ seedfunc='srand' selectminbits='32' selecttype='' sendmail='' -setgrent_r_proto='0' -sethostent_r_proto='0' -setlocale_r_proto='0' -setnetent_r_proto='0' -setprotoent_r_proto='0' -setpwent_r_proto='0' -setservent_r_proto='0' sh='/bin/sh' shar='' sharpbang='#!' @@ -903,39 +620,37 @@ shmattype='' shortsize='2' shrpenv='' shsharp='' +sig_count='ZERO ' sig_name='' sig_name_init='"ZERO", 0' sig_num='0' sig_num_init='0, 0' -sig_size='1' signal_t='void' -sitearch='/usr/lib/perl/site_perl/5.16.3/epoc' -sitearchexp='/usr/lib/perl/site_perl/5.16.3/epoc' -sitelib='/usr/lib/perl/site_perl/5.16.3/' -sitelib_stem='/usr/lib/perl/site_perl' -sitelibexp='/usr/lib/perl/site_perl/5.16.3/' +sitearch='/perl/lib/site_perl/5.6.0/epoc' +sitearchexp='/perl/lib/site_perl/5.6.0/epoc' +sitelib='/perl/lib/site_perl/5.6.0/' +sitelib_stem='/perl/lib/site_perl' +sitelibexp='/perl/lib/site_perl/5.6.0/' siteprefix='' siteprefixexp='' sizesize='4' sizetype='size_t' sleep='' smail='' +small='' so='' +socksizetype='int' sockethdr='' socketlib='' -socksizetype='int' sort='sort' spackage='' spitshell='cat' -srand48_r_proto='0' -srandom_r_proto='0' +split='' src='.' ssizetype='long' -st_ino_sign='1' -st_ino_size='4' startperl='' startsh='#!/bin/sh' -static_ext='Data/Dumper File/Glob IO Socket Fcntl Sys/Hostname' +static_ext='Data/Dumper File/Glob IO Socket' stdchar='char' stdio_base='' stdio_bufsiz='' @@ -943,88 +658,51 @@ stdio_cnt='' stdio_filbuf='' stdio_ptr='' stdio_stream_array='' -strerror_r_proto='0' strings='' submit='' subversion='' sysman='' tail='' tar='' -targetarch='' tbl='' tee='tee' test='test' timeincl='' timetype='time_t' -tmpnam_r_proto='0' touch='touch' tr='tr' trnl='\n' troff='' -ttyname_r_proto='0' -u16size='2' -u16type='unsigned short' -u32size='4' -u32type='unsigned int' -u64size='8' -u64type='unsigned long long' -u8size='1' -u8type='unsigned char' -uidformat='"hu"' uidsign='1' -uidsize='2' uidtype='uid_t' uname='uname' uniq='uniq' -uquadtype='uint64_t' -use5005threads='undef' use64bitall='undef' use64bitint='undef' -usecrosscompile='define' -usedevel='undef' usedl='undef' -usedtrace='undef' -usefaststdio='undef' -useithreads='undef' -usekernprocpathname='undef' uselargefiles='undef' uselongdouble='undef' -usemallocwrap='undef' usemorebits='undef' usemultiplicity='undef' usemymalloc='n' usenm='' -usensgetexecutablepath='undef' useopcode='' useperlio='undef' useposix='' -usereentrant='undef' -userelocatableinc='undef' usesfio='' useshrplib='' -usesitecustomize='undef' usesocks='undef' usethreads='undef' usevendorprefix='' usevfork='' usrinc='' uuname='' -uvXUformat='"lX"' -uvoformat='"lo"' -uvsize='4' -uvtype='unsigned int' -uvuformat='"lu"' -uvxformat='"lx"' -vaproto='undef' -vendorarch='' -vendorarchexp='' vendorlib='' vendorlib_stem='' vendorlibexp='' vendorprefix='' vendorprefixexp='' -version='5.16.3' -versiononly='undef' +version='5.6.0' vi='' voidflags='15' xlibpth='' @@ -1046,13 +724,66 @@ config_arg9='' config_arg10='' config_arg11='' PERL_REVISION=5 -PERL_VERSION=16 -PERL_SUBVERSION=3 +PERL_VERSION=6 +PERL_SUBVERSION=0 PERL_API_REVISION=5 -PERL_API_VERSION=16 +PERL_API_VERSION=6 PERL_API_SUBVERSION=0 -PERL_CONFIG_SH=true 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' diff --git a/gnu/usr.bin/perl/epoc/createpkg.pl b/gnu/usr.bin/perl/epoc/createpkg.pl index dfd9a609d95..6977bd385f5 100644 --- a/gnu/usr.bin/perl/epoc/createpkg.pl +++ b/gnu/usr.bin/perl/epoc/createpkg.pl @@ -3,39 +3,38 @@ use File::Find; use Cwd; -$VERSION="5.16.3"; -$EPOC_VERSION=1; +$VERSION="5.5"; +$PATCH="650"; +$EPOC_VERSION=19; +$CROSSCOMPILEPATH=cwd; +$CROSSREPLACEPATH="H:\\devel\\perl5.5.650"; sub filefound { - - my $f = $File::Find::name; + my $f = $File::Find::name; - return if ( $f =~ /CVS|Unicode|unicore|CPAN|ExtUtils|IPC|User|DB.pm|\.a$|\.ld$|\.exists$|\.pod$|\.t$/i); - my $back = $f; + return if ( $f =~ /CVS|unicode|CPAN|ExtUtils|IPC|User|DB.pm|\.a$|\.ld$|\.exists$/i); + my $back = $f; + + $back =~ s|$CROSSCOMPILEPATH||; + + $back =~ s|/|\\|g; + + my $psiback = $back; - my $psiback = $back; + $psiback =~ s/\\lib\\/\\perl\\lib\\$VERSION.$PATCH\\/i; - $psiback =~ s|.*/lib/|\\emx\\lib\\perl\\$VERSION\\|; - $psiback =~ s|/|\\|g; - print OUT "\"$back\"-\"!:$psiback\"\n" if ( -f $f ); + print OUT "\"$CROSSREPLACEPATH$back\"-\"!:$psiback\"\n" if ( -f $f ); +; } open OUT,">perl.pkg"; -print OUT "#{\"perl$VERSION\"},(0x100051d8),0,$EPOC_VERSION,0\n"; -print OUT "\"" . cwd . "/Artistic.txt\"-\"\",FT,TC\n"; -print OUT "\"" . cwd . "/perl\"-\"!:\\emx\\bin\\perl.exe\"\n"; +print OUT "#{\"perl$VERSION\"},(0x100051d8),$PATCH,$EPOC_VERSION,0\n"; -find(\&filefound, cwd.'/lib'); +print OUT "\"$CROSSREPLACEPATH\\perlmain.exe\"-\"!:\\perl.exe\"\n"; -open IN, "<Artistic"; -open OUT, ">Artistic.txt"; -while (my $line = <IN>) { - chomp $line; - print OUT "$line\r\n"; -} +find(\&filefound, cwd.'/lib'); +print OUT "@\"G:\\lib\\stdlib.sis\",(0x0100002c3)\n" -close IN; -close OUT; diff --git a/gnu/usr.bin/perl/epoc/epoc.c b/gnu/usr.bin/perl/epoc/epoc.c index 03b01341ee7..498036dbc04 100644 --- a/gnu/usr.bin/perl/epoc/epoc.c +++ b/gnu/usr.bin/perl/epoc/epoc.c @@ -10,116 +10,138 @@ #include <string.h> #include <stdio.h> #include <sys/unistd.h> -#include <process.h> +void +Perl_epoc_init(int *argcp, char ***argvp) { + int i; + int truecount=0; + char **lastcp = (*argvp); + char *ptr; + for (i=0; i< *argcp; i++) { + if ((*argvp)[i]) { + if (*((*argvp)[i]) == '<') { + if (strlen((*argvp)[i]) > 1) { + ptr =((*argvp)[i])+1; + } else { + i++; + ptr = ((*argvp)[i]); + } + freopen( ptr, "r", stdin); + } else if (*((*argvp)[i]) == '>') { + if (strlen((*argvp)[i]) > 1) { + ptr =((*argvp)[i])+1; + } else { + i++; + ptr = ((*argvp)[i]); + } + freopen( ptr, "w", stdout); + } else if ((*((*argvp)[i]) == '2') && (*(((*argvp)[i])+1) == '>')) { + if (strcmp( (*argvp)[i], "2>&1") == 0) { + dup2( fileno( stdout), fileno( stderr)); + } else { + if (strlen((*argvp)[i]) > 2) { + ptr =((*argvp)[i])+2; + } else { + i++; + ptr = ((*argvp)[i]); + } + freopen( ptr, "w", stderr); + } + } else { + *lastcp++ = (*argvp)[i]; + truecount++; + } + } + } + *argcp=truecount; + + +} + +#ifdef __MARM__ +/* Symbian forgot to include __fixunsdfi into the MARM euser.lib */ +/* This is from libgcc2.c , gcc-2.7.2.3 */ + +typedef unsigned int UQItype __attribute__ ((mode (QI))); +typedef int SItype __attribute__ ((mode (SI))); +typedef unsigned int USItype __attribute__ ((mode (SI))); +typedef int DItype __attribute__ ((mode (DI))); +typedef unsigned int UDItype __attribute__ ((mode (DI))); + +typedef float SFtype __attribute__ ((mode (SF))); +typedef float DFtype __attribute__ ((mode (DF))); + + + +extern DItype __fixunssfdi (SFtype a); +extern DItype __fixunsdfdi (DFtype a); + + +USItype +__fixunsdfsi (a) + DFtype a; +{ + if (a >= - (DFtype) (- 2147483647L -1) ) + return (SItype) (a + (- 2147483647L -1) ) - (- 2147483647L -1) ; + return (SItype) a; +} #include "EXTERN.h" #include "perl.h" #include "XSUB.h" int -do_spawn( char *cmd) { - dTHX; - return system( cmd); +do_aspawn( pTHX_ SV *really,SV **mark,SV **sp) { + return do_spawn( really, mark, sp); } int -do_aspawn ( void *vreally, void **vmark, void **vsp) { - - dTHX; - - SV *really = (SV*)vreally; - SV **mark = (SV**)vmark; - SV **sp = (SV**)vsp; - - char **argv; - char *str; - char *p2, **ptr; - char *cmd; - - +do_spawn (pTHX_ SV *really,SV **mark,SV **sp) +{ + dTHR; int rc; - int index = 0; + char **a,*cmd,**ptr, *cmdline, **argv, *p2; + STRLEN n_a; + size_t len = 0; if (sp<=mark) return -1; - ptr = argv =(char**) malloc ((sp-mark+3)*sizeof (char*)); + a=argv=ptr=(char**) malloc ((sp-mark+3)*sizeof (char*)); while (++mark <= sp) { - if (*mark && (str = SvPV_nolen(*mark))) - argv[index] = str; + if (*mark) + *a = SvPVx(*mark, n_a); else - argv[index] = ""; + *a = ""; + len += strlen( *a) + 1; + a++; } - argv[index++] = 0; + *a = Nullch; - cmd = strdup((const char*)(really ? SvPV_nolen(really) : argv[0])); - - rc = spawnvp( P_WAIT, cmd, argv); - free( argv); - free( cmd); - - return rc; -} - -static -XS(epoc_getcwd) /* more or less stolen from win32.c */ -{ - dXSARGS; - /* Make the host for current directory */ - char *buffer; - int buflen = 256; - - char *ptr; - buffer = (char *) malloc( buflen); - if (buffer == NULL) { - XSRETURN_UNDEF; + if (!(really && *(cmd = SvPV(really, n_a)))) { + cmd = argv[0]; + argv++; } - while ((NULL == ( ptr = getcwd( buffer, buflen))) && (errno == ERANGE)) { - buflen *= 2; - if (NULL == realloc( buffer, buflen)) { - XSRETURN_UNDEF; - } + cmdline = (char * ) malloc( len + 1); + cmdline[ 0] = '\0'; + while (*argv != NULL) { + strcat( cmdline, *argv++); + strcat( cmdline, " "); } - /* - * If ptr != NULL - * then it worked, set PV valid, - * else return 'undef' - */ - - if (ptr) { - SV *sv = sv_newmortal(); - char *tptr; - - for (tptr = ptr; *tptr != '\0'; tptr++) { - if (*tptr == '\\') { - *tptr = '/'; - } - } - sv_setpv(sv, ptr); - free( buffer); - - EXTEND(SP,1); - SvPOK_on(sv); - ST(0) = sv; -#ifndef INCOMPLETE_TAINTS - SvTAINTED_on(ST(0)); -#endif - XSRETURN(1); + for (p2=cmd; *p2 != '\0'; p2++) { + /* Change / to \ */ + if ( *p2 == '/') + *p2 = '\\'; } - free( buffer); - XSRETURN_UNDEF; -} - - -void -Perl_init_os_extras(void) -{ - dTHX; - char *file = __FILE__; - newXS("EPOC::getcwd", epoc_getcwd, file); + rc = epoc_spawn( cmd, cmdline); + free( ptr); + free( cmdline); + + return rc; } + +#endif diff --git a/gnu/usr.bin/perl/epoc/epoc_stubs.c b/gnu/usr.bin/perl/epoc/epoc_stubs.c index 2d1b09daf69..b11da400d6b 100644 --- a/gnu/usr.bin/perl/epoc/epoc_stubs.c +++ b/gnu/usr.bin/perl/epoc/epoc_stubs.c @@ -6,13 +6,64 @@ * */ +#include <string.h> + +char *environ = 0; + +int getgid() {return 0;} +int getegid() {return 0;} +int geteuid() {return 0;} +int getuid() {return 0;} int setgid() {return -1;} int setuid() {return -1;} + +int Perl_my_popen( int a, int b) { + return NULL; +} +int Perl_my_pclose( int a) { + return NULL; +} + +int kill() {return -1;} +signal() { } + int execv() { return -1;} int execvp() { return -1;} -void Perl_do_exec() {} +void Perl_do_exec() {} + +/*------------------------------------------------------------------*/ +/* Two dummy functions implement getproto* */ +/*------------------------------------------------------------------*/ +#include <sys/types.h> +#include <netdb.h> +#include <netinet/in.h> + + +static struct protoent protos[2] = { + {"tcp", NULL, IPPROTO_TCP} , + {"udp", NULL, IPPROTO_UDP}}; + +struct protoent *getprotobyname (const char *st) { + + if (!strcmp( st, "tcp")) { + return &protos[0]; + } + if (!strcmp( st, "udp")) { + return &protos[1]; + } + return NULL; +} +struct protoent *getprotobynumber ( int i) { + if (i == IPPROTO_TCP) { + return &protos[0]; + } + if (i == IPPROTO_UDP) { + return &protos[1]; + } + return NULL; +} diff --git a/gnu/usr.bin/perl/epoc/epocish.c b/gnu/usr.bin/perl/epoc/epocish.c index d457fffcb08..134eaef0e00 100644 --- a/gnu/usr.bin/perl/epoc/epocish.c +++ b/gnu/usr.bin/perl/epoc/epocish.c @@ -6,36 +6,29 @@ * */ -/* This is C++ Code !! */ +/* This is indeed C++ Code !! */ #include <e32std.h> -#include <stdlib.h> -#include <estlib.h> -#include <string.h> extern "C" { - -/* Workaround for defect strtoul(). Values with leading + are zero */ - -unsigned long int epoc_strtoul(const char *nptr, char **endptr, - int base) { - if (nptr && *nptr == '+') - nptr++; - return strtoul( nptr, endptr, base); -} - -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)); +epoc_spawn( char *cmd, char *cmdline) { + RProcess p; + TRequestStatus status; + TInt rc; + + rc = p.Create( _L( cmd), _L( cmdline)); + if (rc != KErrNone) + return -1; + + p.Resume(); + + p.Logon( status); + User::WaitForRequest( status); + if (status!=KErrNone) { + return -1; } + return 0; } - +} diff --git a/gnu/usr.bin/perl/epoc/epocish.h b/gnu/usr.bin/perl/epoc/epocish.h index bd364ec563f..f4be0ff677b 100644 --- a/gnu/usr.bin/perl/epoc/epocish.h +++ b/gnu/usr.bin/perl/epoc/epocish.h @@ -9,7 +9,7 @@ * This symbol, if defined, indicates that the ioctl() routine is * available to set I/O characteristics */ -#define HAS_IOCTL /**/ +#define HAS_IOCTL / **/ /* HAS_UTIME: * This symbol, if defined, indicates that the routine utime() is @@ -54,7 +54,7 @@ * This symbol is defined if this system has a stat structure declaring * st_rdev */ -#define USE_STAT_RDEV /**/ +#define USE_STAT_RDEV / **/ /* ACME_MESS: * This symbol, if defined, indicates that error messages should be @@ -105,54 +105,31 @@ #define Fflush(fp) fflush(fp) #define Mkdir(path,mode) mkdir((path),(mode)) - -/* epocemx setenv bug workaround */ -#ifndef PERL_SYS_INIT_BODY -# define PERL_SYS_INIT_BODY(c,v) \ - MALLOC_CHECK_TAINT2(*c,*v) putenv(".dummy=foo"); putenv(".dummy"); \ - PERLIO_INIT; MALLOC_INIT +/* these should be set in a hint file, not here */ +#ifndef PERL_SYS_INIT +# define PERL_SYS_INIT(c,v) Perl_epoc_init(c,v); MALLOC_INIT #endif -#ifndef PERL_SYS_TERM_BODY -#define PERL_SYS_TERM_BODY() PERLIO_TERM; MALLOC_TERM +#ifndef PERL_SYS_TERM +#define PERL_SYS_TERM() MALLOC_TERM #endif -#define BIT_BUCKET "/dev/null" +#define BIT_BUCKET "NUL:" #define dXSUB_SYS /* 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 is unimplemented in current epocemx - use recv() instead + read() on a socket blocks until buf is filled completly, + recv() returns each massage */ - #define PERL_SOCK_SYSREAD_IS_RECV -/* write ditto, use send */ -#define PERL_SOCK_SYSWRITE_IS_SEND - /* No /dev/random available*/ #define PERL_NO_DEV_RANDOM - -/* - work around for buggy atof(): - atof() in ER5 stdlib depends on locale. -*/ - -#define strtoul(a,b,c) epoc_strtoul(a,b,c) - -#define init_os_extras Perl_init_os_extras - -#define ARG_MAX 4096 - -#define ECONNABORTED 0xdead - -/* For environ */ -#include <emx.h> -#define PERL_USE_SAFE_PUTENV - - diff --git a/gnu/usr.bin/perl/epoc/link.pl b/gnu/usr.bin/perl/epoc/link.pl index ab3bd652b49..9da8a356cae 100644 --- a/gnu/usr.bin/perl/epoc/link.pl +++ b/gnu/usr.bin/perl/epoc/link.pl @@ -15,11 +15,11 @@ system("arm-pe-dlltool --as=arm-pe-as --output-exp $basname.exp " . "--base-file $basname.bas $epoc/lib/eexe.o @objs " . "$epoc/lib/ecrt0.o $epoc/lib/estlib.lib $epoc/lib/euser.lib"); -system("arm-pe-ld -s -e _E32Startup $basname.exp " . +system("arm-pe-ld -s -e _E32Startup -o $basname.exe $basname.exp " . "-o $baspe.exe $epoc/lib/eexe.o @objs " . "$epoc/lib/ecrt0.o $epoc/lib/estlib.lib $epoc/lib/euser.lib"); -system( "wine $epoc/bin/petran.exe \"$baspe.exe $basname.exe " . +system( "wine \"$epoc/bin/petran.exe $baspe.exe $basname.exe " . "-nocall -heap 0x00000400 0x00400000 -stack 0x0000c000 " . - "-uid1 0x1000007a -uid2 0x100051d8 -uid3 0x00000000\" "); + "-uid1 0x1000007a -uid2 0x100051d8 -uid3 0x00000000 \" "); diff --git a/gnu/usr.bin/perl/ext/DynaLoader/dl_vmesa.xs b/gnu/usr.bin/perl/ext/DynaLoader/dl_vmesa.xs index bf84322849a..8595e440a69 100644 --- a/gnu/usr.bin/perl/ext/DynaLoader/dl_vmesa.xs +++ b/gnu/usr.bin/perl/ext/DynaLoader/dl_vmesa.xs @@ -2,7 +2,7 @@ * * Platform: VM/ESA, possibly others which use dllload etc. * Author: Neale Ferguson (neale@mailbox.tabnsw.com.au) - * Created: 23rd September, 1998 + * Created: 23rd Septemer, 1998 * * */ @@ -156,37 +156,20 @@ void dl_install_xsub(perl_name, symref, filename="$Package") char * perl_name void * symref - const char * filename + char * filename CODE: DLDEBUG(2,PerlIO_printf(Perl_debug_log, "dl_install_xsub(name=%s, symref=%lx)\n", perl_name, (unsigned long) symref)); - ST(0) = sv_2mortal(newRV((SV*)newXS_flags(perl_name, - (void(*)(pTHX_ CV *))symref, - filename, NULL, - XS_DYNAMIC_FILENAME))); + ST(0) = sv_2mortal(newRV((SV*)newXS(perl_name, + (void(*)(pTHX_ CV *))symref, + filename))); char * dl_error() CODE: - dMY_CXT; - RETVAL = dl_last_error ; + RETVAL = LastError ; OUTPUT: RETVAL -#if defined(USE_ITHREADS) - -void -CLONE(...) - CODE: - MY_CXT_CLONE; - - /* MY_CXT_CLONE just does a memcpy on the whole structure, so to avoid - * using Perl variables that belong to another thread, we create our - * own for this thread. - */ - MY_CXT.x_dl_last_error = newSVpvn("", 0); - -#endif - # end. diff --git a/gnu/usr.bin/perl/hints/rhapsody.sh b/gnu/usr.bin/perl/hints/rhapsody.sh index 6151e7858d1..933081ba090 100644 --- a/gnu/usr.bin/perl/hints/rhapsody.sh +++ b/gnu/usr.bin/perl/hints/rhapsody.sh @@ -1,41 +1,26 @@ ## # Rhapsody (Mac OS X Server) hints -# Wilfredo Sanchez <wsanchez@wsanchez.net> +# Wilfredo Sanchez <wsanchez@apple.com> ## ## # Paths ## -# Configure hasn't figured out the version number yet. Bummer. -perl_revision=`awk '/define[ ]+PERL_REVISION/ {print $3}' $src/patchlevel.h` -perl_version=`awk '/define[ ]+PERL_VERSION/ {print $3}' $src/patchlevel.h` -perl_subversion=`awk '/define[ ]+PERL_SUBVERSION/ {print $3}' $src/patchlevel.h` -version="${perl_revision}.${perl_version}.${perl_subversion}" - # BSD paths -case "$prefix" in - '') - # Default install; use non-system directories - prefix='/usr/local'; # Built-in perl uses /usr - siteprefix='/usr/local'; - vendorprefix='/usr'; usevendorprefix='define'; - - # Where to put modules. - sitelib="/Local/Library/Perl/${version}"; # FIXME: Want "/Network/Perl/${version}" also - vendorlib="/System/Library/Perl/${version}"; # Apple-supplied modules - ;; +prefix='/usr'; +siteprefix='/usr/local'; +vendorprefix='/usr/local'; usevendorprefix='define'; - '/usr') - # We are building/replacing the built-in perl - siteprefix='/usr/local'; - vendorprefix='/usr/local'; usevendorprefix='define'; +# 4BSD uses /usr/share/man, not /usr/man. +# Don't put man pages in /usr/lib; that's goofy. +man1dir='/usr/share/man/man1'; +man3dir='/usr/share/man/man3'; - # Where to put modules. - sitelib="/Local/Library/Perl/${version}"; # FIXME: Want "/Network/Perl/${version}" also - vendorlib="/System/Library/Perl/${version}"; # Apple-supplied modules - ;; -esac +# Where to put modules. +privlib='/System/Library/Perl'; +sitelib='/Local/Library/Perl'; +vendorlib='/Network/Library/Perl'; ## # Tool chain settings @@ -53,37 +38,8 @@ libc='/System/Library/Frameworks/System.framework/System'; # Optimize. optimize='-O3'; -# -fno-common because common symbols are not allowed in MH_DYLIB -ccflags="${ccflags} -fno-common" - -# Unverified whether this is necessary on Rhapsody, but the test shouldn't hurt. -# At least on Darwin 1.3.x: -# -# # define INT32_MIN -2147483648 -# int main () { -# double a = INT32_MIN; -# printf ("INT32_MIN=%g\n", a); -# return 0; -# } -# will output: -# INT32_MIN=2.14748e+09 -# Note that the INT32_MIN has become positive. -# INT32_MIN is set in /usr/include/stdint.h by: -# #define INT32_MIN -2147483648 -# which seems to break the gcc. Defining INT32_MIN as (-2147483647-1) -# seems to work. INT64_MIN seems to be similarly broken. -# -- Nicholas Clark, Ken Williams, and Edward Moy -# -case "$(grep '^#define INT32_MIN' /usr/include/stdint.h)" in - *-2147483648) ccflags="${ccflags} -DINT32_MIN_BROKEN -DINT64_MIN_BROKEN" ;; -esac - -# cpp-precomp is problematic. -cppflags='${cppflags} -traditional-cpp'; - -# This is necessary because perl's build system doesn't -# apply cppflags to cc compile lines as it should. -ccflags="${ccflags} ${cppflags}" +# We have a prototype for telldir. +ccflags="${ccflags} -pipe -fno-common -DHAS_TELLDIR_PROTOTYPE"; # Shared library extension is .dylib. # Bundle extension is .bundle. @@ -96,6 +52,7 @@ cccdlflags=''; lddlflags="${ldflags} -bundle -undefined suppress"; ldlibpthname='DYLD_LIBRARY_PATH'; useshrplib='true'; +base_address='0x4be00000'; ## # System libraries @@ -104,35 +61,7 @@ useshrplib='true'; # vfork works usevfork='true'; -# our malloc works (but allow users to override) -case "$usemymalloc" in -'') usemymalloc='n' ;; -esac - -# -# The libraries are not threadsafe in Rhapsody -# -# Fix when Apple fixes libc. -# -case "$usethreads$useithreads" in - *define*) - cat <<EOM >&4 +# malloc works +usemymalloc='n'; - -*** Warning, there might be problems with your libraries with -*** regards to threading. The test ext/threads/t/libc.t is likely -*** to fail. - -EOM - ;; -esac - -## -# Build process -## - -# Case-insensitive filesystems don't get along with Makefile and -# makefile in the same place. Since Darwin uses GNU make, this dodges -# the problem. -firstmakefile=GNUmakefile; diff --git a/gnu/usr.bin/perl/hints/vmesa.sh b/gnu/usr.bin/perl/hints/vmesa.sh index 430ded9c485..bc033878229 100644 --- a/gnu/usr.bin/perl/hints/vmesa.sh +++ b/gnu/usr.bin/perl/hints/vmesa.sh @@ -24,14 +24,8 @@ d_access='define' d_alarm='define' d_archlib='define' # randbits='15' -archobjs="vmesa.o" -d_attribute_format='undef' -d_attribute_malloc='undef' -d_attribute_nonnull='undef' -d_attribute_noreturn='undef' -d_attribute_pure='undef' -d_attribute_unused='undef' -d_attribute_warn_unused_result='undef' +archobjs="ebcdic.o vmesa.o" +d_attribut='undef' d_bcmp='define' d_bcopy='define' d_bsd='undef' @@ -224,6 +218,7 @@ dynamic_ext='' eagain='EAGAIN' ebcdic='define' exe_ext='' +extensions='Fcntl GDBM_File IO NDBM_File Opcode POSIX Socket IPC/SysV Errno Thread attrs re Data/dumper' fpostype='fpos_t' freetype='void' groupstype='gid_t' @@ -299,6 +294,7 @@ make='gnumake' mallocobj='' mallocsrc='' malloctype='void *' +models='none' netdb_hlen_type='size_t' netdb_host_type='char *' netdb_name_type='const char *' @@ -322,7 +318,7 @@ sig_num_init='0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,2 sizetype='size_t' so='.a' ssizetype='ssize_t' -static_ext='Data/Dumper Digest/MD5 Fcntl Filter/Util/Call GDBM_File IO IPC/SysV List/Util MIME/Base64 NDBM_File Opcode PerlIO/scalar POSIX Socket Storable Time/HiRes Time/Piece attributes re' +static_ext='Data/Dumper Fcntl GDBM_File IO IPC/SysV NDBM_File Opcode POSIX Socket Thread attrs re' stdchar='char' stdio_cnt='(fp)->__countIn' stdio_ptr='(fp)->__bufPtr' |