diff options
author | Siep Kroonenberg <siepo@cybercomm.nl> | 2011-02-17 12:20:49 +0000 |
---|---|---|
committer | Siep Kroonenberg <siepo@cybercomm.nl> | 2011-02-17 12:20:49 +0000 |
commit | 316ee97c621496b0fe3267f57cce81bee44ca1e6 (patch) | |
tree | cb2cab1192b4f58a7971af19b213e980bceda4b4 /Master/tlpkg/tlperl/lib/ExtUtils/Miniperl.pm | |
parent | cd0f87b5d39480d85ad9bd4ee37f520f75bed560 (diff) |
Moving old tlperl prior to committing new one
git-svn-id: svn://tug.org/texlive/trunk@21422 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg/tlperl/lib/ExtUtils/Miniperl.pm')
-rwxr-xr-x | Master/tlpkg/tlperl/lib/ExtUtils/Miniperl.pm | 273 |
1 files changed, 0 insertions, 273 deletions
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Miniperl.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Miniperl.pm deleted file mode 100755 index 0a44f676d05..00000000000 --- a/Master/tlpkg/tlperl/lib/ExtUtils/Miniperl.pm +++ /dev/null @@ -1,273 +0,0 @@ -# This File keeps the contents of miniperlmain.c. -# -# It was generated automatically by minimod.PL from the contents -# of miniperlmain.c. Don't edit this file! -# -# ANY CHANGES MADE HERE WILL BE LOST! -# - - -package ExtUtils::Miniperl; -require Exporter; -@ISA = qw(Exporter); -@EXPORT = qw(&writemain); - -$head= <<'EOF!HEAD'; -/* miniperlmain.c - * - * Copyright (C) 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2003, - * 2004, 2005, 2006, 2007, by Larry Wall and others - * - * You may distribute under the terms of either the GNU General Public - * License or the Artistic License, as specified in the README file. - * - */ - -/* - * The Road goes ever on and on - * Down from the door where it began. - * - * [Bilbo on p.35 of _The Lord of the Rings_, I/i: "A Long-Expected Party"] - * [Frodo on p.73 of _The Lord of the Rings_, I/iii: "Three Is Company"] - */ - -/* This file contains the main() function for the perl interpreter. - * Note that miniperlmain.c contains main() for the 'miniperl' binary, - * while perlmain.c contains main() for the 'perl' binary. - * - * Miniperl is like perl except that it does not support dynamic loading, - * and in fact is used to build the dynamic modules needed for the 'real' - * perl executable. - */ - -#ifdef OEMVS -#ifdef MYMALLOC -/* sbrk is limited to first heap segment so make it big */ -#pragma runopts(HEAP(8M,500K,ANYWHERE,KEEP,8K,4K) STACK(,,ANY,) ALL31(ON)) -#else -#pragma runopts(HEAP(2M,500K,ANYWHERE,KEEP,8K,4K) STACK(,,ANY,) ALL31(ON)) -#endif -#endif - - -#include "EXTERN.h" -#define PERL_IN_MINIPERLMAIN_C -#include "perl.h" -#include "XSUB.h" - -static void xs_init (pTHX); -static PerlInterpreter *my_perl; - -#if defined (__MINT__) || defined (atarist) -/* The Atari operating system doesn't have a dynamic stack. The - stack size is determined from this value. */ -long _stksize = 64 * 1024; -#endif - -#if defined(PERL_GLOBAL_STRUCT_PRIVATE) -/* The static struct perl_vars* may seem counterproductive since the - * whole idea PERL_GLOBAL_STRUCT_PRIVATE was to avoid statics, but note - * that this static is not in the shared perl library, the globals PL_Vars - * and PL_VarsPtr will stay away. */ -static struct perl_vars* my_plvarsp; -struct perl_vars* Perl_GetVarsPrivate(void) { return my_plvarsp; } -#endif - -#ifdef NO_ENV_ARRAY_IN_MAIN -extern char **environ; -int -main(int argc, char **argv) -#else -int -main(int argc, char **argv, char **env) -#endif -{ - dVAR; - int exitstatus; -#ifdef PERL_GLOBAL_STRUCT - struct perl_vars *plvarsp = init_global_struct(); -# ifdef PERL_GLOBAL_STRUCT_PRIVATE - my_vars = my_plvarsp = plvarsp; -# endif -#endif /* PERL_GLOBAL_STRUCT */ - (void)env; -#ifndef PERL_USE_SAFE_PUTENV - PL_use_safe_putenv = 0; -#endif /* PERL_USE_SAFE_PUTENV */ - - /* if user wants control of gprof profiling off by default */ - /* noop unless Configure is given -Accflags=-DPERL_GPROF_CONTROL */ - PERL_GPROF_MONCONTROL(0); - -#ifdef NO_ENV_ARRAY_IN_MAIN - PERL_SYS_INIT3(&argc,&argv,&environ); -#else - PERL_SYS_INIT3(&argc,&argv,&env); -#endif - -#if defined(USE_ITHREADS) - /* XXX Ideally, this should really be happening in perl_alloc() or - * perl_construct() to keep libperl.a transparently fork()-safe. - * It is currently done here only because Apache/mod_perl have - * problems due to lack of a call to cancel pthread_atfork() - * handlers when shared objects that contain the handlers may - * be dlclose()d. This forces applications that embed perl to - * call PTHREAD_ATFORK() explicitly, but if and only if it hasn't - * been called at least once before in the current process. - * --GSAR 2001-07-20 */ - PTHREAD_ATFORK(Perl_atfork_lock, - Perl_atfork_unlock, - Perl_atfork_unlock); -#endif - - if (!PL_do_undump) { - my_perl = perl_alloc(); - if (!my_perl) - exit(1); - perl_construct(my_perl); - PL_perl_destruct_level = 0; - } - PL_exit_flags |= PERL_EXIT_DESTRUCT_END; - exitstatus = perl_parse(my_perl, xs_init, argc, argv, (char **)NULL); - if (!exitstatus) - perl_run(my_perl); - - exitstatus = perl_destruct(my_perl); - - perl_free(my_perl); - -#if defined(USE_ENVIRON_ARRAY) && defined(PERL_TRACK_MEMPOOL) && !defined(NO_ENV_ARRAY_IN_MAIN) - /* - * The old environment may have been freed by perl_free() - * when PERL_TRACK_MEMPOOL is defined, but without having - * been restored by perl_destruct() before (this is only - * done if destruct_level > 0). - * - * It is important to have a valid environment for atexit() - * routines that are eventually called. - */ - environ = env; -#endif - -#ifdef PERL_GLOBAL_STRUCT - free_global_struct(plvarsp); -#endif /* PERL_GLOBAL_STRUCT */ - - PERL_SYS_TERM(); - - exit(exitstatus); - return exitstatus; -} - -/* Register any extra external extensions */ - -EOF!HEAD -$tail=<<'EOF!TAIL'; - -static void -xs_init(pTHX) -{ - PERL_UNUSED_CONTEXT; -} - -/* - * Local variables: - * c-indentation-style: bsd - * c-basic-offset: 4 - * indent-tabs-mode: t - * End: - * - * ex: set ts=8 sts=4 sw=4 noet: - */ -EOF!TAIL - -sub writemain{ - my(@exts) = @_; - - my($pname); - my($dl) = canon('/','DynaLoader'); - print $head; - - foreach $_ (@exts){ - my($pname) = canon('/', $_); - my($mname, $cname); - ($mname = $pname) =~ s!/!::!g; - ($cname = $pname) =~ s!/!__!g; - print "EXTERN_C void boot_${cname} (pTHX_ CV* cv);\n"; - } - - my ($tail1,$tail2,$tail3) = ( $tail =~ /\A(.*{\s*\n)(.*\n)(\s*\}.*)\Z/s ); - - print $tail1; - print "\tconst char file[] = __FILE__;\n"; - print "\tdXSUB_SYS;\n" if $] > 5.002; - print $tail2; - - foreach $_ (@exts){ - my($pname) = canon('/', $_); - my($mname, $cname, $ccode); - ($mname = $pname) =~ s!/!::!g; - ($cname = $pname) =~ s!/!__!g; - print "\t{\n"; - if ($pname eq $dl){ - # Must NOT install 'DynaLoader::boot_DynaLoader' as 'bootstrap'! - # boot_DynaLoader is called directly in DynaLoader.pm - $ccode = "\t/* DynaLoader is a special case */\n -\tnewXS(\"${mname}::boot_${cname}\", boot_${cname}, file);\n"; - print $ccode unless $SEEN{$ccode}++; - } else { - $ccode = "\tnewXS(\"${mname}::bootstrap\", boot_${cname}, file);\n"; - print $ccode unless $SEEN{$ccode}++; - } - print "\t}\n"; - } - print $tail3; -} - -sub canon{ - my($as, @ext) = @_; - foreach(@ext){ - # might be X::Y or lib/auto/X/Y/Y.a - next if s!::!/!g; - s:^(lib|ext)/(auto/)?::; - s:/\w+\.\w+$::; - } - grep(s:/:$as:, @ext) if ($as ne '/'); - @ext; -} - -1; -__END__ - -=head1 NAME - -ExtUtils::Miniperl, writemain - write the C code for perlmain.c - -=head1 SYNOPSIS - -C<use ExtUtils::Miniperl;> - -C<writemain(@directories);> - -=head1 DESCRIPTION - -This whole module is written when perl itself is built from a script -called minimod.PL. In case you want to patch it, please patch -minimod.PL in the perl distribution instead. - -writemain() takes an argument list of directories containing archive -libraries that relate to perl modules and should be linked into a new -perl binary. It writes to STDOUT a corresponding perlmain.c file that -is a plain C file containing all the bootstrap code to make the -modules associated with the libraries available from within perl. - -The typical usage is from within a Makefile generated by -ExtUtils::MakeMaker. So under normal circumstances you won't have to -deal with this module directly. - -=head1 SEE ALSO - -L<ExtUtils::MakeMaker> - -=cut - |