From: Andy Dougherty Date: Mon, 2 Aug 1999 14:01:58 +0000 (-0400) Subject: Hints for building ByteLoader in SunoS. Based on X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=d8ab9aa2cf5c10d4b3682f31b4167d92dd12d1a2;p=p5sagit%2Fp5-mst-13.2.git Hints for building ByteLoader in SunoS. Based on To: Gurusamy Sarathy Cc: Perl Porters Subject: Re: 5.005_58 Not OK SunOS 4.1.3 Message-Id: p4raw-id: //depot/cfgperl@3909 --- diff --git a/MANIFEST b/MANIFEST index d8fe430..0db9a3f 100644 --- a/MANIFEST +++ b/MANIFEST @@ -15,7 +15,6 @@ INTERN.h Included before domestic .h files MAINTAIN Who maintains which files MANIFEST This list of files Makefile.SH A script that generates Makefile -objXSUB.h Scoping macros for Perl Object in extensions 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 @@ -199,6 +198,7 @@ ext/ByteLoader/Makefile.PL Bytecode loader makefile writer ext/ByteLoader/bytecode.h Bytecode header for bytecode loader ext/ByteLoader/byterun.c Runtime support for bytecode loader ext/ByteLoader/byterun.h Header for byterun.c +ext/ByteLoader/hints/sunos.pl Hints for named architecture ext/DB_File/Changes Berkeley DB extension change log ext/DB_File/DB_File.pm Berkeley DB extension Perl module ext/DB_File/DB_File.xs Berkeley DB extension external subroutines @@ -234,8 +234,8 @@ ext/DynaLoader/dl_mpeix.xs MPE/iX implementation ext/DynaLoader/dl_next.xs Next implementation ext/DynaLoader/dl_none.xs Stub implementation ext/DynaLoader/dl_rhapsody.xs Rhapsody implementation -ext/DynaLoader/dl_vms.xs VMS implementation ext/DynaLoader/dl_vmesa.xs VM/ESA implementation +ext/DynaLoader/dl_vms.xs VMS implementation ext/DynaLoader/dlutils.c Dynamic loader utilities for dl_*.xs files ext/DynaLoader/hints/linux.pl Hint for DynaLoader for named architecture ext/Errno/ChangeLog Errno perl module change log @@ -247,8 +247,8 @@ ext/Fcntl/Makefile.PL Fcntl extension makefile writer ext/GDBM_File/GDBM_File.pm GDBM extension Perl module ext/GDBM_File/GDBM_File.xs GDBM extension external subroutines ext/GDBM_File/Makefile.PL GDBM extension makefile writer -ext/GDBM_File/typemap GDBM extension interface types ext/GDBM_File/hints/sco.pl Hint for GDBM_File for named architecture +ext/GDBM_File/typemap GDBM extension interface types ext/IO/ChangeLog IO perl module change log ext/IO/IO.pm Top-level interface to IO::* classes ext/IO/IO.xs IO extension external subroutines @@ -267,7 +267,6 @@ ext/IO/lib/IO/Socket/UNIX.pm IO UNIX specific socket methods ext/IO/poll.c IO poll() emulation using select() ext/IO/poll.h IO poll() emulation using select() ext/IPC/SysV/ChangeLog IPC::SysV extension Perl module -ext/IPC/SysV/hints/next_3.pl Hint for IPC::SysV for named architecture ext/IPC/SysV/MANIFEST IPC::SysV extension Perl module ext/IPC/SysV/Makefile.PL IPC::SysV extension Perl module ext/IPC/SysV/Msg.pm IPC::SysV extension Perl module @@ -275,6 +274,7 @@ ext/IPC/SysV/README IPC::SysV extension Perl module ext/IPC/SysV/Semaphore.pm IPC::SysV extension Perl module ext/IPC/SysV/SysV.pm IPC::SysV extension Perl module ext/IPC/SysV/SysV.xs IPC::SysV extension Perl module +ext/IPC/SysV/hints/next_3.pl Hint for IPC::SysV for named architecture ext/IPC/SysV/t/msg.t IPC::SysV extension Perl module ext/IPC/SysV/t/sem.t IPC::SysV extension Perl module ext/NDBM_File/Makefile.PL NDBM extension makefile writer @@ -543,15 +543,15 @@ lib/DirHandle.pm like FileHandle only for directories lib/Dumpvalue.pm Screen dump of perl values lib/English.pm Readable aliases for short variables lib/Env.pm Map environment into ordinary variables -lib/Exporter/Heavy.pm Complicated routines for Exporter lib/Exporter.pm Exporter base class +lib/Exporter/Heavy.pm Complicated routines for Exporter lib/ExtUtils/Command.pm Utilities for Make on non-UNIX platforms lib/ExtUtils/Embed.pm Utilities for embedding Perl in C programs lib/ExtUtils/Install.pm Handles 'make install' on extensions lib/ExtUtils/Installed.pm Information on installed extensions lib/ExtUtils/Liblist.pm Locates libraries -lib/ExtUtils/MM_OS2.pm MakeMaker methods for OS/2 lib/ExtUtils/MM_Cygwin.pm MakeMaker methods for Cygwin +lib/ExtUtils/MM_OS2.pm MakeMaker methods for OS/2 lib/ExtUtils/MM_Unix.pm MakeMaker base class for Unix lib/ExtUtils/MM_VMS.pm MakeMaker methods for VMS lib/ExtUtils/MM_Win32.pm MakeMaker methods for Win32 @@ -822,8 +822,8 @@ lib/unicode/Is/Pd.pl Unicode character database lib/unicode/Is/Pe.pl Unicode character database lib/unicode/Is/Po.pl Unicode character database lib/unicode/Is/Print.pl Unicode character database -lib/unicode/Is/Punct.pl Unicode character database lib/unicode/Is/Ps.pl Unicode character database +lib/unicode/Is/Punct.pl Unicode character database lib/unicode/Is/S.pl Unicode character database lib/unicode/Is/Sc.pl Unicode character database lib/unicode/Is/Sm.pl Unicode character database @@ -870,10 +870,10 @@ mg.c Magic code mg.h Magic header minimod.pl Writes lib/ExtUtils/Miniperl.pm miniperlmain.c Basic perl w/o dynamic loading or extensions -mint/errno.h MiNT port mint/Makefile MiNT port -mint/pwd.c MiNT port mint/README MiNT port +mint/errno.h MiNT port +mint/pwd.c MiNT port mint/stdio.h MiNT port mint/sys/time.h MiNT port mint/time.h MiNT port @@ -883,6 +883,7 @@ mpeix/relink MPE/iX port mv-if-diff Script to mv a file if it changed myconfig.SH Prints summary of the current configuration nostdio.h Cause compile error on stdio calls +objXSUB.h Scoping macros for Perl Object in extensions op.c Opcode syntax tree code op.h Opcode syntax tree header opcode.h Automatically generated opcode header @@ -922,8 +923,8 @@ os2/OS2/REXX/t/rx_tievar.t DLL access module os2/OS2/REXX/t/rx_tieydb.t DLL access module os2/OS2/REXX/t/rx_varset.t DLL access module os2/OS2/REXX/t/rx_vrexx.t DLL access module -os2/diff.configure Patches to Configure os2/POSIX.mkfifo OS2-specific patch +os2/diff.configure Patches to Configure os2/dl_os2.c Addon for dl_open os2/dlfcn.h Addon for dl_open os2/os2.c Additional code for OS/2 @@ -944,10 +945,10 @@ perlsfio.h Prototype sfio mapping for PerlIO perlsh A poor man's perl shell perlvars.h Global variables perly.c A byacc'ed perly.y -perly_c.diff Fixup perly.c to allow recursion perly.fixer A program to remove yacc stack limitations perly.h The header file for perly.c perly.y Yacc grammar for perl +perly_c.diff Fixup perly.c to allow recursion plan9/aperl Shell to make Perl error messages Acme-friendly plan9/arpa/inet.h Plan9 port: replacement C header file plan9/buildinfo Plan9 port: configuration information @@ -968,16 +969,16 @@ pod/Win32.pod Documentation for Win32 extras pod/buildtoc generate perltoc.pod pod/checkpods.PL Tool to check for common errors in pods pod/perl.pod Top level perl man page +pod/perl5004delta.pod Changes from 5.003 to 5.004 +pod/perl5005delta.pod Changes from 5.004 to 5.005 pod/perlapio.pod IO API info pod/perlbook.pod Book info pod/perlbot.pod Object-oriented Bag o' Tricks pod/perlcall.pod Callback info pod/perldata.pod Data structure info +pod/perldbmfilter.pod Info about DBM Filters pod/perldebug.pod Debugger info pod/perldelta.pod Changes since last version -pod/perl5005delta.pod Changes from 5.004 to 5.005 -pod/perl5004delta.pod Changes from 5.003 to 5.004 -pod/perldbmfilter.pod Info about DBM Filters pod/perldiag.pod Diagnostic info pod/perldsc.pod Data Structures Cookbook pod/perlembed.pod Embedding info @@ -1185,8 +1186,8 @@ t/lib/selectsaver.t See if SelectSaver works t/lib/socket.t See if Socket works t/lib/soundex.t See if Soundex works t/lib/symbol.t See if Symbol works -t/lib/texttabs.t See if Text::Tabs works t/lib/textfill.t See if Text::Wrap::fill works +t/lib/texttabs.t See if Text::Tabs works t/lib/textwrap.t See if Text::Wrap::wrap works t/lib/thread.t Basic test of threading (skipped if no threads) t/lib/tie-push.t Test for Tie::Array @@ -1243,8 +1244,8 @@ t/op/method.t See if method calls work t/op/misc.t See if miscellaneous bugs have been fixed t/op/mkdir.t See if mkdir works t/op/my.t See if lexical scoping works -t/op/numconvert.t See if accessing fields does not change numeric values t/op/nothread.t local @_ test which does not work threaded +t/op/numconvert.t See if accessing fields does not change numeric values t/op/oct.t See if oct and hex work t/op/ord.t See if ord works t/op/pack.t See if pack and unpack work @@ -1352,8 +1353,8 @@ t/pragma/warn/sv Tests for sv.c for warning.t t/pragma/warn/taint Tests for taint.c for warning.t t/pragma/warn/toke Tests for toke.c for warning.t t/pragma/warn/universal Tests for universal.c for warning.t -t/pragma/warn/util Tests for util.c for warning.t t/pragma/warn/utf8 Tests for utf8.c for warning.t +t/pragma/warn/util Tests for util.c for warning.t t/pragma/warning.t See if warning controls work taint.c Tainting code thrdvar.h Per-thread variables @@ -1413,8 +1414,8 @@ vms/vms.c VMS-specific C code for Perl core vms/vms_yfix.pl convert Unix perly.[ch] to VMS perly_[ch].vms vms/vmsish.h VMS-specific C header for Perl core vms/writemain.pl Generate perlmain.c from miniperlmain.c+extensions -vos/build.cm VOS command macro to build Perl vos/Changes Changes made to port Perl to the VOS operating system +vos/build.cm VOS command macro to build Perl vos/compile_perl.cm VOS commnad macro to build multiple version of Perl vos/config.h config.h for VOS vos/config_h.SH_orig config_h.SH at the time config.h was created diff --git a/ext/ByteLoader/ByteLoader.xs b/ext/ByteLoader/ByteLoader.xs index a3d53f6..c9d7d16 100644 --- a/ext/ByteLoader/ByteLoader.xs +++ b/ext/ByteLoader/ByteLoader.xs @@ -4,6 +4,13 @@ #include "XSUB.h" #include "byterun.h" +#ifdef NEED_FGETC_PROTOTYPE +extern int fgetc(); +#endif +#ifdef NEED_FREAD_PROTOTYPE +extern int fread(); +#endif + static void freadpv(U32 len, void *data, XPV *pv) { diff --git a/ext/ByteLoader/hints/sunos.pl b/ext/ByteLoader/hints/sunos.pl new file mode 100644 index 0000000..3faf498 --- /dev/null +++ b/ext/ByteLoader/hints/sunos.pl @@ -0,0 +1,2 @@ +$self->{CCFLAGS} = $Config{ccflags} . ' -DNEED_FGETC_PROTOTYPE -DNEED_FREAD_PROTOTYPE'; +