diff --git a/Makefile b/Makefile index e404c381..3e1fadc7 100644 --- a/Makefile +++ b/Makefile @@ -72,7 +72,8 @@ STRAP_SUBDIRS = \ libxml \ libz \ nss-nspr \ - openssl1x + openssl1x \ + perl NAME = illumos-extra diff --git a/perl/Config_heavy.pl b/perl/Config_heavy.pl.in similarity index 99% rename from perl/Config_heavy.pl rename to perl/Config_heavy.pl.in index 7f9dc2ec..af32327c 100644 --- a/perl/Config_heavy.pl +++ b/perl/Config_heavy.pl.in @@ -164,7 +164,7 @@ sub myconfig { binexp='/usr/perl5/5.12/bin' bison='bison' byacc='byacc' -byteorder='1234' +byteorder='12345678' c='\c' castflags='0' cat='cat' @@ -479,7 +479,7 @@ sub myconfig { d_pipe='define' d_poll='define' d_portable='define' -d_printf_format_null='define' +d_printf_format_null='undef' d_procselfexe='undef' d_pseudofork='undef' d_pthread_atfork='define' @@ -696,9 +696,9 @@ sub myconfig { fpostype='fpos_t' freetype='void' from=':' -full_ar='/usr/bin/ar' +full_ar='/usr/xpg4/bin/ar' full_csh='/usr/bin/csh' -full_sed='/usr/bin/sed' +full_sed='/usr/xpg4/bin/sed' gccansipedantic='' gccosandvers='' gccversion='4.4.4' @@ -873,9 +873,9 @@ sub myconfig { installvendorscript='' intsize='4' issymlink='test -h' -ivdformat='"ld"' -ivsize='4' -ivtype='long' +ivdformat='"lld"' +ivsize='8' +ivtype='long long' known_extensions='attributes B Compress/Raw/Bzip2 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 Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV List/Util Math/BigInt/FastCalc MIME/Base64 mro NDBM_File ODBM_File Opcode PerlIO/encoding PerlIO/scalar PerlIO/via POSIX re SDBM_File Socket Storable Sys/Hostname Sys/Syslog Text/Soundex threads threads/shared Time/HiRes Time/Piece Unicode/Normalize VMS/DCLsym VMS/Stdio Win32 Win32API/File Win32CORE XS/APItest XS/APItest/KeywordRPN XS/Typemap ' ksh='' ld='gcc' @@ -899,7 +899,7 @@ sub myconfig { lint='' lkflags='' ln='ln' -lns='/usr/bin/ln -s' +lns='/usr/xpg4/bin/ln -s' localtime_r_proto='0' locincpth='/usr/gnu/include' loclibpth='/usr/gnu/lib /opt/gnu/lib' @@ -955,7 +955,7 @@ sub myconfig { nvFUformat='"F"' nvGUformat='"G"' nv_overflows_integers_at='256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0' -nv_preserves_uv_bits='32' +nv_preserves_uv_bits='53' nveformat='"e"' nvfformat='"f"' nvgformat='"g"' @@ -1136,7 +1136,7 @@ sub myconfig { uquadtype='unsigned long long' use5005threads='undef' use64bitall='undef' -use64bitint='undef' +use64bitint='define' usecrosscompile='undef' usedevel='undef' usedl='define' @@ -1164,12 +1164,12 @@ sub myconfig { usevfork='false' usrinc='/usr/include' uuname='' -uvXUformat='"lX"' -uvoformat='"lo"' -uvsize='4' -uvtype='unsigned long' -uvuformat='"lu"' -uvxformat='"lx"' +uvXUformat='"llX"' +uvoformat='"llo"' +uvsize='8' +uvtype='unsigned long long' +uvuformat='"llu"' +uvxformat='"llx"' vaproto='define' vendorarch='' vendorarchexp='' diff --git a/perl/Config_heavy.plstrap.in b/perl/Config_heavy.plstrap.in new file mode 100644 index 00000000..bd9c23f0 --- /dev/null +++ b/perl/Config_heavy.plstrap.in @@ -0,0 +1,1311 @@ +# This file was created by configpm when Perl was built. Any changes +# made to this file will be lost the next time perl is built. + +package Config; +use strict; +# use warnings; Pulls in Carp +# use vars pulls in Carp + +sub _V { + my ($bincompat, $non_bincompat, $date, @patches) = Internals::V(); + + my $opts = join ' ', sort split ' ', "$bincompat $non_bincompat"; + + # wrap at 76 columns. + + $opts =~ s/(?=.{53})(.{1,53}) /$1\n /mg; + + print Config::myconfig(); + if ($^O eq 'VMS') { + print "\nCharacteristics of this PERLSHR image: \n"; + } else { + print "\nCharacteristics of this binary (from libperl): \n"; + } + + print " Compile-time options: $opts\n"; + + if (@patches) { + print " Locally applied patches:\n"; + print "\t$_\n" foreach @patches; + } + + print " Built under $^O\n"; + + print " $date\n" if defined $date; + + my @env = map { "$_=\"$ENV{$_}\"" } sort grep {/^PERL/} keys %ENV; + push @env, "CYGWIN=\"$ENV{CYGWIN}\"" if $^O eq 'cygwin'; + + if (@env) { + print " \%ENV:\n"; + print " $_\n" foreach @env; + } + print " \@INC:\n"; + print " $_\n" foreach @INC; +} + +## +## This file was produced by running the Configure script. It holds all the +## definitions figured out by Configure. Should you modify one of these values, +## do not forget to propagate your changes by running "Configure -der". You may +## instead choose to run each of the .SH files by yourself, or "Configure -S". +## +# +## Package name : perl5 +## Source directory : . +## Configuration time: Thu Apr 5 21:54:23 UTC 2012 +## Configured by : Joyent +## Target system : sunos johns.joyent.us 5.11 joyent_20120131t185344z i86pc i386 i86pc +# +#: Configure command line arguments. +# + +our $summary = <<'!END!'; +Summary of my $package (revision $revision $version_patchlevel_string) configuration: + $git_commit_id_title $git_commit_id$git_ancestor_line + Platform: + osname=$osname, osvers=$osvers, archname=$archname + uname='$myuname' + config_args='$config_args' + hint=$hint, useposix=$useposix, d_sigaction=$d_sigaction + useithreads=$useithreads, usemultiplicity=$usemultiplicity + useperlio=$useperlio, d_sfio=$d_sfio, uselargefiles=$uselargefiles, usesocks=$usesocks + use64bitint=$use64bitint, use64bitall=$use64bitall, uselongdouble=$uselongdouble + usemymalloc=$usemymalloc, bincompat5005=undef + Compiler: + cc='$cc', ccflags ='$ccflags', + optimize='$optimize', + cppflags='$cppflags' + ccversion='$ccversion', gccversion='$gccversion', gccosandvers='$gccosandvers' + intsize=$intsize, longsize=$longsize, ptrsize=$ptrsize, doublesize=$doublesize, byteorder=$byteorder + d_longlong=$d_longlong, longlongsize=$longlongsize, d_longdbl=$d_longdbl, longdblsize=$longdblsize + ivtype='$ivtype', ivsize=$ivsize, nvtype='$nvtype', nvsize=$nvsize, Off_t='$lseektype', lseeksize=$lseeksize + alignbytes=$alignbytes, prototype=$prototype + Linker and Libraries: + ld='$ld', ldflags ='$ldflags' + libpth=$libpth + libs=$libs + perllibs=$perllibs + libc=$libc, so=$so, useshrplib=$useshrplib, libperl=$libperl + gnulibc_version='$gnulibc_version' + Dynamic Linking: + dlsrc=$dlsrc, dlext=$dlext, d_dlsymun=$d_dlsymun, ccdlflags='$ccdlflags' + cccdlflags='$cccdlflags', lddlflags='$lddlflags' + +!END! +my $summary_expanded; + +sub myconfig { + return $summary_expanded if $summary_expanded; + ($summary_expanded = $summary) =~ s{\$(\w+)} + { + my $c; + if ($1 eq 'git_ancestor_line') { + if ($Config::Config{git_ancestor}) { + $c= "\n Ancestor: $Config::Config{git_ancestor}"; + } else { + $c= ""; + } + } else { + $c = $Config::Config{$1}; + } + defined($c) ? $c : 'undef' + }ge; + $summary_expanded; +} + +local *_ = \my $a; +$_ = <<'!END!'; +Author='' +CONFIG='true' +Date='$Date' +Header='' +Id='$Id' +Locker='' +Log='$Log' +PATCHLEVEL='12' +PERL_API_REVISION='5' +PERL_API_SUBVERSION='0' +PERL_API_VERSION='12' +PERL_CONFIG_SH='true' +PERL_PATCHLEVEL='' +PERL_REVISION='5' +PERL_SUBVERSION='3' +PERL_VERSION='12' +RCSfile='$RCSfile' +Revision='$Revision' +SUBVERSION='3' +Source='' +State='' +_a='.a' +_exe='' +_o='.o' +afs='false' +afsroot='/afs' +alignbytes='4' +ansi2knr='' +aphostname='/usr/bin/hostname' +api_revision='5' +api_subversion='0' +api_version='12' +api_versionstring='5.12.0' +ar='ar' +archlib='/usr/perl5/5.12/lib/i86pc-solaris-64int' +archlibexp='/usr/perl5/5.12/lib/i86pc-solaris-64int' +archname64='64int' +archname='i86pc-solaris-64int' +archobjs='' +asctime_r_proto='0' +awk='awk' +baserev='5.0' +bash='' +bin='/usr/perl5/5.12/bin' +bin_ELF='define' +binexp='/usr/perl5/5.12/bin' +bison='bison' +byacc='byacc' +byteorder='12345678' +c='\c' +castflags='0' +cat='cat' +cc='gcc' +cccdlflags='-KPIC' +ccdlflags=' ' +ccflags='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPERL_USE_SAFE_PUTENV -isystem @@NEXTPROTO@@/usr/include' +ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' +ccname='cw -_gcc' +ccsymbols='' +ccversion='' +cf_by='Joyent' +cf_email='bugs@illumos.org' +cf_time='Thu Apr 5 21:54:23 UTC 2012' +charbits='8' +charsize='1' +chgrp='' +chmod='chmod' +chown='' +clocktype='clock_t' +comm='comm' +compress='' +config_arg0='./Configure' +config_arg1='-des' +config_arg2='-Dcc=gcc' +config_argc='2' +config_args='-des -Dcc=gcc' +contains='grep' +cp='cp' +cpio='' +cpp='cpp' +cpp_stuff='42' +cppccsymbols='' +cppflags='-isystem @@NEXTPROTO@@/usr/include' +cpplast='-' +cppminus='-' +cpprun='gcc -E' +cppstdin='gcc -E' +cppsymbols='__ELF__=1 _FILE_OFFSET_BITS=64 __GNUC__=4 __GNUC_MINOR__=4 i386=1 __i386=1 __i386__=1 _ILP32= _LARGEFILE_SOURCE=1 _LARGEFILE64_SOURCE=1 _LITTLE_ENDIAN= __STDC__=1 sun=1 __sun=1 __sun__=1 __svr4__=1 __SVR4=1 unix=1 __unix=1 __unix__=1' +crypt_r_proto='0' +cryptlib='' +csh='csh' +ctermid_r_proto='0' +ctime_r_proto='0' +d_Gconvert='gconvert((x),(n),(t),(b))' +d_PRIEUldbl='define' +d_PRIFUldbl='define' +d_PRIGUldbl='define' +d_PRIXU64='define' +d_PRId64='define' +d_PRIeldbl='define' +d_PRIfldbl='define' +d_PRIgldbl='define' +d_PRIi64='define' +d_PRIo64='define' +d_PRIu64='define' +d_PRIx64='define' +d_SCNfldbl='define' +d__fwalk='undef' +d_access='define' +d_accessx='undef' +d_aintl='undef' +d_alarm='define' +d_archlib='define' +d_asctime64='undef' +d_asctime_r='undef' +d_atolf='undef' +d_atoll='define' +d_attribute_deprecated='define' +d_attribute_format='define' +d_attribute_malloc='define' +d_attribute_nonnull='define' +d_attribute_noreturn='define' +d_attribute_pure='define' +d_attribute_unused='define' +d_attribute_warn_unused_result='define' +d_bcmp='define' +d_bcopy='define' +d_bsd='undef' +d_bsdgetpgrp='undef' +d_bsdsetpgrp='undef' +d_builtin_choose_expr='define' +d_builtin_expect='define' +d_bzero='define' +d_c99_variadic_macros='define' +d_casti32='undef' +d_castneg='define' +d_charvspr='undef' +d_chown='define' +d_chroot='define' +d_chsize='undef' +d_class='undef' +d_clearenv='define' +d_closedir='define' +d_cmsghdr_s='define' +d_const='define' +d_copysignl='define' +d_cplusplus='undef' +d_crypt='define' +d_crypt_r='undef' +d_csh='define' +d_ctermid='define' +d_ctermid_r='undef' +d_ctime64='undef' +d_ctime_r='undef' +d_cuserid='define' +d_dbl_dig='define' +d_dbminitproto='undef' +d_difftime64='undef' +d_difftime='define' +d_dir_dd_fd='define' +d_dirfd='define' +d_dirnamlen='undef' +d_dlerror='define' +d_dlopen='define' +d_dlsymun='undef' +d_dosuid='undef' +d_drand48_r='undef' +d_drand48proto='define' +d_dup2='define' +d_eaccess='undef' +d_endgrent='define' +d_endgrent_r='undef' +d_endhent='define' +d_endhostent_r='undef' +d_endnent='define' +d_endnetent_r='undef' +d_endpent='define' +d_endprotoent_r='undef' +d_endpwent='define' +d_endpwent_r='undef' +d_endsent='define' +d_endservent_r='undef' +d_eofnblk='define' +d_eunice='undef' +d_faststdio='define' +d_fchdir='define' +d_fchmod='define' +d_fchown='define' +d_fcntl='define' +d_fcntl_can_lock='define' +d_fd_macros='define' +d_fd_set='define' +d_fds_bits='define' +d_fgetpos='define' +d_finite='define' +d_finitel='undef' +d_flexfnam='define' +d_flock='undef' +d_flockproto='undef' +d_fork='define' +d_fp_class='undef' +d_fpathconf='define' +d_fpclass='define' +d_fpclassify='undef' +d_fpclassl='undef' +d_fpos64_t='define' +d_frexpl='define' +d_fs_data_s='undef' +d_fseeko='define' +d_fsetpos='define' +d_fstatfs='define' +d_fstatvfs='define' +d_fsync='define' +d_ftello='define' +d_ftime='undef' +d_futimes='undef' +d_gdbm_ndbm_h_uses_prototypes='undef' +d_gdbmndbm_h_uses_prototypes='undef' +d_getaddrinfo='define' +d_getcwd='define' +d_getespwnam='undef' +d_getfsstat='undef' +d_getgrent='define' +d_getgrent_r='undef' +d_getgrgid_r='undef' +d_getgrnam_r='undef' +d_getgrps='define' +d_gethbyaddr='define' +d_gethbyname='define' +d_gethent='define' +d_gethname='define' +d_gethostbyaddr_r='undef' +d_gethostbyname_r='undef' +d_gethostent_r='undef' +d_gethostprotos='define' +d_getitimer='define' +d_getlogin='define' +d_getlogin_r='undef' +d_getmnt='undef' +d_getmntent='define' +d_getnameinfo='define' +d_getnbyaddr='define' +d_getnbyname='define' +d_getnent='define' +d_getnetbyaddr_r='undef' +d_getnetbyname_r='undef' +d_getnetent_r='undef' +d_getnetprotos='define' +d_getpagsz='define' +d_getpbyname='define' +d_getpbynumber='define' +d_getpent='define' +d_getpgid='define' +d_getpgrp2='undef' +d_getpgrp='define' +d_getppid='define' +d_getprior='define' +d_getprotobyname_r='undef' +d_getprotobynumber_r='undef' +d_getprotoent_r='undef' +d_getprotoprotos='define' +d_getprpwnam='undef' +d_getpwent='define' +d_getpwent_r='undef' +d_getpwnam_r='undef' +d_getpwuid_r='undef' +d_getsbyname='define' +d_getsbyport='define' +d_getsent='define' +d_getservbyname_r='undef' +d_getservbyport_r='undef' +d_getservent_r='undef' +d_getservprotos='define' +d_getspnam='define' +d_getspnam_r='undef' +d_gettimeod='define' +d_gmtime64='undef' +d_gmtime_r='undef' +d_gnulibc='undef' +d_grpasswd='define' +d_hasmntopt='define' +d_htonl='define' +d_ilogbl='define' +d_inc_version_list='undef' +d_index='undef' +d_inetaton='define' +d_inetntop='define' +d_inetpton='define' +d_int64_t='define' +d_isascii='define' +d_isfinite='undef' +d_isinf='undef' +d_isnan='define' +d_isnanl='define' +d_killpg='define' +d_lchown='define' +d_ldbl_dig='define' +d_libm_lib_version='undef' +d_link='define' +d_localtime64='undef' +d_localtime_r='undef' +d_localtime_r_needs_tzset='undef' +d_locconv='define' +d_lockf='define' +d_longdbl='define' +d_longlong='define' +d_lseekproto='define' +d_lstat='define' +d_madvise='define' +d_malloc_good_size='undef' +d_malloc_size='undef' +d_mblen='define' +d_mbstowcs='define' +d_mbtowc='define' +d_memchr='define' +d_memcmp='define' +d_memcpy='define' +d_memmove='define' +d_memset='define' +d_mkdir='define' +d_mkdtemp='define' +d_mkfifo='define' +d_mkstemp='define' +d_mkstemps='define' +d_mktime64='undef' +d_mktime='define' +d_mmap='define' +d_modfl='define' +d_modfl_pow32_bug='undef' +d_modflproto='define' +d_mprotect='define' +d_msg='define' +d_msg_ctrunc='define' +d_msg_dontroute='define' +d_msg_oob='define' +d_msg_peek='define' +d_msg_proxy='undef' +d_msgctl='define' +d_msgget='define' +d_msghdr_s='define' +d_msgrcv='define' +d_msgsnd='define' +d_msync='define' +d_munmap='define' +d_mymalloc='undef' +d_ndbm='define' +d_ndbm_h_uses_prototypes='define' +d_nice='define' +d_nl_langinfo='define' +d_nv_preserves_uv='define' +d_nv_zero_is_allbits_zero='define' +d_off64_t='define' +d_old_pthread_create_joinable='undef' +d_oldpthreads='undef' +d_oldsock='undef' +d_open3='define' +d_pathconf='define' +d_pause='define' +d_perl_otherlibdirs='undef' +d_phostname='undef' +d_pipe='define' +d_poll='define' +d_portable='define' +d_printf_format_null='undef' +d_procselfexe='undef' +d_pseudofork='undef' +d_pthread_atfork='define' +d_pthread_attr_setscope='define' +d_pthread_yield='undef' +d_pwage='define' +d_pwchange='undef' +d_pwclass='undef' +d_pwcomment='define' +d_pwexpire='undef' +d_pwgecos='define' +d_pwpasswd='define' +d_pwquota='undef' +d_qgcvt='define' +d_quad='define' +d_random_r='undef' +d_readdir64_r='undef' +d_readdir='define' +d_readdir_r='undef' +d_readlink='define' +d_readv='define' +d_recvmsg='define' +d_rename='define' +d_rewinddir='define' +d_rmdir='define' +d_safebcpy='undef' +d_safemcpy='undef' +d_sanemcmp='define' +d_sbrkproto='define' +d_scalbnl='define' +d_sched_yield='define' +d_scm_rights='define' +d_seekdir='define' +d_select='define' +d_sem='define' +d_semctl='define' +d_semctl_semid_ds='define' +d_semctl_semun='define' +d_semget='define' +d_semop='define' +d_sendmsg='define' +d_setegid='define' +d_seteuid='define' +d_setgrent='define' +d_setgrent_r='undef' +d_setgrps='define' +d_sethent='define' +d_sethostent_r='undef' +d_setitimer='define' +d_setlinebuf='define' +d_setlocale='define' +d_setlocale_r='undef' +d_setnent='define' +d_setnetent_r='undef' +d_setpent='define' +d_setpgid='define' +d_setpgrp2='undef' +d_setpgrp='define' +d_setprior='define' +d_setproctitle='undef' +d_setprotoent_r='undef' +d_setpwent='define' +d_setpwent_r='undef' +d_setregid='define' +d_setresgid='undef' +d_setresuid='undef' +d_setreuid='define' +d_setrgid='undef' +d_setruid='undef' +d_setsent='define' +d_setservent_r='undef' +d_setsid='define' +d_setvbuf='define' +d_sfio='undef' +d_shm='define' +d_shmat='define' +d_shmatprototype='define' +d_shmctl='define' +d_shmdt='define' +d_shmget='define' +d_sigaction='define' +d_signbit='define' +d_sigprocmask='define' +d_sigsetjmp='define' +d_sitearch='define' +d_snprintf='define' +d_sockatmark='define' +d_sockatmarkproto='define' +d_socket='define' +d_socklen_t='define' +d_sockpair='define' +d_socks5_init='undef' +d_sprintf_returns_strlen='define' +d_sqrtl='define' +d_srand48_r='undef' +d_srandom_r='undef' +d_sresgproto='undef' +d_sresuproto='undef' +d_statblks='define' +d_statfs_f_flags='undef' +d_statfs_s='define' +d_statvfs='define' +d_stdio_cnt_lval='define' +d_stdio_ptr_lval='define' +d_stdio_ptr_lval_nochange_cnt='define' +d_stdio_ptr_lval_sets_cnt='undef' +d_stdio_stream_array='define' +d_stdiobase='define' +d_stdstdio='define' +d_strchr='define' +d_strcoll='define' +d_strctcpy='define' +d_strerrm='strerror(e)' +d_strerror='define' +d_strerror_r='undef' +d_strftime='define' +d_strlcat='define' +d_strlcpy='define' +d_strtod='define' +d_strtol='define' +d_strtold='define' +d_strtoll='define' +d_strtoq='undef' +d_strtoul='define' +d_strtoull='define' +d_strtouq='undef' +d_strxfrm='define' +d_suidsafe='define' +d_symlink='define' +d_syscall='define' +d_syscallproto='undef' +d_sysconf='define' +d_sysernlst='' +d_syserrlst='define' +d_system='define' +d_tcgetpgrp='define' +d_tcsetpgrp='define' +d_telldir='define' +d_telldirproto='define' +d_time='define' +d_timegm='define' +d_times='define' +d_tm_tm_gmtoff='undef' +d_tm_tm_zone='undef' +d_tmpnam_r='undef' +d_truncate='define' +d_ttyname_r='undef' +d_tzname='define' +d_u32align='undef' +d_ualarm='define' +d_umask='define' +d_uname='define' +d_union_semun='undef' +d_unordered='define' +d_unsetenv='define' +d_usleep='define' +d_usleepproto='define' +d_ustat='define' +d_vendorarch='undef' +d_vendorbin='undef' +d_vendorlib='undef' +d_vendorscript='undef' +d_vfork='undef' +d_void_closedir='undef' +d_voidsig='define' +d_voidtty='' +d_volatile='define' +d_vprintf='define' +d_vsnprintf='define' +d_wait4='define' +d_waitpid='define' +d_wcstombs='define' +d_wctomb='define' +d_writev='define' +d_xenix='undef' +date='date' +db_hashtype='u_int32_t' +db_prefixtype='size_t' +db_version_major='' +db_version_minor='' +db_version_patch='' +defvoidused='15' +direntrytype='struct dirent' +dlext='so' +dlsrc='dl_dlopen.xs' +doublesize='8' +drand01='drand48()' +drand48_r_proto='0' +dtrace='/usr/sbin/dtrace' +dynamic_ext='attributes B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper Devel/DProf Devel/Peek Devel/PPPort Digest/MD5 Digest/SHA Encode Fcntl File/Glob Filter/Util/Call Hash/Util Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV List/Util Math/BigInt/FastCalc MIME/Base64 mro NDBM_File ODBM_File Opcode PerlIO/encoding PerlIO/scalar PerlIO/via POSIX re SDBM_File Socket Storable Sys/Hostname Sys/Syslog Text/Soundex threads threads/shared Time/HiRes Time/Piece Unicode/Normalize XS/APItest XS/APItest/KeywordRPN XS/Typemap' +eagain='EAGAIN' +ebcdic='undef' +echo='echo' +egrep='egrep' +emacs='' +endgrent_r_proto='0' +endhostent_r_proto='0' +endnetent_r_proto='0' +endprotoent_r_proto='0' +endpwent_r_proto='0' +endservent_r_proto='0' +eunicefix=':' +exe_ext='' +expr='expr' +extensions='attributes B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper Devel/DProf Devel/Peek Devel/PPPort Digest/MD5 Digest/SHA Encode Fcntl File/Glob Filter/Util/Call Hash/Util Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV List/Util Math/BigInt/FastCalc MIME/Base64 mro NDBM_File ODBM_File Opcode PerlIO/encoding PerlIO/scalar PerlIO/via POSIX re SDBM_File Socket Storable Sys/Hostname Sys/Syslog Text/Soundex threads threads/shared Time/HiRes Time/Piece Unicode/Normalize XS/APItest XS/APItest/KeywordRPN XS/Typemap Archive/Extract Archive/Tar Attribute/Handlers autodie AutoLoader autouse B/Debug B/Deparse B/Lint base bignum CGI Class/ISA constant CPAN CPANPLUS CPANPLUS/Dist/Build Devel/SelfStubber Digest encoding/warnings Errno ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/ParseXS File/Fetch File/Path File/Temp FileCache Filter/Simple Getopt/Long I18N/LangTags if IO/Compress IO/Zlib IPC/Cmd IPC/Open2 IPC/Open3 lib libnet Locale/Codes Locale/Maketext Locale/Maketext/Simple Log/Message Log/Message/Simple Math/BigInt Math/BigRat Math/Complex Memoize Module/Build Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Pluggable Net/Ping NEXT Object/Accessor Package/Constants Params/Check parent Parse/CPAN/Meta PerlIO/via/QuotedPrint Pod/Escapes Pod/LaTeX Pod/Parser Pod/Perldoc Pod/Plainer Pod/Simple podlators Safe SelfLoader Shell Switch Term/ANSIColor Term/Cap Term/UI Test Test/Harness Test/Simple Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash Time/Local Unicode/Collate XSLoader' +extern_C='extern' +extras='' +fflushNULL='define' +fflushall='undef' +find='' +firstmakefile='makefile' +flex='' +fpossize='8' +fpostype='fpos_t' +freetype='void' +from=':' +full_ar='/usr/xpg4/bin/ar' +full_csh='/usr/bin/csh' +full_sed='/usr/xpg4/bin/sed' +gccansipedantic='' +gccosandvers='' +gccversion='4.4.4' +getgrent_r_proto='0' +getgrgid_r_proto='0' +getgrnam_r_proto='0' +gethostbyaddr_r_proto='0' +gethostbyname_r_proto='0' +gethostent_r_proto='0' +getlogin_r_proto='0' +getnetbyaddr_r_proto='0' +getnetbyname_r_proto='0' +getnetent_r_proto='0' +getprotobyname_r_proto='0' +getprotobynumber_r_proto='0' +getprotoent_r_proto='0' +getpwent_r_proto='0' +getpwnam_r_proto='0' +getpwuid_r_proto='0' +getservbyname_r_proto='0' +getservbyport_r_proto='0' +getservent_r_proto='0' +getspnam_r_proto='0' +gidformat='"lu"' +gidsign='1' +gidsize='4' +gidtype='gid_t' +glibpth='@@NEXTPROTO@@/usr/lib @@NEXTPROTO@@/lib' +gmake='gmake' +gmtime_r_proto='0' +gnulibc_version='' +grep='grep' +groupcat='cat /etc/group' +groupstype='gid_t' +gzip='gzip' +h_fcntl='true' +h_sysfile='false' +hint='recommended' +hostcat='cat /etc/hosts' +html1dir=' ' +html1direxp='' +html3dir=' ' +html3direxp='' +i16size='2' +i16type='short' +i32size='4' +i32type='long' +i64size='8' +i64type='long long' +i8size='1' +i8type='signed char' +i_arpainet='define' +i_assert='define' +i_bsdioctl='' +i_crypt='define' +i_db='undef' +i_dbm='undef' +i_dirent='define' +i_dld='undef' +i_dlfcn='define' +i_fcntl='define' +i_float='define' +i_fp='undef' +i_fp_class='undef' +i_gdbm='undef' +i_gdbm_ndbm='undef' +i_gdbmndbm='undef' +i_grp='define' +i_ieeefp='define' +i_inttypes='define' +i_langinfo='define' +i_libutil='undef' +i_limits='define' +i_locale='define' +i_machcthr='undef' +i_malloc='define' +i_mallocmalloc='undef' +i_math='define' +i_memory='undef' +i_mntent='undef' +i_ndbm='define' +i_netdb='define' +i_neterrno='undef' +i_netinettcp='define' +i_niin='define' +i_poll='define' +i_prot='undef' +i_pthread='define' +i_pwd='define' +i_rpcsvcdbm='define' +i_sfio='undef' +i_sgtty='undef' +i_shadow='define' +i_socks='undef' +i_stdarg='define' +i_stddef='define' +i_stdlib='define' +i_string='define' +i_sunmath='undef' +i_sysaccess='undef' +i_sysdir='undef' +i_sysfile='undef' +i_sysfilio='define' +i_sysin='undef' +i_sysioctl='define' +i_syslog='define' +i_sysmman='define' +i_sysmode='define' +i_sysmount='define' +i_sysndir='undef' +i_sysparam='define' +i_syspoll='define' +i_sysresrc='define' +i_syssecrt='undef' +i_sysselct='define' +i_syssockio='define' +i_sysstat='define' +i_sysstatfs='define' +i_sysstatvfs='define' +i_systime='define' +i_systimek='undef' +i_systimes='define' +i_systypes='define' +i_sysuio='define' +i_sysun='define' +i_sysutsname='define' +i_sysvfs='define' +i_syswait='define' +i_termio='undef' +i_termios='define' +i_time='undef' +i_unistd='define' +i_ustat='define' +i_utime='define' +i_values='define' +i_varargs='undef' +i_varhdr='stdarg.h' +i_vfork='undef' +ignore_versioned_solibs='y' +inc_version_list=' ' +inc_version_list_init='0' +incpath='' +inews='' +initialinstalllocation='/usr/perl5/5.12/bin' +installarchlib='/usr/perl5/5.12/lib/i86pc-solaris-64int' +installbin='/usr/perl5/5.12/bin' +installhtml1dir='' +installhtml3dir='' +installman1dir='/usr/perl5/5.12/man/man1' +installman3dir='/usr/perl5/5.12/man/man3' +installprefix='/usr/perl5/5.12' +installprefixexp='/usr/perl5/5.12' +installprivlib='/usr/perl5/5.12/lib' +installscript='/usr/perl5/5.12/bin' +installsitearch='/usr/perl5/site_perl/5.12/i86pc-solaris-64int' +installsitebin='/usr/perl5/5.12/bin' +installsitehtml1dir='' +installsitehtml3dir='' +installsitelib='/usr/perl5/site_perl/5.12' +installsiteman1dir='/usr/perl5/5.12/man/man1' +installsiteman3dir='/usr/perl5/5.12/man/man3' +installsitescript='/usr/perl5/5.12/bin' +installstyle='lib' +installusrbinperl='undef' +installvendorarch='' +installvendorbin='' +installvendorhtml1dir='' +installvendorhtml3dir='' +installvendorlib='' +installvendorman1dir='' +installvendorman3dir='' +installvendorscript='' +intsize='4' +issymlink='test -h' +ivdformat='"lld"' +ivsize='8' +ivtype='long long' +known_extensions='attributes B Compress/Raw/Bzip2 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 Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV List/Util Math/BigInt/FastCalc MIME/Base64 mro NDBM_File ODBM_File Opcode PerlIO/encoding PerlIO/scalar PerlIO/via POSIX re SDBM_File Socket Storable Sys/Hostname Sys/Syslog Text/Soundex threads threads/shared Time/HiRes Time/Piece Unicode/Normalize VMS/DCLsym VMS/Stdio Win32 Win32API/File Win32CORE XS/APItest XS/APItest/KeywordRPN XS/Typemap ' +ksh='' +ld='gcc' +lddlflags='-G -L@@NEXTPROTO@@/usr/gnu/lib -L@@NEXTPROTO@@/usr/lib -L@@NEXTPROTO@@/lib' +ldflags='-L@@NEXTPROTO@@/usr/gnu/lib -L@@NEXTPROTO@@/usr/lib -L@@NEXTPROTO@@/lib' +ldflags_uselargefiles='' +ldlibpthname='LD_LIBRARY_PATH' +less='less' +lib_ext='.a' +libc='@@NEXTPROTO@@/lib/libc.so' +libperl='libperl.a' +libpth='@@NEXTPROTO@@/usr/gnu/lib @@NEXTPROTO@@/usr/lib @@NEXTPROTO@@/lib' +libs='-lsocket -lnsl -ldl -lm -lc' +libsdirs=' @@NEXTPROTO@@/usr/lib @@NEXTPROTO@@/lib' +libsfiles=' libsocket.so libnsl.so libdl.so libm.so libc.so' +libsfound=' @@NEXTPROTO@@/usr/lib/libsocket.so @@NEXTPROTO@@/usr/lib/libnsl.so @@NEXTPROTO@@/usr/lib/libdl.so @@NEXTPROTO@@/usr/lib/libm.so @@NEXTPROTO@@/usr/lib/libc.so' +libspath=' @@NEXTPROTO@@/usr/gnu/lib @@NEXTPROTO@@/usr/lib @@NEXTPROTO@@/lib' +libswanted='sfio socket bind inet nsl nm ndbm gdbm dbm db dl dld sun m util c cposix posix bsd BSD ' +libswanted_uselargefiles='' +line='' +lint='' +lkflags='' +ln='ln' +lns='/usr/xpg4/bin/ln -s' +localtime_r_proto='0' +locincpth='@@NEXTPROTO@@/usr/gnu/include @@NEXTPROTO@@/usr/include' +loclibpth='@@NEXTPROTO@@/usr/gnu/lib @@NEXTPROTO@@/usr/lib @@NEXTPROTO@@/lib' +longdblsize='12' +longlongsize='8' +longsize='4' +lp='' +lpr='' +ls='ls' +lseeksize='8' +lseektype='off_t' +mad='undef' +madlyh='' +madlyobj='' +madlysrc='' +mail='' +mailx='' +make='make' +make_set_make='#' +mallocobj='' +mallocsrc='' +malloctype='void *' +man1dir='/usr/perl5/5.12/man/man1' +man1direxp='/usr/perl5/5.12/man/man1' +man1ext='1' +man3dir='/usr/perl5/5.12/man/man3' +man3direxp='/usr/perl5/5.12/man/man3' +man3ext='3' +mips_type='' +mistrustnm='run' +mkdir='mkdir' +mmaptype='caddr_t' +modetype='mode_t' +more='more' +multiarch='undef' +mv='' +myarchname='i86pc-solaris' +mydomain='.illumos.org' +myhostname='illumos' +myuname='sunos johns.joyent.us 5.11 joyent_20120131t185344z i86pc i386 i86pc ' +n='' +need_va_copy='undef' +netdb_hlen_type='size_t' +netdb_host_type='const void *' +netdb_name_type='const char *' +netdb_net_type='in_addr_t' +nm='nm' +nm_opt='-p' +nm_so_opt='' +nonxs_ext='Archive/Extract Archive/Tar Attribute/Handlers autodie AutoLoader autouse B/Debug B/Deparse B/Lint base bignum CGI Class/ISA constant CPAN CPANPLUS CPANPLUS/Dist/Build Devel/SelfStubber Digest encoding/warnings Errno ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/ParseXS File/Fetch File/Path File/Temp FileCache Filter/Simple Getopt/Long I18N/LangTags if IO/Compress IO/Zlib IPC/Cmd IPC/Open2 IPC/Open3 lib libnet Locale/Codes Locale/Maketext Locale/Maketext/Simple Log/Message Log/Message/Simple Math/BigInt Math/BigRat Math/Complex Memoize Module/Build Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Pluggable Net/Ping NEXT Object/Accessor Package/Constants Params/Check parent Parse/CPAN/Meta PerlIO/via/QuotedPrint Pod/Escapes Pod/LaTeX Pod/Parser Pod/Perldoc Pod/Plainer Pod/Simple podlators Safe SelfLoader Shell Switch Term/ANSIColor Term/Cap Term/UI Test Test/Harness Test/Simple Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash Time/Local Unicode/Collate XSLoader' +nroff='nroff' +nvEUformat='"E"' +nvFUformat='"F"' +nvGUformat='"G"' +nv_overflows_integers_at='256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0' +nv_preserves_uv_bits='53' +nveformat='"e"' +nvfformat='"f"' +nvgformat='"g"' +nvsize='8' +nvtype='double' +o_nonblock='O_NONBLOCK' +obj_ext='.o' +old_pthread_create_joinable='' +optimize='-O' +orderlib='false' +osname='solaris' +osvers='2.11' +otherlibdirs=' ' +package='perl5' +pager='/usr/bin/less -R' +passcat='cat /etc/passwd' +patchlevel='12' +path_sep=':' +perl5='/usr/bin/perl' +perl='' +perl_patchlevel='' +perladmin='bugs@illumos.org' +perllibs='-lsocket -lnsl -ldl -lm -lc' +perlpath='/usr/perl5/5.12/bin/perl' +pg='pg' +phostname='hostname' +pidtype='pid_t' +plibpth='' +pmake='' +pr='' +prefix='/usr/perl5/5.12' +prefixexp='/usr/perl5/5.12' +privlib='/usr/perl5/5.12/lib' +privlibexp='/usr/perl5/5.12/lib' +procselfexe='' +prototype='define' +ptrsize='4' +quadkind='3' +quadtype='long long' +randbits='48' +randfunc='drand48' +random_r_proto='0' +randseedtype='long' +ranlib=':' +rd_nodata='-1' +readdir64_r_proto='0' +readdir_r_proto='0' +revision='5' +rm='rm' +rm_try='/usr/bin/rm -f try try a.out .out try.[cho] try..o core core.try* try.core*' +rmail='' +run='' +runnm='true' +sGMTIME_max='2147483647' +sGMTIME_min='-2147483648' +sLOCALTIME_max='2147483647' +sLOCALTIME_min='-2147483648' +sPRIEUldbl='"LE"' +sPRIFUldbl='"LF"' +sPRIGUldbl='"LG"' +sPRIXU64='"llX"' +sPRId64='"lld"' +sPRIeldbl='"Le"' +sPRIfldbl='"Lf"' +sPRIgldbl='"Lg"' +sPRIi64='"lli"' +sPRIo64='"llo"' +sPRIu64='"llu"' +sPRIx64='"llx"' +sSCNfldbl='"Lf"' +sched_yield='sched_yield()' +scriptdir='/usr/perl5/5.12/bin' +scriptdirexp='/usr/perl5/5.12/bin' +sed='sed' +seedfunc='srand48' +selectminbits='32' +selecttype='fd_set *' +sendmail='' +setgrent_r_proto='0' +sethostent_r_proto='0' +setlocale_r_proto='0' +setnetent_r_proto='0' +setprotoent_r_proto='0' +setpwent_r_proto='0' +setservent_r_proto='0' +sh='/bin/sh' +shar='' +sharpbang='#!' +shmattype='void *' +shortsize='2' +shrpenv='' +shsharp='true' +sig_count='73' +sig_name='ZERO HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM USR1 USR2 CHLD PWR WINCH URG IO STOP TSTP CONT TTIN TTOU VTALRM PROF XCPU XFSZ WAITING LWP FREEZE THAW CANCEL LOST XRES JVM1 JVM2 RTMIN NUM42 NUM43 NUM44 NUM45 NUM46 NUM47 NUM48 NUM49 NUM50 NUM51 NUM52 NUM53 NUM54 NUM55 NUM56 NUM57 NUM58 NUM59 NUM60 NUM61 NUM62 NUM63 NUM64 NUM65 NUM66 NUM67 NUM68 NUM69 NUM70 NUM71 RTMAX IOT CLD POLL ' +sig_name_init='"ZERO", "HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "EMT", "FPE", "KILL", "BUS", "SEGV", "SYS", "PIPE", "ALRM", "TERM", "USR1", "USR2", "CHLD", "PWR", "WINCH", "URG", "IO", "STOP", "TSTP", "CONT", "TTIN", "TTOU", "VTALRM", "PROF", "XCPU", "XFSZ", "WAITING", "LWP", "FREEZE", "THAW", "CANCEL", "LOST", "XRES", "JVM1", "JVM2", "RTMIN", "NUM42", "NUM43", "NUM44", "NUM45", "NUM46", "NUM47", "NUM48", "NUM49", "NUM50", "NUM51", "NUM52", "NUM53", "NUM54", "NUM55", "NUM56", "NUM57", "NUM58", "NUM59", "NUM60", "NUM61", "NUM62", "NUM63", "NUM64", "NUM65", "NUM66", "NUM67", "NUM68", "NUM69", "NUM70", "NUM71", "RTMAX", "IOT", "CLD", "POLL", 0' +sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 6 18 22 ' +sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 6, 18, 22, 0' +sig_size='76' +signal_t='void' +sitearch='/usr/perl5/site_perl/5.12/i86pc-solaris-64int' +sitearchexp='/usr/perl5/site_perl/5.12/i86pc-solaris-64int' +sitebin='/usr/perl5/5.12/bin' +sitebinexp='/usr/perl5/5.12/bin' +sitehtml1dir='' +sitehtml1direxp='' +sitehtml3dir='' +sitehtml3direxp='' +sitelib='/usr/perl5/site_perl/5.12' +sitelib_stem='/usr/perl5/site_perl/5.12' +sitelibexp='/usr/perl5/site_perl/5.12' +siteman1dir='/usr/perl5/5.12/man/man1' +siteman1direxp='/usr/perl5/5.12/man/man1' +siteman3dir='/usr/perl5/5.12/man/man3' +siteman3direxp='/usr/perl5/5.12/man/man3' +siteprefix='/usr/perl5/5.12' +siteprefixexp='/usr/perl5/5.12' +sitescript='/usr/perl5/5.12/bin' +sitescriptexp='/usr/perl5/5.12/bin' +sizesize='4' +sizetype='size_t' +sleep='' +smail='' +so='so' +sockethdr='' +socketlib='' +socksizetype='int' +sort='sort' +spackage='Perl5' +spitshell='cat' +srand48_r_proto='0' +srandom_r_proto='0' +src='.' +ssizetype='ssize_t' +startperl='#!/usr/perl5/5.12/bin/perl' +startsh='#!/bin/sh' +static_ext=' ' +stdchar='unsigned char' +stdio_base='((fp)->_base)' +stdio_bufsiz='((fp)->_cnt + (fp)->_ptr - (fp)->_base)' +stdio_cnt='((fp)->_cnt)' +stdio_filbuf='' +stdio_ptr='((fp)->_ptr)' +stdio_stream_array='__iob' +strerror_r_proto='0' +strings='@@NEXTPROTO@@/usr/include/string.h' +submit='' +subversion='3' +sysman='/usr/share/man/man1' +tail='' +tar='' +targetarch='' +tbl='' +tee='' +test='test' +timeincl='@@NEXTPROTO@@/usr/include/sys/time.h ' +timetype='time_t' +tmpnam_r_proto='0' +to=':' +touch='touch' +tr='tr' +trnl='\n' +troff='' +ttyname_r_proto='0' +u16size='2' +u16type='unsigned short' +u32size='4' +u32type='unsigned long' +u64size='8' +u64type='unsigned long long' +u8size='1' +u8type='unsigned char' +uidformat='"lu"' +uidsign='1' +uidsize='4' +uidtype='uid_t' +uname='uname' +uniq='uniq' +uquadtype='unsigned long long' +use5005threads='undef' +use64bitall='undef' +use64bitint='define' +usecrosscompile='undef' +usedevel='undef' +usedl='define' +usedtrace='define' +usefaststdio='undef' +useithreads='undef' +uselargefiles='define' +uselongdouble='undef' +usemallocwrap='define' +usemorebits='undef' +usemultiplicity='undef' +usemymalloc='n' +usenm='true' +useopcode='true' +useperlio='define' +useposix='true' +usereentrant='undef' +userelocatableinc='undef' +usesfio='false' +useshrplib='false' +usesitecustomize='undef' +usesocks='undef' +usethreads='undef' +usevendorprefix='undef' +usevfork='false' +usrinc='@@NEXTPROTO@@/usr/include' +uuname='' +uvXUformat='"llX"' +uvoformat='"llo"' +uvsize='8' +uvtype='unsigned long long' +uvuformat='"llu"' +uvxformat='"llx"' +vaproto='define' +vendorarch='' +vendorarchexp='' +vendorbin='' +vendorbinexp='' +vendorhtml1dir=' ' +vendorhtml1direxp='' +vendorhtml3dir=' ' +vendorhtml3direxp='' +vendorlib='' +vendorlib_stem='' +vendorlibexp='' +vendorman1dir=' ' +vendorman1direxp='' +vendorman3dir=' ' +vendorman3direxp='' +vendorprefix='' +vendorprefixexp='' +vendorscript='' +vendorscriptexp='' +version='5.12.3' +version_patchlevel_string='version 12 subversion 3' +versiononly='undef' +vi='' +voidflags='15' +xlibpth='@@NEXTPROTO@@/usr/lib/386 @@NEXTPROTO@@/lib/386' +yacc='yacc' +yaccflags='' +zcat='' +zip='zip' +!END! + +my $i = 0; +foreach my $c (4,3,2) { $i |= ord($c); $i <<= 8 } +$i |= ord(1); +our $byteorder = join('', unpack('aaaa', pack('L!', $i))); +s/(byteorder=)(['"]).*?\2/$1$2$Config::byteorder$2/m; + +my $config_sh_len = length $_; + +our $Config_SH_expanded = "\n$_" . << 'EOVIRTUAL'; +ccflags_nolargefiles='-DPERL_USE_SAFE_PUTENV' +ldflags_nolargefiles='-L@@NEXTPROTO@@/usr/gnu/lib ' +libs_nolargefiles='-lsocket -lnsl -ldl -lm -lc' +libswanted_nolargefiles='sfio socket bind inet nsl nm ndbm gdbm dbm db dl dld sun m util c cposix posix bsd BSD ' +EOVIRTUAL +eval { + # do not have hairy conniptions if this isnt available + require 'Config_git.pl'; + $Config_SH_expanded .= $Config::Git_Data; + 1; +} or warn "Warning: failed to load Config_git.pl, something strange about this perl...\n"; + +# Search for it in the big string +sub fetch_string { + my($self, $key) = @_; + + # We only have ' delimted. + my $start = index($Config_SH_expanded, "\n$key=\'"); + # Start can never be -1 now, as we've rigged the long string we're + # searching with an initial dummy newline. + return undef if $start == -1; + + $start += length($key) + 3; + + my $value = substr($Config_SH_expanded, $start, + index($Config_SH_expanded, "'\n", $start) + - $start); + # So we can say "if $Config{'foo'}". + $value = undef if $value eq 'undef'; + $self->{$key} = $value; # cache it +} + +my $prevpos = 0; + +sub FIRSTKEY { + $prevpos = 0; + substr($Config_SH_expanded, 1, index($Config_SH_expanded, '=') - 1 ); +} + +sub NEXTKEY { + my $pos = index($Config_SH_expanded, qq('\n), $prevpos) + 2; + my $len = index($Config_SH_expanded, "=", $pos) - $pos; + $prevpos = $pos; + $len > 0 ? substr($Config_SH_expanded, $pos, $len) : undef; +} + +sub EXISTS { + return 1 if exists($_[0]->{$_[1]}); + + return(index($Config_SH_expanded, "\n$_[1]='") != -1 + ); +} + +sub STORE { die "\%Config::Config is read-only\n" } +*DELETE = \&STORE; +*CLEAR = \&STORE; + + +sub config_sh { + substr $Config_SH_expanded, 1, $config_sh_len; +} + +sub config_re { + my $re = shift; + return map { chomp; $_ } grep eval{ /^(?:$re)=/ }, split /^/, + $Config_SH_expanded; +} + +sub config_vars { + # implements -V:cfgvar option (see perlrun -V:) + foreach (@_) { + # find optional leading, trailing colons; and query-spec + my ($notag,$qry,$lncont) = m/^(:)?(.*?)(:)?$/; # flags fore and aft, + # map colon-flags to print decorations + my $prfx = $notag ? '': "$qry="; # tag-prefix for print + my $lnend = $lncont ? ' ' : ";\n"; # line ending for print + + # all config-vars are by definition \w only, any \W means regex + if ($qry =~ /\W/) { + my @matches = config_re($qry); + print map "$_$lnend", @matches ? @matches : "$qry: not found" if !$notag; + print map { s/\w+=//; "$_$lnend" } @matches ? @matches : "$qry: not found" if $notag; + } else { + my $v = (exists $Config::Config{$qry}) ? $Config::Config{$qry} + : 'UNKNOWN'; + $v = 'undef' unless defined $v; + print "${prfx}'${v}'$lnend"; + } + } +} + +# Called by the real AUTOLOAD +sub launcher { + undef &AUTOLOAD; + goto \&$Config::AUTOLOAD; +} + +1; diff --git a/perl/Makefile b/perl/Makefile index 21e03278..cd434cf2 100644 --- a/perl/Makefile +++ b/perl/Makefile @@ -48,6 +48,70 @@ SHARED_LDFLAGS = \ -G \ $(LDFLAGS) +# +# This is where things get really gross. There is stuff in ON that is going +# to use the bootstrap perl to build various artifacts (binary and otherwise). +# When it does so, that perl needs to know to look in the *proto* area, not +# the bootstrap proto area, for everything except its own installed files. So +# all the header and library flags need to point there. Similarly, when we +# build the perl that will end up in the platform, it needs to go in the proto +# area but its configuration must reflect the installed (platform) paths. +# +# To accommodate both of these, we split the familiar config.sh into the +# perl-build-time config.over and the perl-run-time (consumer build-time) +# Config_heavy.pl. We further introduce the notion of the "next" proto area; +# that is, where the perl we're building should tell its consumers to look +# for the rest of the system. Similarly, "this" proto simply means where +# *this* perl will itself be installed. This system implies knowledge of +# the mechanism used to build bootstrap and ordinary proto areas in +# smartos-live and it will not otherwise work. +# +# Further complicating matters is the need for differences in runtime +# configuration between the bootstrap and delivered perl, giving rise to two +# different Config_heavy.pl templates. +# +# Finally, because the bootstrap perl actually knows that it's going to end +# up in the bootstrap proto area (it has to, since it will be run from there +# and needs to know to look there for pieces of itself), we do NOT use +# DESTDIR when installing it. We *do* when installing the delivered perl, +# which is never run on the build system. Thus, INSTALL_DESTDIR is set only +# for the regular build; for the bootstrap build it is empty. +# +# The alternative to this is to run the perl on the build system during the +# build. However, the platform image on the build machine may be arbitrarily +# old, and doing this would create a platform image (and this also fake subset) +# flag day if and when the perl in this repo is changed. This is because it is +# necessary for the binary modules in ON to be built against the same perl that +# will actually be installed on the running system. In this regard they are +# quite similar to other ON consumers of -extra bits. The only complication is +# that consuming perl as a binary module conventionally requires not only that +# the headers and libraries be present but also that a matching perl be +# available and executable at build time. +# +# I can't believe we've made it this far without any profanity. Holy fuck! +# +INSTALL_DESTDIR := $(shell [[ -z "$(STRAP)" ]] && echo "$(DESTDIR)") +NEXTPROTO := $(shell [[ -n "$(STRAP)" ]] && echo "$(DESTDIR:.strap=)") + +CONFIG_PL = Config_heavy.pl$(STRAP) +ROOTBASE = $(DESTDIR)/usr/perl5/5.12 +ROOTCONFIG_PL = $(ROOTBASE)/lib/i86pc-solaris-64int/Config_heavy.pl + +CLEANFILES += $(CONFIG_PL) + +XFORM.sh = \ + sed -e 's;@@CC@@;$(GCC);g' \ + -e 's;@@CPPFLAGS@@;$(CPPFLAGS);g' \ + -e 's;@@CFLAGS@@;$(CFLAGS);g' \ + -e 's;@@BASIC_CPPFLAGS@@;$(BASIC_CPPFLAGS);g' \ + -e 's;@@LF_CPPFLAGS@@;$(LF_CPPFLAGS);g' \ + -e 's;@@LDFLAGS@@;$(LDFLAGS);g' \ + -e 's;@@LIBS@@;$(LIBS);g' \ + -e 's;@@GMAKE@@;$(MAKE);g' \ + -e 's;@@THISPROTO@@;$(STRAP:strap=$(DESTDIR));g' \ + -e 's;@@NEXTPROTO@@;$(NEXTPROTO);g' \ + -e 's;@@SHARED_LDFLAGS@@;$(SHARED_LDFLAGS);g' < $< > $@ + include ../Makefile.targ all: $(VER.32)/perldtrace.h @@ -56,28 +120,22 @@ all: $(VER.32)/perldtrace.h test: all (cd $(VER.32); $(MAKE) test) -install: all +install: all $(CONFIG_PL) (cd $(VER.32);\ rm -f $(DESTDIR)/usr/perl5/5.12/lib/i86pc-solaris-64int/.packlist;\ - DESTDIR=$(DESTDIR) \ - gmake install) + gmake DESTDIR=$(INSTALL_DESTDIR) install) rm -f $(DESTDIR)/usr/perl5/5.12/lib/i86pc-solaris-64int/Config_heavy.pl - cp Config_heavy.pl $(DESTDIR)/usr/perl5/5.12/lib/i86pc-solaris-64int/ - -$(VER.32)/config.over: config.over.in $(VER.32)/$(UNPACK_SENTINEL) - sed -e 's#@@CC@@#$(GCC)#g' \ - -e 's#@@CPPFLAGS@@#$(CPPFLAGS)#g' \ - -e 's#@@CFLAGS@@#$(CFLAGS)#g' \ - -e 's#@@BASIC_CPPFLAGS@@#$(BASIC_CPPFLAGS)#g' \ - -e 's#@@LF_CPPFLAGS@@#$(LF_CPPFLAGS)#g' \ - -e 's#@@LDFLAGS@@#$(LDFLAGS)#g' \ - -e 's#@@LIBS@@#$(LIBS)#g' \ - -e 's#@@GMAKE@@#$(MAKE)#g' \ - -e 's#@@SHARED_LDFLAGS@@#$(SHARED_LDFLAGS)#g' < $< > $@ + cp $(CONFIG_PL) $(ROOTCONFIG_PL) + +$(VER.32)/config.over: config.over.in $(VER.32)/$(UNPACK_SENTINEL) Makefile + $(XFORM.sh) + +$(CONFIG_PL): $(CONFIG_PL).in Makefile + $(XFORM.sh) $(VER.32)/cflags: $(VER.32)/config.over $(VER.32)/Configure (cd $(VER.32) && \ - ./Configure -des -Dcc=$(GCC) ) + ./Configure -des -Dcc=$(GCC) -Duse64bitint) $(VER.32)/perldtrace.h: $(VER.32)/cflags (cd $(VER.32) && \ diff --git a/perl/config.over.in b/perl/config.over.in index 06abe797..e4bcc902 100644 --- a/perl/config.over.in +++ b/perl/config.over.in @@ -1,14 +1,15 @@ #!/bin/sh aphostname='/usr/bin/hostname' ar='/usr/bin/ar' -archlib='/usr/perl5/5.12/lib/i86pc-solaris-64int' -archlibexp='/usr/perl5/5.12/lib/i86pc-solaris-64int' +archlib='@@THISPROTO@@/usr/perl5/5.12/lib/i86pc-solaris-64int' +archlibexp='@@THISPROTO@@/usr/perl5/5.12/lib/i86pc-solaris-64int' archname64='64int' archname='i86pc-solaris-64int' awk='/usr/bin/nawk' -bin='/usr/perl5/5.12/bin' -binexp='/usr/perl5/5.12/bin' +bin='@@THISPROTO@@/usr/perl5/5.12/bin' +binexp='@@THISPROTO@@/usr/perl5/5.12/bin' bison='/opt/local/bin/bison' +byteorder='12345678' cat='/usr/bin/cat' cc='@@CC@@' ccflags='@@CPPFLAGS@@ @@CFLAGS@@' @@ -21,42 +22,47 @@ cpio='' cpp='/opt/local/bin/cpp' cppflags='@@BASIC_CPPFLAGS@@' csh='/usr/bin/csh' +d_nv_preserves_uv='define' +d_printf_format_null='undef' date='/usr/bin/date' dtrace='/usr/sbin/dtrace' echo='/usr/bin/echo' egrep='/usr/bin/egrep' expr='/usr/bin/expr' -full_ar='/usr/bin/ar' +full_ar='/usr/xpg4/bin/ar' full_csh='/usr/bin/csh' -full_sed='/usr/bin/sed' +full_sed='/usr/xpg4/bin/sed' glibpth='/usr/lib /lib' gmake='@@GMAKE@@' grep='/usr/bin/grep' groupcat='/usr/bin/cat /etc/group' gzip='/usr/bin/gzip' hostcat='/usr/bin/cat /etc/hosts' -initialinstalllocation='/usr/perl5/5.12/bin' -installarchlib='/usr/perl5/5.12/lib/i86pc-solaris-64int' -installbin='/usr/perl5/5.12/bin' +initialinstalllocation='@@THISPROTO@@/usr/perl5/5.12/bin' +installarchlib='@@THISPROTO@@/usr/perl5/5.12/lib/i86pc-solaris-64int' +installbin='@@THISPROTO@@/usr/perl5/5.12/bin' installhtml1dir='' installhtml3dir='' -installman1dir='/usr/perl5/5.12/man/man1' -installman3dir='/usr/perl5/5.12/man/man3' -installprefix='/usr/perl5/5.12' -installprefixexp='/usr/perl5/5.12' -installprivlib='/usr/perl5/5.12/lib' -installscript='/usr/perl5/5.12/bin' -installsitearch='/usr/perl5/site_perl/5.12/i86pc-solaris-64int' -installsitebin='/usr/perl5/5.12/bin' +installman1dir='@@THISPROTO@@/usr/perl5/5.12/man/man1' +installman3dir='@@THISPROTO@@/usr/perl5/5.12/man/man3' +installprefix='@@THISPROTO@@/usr/perl5/5.12' +installprefixexp='@@THISPROTO@@/usr/perl5/5.12' +installprivlib='@@THISPROTO@@/usr/perl5/5.12/lib' +installscript='@@THISPROTO@@/usr/perl5/5.12/bin' +installsitearch='@@THISPROTO@@/usr/perl5/site_perl/5.12/i86pc-solaris-64int' +installsitebin='@@THISPROTO@@/usr/perl5/5.12/bin' installsitehtml1dir='' installsitehtml3dir='' -installsitelib='/usr/perl5/site_perl/5.12' -installsiteman1dir='/usr/perl5/5.12/man/man1' -installsiteman3dir='/usr/perl5/5.12/man/man3' -installsitescript='/usr/perl5/5.12/bin' +installsitelib='@@THISPROTO@@/usr/perl5/site_perl/5.12' +installsiteman1dir='@@THISPROTO@@/usr/perl5/5.12/man/man1' +installsiteman3dir='@@THISPROTO@@/usr/perl5/5.12/man/man3' +installsitescript='@@THISPROTO@@/usr/perl5/5.12/bin' installstyle='lib' installusrbinperl='undef' issymlink='/usr/bin/test -h' +ivdformat='"lld"' +ivsize='8' +ivtype='long long' ld='@@CC@@' lddlflags='@@SHARED_LDFLAGS@@' ldflags='@@LDFLAGS@@ ' @@ -67,15 +73,15 @@ libsfiles=' libsocket.so libnsl.so libdl.so libm.so libc.so' libsfound=' /usr/lib/libsocket.so /usr/lib/libnsl.so /usr/lib/libdl.so /usr/lib/libm.so /usr/lib/libc.so' libspath=' /usr/lib /lib /usr/gnu/lib' ln='/usr/bin/ln' -lns='/usr/bin/ln -s' +lns='/usr/xpg4/bin/ln -s' locincpth='/usr/gnu/include' loclibpth='/usr/gnu/lib' make='/usr/ccs/bin/make' -man1dir='/usr/perl5/5.12/man/man1' -man1direxp='/usr/perl5/5.12/man/man1' +man1dir='@@THISPROTO@@/usr/perl5/5.12/man/man1' +man1direxp='@@THISPROTO@@/usr/perl5/5.12/man/man1' man1ext='1' -man3dir='/usr/perl5/5.12/man/man3' -man3direxp='/usr/perl5/5.12/man/man3' +man3dir='@@THISPROTO@@/usr/perl5/5.12/man/man3' +man3direxp='@@THISPROTO@@/usr/perl5/5.12/man/man3' man3ext='3' mips_type='' mkdir='/usr/bin/mkdir' @@ -85,51 +91,60 @@ mydomain='.illumos.org' myhostname='illumos' nm='/usr/bin/nm' nroff='/usr/bin/nroff' +nv_preserves_uv_bits='53' package='perl5' pager='/usr/bin/less -R' passcat='/usr/bin/cat /etc/passwd' perl5='/usr/bin/perl' perladmin='bugs@illumos.org' -perlpath='/usr/perl5/5.12/bin/perl' +perlpath='@@THISPROTO@@/usr/perl5/5.12/bin/perl' pg='/usr/bin/pg' phostname='/usr/bin/hostname' -prefix='/usr/perl5/5.12' -prefixexp='/usr/perl5/5.12' -privlib='/usr/perl5/5.12/lib' -privlibexp='/usr/perl5/5.12/lib' +prefix='@@THISPROTO@@/usr/perl5/5.12' +prefixexp='@@THISPROTO@@/usr/perl5/5.12' +privlib='@@THISPROTO@@/usr/perl5/5.12/lib' +privlibexp='@@THISPROTO@@/usr/perl5/5.12/lib' rm='/usr/bin/rm' rm_try='/usr/bin/rm -f try try a.out .out try.[cho] try..o core core.try* try.core*' -scriptdir='/usr/perl5/5.12/bin' -scriptdirexp='/usr/perl5/5.12/bin' +scriptdir='@@THISPROTO@@/usr/perl5/5.12/bin' +scriptdirexp='@@THISPROTO@@/usr/perl5/5.12/bin' sed='/usr/bin/sed' sh='/bin/sh' -sitearch='/usr/perl5/site_perl/5.12/i86pc-solaris-64int' -sitearchexp='/usr/perl5/site_perl/5.12/i86pc-solaris-64int' -sitebin='/usr/perl5/5.12/bin' -sitebinexp='/usr/perl5/5.12/bin' +sitearch='@@THISPROTO@@/usr/perl5/site_perl/5.12/i86pc-solaris-64int' +sitearchexp='@@THISPROTO@@/usr/perl5/site_perl/5.12/i86pc-solaris-64int' +sitebin='@@THISPROTO@@/usr/perl5/5.12/bin' +sitebinexp='@@THISPROTO@@/usr/perl5/5.12/bin' sitehtml1dir='' sitehtml1direxp='' sitehtml3dir='' sitehtml3direxp='' -sitelib='/usr/perl5/site_perl/5.12' -sitelib_stem='/usr/perl5/site_perl/5.12' -sitelibexp='/usr/perl5/site_perl/5.12' -siteman1dir='/usr/perl5/5.12/man/man1' -siteman1direxp='/usr/perl5/5.12/man/man1' -siteman3dir='/usr/perl5/5.12/man/man3' -siteman3direxp='/usr/perl5/5.12/man/man3' -siteprefix='/usr/perl5/5.12' -siteprefixexp='/usr/perl5/5.12' -sitescript='/usr/perl5/5.12/bin' -sitescriptexp='/usr/perl5/5.12/bin' +sitelib='@@THISPROTO@@/usr/perl5/site_perl/5.12' +sitelib_stem='@@THISPROTO@@/usr/perl5/site_perl/5.12' +sitelibexp='@@THISPROTO@@/usr/perl5/site_perl/5.12' +siteman1dir='@@THISPROTO@@/usr/perl5/5.12/man/man1' +siteman1direxp='@@THISPROTO@@/usr/perl5/5.12/man/man1' +siteman3dir='@@THISPROTO@@/usr/perl5/5.12/man/man3' +siteman3direxp='@@THISPROTO@@/usr/perl5/5.12/man/man3' +siteprefix='@@THISPROTO@@/usr/perl5/5.12' +siteprefixexp='@@THISPROTO@@/usr/perl5/5.12' +sitescript='@@THISPROTO@@/usr/perl5/5.12/bin' +sitescriptexp='@@THISPROTO@@/usr/perl5/5.12/bin' sort='/usr/bin/sort' spitshell='/usr/bin/cat' -startperl='#!/usr/perl5/5.12/bin/perl' +startperl='#!@@THISPROTO@@/usr/perl5/5.12/bin/perl' test='/usr/bin/test' touch='/usr/bin/touch' tr='/usr/bin/tr' uname='/usr/bin/uname' uniq='/usr/bin/uniq' +use64bitint='define' +usedtrace='define' +uvXUformat='"llX"' +uvoformat='"llo"' +uvsize='8' +uvtype='unsigned long long' +uvuformat='"llu"' +uvxformat='"llx"' xlibpth='' yacc='/usr/bin/yacc' zip=''