diff options
| author | Nitin A Kamble <nitin.a.kamble@intel.com> | 2011-02-23 13:01:34 -0800 |
|---|---|---|
| committer | Richard Purdie <rpurdie@linux.intel.com> | 2011-03-01 11:46:37 +0000 |
| commit | 949f85cdd79536e35cb7f983c52e5f8eca9736df (patch) | |
| tree | fb9041920546df5d329aaed0201ff87f885a3bd3 | |
| parent | 786e67f7c94b8730841b6002962f524c468de591 (diff) | |
| download | openembedded-core-949f85cdd79536e35cb7f983c52e5f8eca9736df.tar.gz openembedded-core-949f85cdd79536e35cb7f983c52e5f8eca9736df.tar.bz2 openembedded-core-949f85cdd79536e35cb7f983c52e5f8eca9736df.zip | |
perl: import parallel build fixes from upstream git tree
The parallel build issue is fixed in the upstream perl git tree
differently. Replacing our fix with the upstream fix.
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
6 files changed, 6638 insertions, 22 deletions
diff --git a/meta/recipes-devtools/perl/perl-5.12.2/parallel_build_fix.patch b/meta/recipes-devtools/perl/perl-5.12.2/parallel_build_fix.patch deleted file mode 100644 index 476577eb33..0000000000 --- a/meta/recipes-devtools/perl/perl-5.12.2/parallel_build_fix.patch +++ /dev/null @@ -1,18 +0,0 @@ -This patch fixes the parallel make issue on a 40 way build system - -Nitin A Kamble <nitin.a.kamble@intel.com> -2011-02-16 - -Index: perl-5.12.2/Makefile.SH -=================================================================== ---- perl-5.12.2.orig/Makefile.SH 2010-09-06 16:30:32.000000000 -0700 -+++ perl-5.12.2/Makefile.SH 2011-02-16 16:21:30.744143773 -0800 -@@ -198,6 +198,8 @@ - $this_target: uni.data" ;; - Text/ParseWords) extra_dep="$extra_dep - $this_target: lib/auto/Scalar/Util.$dlext" ;; -+ POSIX) extra_dep="$extra_dep -+$this_target: lib/auto/Cwd/Cwd.$dlext" ;; - esac - done - diff --git a/meta/recipes-devtools/perl/perl-5.12.2/parallel_build_fix_1.patch b/meta/recipes-devtools/perl/perl-5.12.2/parallel_build_fix_1.patch new file mode 100644 index 0000000000..63e641003c --- /dev/null +++ b/meta/recipes-devtools/perl/perl-5.12.2/parallel_build_fix_1.patch @@ -0,0 +1,25 @@ +Imported from perl git tree by Nitin A Kamble <nitin.a.kamble@intel.com> +2011-02-23 + +commit 6695a346c41138df5b2c0e26b9a49b1f96137da0 +Author: Tony Cook <tony@openbsd32.tony.develop-help.com> +Date: Thu Jul 22 09:54:13 2010 +1000 + + make_ext.pl populates @INC correctly, don't override it badly + + PERL5LIB is populated by make_ext.pl with paths to the modules we need + to run, don't override this with "../../lib" since that may not have + been populated yet in a parallel build. + +diff --git a/ext/POSIX/Makefile.PL b/ext/POSIX/Makefile.PL +index 392b6fb..9e6d091 100644 +--- a/ext/POSIX/Makefile.PL ++++ b/ext/POSIX/Makefile.PL +@@ -1,7 +1,3 @@ +-# Explicitly avoid including '.' in @INC; autoloader gets confused since it +-# can find POSIX.pm, but can't find autosplit.ix. +-BEGIN { @INC = '../../lib';} +-# + use ExtUtils::MakeMaker; + use ExtUtils::Constant 0.11 'WriteConstants'; + use Config; diff --git a/meta/recipes-devtools/perl/perl-5.12.2/parallel_build_fix_2.patch b/meta/recipes-devtools/perl/perl-5.12.2/parallel_build_fix_2.patch new file mode 100644 index 0000000000..6c536dd05b --- /dev/null +++ b/meta/recipes-devtools/perl/perl-5.12.2/parallel_build_fix_2.patch @@ -0,0 +1,22 @@ +Imported from perl git tree by Nitin A Kamble <nitin.a.kamble@intel.com> +2011-02-23 + +commit 24e93d7838b346d2ed632075f3d824a325170616 +Author: Tony Cook <tony@develop-help.com> +Date: Sat Aug 14 00:21:29 2010 +1000 + + POSIX/t/posix.t expects a certain start to Makefile.PL + + 6695a346 changed the start of Makefile.PL, but t/posix.t reads that to + test its read() implementation, restore enough of the original for the + test to pass. + +diff --git a/ext/POSIX/Makefile.PL b/ext/POSIX/Makefile.PL +index 9e6d091..292882c 100644 +--- a/ext/POSIX/Makefile.PL ++++ b/ext/POSIX/Makefile.PL +@@ -1,3 +1,4 @@ ++# Expect this line to be read by t/posix.t, don't change it + use ExtUtils::MakeMaker; + use ExtUtils::Constant 0.11 'WriteConstants'; + use Config; diff --git a/meta/recipes-devtools/perl/perl-5.12.2/parallel_build_fix_3.patch b/meta/recipes-devtools/perl/perl-5.12.2/parallel_build_fix_3.patch new file mode 100644 index 0000000000..a74a45d73c --- /dev/null +++ b/meta/recipes-devtools/perl/perl-5.12.2/parallel_build_fix_3.patch @@ -0,0 +1,6583 @@ +Imported from perl git tree by Nitin A Kamble <nitin.a.kamble@intel.com> +2011-02-23 + +commit 4feb80ac47a22e7de7d7c1c1d5dfb3d744a2a3a7 +Author: Jerry D. Hedden <jdhedden@cpan.org> +Date: Tue Aug 17 13:17:11 2010 -0400 + + Move POSIX.pm to lib/POSIX.pm to fix autosplitter problem + +diff --git a/MANIFEST b/MANIFEST +index 3036d73..faf8974 100644 +--- a/MANIFEST ++++ b/MANIFEST +@@ -3183,9 +3183,9 @@ ext/POSIX/hints/openbsd.pl Hint for POSIX for named architecture + ext/POSIX/hints/sunos_4.pl Hint for POSIX for named architecture + ext/POSIX/hints/svr4.pl Hint for POSIX for named architecture + ext/POSIX/hints/uts.pl Hint for POSIX for named architecture ++ext/POSIX/lib/POSIX.pm POSIX extension Perl module ++ext/POSIX/lib/POSIX.pod POSIX extension documentation + ext/POSIX/Makefile.PL POSIX extension makefile writer +-ext/POSIX/POSIX.pm POSIX extension Perl module +-ext/POSIX/POSIX.pod POSIX extension documentation + ext/POSIX/POSIX.xs POSIX extension external subroutines + ext/POSIX/t/is.t See if POSIX isxxx() work + ext/POSIX/t/math.t Basic math tests for POSIX +diff --git a/ext/POSIX/Makefile.PL b/ext/POSIX/Makefile.PL +index 292882c..07c3841 100644 +--- a/ext/POSIX/Makefile.PL ++++ b/ext/POSIX/Makefile.PL +@@ -18,7 +18,8 @@ WriteMakefile( + NAME => 'POSIX', + @libs, + XSPROTOARG => '-noprototypes', # XXX remove later? +- VERSION_FROM => 'POSIX.pm', ++ VERSION_FROM => 'lib/POSIX.pm', ++ ABSTRACT_FROM => 'lib/POSIX.pod', + realclean => {FILES=> 'const-c.inc const-xs.inc'}, + ); + +diff --git a/ext/POSIX/POSIX.pm b/ext/POSIX/POSIX.pm +deleted file mode 100644 +index ffbd9de..0000000 +--- a/ext/POSIX/POSIX.pm ++++ /dev/null +@@ -1,1042 +0,0 @@ +-package POSIX; +-use strict; +-use warnings; +- +-our(@ISA, %EXPORT_TAGS, @EXPORT_OK, @EXPORT, $AUTOLOAD, %SIGRT) = (); +- +-our $VERSION = "1.19"; +- +-use AutoLoader; +- +-use XSLoader (); +- +-use Fcntl qw(FD_CLOEXEC F_DUPFD F_GETFD F_GETFL F_GETLK F_RDLCK F_SETFD +- F_SETFL F_SETLK F_SETLKW F_UNLCK F_WRLCK O_ACCMODE O_APPEND +- O_CREAT O_EXCL O_NOCTTY O_NONBLOCK O_RDONLY O_RDWR O_TRUNC +- O_WRONLY SEEK_CUR SEEK_END SEEK_SET +- S_ISBLK S_ISCHR S_ISDIR S_ISFIFO S_ISREG +- S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU S_ISGID S_ISUID +- S_IWGRP S_IWOTH S_IWUSR S_IXGRP S_IXOTH S_IXUSR); +- +-# Grandfather old foo_h form to new :foo_h form +-my $loaded; +- +-sub import { +- load_imports() unless $loaded++; +- my $this = shift; +- my @list = map { m/^\w+_h$/ ? ":$_" : $_ } @_; +- local $Exporter::ExportLevel = 1; +- Exporter::import($this,@list); +-} +- +-sub croak { require Carp; goto &Carp::croak } +-# declare usage to assist AutoLoad +-sub usage; +- +-XSLoader::load 'POSIX', $VERSION; +- +-sub AUTOLOAD { +- no strict; +- no warnings 'uninitialized'; +- if ($AUTOLOAD =~ /::(_?[a-z])/) { +- # require AutoLoader; +- $AutoLoader::AUTOLOAD = $AUTOLOAD; +- goto &AutoLoader::AUTOLOAD +- } +- local $! = 0; +- my $constname = $AUTOLOAD; +- $constname =~ s/.*:://; +- my ($error, $val) = constant($constname); +- croak $error if $error; +- *$AUTOLOAD = sub { $val }; +- +- goto &$AUTOLOAD; +-} +- +-package POSIX::SigAction; +- +-use AutoLoader 'AUTOLOAD'; +- +-package POSIX::SigRt; +- +-use AutoLoader 'AUTOLOAD'; +- +-use Tie::Hash; +- +-use vars qw($SIGACTION_FLAGS $_SIGRTMIN $_SIGRTMAX $_sigrtn @ISA); +-@POSIX::SigRt::ISA = qw(Tie::StdHash); +- +-$SIGACTION_FLAGS = 0; +- +-tie %POSIX::SIGRT, 'POSIX::SigRt'; +- +-sub DESTROY {}; +- +-package POSIX; +- +-1; +-__END__ +- +-sub usage { +- my ($mess) = @_; +- croak "Usage: POSIX::$mess"; +-} +- +-sub redef { +- my ($mess) = @_; +- croak "Use method $mess instead"; +-} +- +-sub unimpl { +- my ($mess) = @_; +- $mess =~ s/xxx//; +- croak "Unimplemented: POSIX::$mess"; +-} +- +-sub assert { +- usage "assert(expr)" if @_ != 1; +- if (!$_[0]) { +- croak "Assertion failed"; +- } +-} +- +-sub tolower { +- usage "tolower(string)" if @_ != 1; +- lc($_[0]); +-} +- +-sub toupper { +- usage "toupper(string)" if @_ != 1; +- uc($_[0]); +-} +- +-sub closedir { +- usage "closedir(dirhandle)" if @_ != 1; +- CORE::closedir($_[0]); +-} +- +-sub opendir { +- usage "opendir(directory)" if @_ != 1; +- my $dirhandle; +- CORE::opendir($dirhandle, $_[0]) +- ? $dirhandle +- : undef; +-} +- +-sub readdir { +- usage "readdir(dirhandle)" if @_ != 1; +- CORE::readdir($_[0]); +-} +- +-sub rewinddir { +- usage "rewinddir(dirhandle)" if @_ != 1; +- CORE::rewinddir($_[0]); +-} +- +-sub errno { +- usage "errno()" if @_ != 0; +- $! + 0; +-} +- +-sub creat { +- usage "creat(filename, mode)" if @_ != 2; +- &open($_[0], &O_WRONLY | &O_CREAT | &O_TRUNC, $_[1]); +-} +- +-sub fcntl { +- usage "fcntl(filehandle, cmd, arg)" if @_ != 3; +- CORE::fcntl($_[0], $_[1], $_[2]); +-} +- +-sub getgrgid { +- usage "getgrgid(gid)" if @_ != 1; +- CORE::getgrgid($_[0]); +-} +- +-sub getgrnam { +- usage "getgrnam(name)" if @_ != 1; +- CORE::getgrnam($_[0]); +-} +- +-sub atan2 { +- usage "atan2(x,y)" if @_ != 2; +- CORE::atan2($_[0], $_[1]); +-} +- +-sub cos { +- usage "cos(x)" if @_ != 1; +- CORE::cos($_[0]); +-} +- +-sub exp { +- usage "exp(x)" if @_ != 1; +- CORE::exp($_[0]); +-} +- +-sub fabs { +- usage "fabs(x)" if @_ != 1; +- CORE::abs($_[0]); +-} +- +-sub log { +- usage "log(x)" if @_ != 1; +- CORE::log($_[0]); +-} +- +-sub pow { +- usage "pow(x,exponent)" if @_ != 2; +- $_[0] ** $_[1]; +-} +- +-sub sin { +- usage "sin(x)" if @_ != 1; +- CORE::sin($_[0]); +-} +- +-sub sqrt { +- usage "sqrt(x)" if @_ != 1; +- CORE::sqrt($_[0]); +-} +- +-sub getpwnam { +- usage "getpwnam(name)" if @_ != 1; +- CORE::getpwnam($_[0]); +-} +- +-sub getpwuid { +- usage "getpwuid(uid)" if @_ != 1; +- CORE::getpwuid($_[0]); +-} +- +-sub longjmp { +- unimpl "longjmp() is C-specific: use die instead"; +-} +- +-sub setjmp { +- unimpl "setjmp() is C-specific: use eval {} instead"; +-} +- +-sub siglongjmp { +- unimpl "siglongjmp() is C-specific: use die instead"; +-} +- +-sub sigsetjmp { +- unimpl "sigsetjmp() is C-specific: use eval {} instead"; +-} +- +-sub kill { +- usage "kill(pid, sig)" if @_ != 2; +- CORE::kill $_[1], $_[0]; +-} +- +-sub raise { +- usage "raise(sig)" if @_ != 1; +- CORE::kill $_[0], $$; # Is this good enough? +-} +- +-sub offsetof { +- unimpl "offsetof() is C-specific, stopped"; +-} +- +-sub clearerr { +- redef "IO::Handle::clearerr()"; +-} +- +-sub fclose { +- redef "IO::Handle::close()"; +-} +- +-sub fdopen { +- redef "IO::Handle::new_from_fd()"; +-} +- +-sub feof { +- redef "IO::Handle::eof()"; +-} +- +-sub fgetc { +- redef "IO::Handle::getc()"; +-} +- +-sub fgets { +- redef "IO::Handle::gets()"; +-} +- +-sub fileno { +- redef "IO::Handle::fileno()"; +-} +- +-sub fopen { +- redef "IO::File::open()"; +-} +- +-sub fprintf { +- unimpl "fprintf() is C-specific--use printf instead"; +-} +- +-sub fputc { +- unimpl "fputc() is C-specific--use print instead"; +-} +- +-sub fputs { +- unimpl "fputs() is C-specific--use print instead"; +-} +- +-sub fread { +- unimpl "fread() is C-specific--use read instead"; +-} +- +-sub freopen { +- unimpl "freopen() is C-specific--use open instead"; +-} +- +-sub fscanf { +- unimpl "fscanf() is C-specific--use <> and regular expressions instead"; +-} +- +-sub fseek { +- redef "IO::Seekable::seek()"; +-} +- +-sub fsync { +- redef "IO::Handle::sync()"; +-} +- +-sub ferror { +- redef "IO::Handle::error()"; +-} +- +-sub fflush { +- redef "IO::Handle::flush()"; +-} +- +-sub fgetpos { +- redef "IO::Seekable::getpos()"; +-} +- +-sub fsetpos { +- redef "IO::Seekable::setpos()"; +-} +- +-sub ftell { +- redef "IO::Seekable::tell()"; +-} +- +-sub fwrite { +- unimpl "fwrite() is C-specific--use print instead"; +-} +- +-sub getc { +- usage "getc(handle)" if @_ != 1; +- CORE::getc($_[0]); +-} +- +-sub getchar { +- usage "getchar()" if @_ != 0; +- CORE::getc(STDIN); +-} +- +-sub gets { +- usage "gets()" if @_ != 0; +- scalar <STDIN>; +-} +- +-sub perror { +- print STDERR "@_: " if @_; +- print STDERR $!,"\n"; +-} +- +-sub printf { +- usage "printf(pattern, args...)" if @_ < 1; +- CORE::printf STDOUT @_; +-} +- +-sub putc { +- unimpl "putc() is C-specific--use print instead"; +-} +- +-sub putchar { +- unimpl "putchar() is C-specific--use print instead"; +-} +- +-sub puts { +- unimpl "puts() is C-specific--use print instead"; +-} +- +-sub remove { +- usage "remove(filename)" if @_ != 1; +- (-d $_[0]) ? CORE::rmdir($_[0]) : CORE::unlink($_[0]); +-} +- +-sub rename { +- usage "rename(oldfilename, newfilename)" if @_ != 2; +- CORE::rename($_[0], $_[1]); +-} +- +-sub rewind { +- usage "rewind(filehandle)" if @_ != 1; +- CORE::seek($_[0],0,0); +-} +- +-sub scanf { +- unimpl "scanf() is C-specific--use <> and regular expressions instead"; +-} +- +-sub sprintf { +- usage "sprintf(pattern,args)" if @_ == 0; +- CORE::sprintf(shift,@_); +-} +- +-sub sscanf { +- unimpl "sscanf() is C-specific--use regular expressions instead"; +-} +- +-sub tmpfile { +- redef "IO::File::new_tmpfile()"; +-} +- +-sub ungetc { +- redef "IO::Handle::ungetc()"; +-} +- +-sub vfprintf { +- unimpl "vfprintf() is C-specific"; +-} +- +-sub vprintf { +- unimpl "vprintf() is C-specific"; +-} +- +-sub vsprintf { +- unimpl "vsprintf() is C-specific"; +-} +- +-sub abs { +- usage "abs(x)" if @_ != 1; +- CORE::abs($_[0]); +-} +- +-sub atexit { +- unimpl "atexit() is C-specific: use END {} instead"; +-} +- +-sub atof { +- unimpl "atof() is C-specific, stopped"; +-} +- +-sub atoi { +- unimpl "atoi() is C-specific, stopped"; +-} +- +-sub atol { +- unimpl "atol() is C-specific, stopped"; +-} +- +-sub bsearch { +- unimpl "bsearch() not supplied"; +-} +- +-sub calloc { +- unimpl "calloc() is C-specific, stopped"; +-} +- +-sub div { +- unimpl "div() is C-specific, use /, % and int instead"; +-} +- +-sub exit { +- usage "exit(status)" if @_ != 1; +- CORE::exit($_[0]); +-} +- +-sub free { +- unimpl "free() is C-specific, stopped"; +-} +- +-sub getenv { +- usage "getenv(name)" if @_ != 1; +- $ENV{$_[0]}; +-} +- +-sub labs { +- unimpl "labs() is C-specific, use abs instead"; +-} +- +-sub ldiv { +- unimpl "ldiv() is C-specific, use /, % and int instead"; +-} +- +-sub malloc { +- unimpl "malloc() is C-specific, stopped"; +-} +- +-sub qsort { +- unimpl "qsort() is C-specific, use sort instead"; +-} +- +-sub rand { +- unimpl "rand() is non-portable, use Perl's rand instead"; +-} +- +-sub realloc { +- unimpl "realloc() is C-specific, stopped"; +-} +- +-sub srand { +- unimpl "srand()"; +-} +- +-sub system { +- usage "system(command)" if @_ != 1; +- CORE::system($_[0]); +-} +- +-sub memchr { +- unimpl "memchr() is C-specific, use index() instead"; +-} +- +-sub memcmp { +- unimpl "memcmp() is C-specific, use eq instead"; +-} +- +-sub memcpy { +- unimpl "memcpy() is C-specific, use = instead"; +-} +- +-sub memmove { +- unimpl "memmove() is C-specific, use = instead"; +-} +- +-sub memset { +- unimpl "memset() is C-specific, use x instead"; +-} +- +-sub strcat { +- unimpl "strcat() is C-specific, use .= instead"; +-} +- +-sub strchr { +- unimpl "strchr() is C-specific, use index() instead"; +-} +- +-sub strcmp { +- unimpl "strcmp() is C-specific, use eq instead"; +-} +- +-sub strcpy { +- unimpl "strcpy() is C-specific, use = instead"; +-} +- +-sub strcspn { +- unimpl "strcspn() is C-specific, use regular expressions instead"; +-} +- +-sub strerror { +- usage "strerror(errno)" if @_ != 1; +- local $! = $_[0]; +- $! . ""; +-} +- +-sub strlen { +- unimpl "strlen() is C-specific, use length instead"; +-} +- +-sub strncat { +- unimpl "strncat() is C-specific, use .= instead"; +-} +- +-sub strncmp { +- unimpl "strncmp() is C-specific, use eq instead"; +-} +- +-sub strncpy { +- unimpl "strncpy() is C-specific, use = instead"; +-} +- +-sub strpbrk { +- unimpl "strpbrk() is C-specific, stopped"; +-} +- +-sub strrchr { +- unimpl "strrchr() is C-specific, use rindex() instead"; +-} +- +-sub strspn { +- unimpl "strspn() is C-specific, stopped"; +-} +- +-sub strstr { +- usage "strstr(big, little)" if @_ != 2; +- CORE::index($_[0], $_[1]); +-} +- +-sub strtok { +- unimpl "strtok() is C-specific, stopped"; +-} +- +-sub chmod { +- usage "chmod(mode, filename)" if @_ != 2; +- CORE::chmod($_[0], $_[1]); +-} +- +-sub fstat { +- usage "fstat(fd)" if @_ != 1; +- local *TMP; +- CORE::open(TMP, "<&$_[0]"); # Gross. +- my @l = CORE::stat(TMP); +- CORE::close(TMP); +- @l; +-} +- +-sub mkdir { +- usage "mkdir(directoryname, mode)" if @_ != 2; +- CORE::mkdir($_[0], $_[1]); +-} +- +-sub stat { +- usage "stat(filename)" if @_ != 1; +- CORE::stat($_[0]); +-} +- +-sub umask { +- usage "umask(mask)" if @_ != 1; +- CORE::umask($_[0]); +-} +- +-sub wait { +- usage "wait()" if @_ != 0; +- CORE::wait(); +-} +- +-sub waitpid { +- usage "waitpid(pid, options)" if @_ != 2; +- CORE::waitpid($_[0], $_[1]); +-} +- +-sub gmtime { +- usage "gmtime(time)" if @_ != 1; +- CORE::gmtime($_[0]); +-} +- +-sub localtime { +- usage "localtime(time)" if @_ != 1; +- CORE::localtime($_[0]); +-} +- +-sub time { +- usage "time()" if @_ != 0; +- CORE::time; +-} +- +-sub alarm { +- usage "alarm(seconds)" if @_ != 1; +- CORE::alarm($_[0]); +-} +- +-sub chdir { +- usage "chdir(directory)" if @_ != 1; +- CORE::chdir($_[0]); +-} +- +-sub chown { +- usage "chown(uid, gid, filename)" if @_ != 3; +- CORE::chown($_[0], $_[1], $_[2]); +-} +- +-sub execl { +- unimpl "execl() is C-specific, stopped"; +-} +- +-sub execle { +- unimpl "execle() is C-specific, stopped"; +-} +- +-sub execlp { +- unimpl "execlp() is C-specific, stopped"; +-} +- +-sub execv { +- unimpl "execv() is C-specific, stopped"; +-} +- +-sub execve { +- unimpl "execve() is C-specific, stopped"; +-} +- +-sub execvp { +- unimpl "execvp() is C-specific, stopped"; +-} +- +-sub fork { +- usage "fork()" if @_ != 0; +- CORE::fork; +-} +- +-sub getegid { +- usage "getegid()" if @_ != 0; +- $) + 0; +-} +- +-sub geteuid { +- usage "geteuid()" if @_ != 0; +- $> + 0; +-} +- +-sub getgid { +- usage "getgid()" if @_ != 0; +- $( + 0; +-} +- +-sub getgroups { +- usage "getgroups()" if @_ != 0; +- my %seen; +- grep(!$seen{$_}++, split(' ', $) )); +-} +- +-sub getlogin { +- usage "getlogin()" if @_ != 0; +- CORE::getlogin(); +-} +- +-sub getpgrp { +- usage "getpgrp()" if @_ != 0; +- CORE::getpgrp; +-} +- +-sub getpid { +- usage "getpid()" if @_ != 0; +- $$; +-} +- +-sub getppid { +- usage "getppid()" if @_ != 0; +- CORE::getppid; +-} +- +-sub getuid { +- usage "getuid()" if @_ != 0; +- $<; +-} +- +-sub isatty { +- usage "isatty(filehandle)" if @_ != 1; +- -t $_[0]; +-} +- +-sub link { +- usage "link(oldfilename, newfilename)" if @_ != 2; +- CORE::link($_[0], $_[1]); +-} +- +-sub rmdir { +- usage "rmdir(directoryname)" if @_ != 1; +- CORE::rmdir($_[0]); +-} +- +-sub setbuf { +- redef "IO::Handle::setbuf()"; +-} +- +-sub setvbuf { +- redef "IO::Handle::setvbuf()"; +-} +- +-sub sleep { +- usage "sleep(seconds)" if @_ != 1; +- $_[0] - CORE::sleep($_[0]); +-} +- +-sub unlink { +- usage "unlink(filename)" if @_ != 1; +- CORE::unlink($_[0]); +-} +- +-sub utime { +- usage "utime(filename, atime, mtime)" if @_ != 3; +- CORE::utime($_[1], $_[2], $_[0]); +-} +- +-sub load_imports { +-%EXPORT_TAGS = ( +- +- assert_h => [qw(assert NDEBUG)], +- +- ctype_h => [qw(isalnum isalpha iscntrl isdigit isgraph islower +- isprint ispunct isspace isupper isxdigit tolower toupper)], +- +- dirent_h => [], +- +- errno_h => [qw(E2BIG EACCES EADDRINUSE EADDRNOTAVAIL EAFNOSUPPORT +- EAGAIN EALREADY EBADF EBUSY ECHILD ECONNABORTED +- ECONNREFUSED ECONNRESET EDEADLK EDESTADDRREQ EDOM EDQUOT +- EEXIST EFAULT EFBIG EHOSTDOWN EHOSTUNREACH EINPROGRESS +- EINTR EINVAL EIO EISCONN EISDIR ELOOP EMFILE EMLINK +- EMSGSIZE ENAMETOOLONG ENETDOWN ENETRESET ENETUNREACH +- ENFILE ENOBUFS ENODEV ENOENT ENOEXEC ENOLCK ENOMEM +- ENOPROTOOPT ENOSPC ENOSYS ENOTBLK ENOTCONN ENOTDIR +- ENOTEMPTY ENOTSOCK ENOTTY ENXIO EOPNOTSUPP EPERM +- EPFNOSUPPORT EPIPE EPROCLIM EPROTONOSUPPORT EPROTOTYPE +- ERANGE EREMOTE ERESTART EROFS ESHUTDOWN ESOCKTNOSUPPORT +- ESPIPE ESRCH ESTALE ETIMEDOUT ETOOMANYREFS ETXTBSY +- EUSERS EWOULDBLOCK EXDEV errno)], +- +- fcntl_h => [qw(FD_CLOEXEC F_DUPFD F_GETFD F_GETFL F_GETLK F_RDLCK +- F_SETFD F_SETFL F_SETLK F_SETLKW F_UNLCK F_WRLCK +- O_ACCMODE O_APPEND O_CREAT O_EXCL O_NOCTTY O_NONBLOCK +- O_RDONLY O_RDWR O_TRUNC O_WRONLY +- creat +- SEEK_CUR SEEK_END SEEK_SET +- S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU +- S_ISBLK S_ISCHR S_ISDIR S_ISFIFO S_ISGID S_ISREG S_ISUID +- S_IWGRP S_IWOTH S_IWUSR)], +- +- float_h => [qw(DBL_DIG DBL_EPSILON DBL_MANT_DIG +- DBL_MAX DBL_MAX_10_EXP DBL_MAX_EXP +- DBL_MIN DBL_MIN_10_EXP DBL_MIN_EXP +- FLT_DIG FLT_EPSILON FLT_MANT_DIG +- FLT_MAX FLT_MAX_10_EXP FLT_MAX_EXP +- FLT_MIN FLT_MIN_10_EXP FLT_MIN_EXP +- FLT_RADIX FLT_ROUNDS +- LDBL_DIG LDBL_EPSILON LDBL_MANT_DIG +- LDBL_MAX LDBL_MAX_10_EXP LDBL_MAX_EXP +- LDBL_MIN LDBL_MIN_10_EXP LDBL_MIN_EXP)], +- +- grp_h => [], +- +- limits_h => [qw( ARG_MAX CHAR_BIT CHAR_MAX CHAR_MIN CHILD_MAX +- INT_MAX INT_MIN LINK_MAX LONG_MAX LONG_MIN MAX_CANON +- MAX_INPUT MB_LEN_MAX NAME_MAX NGROUPS_MAX OPEN_MAX +- PATH_MAX PIPE_BUF SCHAR_MAX SCHAR_MIN SHRT_MAX SHRT_MIN +- SSIZE_MAX STREAM_MAX TZNAME_MAX UCHAR_MAX UINT_MAX +- ULONG_MAX USHRT_MAX _POSIX_ARG_MAX _POSIX_CHILD_MAX +- _POSIX_LINK_MAX _POSIX_MAX_CANON _POSIX_MAX_INPUT +- _POSIX_NAME_MAX _POSIX_NGROUPS_MAX _POSIX_OPEN_MAX +- _POSIX_PATH_MAX _POSIX_PIPE_BUF _POSIX_SSIZE_MAX +- _POSIX_STREAM_MAX _POSIX_TZNAME_MAX)], +- +- locale_h => [qw(LC_ALL LC_COLLATE LC_CTYPE LC_MESSAGES +- LC_MONETARY LC_NUMERIC LC_TIME NULL +- localeconv setlocale)], +- +- math_h => [qw(HUGE_VAL acos asin atan ceil cosh fabs floor fmod +- frexp ldexp log10 modf pow sinh tan tanh)], +- +- pwd_h => [], +- +- setjmp_h => [qw(longjmp setjmp siglongjmp sigsetjmp)], +- +- signal_h => [qw(SA_NOCLDSTOP SA_NOCLDWAIT SA_NODEFER SA_ONSTACK +- SA_RESETHAND SA_RESTART SA_SIGINFO SIGABRT SIGALRM +- SIGCHLD SIGCONT SIGFPE SIGHUP SIGILL SIGINT SIGKILL +- SIGPIPE %SIGRT SIGRTMIN SIGRTMAX SIGQUIT SIGSEGV SIGSTOP +- SIGTERM SIGTSTP SIGTTIN SIGTTOU SIGUSR1 SIGUSR2 +- SIG_BLOCK SIG_DFL SIG_ERR SIG_IGN SIG_SETMASK SIG_UNBLOCK +- raise sigaction signal sigpending sigprocmask sigsuspend)], +- +- stdarg_h => [], +- +- stddef_h => [qw(NULL offsetof)], +- +- stdio_h => [qw(BUFSIZ EOF FILENAME_MAX L_ctermid L_cuserid +- L_tmpname NULL SEEK_CUR SEEK_END SEEK_SET +- STREAM_MAX TMP_MAX stderr stdin stdout +- clearerr fclose fdopen feof ferror fflush fgetc fgetpos +- fgets fopen fprintf fputc fputs fread freopen +- fscanf fseek fsetpos ftell fwrite getchar gets +- perror putc putchar puts remove rewind +- scanf setbuf setvbuf sscanf tmpfile tmpnam +- ungetc vfprintf vprintf vsprintf)], +- +- stdlib_h => [qw(EXIT_FAILURE EXIT_SUCCESS MB_CUR_MAX NULL RAND_MAX +- abort atexit atof atoi atol bsearch calloc div +- free getenv labs ldiv malloc mblen mbstowcs mbtowc +- qsort realloc strtod strtol strtoul wcstombs wctomb)], +- +- string_h => [qw(NULL memchr memcmp memcpy memmove memset strcat +- strchr strcmp strcoll strcpy strcspn strerror strlen +- strncat strncmp strncpy strpbrk strrchr strspn strstr +- strtok strxfrm)], +- +- sys_stat_h => [qw(S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU +- S_ISBLK S_ISCHR S_ISDIR S_ISFIFO S_ISGID S_ISREG +- S_ISUID S_IWGRP S_IWOTH S_IWUSR S_IXGRP S_IXOTH S_IXUSR +- fstat mkfifo)], +- +- sys_times_h => [], +- +- sys_types_h => [], +- +- sys_utsname_h => [qw(uname)], +- +- sys_wait_h => [qw(WEXITSTATUS WIFEXITED WIFSIGNALED WIFSTOPPED +- WNOHANG WSTOPSIG WTERMSIG WUNTRACED)], +- +- termios_h => [qw( B0 B110 B1200 B134 B150 B1800 B19200 B200 B2400 +- B300 B38400 B4800 B50 B600 B75 B9600 BRKINT CLOCAL +- CREAD CS5 CS6 CS7 CS8 CSIZE CSTOPB ECHO ECHOE ECHOK +- ECHONL HUPCL ICANON ICRNL IEXTEN IGNBRK IGNCR IGNPAR +- INLCR INPCK ISIG ISTRIP IXOFF IXON NCCS NOFLSH OPOST +- PARENB PARMRK PARODD TCIFLUSH TCIOFF TCIOFLUSH TCION +- TCOFLUSH TCOOFF TCOON TCSADRAIN TCSAFLUSH TCSANOW +- TOSTOP VEOF VEOL VERASE VINTR VKILL VMIN VQUIT VSTART +- VSTOP VSUSP VTIME +- cfgetispeed cfgetospeed cfsetispeed cfsetospeed tcdrain +- tcflow tcflush tcgetattr tcsendbreak tcsetattr )], +- +- time_h => [qw(CLK_TCK CLOCKS_PER_SEC NULL asctime clock ctime +- difftime mktime strftime tzset tzname)], +- +- unistd_h => [qw(F_OK NULL R_OK SEEK_CUR SEEK_END SEEK_SET +- STDERR_FILENO STDIN_FILENO STDOUT_FILENO W_OK X_OK +- _PC_CHOWN_RESTRICTED _PC_LINK_MAX _PC_MAX_CANON +- _PC_MAX_INPUT _PC_NAME_MAX _PC_NO_TRUNC _PC_PATH_MAX +- _PC_PIPE_BUF _PC_VDISABLE _POSIX_CHOWN_RESTRICTED +- _POSIX_JOB_CONTROL _POSIX_NO_TRUNC _POSIX_SAVED_IDS +- _POSIX_VDISABLE _POSIX_VERSION _SC_ARG_MAX +- _SC_CHILD_MAX _SC_CLK_TCK _SC_JOB_CONTROL +- _SC_NGROUPS_MAX _SC_OPEN_MAX _SC_PAGESIZE _SC_SAVED_IDS +- _SC_STREAM_MAX _SC_TZNAME_MAX _SC_VERSION +- _exit access ctermid cuserid +- dup2 dup execl execle execlp execv execve execvp +- fpathconf fsync getcwd getegid geteuid getgid getgroups +- getpid getuid isatty lseek pathconf pause setgid setpgid +- setsid setuid sysconf tcgetpgrp tcsetpgrp ttyname)], +- +- utime_h => [], +- +-); +- +-# Exporter::export_tags(); +-{ +- # De-duplicate the export list: +- my %export; +- @export{map {@$_} values %EXPORT_TAGS} = (); +- # Doing the de-dup with a temporary hash has the advantage that the SVs in +- # @EXPORT are actually shared hash key sacalars, which will save some memory. +- push @EXPORT, keys %export; +-} +- +-@EXPORT_OK = qw( +- abs +- alarm +- atan2 +- chdir +- chmod +- chown +- close +- closedir +- cos +- exit +- exp +- fcntl +- fileno +- fork +- getc +- getgrgid +- getgrnam +- getlogin +- getpgrp +- getppid +- getpwnam +- getpwuid +- gmtime +- isatty +- kill +- lchown +- link +- localtime +- log +- mkdir +- nice +- open +- opendir +- pipe +- printf +- rand +- read +- readdir +- rename +- rewinddir +- rmdir +- sin +- sleep +- sprintf +- sqrt +- srand +- stat +- system +- time +- times +- umask +- unlink +- utime +- wait +- waitpid +- write +-); +- +-require Exporter; +-} +- +-package POSIX::SigAction; +- +-sub new { bless {HANDLER => $_[1], MASK => $_[2], FLAGS => $_[3] || 0, SAFE => 0}, $_[0] } +-sub handler { $_[0]->{HANDLER} = $_[1] if @_ > 1; $_[0]->{HANDLER} }; +-sub mask { $_[0]->{MASK} = $_[1] if @_ > 1; $_[0]->{MASK} }; +-sub flags { $_[0]->{FLAGS} = $_[1] if @_ > 1; $_[0]->{FLAGS} }; +-sub safe { $_[0]->{SAFE} = $_[1] if @_ > 1; $_[0]->{SAFE} }; +- +-package POSIX::SigRt; +- +- +-sub _init { +- $_SIGRTMIN = &POSIX::SIGRTMIN; +- $_SIGRTMAX = &POSIX::SIGRTMAX; +- $_sigrtn = $_SIGRTMAX - $_SIGRTMIN; +-} +- +-sub _croak { +- &_init unless defined $_sigrtn; +- die "POSIX::SigRt not available" unless defined $_sigrtn && $_sigrtn > 0; +-} +- +-sub _getsig { +- &_croak; +- my $rtsig = $_[0]; +- # Allow (SIGRT)?MIN( + n)?, a common idiom when doing these things in C. +- $rtsig = $_SIGRTMIN + ($1 || 0) +- if $rtsig =~ /^(?:(?:SIG)?RT)?MIN(\s*\+\s*(\d+))?$/; +- return $rtsig; +-} +- +-sub _exist { +- my $rtsig = _getsig($_[1]); +- my $ok = $rtsig >= $_SIGRTMIN && $rtsig <= $_SIGRTMAX; +- ($rtsig, $ok); +-} +- +-sub _check { +- my ($rtsig, $ok) = &_exist; +- die "No POSIX::SigRt signal $_[1] (valid range SIGRTMIN..SIGRTMAX, or $_SIGRTMIN..$_SIGRTMAX)" +- unless $ok; +- return $rtsig; +-} +- +-sub new { +- my ($rtsig, $handler, $flags) = @_; +- my $sigset = POSIX::SigSet->new($rtsig); +- my $sigact = POSIX::SigAction->new($handler, +- $sigset, +- $flags); +- POSIX::sigaction($rtsig, $sigact); +-} +- +-sub EXISTS { &_exist } +-sub FETCH { my $rtsig = &_check; +- my $oa = POSIX::SigAction->new(); +- POSIX::sigaction($rtsig, undef, $oa); +- return $oa->{HANDLER} } +-sub STORE { my $rtsig = &_check; new($rtsig, $_[2], $SIGACTION_FLAGS) } +-sub DELETE { delete $SIG{ &_check } } +-sub CLEAR { &_exist; delete @SIG{ &POSIX::SIGRTMIN .. &POSIX::SIGRTMAX } } +-sub SCALAR { &_croak; $_sigrtn + 1 } +diff --git a/ext/POSIX/POSIX.pod b/ext/POSIX/POSIX.pod +deleted file mode 100644 +index 64852e9..0000000 +--- a/ext/POSIX/POSIX.pod ++++ /dev/null +@@ -1,2218 +0,0 @@ +-=head1 NAME +- +-POSIX - Perl interface to IEEE Std 1003.1 +- +-=head1 SYNOPSIS |
