diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 2000-05-31 21:37:31 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2000-05-31 21:37:31 +0000 |
commit | 12ae5dfcd4fd6f54af051c41b2e122532efce8d3 (patch) | |
tree | 2fe5b75e9e17313b9f06548e1f8abc866cbaee6d | |
parent | d6c1400008ffe28d0a765e9fe60d23dbeab89dda (diff) | |
download | perl-12ae5dfcd4fd6f54af051c41b2e122532efce8d3.tar.gz |
microperl changes from Simon Cozens; Makefile for microperl
written from scratch; few casts added as microperl compilation
doesn't have all prototypes available.
p4raw-id: //depot/cfgperl@6174
-rwxr-xr-x | Configure | 2 | ||||
-rw-r--r-- | MAINTAIN | 4 | ||||
-rw-r--r-- | MANIFEST | 4 | ||||
-rw-r--r-- | Makefile.micro | 125 | ||||
-rw-r--r-- | README.micro | 9 | ||||
-rw-r--r-- | Todo.micro | 15 | ||||
-rw-r--r-- | config_h.SH | 28 | ||||
-rw-r--r-- | doop.c | 2 | ||||
-rw-r--r-- | op.c | 7 | ||||
-rw-r--r-- | perl.h | 22 | ||||
-rw-r--r-- | perlio.c | 6 | ||||
-rwxr-xr-x | uconfig.sh | 550 | ||||
-rw-r--r-- | unixish.h | 4 | ||||
-rw-r--r-- | utf8.c | 2 | ||||
-rw-r--r-- | util.c | 17 |
15 files changed, 771 insertions, 26 deletions
@@ -20,7 +20,7 @@ # $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $ # -# Generated on Wed May 31 01:51:16 EET DST 2000 [metaconfig 3.0 PL70] +# Generated on Wed May 31 23:34:04 EET DST 2000 [metaconfig 3.0 PL70] # (with additional metaconfig patches by perlbug@perl.com) cat >/tmp/c1$$ <<EOF @@ -31,6 +31,7 @@ INSTALL INTERN.h MANIFEST Makefile.SH +Makefile.micro simon objXSUB.h Policy_sh.SH Porting/* cfg @@ -56,6 +57,7 @@ README.dos dos README.hpux hpux README.lexwarn lexwarn README.machten machten +README.micro simon README.mpeix mpeix README.os2 os2 README.os390 mvs @@ -69,6 +71,7 @@ README.vos vos README.win32 win32 Todo Todo-5.005 +Todo.micro simon XSlock.h XSUB.h av.c @@ -845,6 +848,7 @@ taint.c thrdvar.h thread.h toke.c +uconfig.sh simon universal.c unixish.h utf* lwall @@ -16,6 +16,7 @@ INTERN.h Included before domestic .h files MAINTAIN Who maintains which files MANIFEST This list of files Makefile.SH A script that generates Makefile +Makefile.micro microperl Makefile Policy_sh.SH Hold site-wide preferences between Configure runs. Porting/Contract Social contract for contributed modules in Perl core Porting/Glossary Glossary of config.sh variables @@ -42,6 +43,7 @@ README.epoc Notes about EPOC port README.hpux Notes about HP-UX port README.hurd Notes about GNU/Hurd port README.machten Notes about Power MachTen port +README.micro Notes about microperl README.mint Notes about Atari MiNT port README.mpeix Notes about MPE/iX port README.os2 Notes about OS/2 port @@ -56,6 +58,7 @@ README.vos Notes about Stratus VOS port README.win32 Notes about Win32 port Todo The Wishlist Todo-5.6 What needs doing before/during the 5.6.x release cycle +Todo.micro The Wishlist for microperl XSUB.h Include file for extension subroutines apollo/netinet/in.h Apollo DomainOS port: C header file frontend av.c Array value code @@ -1560,6 +1563,7 @@ taint.c Tainting code thrdvar.h Per-thread variables thread.h Threading header toke.c The tokener +uconfig.sh COnfiguration for microperl universal.c The default UNIVERSAL package methods unixish.h Defines that are assumed on Unix utf8.c Unicode routines diff --git a/Makefile.micro b/Makefile.micro new file mode 100644 index 0000000000..1ac87b4ed7 --- /dev/null +++ b/Makefile.micro @@ -0,0 +1,125 @@ +CC = cc +LD = $(CC) +DEFINES = -DPERL_CORE -DPERL_MICRO +CFLAGS = $(DEFINES) +LIBS = -lm +_O = .o + +all: microperl + +O = uav$(_O) udeb$(_O) udoio$(_O) udoop$(_O) udump$(_O) \ + uglobals$(_O) ugv$(_O) uhv$(_O) \ + umg$(_O) uperlmain$(_O) uop$(_O) \ + uperl$(_O) uperlio$(_O) uperly$(_O) upp$(_O) \ + upp_ctl$(_O) upp_hot$(_O) upp_sys$(_O) \ + uregcomp$(_O) uregexec$(_O) urun$(_O) \ + uscope$(_O) usv$(_O) utaint$(_O) utoke$(_O) \ + uuniversal$(_O) uutf8$(_O) uutil$(_O) uperlapi$(_O) + +microperl: $(O) + $(LD) -o $@ $(O) $(LIBS) + +H = av.h uconfig.h cop.h cv.h embed.h embedvar.h form.h gv.h handy.h \ + hv.h intrpvar.h iperlsys.h mg.h op.h opcode.h opnames.h patchlevel.h \ + perl.h perlsdio.h perlvars.h perly.h pp.h pp_proto.h proto.h \ + regexp.h scope.h sv.h thrdvar.h thread.h unixish.h utf8.h util.h \ + warnings.h + +HE = $(H) EXTERN.h + +clean: + -rm -f $(O) microperl + +distclean: clean + -rm -f uconfig.h + +uconfig.h: uconfig.sh config_h.SH + CONFIG_SH=uconfig.sh CONFIG_H=uconfig.h sh ./config_h.SH + +uav$(_O): $(HE) av.c + $(CC) -c -o $@ $(CFLAGS) av.c + +udeb$(_O): $(HE) deb.c + $(CC) -c -o $@ $(CFLAGS) deb.c + +udoio$(_O): $(HE) doio.c + $(CC) -c -o $@ $(CFLAGS) doio.c + +udoop$(_O): $(HE) doop.c + $(CC) -c -o $@ $(CFLAGS) doop.c + +udump$(_O): $(HE) dump.c regcomp.h regnodes.h + $(CC) -c -o $@ $(CFLAGS) dump.c + +uglobals$(_O): $(H) globals.c INTERN.h perlapi.h + $(CC) -c -o $@ $(CFLAGS) globals.c + +ugv$(_O): $(HE) gv.c + $(CC) -c -o $@ $(CFLAGS) gv.c + +uhv$(_O): $(HE) hv.c + $(CC) -c -o $@ $(CFLAGS) hv.c + +umg$(_O): $(HE) mg.c + $(CC) -c -o $@ $(CFLAGS) mg.c + +uperlmain$(_O): $(HE) miniperlmain.c + $(CC) -c -o $@ $(CFLAGS) miniperlmain.c + +uop$(_O): $(HE) op.c keywords.h + $(CC) -c -o $@ $(CFLAGS) op.c + +uperl$(_O): $(HE) perl.c + $(CC) -c -o $@ $(CFLAGS) perl.c + +uperlio$(_O): $(HE) perlio.c + $(CC) -c -o $@ $(CFLAGS) perlio.c + +uperly$(_O): $(HE) perly.c + $(CC) -c -o $@ $(CFLAGS) perly.c + +upp$(_O): $(HE) pp.c + $(CC) -c -o $@ $(CFLAGS) pp.c + +upp_ctl$(_O): $(HE) pp_ctl.c + $(CC) -c -o $@ $(CFLAGS) pp_ctl.c + +upp_hot$(_O): $(HE) pp_hot.c + $(CC) -c -o $@ $(CFLAGS) pp_hot.c + +upp_sys$(_O): $(HE) pp_sys.c + $(CC) -c -o $@ $(CFLAGS) pp_sys.c + +uregcomp$(_O): $(HE) regcomp.c regcomp.h regnodes.h INTERN.h + $(CC) -c -o $@ $(CFLAGS) regcomp.c + +uregexec$(_O): $(HE) regexec.c regcomp.h regnodes.h + $(CC) -c -o $@ $(CFLAGS) regexec.c + +urun$(_O): $(HE) run.c + $(CC) -c -o $@ $(CFLAGS) run.c + +uscope$(_O): $(HE) scope.c + $(CC) -c -o $@ $(CFLAGS) scope.c + +usv$(_O): $(HE) sv.c + $(CC) -c -o $@ $(CFLAGS) sv.c + +utaint$(_O): $(HE) taint.c + $(CC) -c -o $@ $(CFLAGS) taint.c + +utoke$(_O): $(HE) toke.c keywords.h + $(CC) -c -o $@ $(CFLAGS) toke.c + +uuniversal$(_O): $(HE) universal.c objXSUB.h XSUB.h + $(CC) -c -o $@ $(CFLAGS) universal.c + +uutf8$(_O): $(HE) utf8.c + $(CC) -c -o $@ $(CFLAGS) utf8.c + +uutil$(_O): $(HE) util.c + $(CC) -c -o $@ $(CFLAGS) util.c + +uperlapi$(_O): $(HE) perlapi.c perlapi.h + $(CC) -c -o $@ $(CFLAGS) perlapi.c + diff --git a/README.micro b/README.micro new file mode 100644 index 0000000000..da84453bf6 --- /dev/null +++ b/README.micro @@ -0,0 +1,9 @@ +microperl is supposed to be able a really minimal perl, even more +minimal than miniperl. No Configure is needed to build microperl, +on the other hand this means that interfaces between Perl and your +operating system are left very -- minimal. + +All this is experimental. If you don't know what to do with microperl +you probably shouldn't. + + diff --git a/Todo.micro b/Todo.micro new file mode 100644 index 0000000000..a01e8287a7 --- /dev/null +++ b/Todo.micro @@ -0,0 +1,15 @@ +- make creating uconfig.sh automatic (by pumpkin) + +- make creating Makefile.micro automatic (by pumpkin) + +- clean up compilation warnings as much as possible: + most of them seem to stem from not including enough headers (this is okay) + to have enough prototypes, these may be correctible with some simple casts + +- do away with signals? (not very portable outside UNIX lands) + (missing signal API prototypes cause the majority of the compilation + warnings anyway) do away with fork? + +- some of the micro/config.sh really needs to be probed in buildtime: + (uConfigure? :-) native datatype widths and endianness come to mind + diff --git a/config_h.SH b/config_h.SH index c535105027..122cabe262 100644 --- a/config_h.SH +++ b/config_h.SH @@ -1,29 +1,35 @@ +case "$CONFIG_SH" in +'') CONFIG_SH=config.sh ;; +esac +case "$CONFIG_H" in +'') CONFIG_H=config.h ;; +esac case $CONFIG in '') - if test -f config.sh; then TOP=.; - elif test -f ../config.sh; then TOP=..; - elif test -f ../../config.sh; then TOP=../..; - elif test -f ../../../config.sh; then TOP=../../..; - elif test -f ../../../../config.sh; then TOP=../../../..; + if test -f $CONFIG_SH; then TOP=.; + elif test -f ../$CONFIG_SH; then TOP=..; + elif test -f ../../$CONFIG_SH; then TOP=../..; + elif test -f ../../../$CONFIG_SH; then TOP=../../..; + elif test -f ../../../../$CONFIG_SH; then TOP=../../../..; else - echo "Can't find config.sh."; exit 1 + echo "Can't find $CONFIG_SH."; exit 1 fi - . $TOP/config.sh + . $TOP/$CONFIG_SH ;; esac case "$0" in */*) cd `expr X$0 : 'X\(.*\)/'` ;; esac -echo "Extracting config.h (with variable substitutions)" -sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-def!#undef!' +echo "Extracting $CONFIG_H (with variable substitutions)" +sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-def!#undef!' /* * This file was produced by running the config_h.SH script, which - * gets its values from config.sh, which is generally produced by + * gets its values from $CONFIG_SH, which is generally produced by * running Configure. * * Feel free to modify any of this as the need arises. Note, however, * that running config_h.SH again will wipe out any changes you've made. - * For a more permanent change edit config.sh and rerun config_h.SH. + * For a more permanent change edit $CONFIG_SH and rerun config_h.SH. * * \$Id: Config_h.U,v 3.0.1.5 1997/02/28 14:57:43 ram Exp $ */ @@ -851,7 +851,7 @@ Perl_do_vecset(pTHX_ SV *sv) len = (offset + size + 7) / 8; /* required number of bytes */ if (len > targlen) { s = (unsigned char*)SvGROW(targ, len + 1); - (void)memzero(s + targlen, len - targlen + 1); + (void)memzero((char *)(s + targlen), len - targlen + 1); SvCUR_set(targ, len); } @@ -2645,12 +2645,13 @@ Perl_pmtrans(pTHX_ OP *o, OP *expr, OP *repl) } if (!squash) { if (to_utf && from_utf) { /* only counting characters */ - if (t == r || (tlen == rlen && memEQ(t, r, tlen))) + if (t == r || + (tlen == rlen && memEQ((char *)t, (char *)r, tlen))) o->op_private |= OPpTRANS_IDENTICAL; } else { /* straight latin-1 translation */ - if (tlen == 4 && memEQ(t, "\0\377\303\277", 4) && - rlen == 4 && memEQ(r, "\0\377\303\277", 4)) + if (tlen == 4 && memEQ((char *)t, "\0\377\303\277", 4) && + rlen == 4 && memEQ((char *)r, "\0\377\303\277", 4)) o->op_private |= OPpTRANS_IDENTICAL; } } @@ -21,7 +21,11 @@ #endif /* PERL_FOR_X2P */ #define VOIDUSED 1 -#include "config.h" +#ifdef PERL_MICRO +# include "uconfig.h" +#else +# include "config.h" +#endif #if defined(USE_ITHREADS) && defined(USE_5005THREADS) # include "error: USE_ITHREADS and USE_5005THREADS are incompatible" @@ -460,6 +464,10 @@ register struct op *Perl_op asm(stringify(OP_IN_REGISTER)); #undef METHOD #endif +#ifdef PERL_MICRO +# define NO_LOCALE +#endif + #ifdef I_LOCALE # include <locale.h> #endif @@ -593,6 +601,7 @@ struct perl_mstats { # endif # endif #else +# undef memset # define memset(d,c,l) my_memset(d,c,l) #endif /* HAS_MEMSET */ @@ -812,6 +821,12 @@ struct perl_mstats { # endif #endif +#ifdef PERL_MICRO +# ifndef DIR +# define DIR void +# endif +#endif + #ifdef FPUTS_BOTCH /* work around botch in SunOS 4.0.1 and 4.0.2 */ # ifndef fputs @@ -1597,6 +1612,11 @@ typedef struct ptr_tbl PTR_TBL_t; # endif #endif +#ifdef PERL_MICRO +# undef HAS_PASSWD +# undef HAS_GROUP +#endif + #ifndef PERL_SYS_INIT3 # define PERL_SYS_INIT3(argvp,argcp,envp) PERL_SYS_INIT(argvp,argcp) #endif @@ -9,7 +9,11 @@ #define VOIDUSED 1 -#include "config.h" +#ifdef PERL_MICRO +# include "uconfig.h" +#else +# include "config.h" +#endif #define PERLIO_NOT_STDIO 0 #if !defined(PERLIO_IS_STDIO) && !defined(USE_SFIO) diff --git a/uconfig.sh b/uconfig.sh new file mode 100755 index 0000000000..7b821459f3 --- /dev/null +++ b/uconfig.sh @@ -0,0 +1,550 @@ +#!/bin/sh +_a='.a' +_o='.o' +afs='false' +alignbytes='4' +apiversion='5.00563' +archlib='/usr/local/lib/perl5/5.00563/unknown' +archlibexp='/usr/local/lib/perl5/5.00563/unknown' +archname='unknown' +bin='/usr/local/bin' +bincompat5005='define' +byteorder='12' +castflags='0' +charsize='1' +clocktype='clock_t' +cpp_stuff='42' +crosscompile='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='undef' +d_PRIgldbl='undef' +d_PRIi64='undef' +d_PRIo64='undef' +d_PRIu64='undef' +d_PRIx64='undef' +d_access='undef' +d_accessx='undef' +d_alarm='undef' +d_archlib='undef' +d_atolf='undef' +d_atoll='undef' +d_attribut='undef' +d_bcmp='undef' +d_bcopy='undef' +d_bincompat5005='undef' +d_bsd='undef' +d_bsdgetpgrp='undef' +d_bsdsetpgrp='undef' +d_bzero='undef' +d_casti32='undef' +d_castneg='undef' +d_charvspr='undef' +d_chown='undef' +d_chroot='undef' +d_chsize='undef' +d_closedir='undef' +d_const='undef' +d_crypt='undef' +d_csh='undef' +d_cuserid='undef' +d_dbl_dig='undef' +d_difftime='undef' +d_dirnamlen='undef' +d_dlerror='undef' +d_dlopen='undef' +d_dlsymun='undef' +d_dosuid='undef' +d_drand48proto='undef' +d_dup2='undef' +d_eaccess='undef' +d_endgrent='undef' +d_endhent='undef' +d_endnent='undef' +d_endpent='undef' +d_endpwent='undef' +d_endsent='undef' +d_endspent='undef' +d_eofnblk='undef' +d_eunice='undef' +d_fchmod='undef' +d_fchown='undef' +d_fcntl='undef' +d_fd_macros='undef' +d_fd_set='undef' +d_fds_bits='undef' +d_fgetpos='undef' +d_flexfnam='undef' +d_flock='undef' +d_fork='define' +d_fpathconf='undef' +d_fpos64_t='undef' +d_fs_data_s='undef' +d_fseeko='undef' +d_fsetpos='undef' +d_fstatfs='undef' +d_fstatvfs='undef' +d_ftello='undef' +d_ftime='undef' +d_getcwd='undef' +d_getgrent='undef' +d_getgrps='undef' +d_gethbyaddr='undef' +d_gethbyname='undef' +d_gethent='undef' +d_gethname='undef' +d_gethostprotos='undef' +d_getlogin='undef' +d_getmnt='undef' +d_getmntent='undef' +d_getnbyaddr='undef' +d_getnbyname='undef' +d_getnent='undef' +d_getnetprotos='undef' +d_getpbyname='undef' +d_getpbynumber='undef' +d_getpent='undef' +d_getpgid='undef' +d_getpgrp2='undef' +d_getpgrp='undef' +d_getppid='undef' +d_getprior='undef' +d_getprotoprotos='undef' +d_getpwent='undef' +d_getsbyname='undef' +d_getsbyport='undef' +d_getsent='undef' +d_getservprotos='undef' +d_getspent='undef' +d_getspnam='undef' +d_gettimeod='undef' +d_gnulibc='undef' +d_grpasswd='undef' +d_hasmntopt='undef' +d_htonl='undef' +d_iconv='undef' +d_index='undef' +d_inetaton='undef' +d_int64t='undef' +d_isascii='undef' +d_killpg='undef' +d_lchown='undef' +d_ldbl_dig='undef' +d_link='undef' +d_locconv='undef' +d_lockf='undef' +d_longdbl='undef' +d_longlong='undef' +d_lstat='undef' +d_mblen='undef' +d_mbstowcs='undef' +d_mbtowc='undef' +d_memchr='undef' +d_memcmp='undef' +d_memcpy='undef' +d_memmove='undef' +d_memset='undef' +d_mkdir='undef' +d_mkdtemp='undef' +d_mkfifo='undef' +d_mkstemp='undef' +d_mkstemps='undef' +d_mktime='undef' +d_mprotect='undef' +d_msg='undef' +d_msg_ctrunc='undef' +d_msg_dontroute='undef' +d_msg_oob='undef' +d_msg_peek='undef' +d_msg_proxy='undef' +d_msgctl='undef' +d_msgget='undef' +d_msgrcv='undef' +d_msgsnd='undef' +d_msync='undef' +d_munmap='undef' +d_mymalloc='undef' +d_nice='undef' +d_nv_preserves_uv='undef' +d_off64_t='undef' +d_old_pthread_create_joinable='undef' +d_oldpthreads='undef' +d_oldsock='undef' +d_open3='undef' +d_pathconf='undef' +d_pause='undef' +d_phostname='undef' +d_pipe='undef' +d_poll='undef' +d_portable='undef' +d_pthread_yield='undef' +d_pwage='undef' +d_pwchange='undef' +d_pwclass='undef' +d_pwcomment='undef' +d_pwexpire='undef' +d_pwgecos='undef' +d_pwpasswd='undef' +d_pwquota='undef' +d_quad='undef' +d_readdir='undef' +d_readlink='undef' +d_rename='undef' +d_rewinddir='undef' +d_rmdir='undef' +d_safebcpy='undef' +d_safemcpy='undef' +d_sanemcmp='undef' +d_sched_yield='undef' +d_scm_rights='undef' +d_seekdir='undef' +d_select='undef' +d_sem='undef' +d_semctl='undef' +d_semctl_semid_ds='undef' +d_semctl_semun='undef' +d_semget='undef' +d_semop='undef' +d_setegid='undef' +d_seteuid='undef' +d_setgrent='undef' +d_setgrps='undef' +d_sethent='undef' +d_setlinebuf='undef' +d_setlocale='undef' +d_setnent='undef' +d_setpent='undef' +d_setpgid='undef' +d_setpgrp2='undef' +d_setpgrp='undef' +d_setprior='undef' +d_setpwent='undef' +d_setregid='undef' +d_setresgid='undef' +d_setresuid='undef' +d_setreuid='undef' +d_setrgid='undef' +d_setruid='undef' +d_setsent='undef' +d_setsid='undef' +d_setspent='undef' +d_setvbuf='undef' +d_sfio='undef' +d_shm='undef' +d_shmat='undef' +d_shmatprototype='undef' +d_shmctl='undef' +d_shmdt='undef' +d_shmget='undef' +d_sigaction='undef' +d_sigsetjmp='undef' +d_socket='undef' +d_sockpair='undef' +d_sqrtl='undef' +d_statblks='undef' +d_statfs_f_flags='undef' +d_statfs_s='undef' +d_statvfs='undef' +d_stdio_cnt_lval='undef' +d_stdio_ptr_lval='undef' +d_stdio_stream_array='undef' +d_stdiobase='undef' +d_stdstdio='undef' +d_strchr='undef' +d_strcoll='undef' +d_strctcpy='undef' +d_strerrm='strerror(e)' +d_strerror='undef' +d_strtod='undef' +d_strtol='undef' +d_strtold='undef' +d_strtoll='undef' +d_strtoul='undef' +d_strtoull='undef' +d_strtouq='undef' +d_strxfrm='undef' +d_suidsafe='undef' +d_symlink='undef' +d_syscall='undef' +d_sysconf='undef' +d_sysernlst='' +d_syserrlst='undef' +d_system='undef' +d_tcgetpgrp='undef' +d_tcsetpgrp='undef' +d_telldir='undef' +d_telldirproto='undef' +d_time='undef' +d_times='undef' +d_truncate='undef' +d_tzname='undef' +d_umask='undef' +d_uname='undef' +d_union_semun='undef' +d_ustat='undef' +d_vendorbin='undef' +d_vendorlib='undef' +d_vfork='undef' +d_void_closedir='undef' +d_voidsig='undef' +d_voidtty='' +d_volatile='undef' +d_vprintf='define' +d_wait4='undef' +d_waitpid='undef' +d_wcstombs='undef' +d_wctomb='undef' +d_xenix='undef' +db_hashtype='u_int32_t' +db_prefixtype='size_t' +defvoidused=1 +direntrytype='struct dirent' +doublesize=1 +drand01="((rand() & 0x7FFF) / (double) ((unsigned long)1 << 15))" +eagain='EAGAIN' +ebcdic='undef' +fflushNULL='undef' +fflushall='undef' +firstmakefile='makefile' +fpossize='4' +fpostype=int +freetype=int +gidformat='"lu"' +gidsign='1' +gidsize='4' +gidtype=int +groupstype=int +h_fcntl='false' +h_sysfile='true' +i16size='2' +i16type='short' +i32size='4' +i32type='long' +i64size='8' +i64type='int64_t' +i8size='1' +i8type='char' +i_arpainet='undef' +i_bsdioctl='' +i_db='undef' +i_dbm='undef' +i_dirent='undef' +i_dld='undef' +i_dlfcn='undef' +i_fcntl='undef' +i_float='undef' +i_gdbm='undef' +i_grp='undef' +i_iconv='undef' +i_inttypes='undef' +i_limits='undef' +i_locale='undef' +i_machcthr='undef' +i_malloc='undef' +i_math='undef' +i_memory='undef' +i_mntent='undef' +i_ndbm='undef' +i_netdb='undef' +i_neterrno='undef' +i_netinettcp='undef' +i_niin='undef' +i_poll='undef' +i_pthread='undef' +i_pwd='undef' +i_rpcsvcdbm='undef' +i_sfio='undef' +i_sgtty='undef' +i_shadow='undef' +i_socks='undef' +i_stdarg='define' +i_stddef='undef' +i_stdlib='undef' +i_string='define' +i_sysaccess='undef' +i_sysdir='undef' +i_sysfile='undef' +i_sysfilio='undef' +i_sysin='undef' +i_sysioctl='undef' +i_syslog='undef' +i_sysmount='undef' +i_sysndir='undef' +i_sysparam='undef' +i_sysresrc='undef' +i_syssecrt='undef' +i_sysselct='undef' +i_syssockio='' +i_sysstat='define' +i_sysstatfs='undef' +i_sysstatvfs='undef' +i_systime='undef' +i_systimek='undef' +i_systimes='undef' +i_systypes='undef' +i_sysuio='undef' +i_sysun='undef' +i_sysvfs='undef' +i_syswait='undef' +i_termio='undef' +i_termios='undef' +i_time='define' +i_unistd='undef' +i_ustat='undef' +i_utime='undef' +i_values='undef' +i_varargs='undef' +i_varhdr='stdarg.h' +i_vfork='undef' +ignore_versioned_solibs='y' +installstyle='lib/perl5' +installusrbinperl='undef' +intsize='4' +intsize=1 +ivdformat='"ld"' +ivsize='4' +ivtype='long' +lib_ext='.a' +longdblsize=1 +longlongsize=1 +longsize=1 +lseeksize=1 +lseektype=int +malloctype='int*' +malloctype='void *' +modetype='mode_t' +modetype=int +multiarch='undef' +myarchname='unknown' +myuname='unknown' +netdb_hlen_type='int' +netdb_host_type='const char *' +netdb_name_type='const char *' +netdb_net_type='unsigned long' +nroff='nroff' +nvsize='8' +nvtype='double' +o_nonblock='O_NONBLOCK' +obj_ext='.o' +optimize='-O2' +orderlib='false' +osname='unknown' +phostname='hostname' +pidtype=int +pm_apiversion='5.005' +privlib='/usr/local/lib/perl5/5.00563' +privlibexp='/usr/local/lib/perl5/5.00563' +prototype='undef' +ptrsize=1 +quadkind='4' +quadtype='int64_t' +randbits='48' +randfunc='drand48' +randseedtype='int' +rd_nodata='-1' +sPRIEldbl='"llE"' +sPRIFldbl='"llF"' +sPRIGldbl='"llG"' +sPRIX64='"LX"' +sPRId64='"Ld"' +sPRIeldbl='"lle"' +sPRIfldbl='"llf"' +sPRIgldbl='"llg"' +sPRIi64='"Li"' +sPRIo64='"Lo"' +sPRIu64='"Lu"' +sPRIx64='"Lx"' +sched_yield='sched_yield()' +scriptdir='/usr/local/bin' +scriptdirexp='/usr/local/bin' +seedfunc='srand' +selectminbits='32' +selecttype=int +shmattype='void *' +shortsize=1 +sig_count='64' +sig_name_init='0' +sig_num_init='0' +signal_t=int +sizetype=int +sizesize=1 +ssizetype=int +stdchar=char +stdio_base='((fp)->_IO_read_base)' +stdio_bufsiz='((fp)->_IO_read_end - (fp)->_IO_read_base)' +stdio_cnt='((fp)->_IO_read_end - (fp)->_IO_read_ptr)' +stdio_filbuf='' +stdio_ptr='((fp)->_IO_read_ptr)' +stdio_stream_array='' +timetype=int +touch='touch' +u16size='2' +u16type='unsigned short' +u32size='4' +u32type='unsigned long' +u64size='8' +u64type='uint64_t' +u8size='1' +u8type='unsigned char' +uidformat='"lu"' +uidsign='1' +uidsize='4' +uidtype=int +uquadtype='uint64_t' +use5005threads='undef' +use64bits='undef' +usedl='undef' +useithreads='undef' +uselargefiles='undef' +uselongdouble='undef' +uselonglong='undef' +usemorebits='undef' +usemultiplicity='undef' +usemymalloc='n' +usenm='false' +useopcode='true' +useperlio='undef' +useposix='true' +usesfio='false' +useshrplib='false' +usesocks='undef' +usethreads='undef' +usevendorprefix='undef' +usevfork='false' +uvoformat='"lo"' +uvsize='4' +uvtype='unsigned long' +uvuformat='"lu"' +uvxformat='"lx"' +voidflags=1 +xs_apiversion='5.005' +d_getfsstat='undef' +d_int64_t='undef' +d_lseekproto='undef' +d_madvise='undef' +d_mmap='undef' +use64bitint='undef' +use64bitall='undef' +d_vendorarch='undef' +d_vendorarch='undef' +i_ieeefp='undef' +i_sunmath='undef' +i_sysmode='undef' +i_sysutsname='undef' +d_frexpl='undef' +d_modfl='undef' +d_getespwnam='undef' +d_getprpwnam='undef' +d_isnan='undef' +d_isnanl='undef' +i_prot='undef' +d_perl_otherlibdirs='undef' +inc_version_list_init='NULL' +socksizetype='int' + + @@ -5,6 +5,8 @@ * here. */ +#ifndef PERL_MICRO + /* HAS_IOCTL: * This symbol, if defined, indicates that the ioctl() routine is * available to set I/O characteristics @@ -33,6 +35,8 @@ #define HAS_KILL #define HAS_WAIT + +#endif /* USEMYBINMODE * This symbol, if defined, indicates that the program should @@ -791,7 +791,7 @@ Perl_swash_fetch(pTHX_ SV *sv, U8 *ptr) if (hv == PL_last_swash_hv && klen == PL_last_swash_klen && - (!klen || memEQ(ptr,PL_last_swash_key,klen)) ) + (!klen || memEQ((char *)ptr,(char *)PL_last_swash_key,klen)) ) { tmps = PL_last_swash_tmps; slen = PL_last_swash_slen; @@ -87,7 +87,7 @@ Perl_safesysmalloc(MEM_SIZE size) if ((long)size < 0) Perl_croak_nocontext("panic: malloc"); #endif - ptr = PerlMem_malloc(size?size:1); /* malloc(0) is NASTY on our system */ + ptr = (Malloc_t)PerlMem_malloc(size?size:1); /* malloc(0) is NASTY on our system */ PERL_ALLOC_CHECK(ptr); DEBUG_m(PerlIO_printf(Perl_debug_log, "0x%"UVxf": (%05ld) malloc %ld bytes\n",PTR2UV(ptr),(long)PL_an++,(long)size)); if (ptr != Nullch) @@ -131,7 +131,7 @@ Perl_safesysrealloc(Malloc_t where,MEM_SIZE size) if ((long)size < 0) Perl_croak_nocontext("panic: realloc"); #endif - ptr = PerlMem_realloc(where,size); + ptr = (Malloc_t)PerlMem_realloc(where,size); PERL_ALLOC_CHECK(ptr); DEBUG_m(PerlIO_printf(Perl_debug_log, "0x%"UVxf": (%05ld) rfree\n",PTR2UV(where),(long)PL_an++)); @@ -184,7 +184,7 @@ Perl_safesyscalloc(MEM_SIZE count, MEM_SIZE size) Perl_croak_nocontext("panic: calloc"); #endif size *= count; - ptr = PerlMem_malloc(size?size:1); /* malloc(0) is NASTY on our system */ + ptr = (Malloc_t)PerlMem_malloc(size?size:1); /* malloc(0) is NASTY on our system */ PERL_ALLOC_CHECK(ptr); DEBUG_m(PerlIO_printf(Perl_debug_log, "0x%"UVxf": (%05ld) calloc %ld x %ld bytes\n",PTR2UV(ptr),(long)PL_an++,(long)count,(long)size)); if (ptr != Nullch) { @@ -1000,7 +1000,8 @@ Perl_fbm_instr(pTHX_ unsigned char *big, register unsigned char *bigend, SV *lit if ( SvTAIL(littlestr) && (bigend - big == littlelen - 1) && (littlelen == 1 - || (*big == *little && memEQ(big, little, littlelen - 1)))) + || (*big == *little && + memEQ((char *)big, (char *)little, littlelen - 1)))) return (char*)big; return Nullch; } @@ -1168,7 +1169,8 @@ Perl_fbm_instr(pTHX_ unsigned char *big, register unsigned char *bigend, SV *lit } check_end: if ( s == bigend && (table[-1] & FBMcf_TAIL) - && memEQ(bigend - littlelen, oldlittle - littlelen, littlelen) ) + && memEQ((char *)(bigend - littlelen), + (char *)(oldlittle - littlelen), littlelen) ) return (char*)bigend - littlelen; return Nullch; } @@ -1283,7 +1285,8 @@ Perl_screaminstr(pTHX_ SV *bigstr, SV *littlestr, I32 start_shift, I32 end_shift return (char*)big; big -= stop_pos; if (*big == first - && ((stop_pos == 1) || memEQ(big + 1, little, stop_pos - 1))) + && ((stop_pos == 1) || + memEQ((char *)(big + 1), (char *)little, stop_pos - 1))) return (char*)big; return Nullch; } @@ -3661,7 +3664,7 @@ Perl_get_opargs(pTHX) PPADDR_t* Perl_get_ppaddr(pTHX) { - return &PL_ppaddr; + return (PPADDR_t*)PL_ppaddr; } #ifndef HAS_GETENV_LEN |