c1 = av.c scope.c op.c doop.c doio.c dump.c gv.c hv.c mg.c reentr.c mro.c perl.c
c2 = perly.c pp.c pp_hot.c pp_ctl.c pp_sys.c regcomp.c regexec.c utf8.c sv.c
-c3 = taint.c toke.c util.c deb.c run.c universal.c xsutils.c pad.c globals.c
+c3 = taint.c toke.c util.c deb.c run.c universal.c pad.c globals.c
c4 = perlio.c perlapi.c numeric.c mathoms.c locale.c pp_pack.c pp_sort.c
c5 = $(madlysrc) $(mallocsrc)
obj1 = $(madlyobj) $(mallocobj) gv$(OBJ_EXT) toke$(OBJ_EXT) perly$(OBJ_EXT) op$(OBJ_EXT) pad$(OBJ_EXT) regcomp$(OBJ_EXT) dump$(OBJ_EXT) util$(OBJ_EXT) mg$(OBJ_EXT) reentr$(OBJ_EXT) mro$(OBJ_EXT)
obj2 = hv$(OBJ_EXT) av$(OBJ_EXT) perl$(OBJ_EXT) run$(OBJ_EXT) pp_hot$(OBJ_EXT) sv$(OBJ_EXT) pp$(OBJ_EXT) scope$(OBJ_EXT) pp_ctl$(OBJ_EXT) pp_sys$(OBJ_EXT)
-obj3 = doop$(OBJ_EXT) doio$(OBJ_EXT) regexec$(OBJ_EXT) utf8$(OBJ_EXT) taint$(OBJ_EXT) deb$(OBJ_EXT) universal$(OBJ_EXT) xsutils$(OBJ_EXT) globals$(OBJ_EXT) perlio$(OBJ_EXT) perlapi$(OBJ_EXT) numeric$(OBJ_EXT) mathoms$(OBJ_EXT) locale$(OBJ_EXT) pp_pack$(OBJ_EXT) pp_sort$(OBJ_EXT)
+obj3 = doop$(OBJ_EXT) doio$(OBJ_EXT) regexec$(OBJ_EXT) utf8$(OBJ_EXT) taint$(OBJ_EXT) deb$(OBJ_EXT) universal$(OBJ_EXT) globals$(OBJ_EXT) perlio$(OBJ_EXT) perlapi$(OBJ_EXT) numeric$(OBJ_EXT) mathoms$(OBJ_EXT) locale$(OBJ_EXT) pp_pack$(OBJ_EXT) pp_sort$(OBJ_EXT)
obj = $(obj1) $(obj2) $(obj3) $(ARCHOBJS)
usersub) ;;
utf8) ;;
util) ;;
- xsutils) ;;
*) ;;
esac
drand01='drand48()'
drand48_r_proto='0'
dtrace=''
-dynamic_ext='B ByteLoader Cwd Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Time/HiRes Unicode/Normalize XS/APItest XS/Typemap re threads threads/shared'
+dynamic_ext='B ByteLoader Cwd Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Time/HiRes Unicode/Normalize XS/APItest XS/Typemap attributes re threads threads/shared'
eagain='EAGAIN'
ebcdic='undef'
echo='echo'
eunicefix=':'
exe_ext=''
expr='expr'
-extensions='B ByteLoader Cwd Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Time/HiRes Unicode/Normalize XS/APItest XS/Typemap re threads threads/shared Errno'
+extensions='B ByteLoader Cwd Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Time/HiRes Unicode/Normalize XS/APItest XS/Typemap attributes re threads threads/shared Errno'
extras=''
fflushNULL='define'
fflushall='undef'
ivdformat='"ld"'
ivsize='4'
ivtype='long'
-known_extensions='B ByteLoader Cwd DB_File Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call GDBM_File I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 NDBM_File ODBM_File Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Time/HiRes Unicode/Normalize XS/APItest XS/Typemap re threads threads/shared'
+known_extensions='B ByteLoader Cwd DB_File Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call GDBM_File I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 NDBM_File ODBM_File Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Time/HiRes Unicode/Normalize XS/APItest XS/Typemap attributes re threads threads/shared'
ksh=''
ld='cc'
lddlflags='-shared -L/usr/local/lib'
doublesize='8'
drand01='drand48()'
drand48_r_proto='0'
-dynamic_ext='B ByteLoader Cwd Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Time/HiRes Unicode/Normalize XS/APItest XS/Typemap re threads threads/shared'
+dynamic_ext='B ByteLoader Cwd Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Time/HiRes Unicode/Normalize XS/APItest XS/Typemap attributes re threads threads/shared'
eagain='EAGAIN'
ebcdic='undef'
echo='echo'
eunicefix=':'
exe_ext=''
expr='expr'
-extensions='B ByteLoader Cwd Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Time/HiRes Unicode/Normalize XS/APItest XS/Typemap re threads threads/shared Errno'
+extensions='B ByteLoader Cwd Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Time/HiRes Unicode/Normalize XS/APItest XS/Typemap attributes re threads threads/shared Errno'
extras=''
fflushNULL='define'
fflushall='undef'
ivdformat='"ld"'
ivsize='4'
ivtype='long'
-known_extensions='B ByteLoader Cwd DB_File Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call GDBM_File I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 NDBM_File ODBM_File Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Time/HiRes Unicode/Normalize XS/APItest XS/Typemap re threads threads/shared'
+known_extensions='B ByteLoader Cwd DB_File Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call GDBM_File I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 NDBM_File ODBM_File Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Time/HiRes Unicode/Normalize XS/APItest XS/Typemap attributes re threads threads/shared'
ksh=''
ld='arm-none-linux-gnueabi-gcc'
lddlflags='-shared -L/usr/local/lib'
ext/Attribute-Handlers/t/data_convert.t Test attribute data conversion
ext/Attribute-Handlers/t/linerep.t See if Attribute::Handlers works
ext/Attribute-Handlers/t/multi.t See if Attribute::Handlers works
+ext/attributes/attributes.pm For "sub foo : attrlist"
+ext/attributes/attributes.xs For "sub foo : attrlist"
ext/B/B/Concise.pm Compiler Concise backend
ext/B/B/Debug.pm Compiler Debug backend
ext/B/B/Deparse.pm Compiler Deparse backend
lib/Archive/Tar/t/src/short/foo.tbz.packed Archive::Tar tests
lib/Archive/Tar/t/src/short/foo.tgz.packed Archive::Tar tests
lib/assert.pl assertion and panic with stack trace
-lib/attributes.pm For "sub foo : attrlist"
lib/autodie/exception.pm Exception class for autodie
lib/autodie/exception/system.pm Exception class for autodying system()
lib/autodie.pm Functions suceed or die with lexical scope
x2p/util.h Public declarations for the above
x2p/walk.c Parse tree walker
XSUB.h Include file for extension subroutines
-xsutils.c Additional bundled package methods not in UNIVERSAL::
c1 = av.c scope.c op.c doop.c doio.c dump.c gv.c hv.c mg.c reentr.c mro.c perl.c
c2 = perly.c pp.c pp_hot.c pp_ctl.c pp_sys.c regcomp.c regexec.c utf8.c sv.c
-c3 = taint.c toke.c util.c deb.c run.c universal.c xsutils.c pad.c globals.c
+c3 = taint.c toke.c util.c deb.c run.c universal.c pad.c globals.c
c4 = perlio.c perlapi.c numeric.c mathoms.c locale.c pp_pack.c pp_sort.c
c5 = $(madlysrc) $(mallocsrc)
obj0 = op$(OBJ_EXT) perl$(OBJ_EXT)
obj1 = $(madlyobj) $(mallocobj) gv$(OBJ_EXT) toke$(OBJ_EXT) perly$(OBJ_EXT) pad$(OBJ_EXT) regcomp$(OBJ_EXT) dump$(OBJ_EXT) util$(OBJ_EXT) mg$(OBJ_EXT) reentr$(OBJ_EXT) mro$(OBJ_EXT)
obj2 = hv$(OBJ_EXT) av$(OBJ_EXT) run$(OBJ_EXT) pp_hot$(OBJ_EXT) sv$(OBJ_EXT) pp$(OBJ_EXT) scope$(OBJ_EXT) pp_ctl$(OBJ_EXT) pp_sys$(OBJ_EXT)
-obj3 = doop$(OBJ_EXT) doio$(OBJ_EXT) regexec$(OBJ_EXT) utf8$(OBJ_EXT) taint$(OBJ_EXT) deb$(OBJ_EXT) universal$(OBJ_EXT) xsutils$(OBJ_EXT) globals$(OBJ_EXT) perlio$(OBJ_EXT) perlapi$(OBJ_EXT) numeric$(OBJ_EXT) mathoms$(OBJ_EXT) locale$(OBJ_EXT) pp_pack$(OBJ_EXT) pp_sort$(OBJ_EXT)
+obj3 = doop$(OBJ_EXT) doio$(OBJ_EXT) regexec$(OBJ_EXT) utf8$(OBJ_EXT) taint$(OBJ_EXT) deb$(OBJ_EXT) universal$(OBJ_EXT) globals$(OBJ_EXT) perlio$(OBJ_EXT) perlapi$(OBJ_EXT) numeric$(OBJ_EXT) mathoms$(OBJ_EXT) locale$(OBJ_EXT) pp_pack$(OBJ_EXT) pp_sort$(OBJ_EXT)
mini_obj = $(obj1) $(obj2) $(obj3) $(ARCHOBJS)
ndt_obj = $(obj0) $(obj1) $(obj2) $(obj3) $(ARCHOBJS)
uregcomp$(_O) uregexec$(_O) urun$(_O) \
uscope$(_O) usv$(_O) utaint$(_O) utoke$(_O) \
unumeric$(_O) ulocale$(_O) umathoms$(_O) \
- uuniversal$(_O) uutf8$(_O) uutil$(_O) uperlapi$(_O) uxsutils$(_O)
+ uuniversal$(_O) uutf8$(_O) uutil$(_O) uperlapi$(_O)
microperl: $(O)
$(LD) -o $@ $(O) $(LDFLAGS) $(LIBS)
uperlapi$(_O): $(HE) perlapi.c perlapi.h
$(CC) $(CCFLAGS) -o $@ $(CFLAGS) perlapi.c
-uxsutils$(_O): $(HE) xsutils.c
- $(CC) $(CCFLAGS) -o $@ $(CFLAGS) xsutils.c
-
uudmap.h: generate_uudmap$(_X)
$(RUN) ./generate_uudmap$(_X) >uudmap.h
OPCODE_NLM = $(AUTODIR)\Opcode\Opcode.NLM
SDBM_FILE_NLM = $(AUTODIR)\SDBM_File\SDBM_File.NLM
POSIX_NLM = $(AUTODIR)\POSIX\POSIX.NLM
+ATTRIBUTES_NLM = $(AUTODIR)\attributes\attributes.NLM
B_NLM = $(AUTODIR)\B\B.NLM
DUMPER_NLM = $(AUTODIR)\Data\Dumper\Dumper.NLM
PEEK_NLM = $(AUTODIR)\Devel\Peek\Peek.NLM
$(SOCKET_NLM) \
$(OPCODE_NLM) \
$(B_NLM) \
+ $(ATTRIBUTES_NLM) \
$(SDBM_FILE_NLM) \
$(POSIX_NLM) \
$(DUMPER_NLM) \
..\toke.c \
..\universal.c \
..\utf8.c \
- ..\util.c \
- ..\xsutils.c
+ ..\util.c
#EXTRACORE_SRC = $(EXTRACORE_SRC) perllib.c
DLL_OBJ = $(DLL_SRC:.c=.obj)
X2P_OBJ = $(X2P_SRC:.c=.obj)
-DYNAMIC_EXT = Socket IO Fcntl Opcode SDBM_File POSIX B re \
+DYNAMIC_EXT = Socket IO Fcntl Opcode SDBM_File POSIX attributes B re \
Data/Dumper Devel/Peek ByteLoader Devel/DProf File/Glob \
Storable/Storable List/Util MIME/Base64/Base64 XS/APItest/APItest \
XS/Typemap/Typemap Unicode/Normalize/Normalize Sys/Hostname
SDBM_FILE = $(EXTDIR)\SDBM_File\SDBM_File
IO = $(EXTDIR)\IO\IO
POSIX = $(EXTDIR)\POSIX\POSIX
+ATTRIBUTES = $(EXTDIR)\attributes\attributes
B = $(EXTDIR)\B\B
RE = $(EXTDIR)\re\re
DUMPER = $(EXTDIR)\Data\Dumper\Dumper
$(SDBM_FILE).c \
$(IO).c \
$(POSIX).c \
+ $(ATTRIBUTES).c \
$(RE).c \
$(DUMPER).c \
$(PEEK).c \
$(MAKE)
cd ..\..\netware
+$(ATTRIBUTES_NLM):
+ cd $(EXTDIR)\$(*B)
+ ..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
+ $(MAKE)
+ cd ..\..\netware
+
$(SDBM_FILE_NLM):
cd $(EXTDIR)\$(*B)
..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
-del /f /q $(EXTDIR)\DynaLoader\dl_win32.xs
-del /f /q $(EXTDIR)\DynaLoader\DynaLoader.pm
-del /f /q $(EXTDIR)\DynaLoader\XSLoader.pm
- -del /f /q $(LIBDIR)\.exists $(LIBDIR)\DynaLoader.pm
+ -del /f /q $(LIBDIR)\.exists $(LIBDIR)\attributes.pm $(LIBDIR)\DynaLoader.pm
-del /f /q $(LIBDIR)\XSLoader.pm
-del /f /q $(LIBDIR)\Fcntl.pm $(LIBDIR)\IO.pm $(LIBDIR)\Opcode.pm
-del /f /q $(LIBDIR)\ops.pm $(LIBDIR)\Safe.pm
drand01='(rand()/(double)((unsigned)1<<RANDBITS))'
drand48_r_proto='0'
dtrace=''
-dynamic_ext='Socket IO Fcntl Opcode SDBM_File'
+dynamic_ext='Socket IO Fcntl Opcode SDBM_File attributes'
eagain='EAGAIN'
ebcdic='undef'
echo='echo'
drand01='drand48()'
drand48_r_proto='0'
dtrace=''
-dynamic_ext='B Compress/Raw/Zlib Cwd Data/Dumper DB_File Devel/DProf Devel/Peek Devel/PPPort Digest/MD5 Digest/SHA Encode Fcntl File/Glob Filter/Util/Call GDBM_File Hash/Util I18N/Langinfo IO IPC/SysV List/Util Math/BigInt/FastCalc MIME/Base64 NDBM_File ODBM_File Opcode PerlIO/encoding PerlIO/scalar PerlIO/via POSIX re SDBM_File Socket Storable Sys/Hostname Sys/Syslog Text/Soundex threads Time/HiRes Time/Piece Unicode/Normalize XS/APItest XS/Typemap threads/shared Hash/Util/FieldHash'
+dynamic_ext='attributes B Compress/Raw/Zlib Cwd Data/Dumper DB_File Devel/DProf Devel/Peek Devel/PPPort Digest/MD5 Digest/SHA Encode Fcntl File/Glob Filter/Util/Call GDBM_File Hash/Util I18N/Langinfo IO IPC/SysV List/Util Math/BigInt/FastCalc MIME/Base64 NDBM_File ODBM_File Opcode PerlIO/encoding PerlIO/scalar PerlIO/via POSIX re SDBM_File Socket Storable Sys/Hostname Sys/Syslog Text/Soundex threads Time/HiRes Time/Piece Unicode/Normalize XS/APItest XS/Typemap threads/shared Hash/Util/FieldHash'
eagain='EAGAIN'
ebcdic='undef'
echo='echo'
eunicefix=':'
exe_ext=''
expr='expr'
-extensions='B Compress/Raw/Zlib Cwd Data/Dumper DB_File Devel/DProf Devel/Peek Devel/PPPort Digest/MD5 Digest/SHA Encode Fcntl File/Glob Filter/Util/Call GDBM_File Hash/Util I18N/Langinfo IO IPC/SysV List/Util Math/BigInt/FastCalc MIME/Base64 NDBM_File ODBM_File Opcode PerlIO/encoding PerlIO/scalar PerlIO/via POSIX re SDBM_File Socket Storable Sys/Hostname Sys/Syslog Text/Soundex threads Time/HiRes Time/Piece Unicode/Normalize XS/APItest XS/Typemap threads/shared Hash/Util/FieldHash Compress/Zlib Errno IO_Compress_Base IO_Compress_Zlib Module/Pluggable Test/Harness'
+extensions='attributes B Compress/Raw/Zlib Cwd Data/Dumper DB_File Devel/DProf Devel/Peek Devel/PPPort Digest/MD5 Digest/SHA Encode Fcntl File/Glob Filter/Util/Call GDBM_File Hash/Util I18N/Langinfo IO IPC/SysV List/Util Math/BigInt/FastCalc MIME/Base64 NDBM_File ODBM_File Opcode PerlIO/encoding PerlIO/scalar PerlIO/via POSIX re SDBM_File Socket Storable Sys/Hostname Sys/Syslog Text/Soundex threads Time/HiRes Time/Piece Unicode/Normalize XS/APItest XS/Typemap threads/shared Hash/Util/FieldHash Compress/Zlib Errno IO_Compress_Base IO_Compress_Zlib Module/Pluggable Test/Harness'
extern_C='extern'
extras=''
fflushNULL='define'
ivdformat='"Ld"'
ivsize='8'
ivtype='long long'
-known_extensions='B Compress/Raw/Zlib Cwd Data/Dumper DB_File Devel/DProf Devel/Peek Devel/PPPort Digest/MD5 Digest/SHA Encode Fcntl File/Glob Filter/Util/Call GDBM_File Hash/Util I18N/Langinfo IO IPC/SysV List/Util Math/BigInt/FastCalc MIME/Base64 NDBM_File ODBM_File Opcode PerlIO/encoding PerlIO/scalar PerlIO/via POSIX re SDBM_File Socket Storable Sys/Hostname Sys/Syslog Text/Soundex threads Time/HiRes Time/Piece Unicode/Normalize Win32 Win32API/File Win32CORE XS/APItest XS/Typemap threads/shared Hash/Util/FieldHash'
+known_extensions='attributes B Compress/Raw/Zlib Cwd Data/Dumper DB_File Devel/DProf Devel/Peek Devel/PPPort Digest/MD5 Digest/SHA Encode Fcntl File/Glob Filter/Util/Call GDBM_File Hash/Util I18N/Langinfo IO IPC/SysV List/Util Math/BigInt/FastCalc MIME/Base64 NDBM_File ODBM_File Opcode PerlIO/encoding PerlIO/scalar PerlIO/via POSIX re SDBM_File Socket Storable Sys/Hostname Sys/Syslog Text/Soundex threads Time/HiRes Time/Piece Unicode/Normalize Win32 Win32API/File Win32CORE XS/APItest XS/Typemap threads/shared Hash/Util/FieldHash'
ksh=''
ld='cc'
lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector'
DynaLoader Exporter File::Spec integer lib strict Symbol
vars warnings XSLoader
- The following extensions are available:
- Compress::Zlib Cwd Data::Dumper Devel::Peek Digest::MD5 DynaLoader
+ attributes Compress::Zlib Cwd Data::Dumper Devel::Peek Digest::MD5 DynaLoader
Fcntl File::Glob Filter::Util::Call IO List::Util MIME::Base64
PerlIO::scalar PerlIO::via SDBM_File Socket Storable Time::HiRes
- The following extensions are missing for various technical reasons:
usersub) ;;
utf8) ;;
util) ;;
- xsutils) ;;
*) ;;
esac
#endif
: Used in perly.y
p |OP * |my_attrs |NN OP *o|NULLOK OP *attrs
-: Only used in perl.c
-p |void |boot_core_xsutils
#if defined(USE_ITHREADS)
ApR |PERL_CONTEXT*|cx_dup |NULLOK PERL_CONTEXT* cx|I32 ix|I32 max|NN CLONE_PARAMS* param
ApR |PERL_SI*|si_dup |NULLOK PERL_SI* si|NN CLONE_PARAMS* param
#endif
#ifdef PERL_CORE
#define my_attrs Perl_my_attrs
-#define boot_core_xsutils Perl_boot_core_xsutils
#endif
#if defined(USE_ITHREADS)
#define cx_dup Perl_cx_dup
#endif
#ifdef PERL_CORE
#define my_attrs(a,b) Perl_my_attrs(aTHX_ a,b)
-#define boot_core_xsutils() Perl_boot_core_xsutils(aTHX)
#endif
#if defined(USE_ITHREADS)
#define cx_dup(a,b,c,d) Perl_cx_dup(aTHX_ a,b,c,d)
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 re'
+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'
fflushNULL='undef'
fflushall='define'
find=''
package attributes;
-our $VERSION = 0.10;
+our $VERSION = 0.11;
@EXPORT_OK = qw(get reftype);
@EXPORT = ();
goto &Carp::carp;
}
-## forward declaration(s) rather than wrapping the bootstrap call in BEGIN{}
-#sub reftype ($) ;
-#sub _fetch_attrs ($) ;
-#sub _guess_stash ($) ;
-#sub _modify_attrs ;
-#
-# The extra trips through newATTRSUB in the interpreter wipe out any savings
-# from avoiding the BEGIN block. Just do the bootstrap now.
-BEGIN { bootstrap attributes }
-
sub import {
@_ > 2 && ref $_[2] or do {
require Exporter;
@_ == 1 && ref $_[0] or
croak 'Usage: '.__PACKAGE__.'::get $ref';
my $svref = shift;
- my $svtype = uc reftype $svref;
- my $stash = _guess_stash $svref;
+ my $svtype = uc reftype($svref);
+ my $stash = _guess_stash($svref);
$stash = caller unless defined $stash;
my $pkgmeth;
$pkgmeth = UNIVERSAL::can($stash, "FETCH_${svtype}_ATTRIBUTES")
sub require_version { goto &UNIVERSAL::VERSION }
+require XSLoader;
+XSLoader::load('attributes', $VERSION);
+
1;
__END__
#The POD goes here
L<perlfunc/use> for details on the normal invocation mechanism.
=cut
-
#include "EXTERN.h"
-#define PERL_IN_XSUTILS_C
#include "perl.h"
+#include "XSUB.h"
/*
* Contributed by Spider Boardman (spider.boardman@orb.nashua.nh.us).
*/
-/* package attributes; */
-PERL_XS_EXPORT_C void XS_attributes_reftype(pTHX_ CV *cv);
-PERL_XS_EXPORT_C void XS_attributes__modify_attrs(pTHX_ CV *cv);
-PERL_XS_EXPORT_C void XS_attributes__guess_stash(pTHX_ CV *cv);
-PERL_XS_EXPORT_C void XS_attributes__fetch_attrs(pTHX_ CV *cv);
-PERL_XS_EXPORT_C void XS_attributes_bootstrap(pTHX_ CV *cv);
-
-
-/*
- * Note that only ${pkg}::bootstrap definitions should go here.
- * This helps keep down the start-up time, which is especially
- * relevant for users who don't invoke any features which are
- * (partially) implemented here.
- *
- * The various bootstrap definitions can take care of doing
- * package-specific newXS() calls. Since the layout of the
- * bundled *.pm files is in a version-specific directory,
- * version checks in these bootstrap calls are optional.
- */
-
-static const char file[] = __FILE__;
-
-void
-Perl_boot_core_xsutils(pTHX)
-{
- newXS("attributes::bootstrap", XS_attributes_bootstrap, file);
-}
-
-#include "XSUB.h"
-
static int
modify_SV_attributes(pTHX_ SV *sv, SV **retlist, SV **attrlist, int numattrs)
{
return nret;
}
+MODULE = attributes PACKAGE = attributes
-
-/* package attributes; */
-
-XS(XS_attributes_bootstrap)
-{
- dVAR;
- dXSARGS;
-
- if( items > 1 )
- croak_xs_usage(cv, "$module");
-
- newXS("attributes::_modify_attrs", XS_attributes__modify_attrs, file);
- newXSproto("attributes::_guess_stash", XS_attributes__guess_stash, file, "$");
- newXSproto("attributes::_fetch_attrs", XS_attributes__fetch_attrs, file, "$");
- newXSproto("attributes::reftype", XS_attributes_reftype, file, "$");
-
- XSRETURN(0);
-}
-
-XS(XS_attributes__modify_attrs)
-{
- dVAR;
- dXSARGS;
+void
+_modify_attrs(...)
+ PREINIT:
SV *rv, *sv;
+ PPCODE:
if (items < 1) {
usage:
XSRETURN(modify_SV_attributes(aTHX_ sv, &ST(0), &ST(1), items-1));
XSRETURN(0);
-}
-XS(XS_attributes__fetch_attrs)
-{
- dVAR;
- dXSARGS;
+void
+_fetch_attrs(...)
+ PREINIT:
SV *rv, *sv;
cv_flags_t cvflags;
-
+ PPCODE:
if (items != 1) {
usage:
croak_xs_usage(cv, "$reference");
}
rv = ST(0);
- SP -= items;
if (!(SvOK(rv) && SvROK(rv)))
goto usage;
sv = SvRV(rv);
}
PUTBACK;
-}
-XS(XS_attributes__guess_stash)
-{
- dVAR;
- dXSARGS;
+void
+_guess_stash(...)
+ PREINIT:
SV *rv, *sv;
dXSTARG;
-
+ PPCODE:
if (items != 1) {
usage:
croak_xs_usage(cv, "$reference");
SvSETMAGIC(TARG);
XSRETURN(1);
-}
-XS(XS_attributes_reftype)
-{
- dVAR;
- dXSARGS;
+void
+reftype(...)
+ PREINIT:
SV *rv, *sv;
dXSTARG;
-
+ PPCODE:
if (items != 1) {
usage:
croak_xs_usage(cv, "$reference");
SvSETMAGIC(TARG);
XSRETURN(1);
-}
-
/*
* Local variables:
* c-indentation-style: bsd
* End:
*
* ex: set ts=8 sts=4 sw=4 noet:
- */
+ */
\ No newline at end of file
#b # compile/link flags
#b ldflags=-g
#b optimize=-g
-#b static_ext="B Data/Dumper Digest/MD5 Errno Fcntl Filter::Util::Call IO IPC/SysV MIME::Base64 Opcode PerlIO::scalar POSIX SDBM_File Socket Storable Unicode::Normalize re"
+#b static_ext="B Data/Dumper Digest/MD5 Errno Fcntl Filter::Util::Call IO IPC/SysV MIME::Base64 Opcode PerlIO::scalar POSIX SDBM_File Socket Storable Unicode::Normalize attributes re"
#b #static_ext=none
#b # dynamic loading needs work
#b usedl=undef
# Original, with :: separators, cause make to choke.
# No longer seems to be necessary at all.
-# static_ext="B Data/Dumper Digest/MD5 Errno Fcntl Filter/Util/Call IO IPC/SysV MIME/Base64 Opcode PerlIO/scalar POSIX SDBM_File Socket Storable Unicode/Normalize re"
+# static_ext="B Data/Dumper Digest/MD5 Errno Fcntl Filter/Util/Call IO IPC/SysV MIME/Base64 Opcode PerlIO/scalar POSIX SDBM_File Socket Storable Unicode/Normalize attributes re"
# perl malloc will not work
usemymalloc=n
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 re'
+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'
stdchar='char'
stdio_cnt='(fp)->__countIn'
stdio_ptr='(fp)->__bufPtr'
boot_core_PerlIO();
boot_core_UNIVERSAL();
- boot_core_xsutils();
boot_core_mro();
if (xsinit)
eunicefix=':'
exe_ext=''
expr='expr'
-extensions='B ByteLoader Cwd Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call IO List/Util MIME/Base64 Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Time/HiRes Unicode/Normalize re threads threads/shared Encode/Byte Encode/CN Encode/EBCDIC Encode/JP Encode/KR Encode/Symbol Encode/TW Encode/Unicode Errno'
+extensions='B ByteLoader Cwd Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call IO List/Util MIME/Base64 Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Time/HiRes Unicode/Normalize attributes re threads threads/shared Encode/Byte Encode/CN Encode/EBCDIC Encode/JP Encode/KR Encode/Symbol Encode/TW Encode/Unicode Errno'
extras=''
fflushNULL='define'
fflushall='undef'
ivdformat='"ld"'
ivsize='4'
ivtype='long'
-known_extensions='B ByteLoader Cwd DB_File Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call GDBM_File I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 NDBM_File ODBM_File Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Time/HiRes Unicode/Normalize XS/APItest XS/Typemap re threads threads/shared'
+known_extensions='B ByteLoader Cwd DB_File Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call GDBM_File I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 NDBM_File ODBM_File Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Time/HiRes Unicode/Normalize XS/APItest XS/Typemap attributes re threads threads/shared'
ksh=''
ld='ld'
lddlflags=''
ssizetype='ssize_t'
startperl='#!/bin/perl'
startsh='#!/bin/sh'
-static_ext='B ByteLoader Cwd Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call IO List/Util MIME/Base64 Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Time/HiRes Unicode/Normalize re threads threads/shared Encode/Byte Encode/CN Encode/EBCDIC Encode/JP Encode/KR Encode/Symbol Encode/TW Encode/Unicode'
+static_ext='B ByteLoader Cwd Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call IO List/Util MIME/Base64 Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Time/HiRes Unicode/Normalize attributes re threads threads/shared Encode/Byte Encode/CN Encode/EBCDIC Encode/JP Encode/KR Encode/Symbol Encode/TW Encode/Unicode'
stdchar='char'
stdio_base='((fp)->_base)'
stdio_bufsiz='((fp)->_cnt + (fp)->_ptr - (fp)->_base)'
ext_c = ${ext_xs:%.xs=%.c}
ext_obj = ${ext_xs:%.xs=%.$O}
-obj = av.$O deb.$O doio.$O doop.$O dump.$O globals.$O gv.$O hv.$O locale.$O malloc.$O mathoms.$O mg.$O numeric.$O op.$O pad.$O perlapi.$O perlio.$O perly.$O pp.$O pp_ctl.$O pp_hot.$O pp_pack.$O pp_sort.$O pp_sys.$O reentr.$O regcomp.$O regexec.$O run.$O scope.$O sv.$O taint.$O toke.$O universal.$O utf8.$O util.$O xsutils.$O
+obj = av.$O deb.$O doio.$O doop.$O dump.$O globals.$O gv.$O hv.$O locale.$O malloc.$O mathoms.$O mg.$O numeric.$O op.$O pad.$O perlapi.$O perlio.$O perly.$O pp.$O pp_ctl.$O pp_hot.$O pp_pack.$O pp_sort.$O pp_sys.$O reentr.$O regcomp.$O regexec.$O run.$O scope.$O sv.$O taint.$O toke.$O universal.$O utf8.$O util.$O
OBJS = perl.$O plan9.$O $obj
#define PERL_ARGS_ASSERT_MY_ATTRS \
assert(o)
-PERL_CALLCONV void Perl_boot_core_xsutils(pTHX);
#if defined(USE_ITHREADS)
PERL_CALLCONV PERL_CONTEXT* Perl_cx_dup(pTHX_ PERL_CONTEXT* cx, I32 ix, I32 max, CLONE_PARAMS* param)
__attribute__warn_unused_result__
perl${VERSION}ext.sis perlext.sis: perldll_arm buildext_sis
perl symbian\\makesis.pl perl${VERSION}ext
-EXT = Compress::Raw::Zlib Cwd Data::Dumper Devel::Peek Digest::MD5 Errno Fcntl File::Glob Filter::Util::Call IO List::Util MIME::Base64 PerlIO::scalar PerlIO::via SDBM_File Socket Storable Time::HiRes XSLoader
+EXT = Compress::Raw::Zlib Cwd Data::Dumper Devel::Peek Digest::MD5 Errno Fcntl File::Glob Filter::Util::Call IO List::Util MIME::Base64 PerlIO::scalar PerlIO::via SDBM_File Socket Storable Time::HiRes XSLoader attributes
buildext: perldll symbian\\xsbuild.pl lib\\Config.pm
perl \$(XLIB) symbian\\xsbuild.pl \$(XSBOPT) \$(EXT)
#
# Extensions.
#
+ext attributes
ext Compress/Raw/Zlib -zlib-src
ext Cwd
ext Data/Dumper
c0 = $(MALLOC_C) $(SOCKC) av.c deb.c doio.c doop.c dump.c globals.c gv.c hv.c mro.c
c1 = mg.c locale.c mathoms.c miniperlmain.c numeric.c op.c pad.c perl.c perlapi.c perlio.c
c2 = perly.c pp.c pp_ctl.c pp_hot.c pp_pack.c pp_sort.c pp_sys.c regcomp.c regexec.c reentr.c
-c3 = run.c scope.c sv.c taint.c toke.c universal.c utf8.c util.c vms.c xsutils.c
+c3 = run.c scope.c sv.c taint.c toke.c universal.c utf8.c util.c vms.c
c = $(c0) $(c1) $(c2) $(c3)
obj0 = perl$(O)
obj1 = $(MALLOC_O) $(SOCKO) av$(O) deb$(O) doio$(O) doop$(O) dump$(O) mro$(O) globals$(O) gv$(O) hv$(O)
obj2 = locale$(O) mathoms$(O) mg$(O) miniperlmain$(O) numeric$(O) op$(O) pad$(O) perlapi$(O) perlio$(O)
obj3 = perly$(O) pp$(O) pp_ctl$(O) pp_hot$(O) reentr$(O) pp_pack$(O) pp_sort$(O) pp_sys$(O) regcomp$(O)
-obj4 = regexec$(O) run$(O) scope$(O) sv$(O) taint$(O) toke$(O) universal$(O) utf8$(O) util$(O) vms$(O) xsutils$(O)
+obj4 = regexec$(O) run$(O) scope$(O) sv$(O) taint$(O) toke$(O) universal$(O) utf8$(O) util$(O) vms$(O)
mini_obj = perlmini$(O) $(obj1) $(obj2) $(obj3) $(obj4)
obj = $(obj0) $(obj1) $(obj2) $(obj3) $(obj4)
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
vms$(O) : vms.c $(h)
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
-xsutils$(O) : xsutils.c $(h)
- $(CC) $(CORECFLAGS) $(MMS$SOURCE)
[.x2p]hash$(O) : [.x2p]hash.c [.x2p]EXTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h [.x2p]util.h config.h handy.h vmsish.h $(SOCKH)
$(CC) $(X2PCFLAGS) $(MMS$SOURCE)
..\toke.c \
..\universal.c \
..\utf8.c \
- ..\util.c \
- ..\xsutils.c
+ ..\util.c
EXTRACORE_SRC = $(EXTRACORE_SRC) perllib.c
-del /f $(EXTDIR)\DynaLoader\XSLoader.pm
-del /f $(LIBDIR)\Encode.pm $(LIBDIR)\encoding.pm $(LIBDIR)\Errno.pm
-del /f $(LIBDIR)\Config.pod $(LIBDIR)\POSIX.pod $(LIBDIR)\threads.pm
- -del /f $(LIBDIR)\.exists $(LIBDIR)\DynaLoader.pm
+ -del /f $(LIBDIR)\.exists $(LIBDIR)\attributes.pm $(LIBDIR)\DynaLoader.pm
-del /f $(LIBDIR)\XSLoader.pm $(LIBDIR)\lib.pm
-del /f $(LIBDIR)\Fcntl.pm $(LIBDIR)\IO.pm $(LIBDIR)\Opcode.pm
-del /f $(LIBDIR)\ops.pm $(LIBDIR)\Safe.pm
..\toke.c \
..\universal.c \
..\utf8.c \
- ..\util.c \
- ..\xsutils.c
+ ..\util.c
EXTRACORE_SRC = $(EXTRACORE_SRC) perllib.c
.\include\sys\socket.h \
.\win32.h
-DYNAMIC_EXT = Socket IO Fcntl Opcode SDBM_File POSIX B re \
+DYNAMIC_EXT = Socket IO Fcntl Opcode SDBM_File POSIX attributes B re \
Data/Dumper Devel/Peek ByteLoader Devel/DProf File/Glob \
Sys/Hostname
$(DLLDIR)\wince.obj \
$(DLLDIR)\win32io.obj \
$(DLLDIR)\wincesck.obj \
-$(DLLDIR)\xsutils.obj \
$(DLLDIR)\perllib.obj \
$(DLLDIR)\DynaLoader.obj
!IF "$(PERL_MALLOC)" == "define"
drand01='(rand()/(double)((unsigned)1<<RANDBITS))'
drand48_r_proto='0'
dtrace=''
-dynamic_ext='Socket IO Fcntl Opcode SDBM_File'
+dynamic_ext='Socket IO Fcntl Opcode SDBM_File attributes'
eagain='EAGAIN'
ebcdic='undef'
echo='echo'
drand01='(rand()/(double)((unsigned)1<<RANDBITS))'
drand48_r_proto='0'
dtrace=''
-dynamic_ext='Socket IO Fcntl Opcode SDBM_File'
+dynamic_ext='Socket IO Fcntl Opcode SDBM_File attributes'
eagain='EAGAIN'
ebcdic='undef'
echo='echo'
drand01='(rand()/(double)((unsigned)1<<RANDBITS))'
drand48_r_proto='0'
dtrace=''
-dynamic_ext='Socket IO Fcntl Opcode SDBM_File'
+dynamic_ext='Socket IO Fcntl Opcode SDBM_File attributes'
eagain='EAGAIN'
ebcdic='undef'
echo='echo'
drand01='(rand()/(double)((unsigned)1<<RANDBITS))'
drand48_r_proto='0'
dtrace=''
-dynamic_ext='Socket IO Fcntl Opcode SDBM_File'
+dynamic_ext='Socket IO Fcntl Opcode SDBM_File attributes'
eagain='EAGAIN'
ebcdic='undef'
echo='echo'
drand01='(rand()/(double)((unsigned)1<<RANDBITS))'
drand48_r_proto='0'
dtrace=''
-dynamic_ext='Socket IO Fcntl Opcode SDBM_File'
+dynamic_ext='Socket IO Fcntl Opcode SDBM_File attributes'
eagain='EAGAIN'
ebcdic='undef'
echo='echo'
..\toke.c \
..\universal.c \
..\utf8.c \
- ..\util.c \
- ..\xsutils.c
+ ..\util.c
EXTRACORE_SRC += perllib.c
-del /f $(EXTDIR)\DynaLoader\XSLoader.pm
-del /f $(LIBDIR)\Encode.pm $(LIBDIR)\encoding.pm $(LIBDIR)\Errno.pm
-del /f $(LIBDIR)\Config.pod $(LIBDIR)\POSIX.pod $(LIBDIR)\threads.pm
- -del /f $(LIBDIR)\.exists $(LIBDIR)\DynaLoader.pm
+ -del /f $(LIBDIR)\.exists $(LIBDIR)\attributes.pm $(LIBDIR)\DynaLoader.pm
-del /f $(LIBDIR)\XSLoader.pm $(LIBDIR)\lib.pm
-del /f $(LIBDIR)\Fcntl.pm $(LIBDIR)\IO.pm $(LIBDIR)\Opcode.pm
-del /f $(LIBDIR)\ops.pm $(LIBDIR)\Safe.pm