package Config; use Exporter (); @ISA = (Exporter); @EXPORT = qw(%Config); @EXPORT_OK = qw(myconfig config_sh config_vars); $] == 5.00503 or die "Perl lib version (5.00503) doesn't match executable version ($])"; # 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. ## ## 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: Fri Dec 17 17:15:45 CET 1999 ## Configured by : root ## Target system : linux jedi.mandrakesoft.com 2.2.14-1mdksmp #1 smp thu dec 2 01:02:03 cet 1999 i686 unknown # ## Configure command line arguments. my $config_sh = <<'!END!'; archlibexp='/usr/lib/perl5/5.00503/i386-linux' archname='i386-linux' cc='cc' ccflags='-Dbool=char -DHAS_BOOL -I/usr/local/include' cppflags='-Dbool=char -DHAS_BOOL -I/usr/local/include' dlsrc='dl_dlopen.xs' dynamic_ext='B DB_File Data/Dumper Fcntl GDBM_File IO IPC/SysV NDBM_File Opcode POSIX SDBM_File Socket attrs re' extensions='B DB_File Data/Dumper Fcntl GDBM_File IO IPC/SysV NDBM_File Opcode POSIX SDBM_File Socket attrs re Errno' installarchlib='/usr/lib/perl5/5.00503/i386-linux' installprivlib='/usr/lib/perl5/5.00503' libpth='/usr/local/lib /lib /usr/lib' libs='-lnsl -ldl -lm -lc -lposix -lcrypt' osname='linux' osvers='2.2.14-1mdksmp' prefix='/usr' privlibexp='/usr/lib/perl5/5.00503' sharpbang='#!' shsharp='true' sig_name='ZERO HUP INT QUIT ILL TRAP ABRT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR UNUSED RTMIN NUM33 NUM34 NUM35 NUM36 NUM37 NUM38 NUM39 NUM40 NUM41 NUM42 NUM43 NUM44 NUM45 NUM46 NUM47 NUM48 NUM49 NUM50 NUM51 NUM52 NUM53 NUM54 NUM55 NUM56 NUM57 NUM58 NUM59 NUM60 NUM61 NUM62 RTMAX IOT CLD POLL ' 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 6 17 29 ' so='so' startsh='#!/bin/sh' static_ext=' ' Author='' CONFIG='true' Date='$Date' Header='' Id='$Id' Locker='' Log='$Log' Mcc='Mcc' PATCHLEVEL='5' RCSfile='$RCSfile' Revision='$Revision' SUBVERSION='3' Source='' State='' _a='.a' _exe='' _o='.o' afs='false' alignbytes='4' ansi2knr='' aphostname='' apiversion='5.005' ar='ar' archlib='/usr/lib/perl5/5.00503/i386-linux' archobjs='' awk='awk' baserev='5.0' bash='' bin='/usr/bin' binexp='/usr/bin' bison='' byacc='byacc' byteorder='1234' c='' castflags='0' cat='cat' cccdlflags='-fpic' ccdlflags='-rdynamic' ccsymbols='__ELF__=1 __GNUC_MINOR__=95 __GNUC__=2 __i586=1 __i586__=1 __linux=1 __pentium=1 __pentium__=1 cpu=i386 i586=1 machine=i386 pentium=1 system=posix' cf_by='root' cf_email='root@jedi.mandrakesoft.com' cf_time='Fri Dec 17 17:15:45 CET 1999' chgrp='' chmod='' chown='' clocktype='clock_t' comm='comm' compress='' config_arg0='Configure' config_arg10='-Ud_csh' config_arg11='-Dman3dir=/usr/lib/perl5/man/man3' config_arg12='-Doptimize=-O3 -fomit-frame-pointer -fno-exceptions -fno-rtti -pipe -s -mpentium -mcpu=pentium -march=pentium -ffast-math -fexpensive-optimizations' config_arg1='-des' config_arg2='-Dprefix=/usr' config_arg3='-Dinstallprefix=/usr' config_arg4='-Darchname=i386-linux' config_arg5='-Dd_dosuid' config_arg6='-Dd_semctl_semun' config_arg7='-Di_db' config_arg8='-Di_ndbm' config_arg9='-Di_gdbm' config_argc='12' config_args='-des -Dprefix=/usr -Dinstallprefix=/usr -Darchname=i386-linux -Dd_dosuid -Dd_semctl_semun -Di_db -Di_ndbm -Di_gdbm -Ud_csh -Dman3dir=/usr/lib/perl5/man/man3 -Doptimize=-O3 -fomit-frame-pointer -fno-exceptions -fno-rtti -pipe -s -mpentium -mcpu=pentium -march=pentium -ffast-math -fexpensive-optimizations' contains='grep' cp='cp' cpio='' cpp='cpp' cpp_stuff='42' cppccsymbols='__i386=1 __i386__=1 __linux__=1 __unix=1 __unix__=1 i386=1 linux=1 unix=1' cpplast='-' cppminus='-' cpprun='cc -E' cppstdin='cc -E' cppsymbols='__STDC__=1' cryptlib='' csh='csh' d_Gconvert='gcvt((x),(n),(b))' d_access='define' d_alarm='define' d_archlib='define' d_attribut='define' d_bcmp='define' d_bcopy='define' d_bsd='undef' d_bsdgetpgrp='undef' d_bsdsetpgrp='undef' d_bzero='define' d_casti32='undef' d_castneg='define' d_charvspr='undef' d_chown='define' d_chroot='define' d_chsize='undef' d_closedir='define' d_const='define' d_crypt='define' d_csh='undef' d_cuserid='define' d_dbl_dig='define' d_difftime='define' d_dirnamlen='undef' d_dlerror='define' d_dlopen='define' d_dlsymun='undef' d_dosuid='define' d_dup2='define' d_endgrent='define' d_endhent='define' d_endnent='define' d_endpent='define' d_endpwent='define' d_endsent='define' d_eofnblk='define' d_eunice='undef' d_fchmod='define' d_fchown='define' d_fcntl='define' d_fd_macros='define' d_fd_set='define' d_fds_bits='undef' d_fgetpos='define' d_flexfnam='define' d_flock='define' d_fork='define' d_fpathconf='define' d_fsetpos='define' d_fstatfs='define' d_fstatvfs='define' d_ftime='undef' d_getgrent='define' d_getgrps='define' d_gethbyaddr='define' d_gethbyname='define' d_gethent='define' d_gethname='undef' d_gethostprotos='define' d_getlogin='define' d_getmntent='define' d_getnbyaddr='define' d_getnbyname='define' d_getnent='define' d_getnetprotos='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_getprotoprotos='define' d_getpwent='define' d_getsbyname='define' d_getsbyport='define' d_getsent='define' d_getservprotos='define' d_gettimeod='define' d_gnulibc='define' d_grpasswd='define' d_hasmntopt='define' d_htonl='define' d_index='undef' d_inetaton='define' d_isascii='define' d_killpg='define' d_lchown='define' d_link='define' d_locconv='define' d_lockf='define' d_longdbl='define' d_longlong='define' d_lstat='define' d_mblen='define' d_mbstowcs='define' d_mbtowc='define' d_memcmp='define' d_memcpy='define' d_memmove='define' d_memset='define' d_mkdir='define' d_mkfifo='define' d_mktime='define' d_msg='define' d_msgctl='define' d_msgget='define' d_msgrcv='define' d_msgsnd='define' d_mymalloc='undef' d_nice='define' d_oldpthreads='undef' d_oldsock='undef' d_open3='define' d_pathconf='define' d_pause='define' d_phostname='undef' d_pipe='define' d_poll='define' d_portable='define' d_pthread_yield='undef' d_pthreads_created_joinable='undef' d_pwage='undef' d_pwchange='undef' d_pwclass='undef' d_pwcomment='undef' d_pwexpire='undef' d_pwgecos='define' d_pwpasswd='define' d_pwquota='undef' d_readdir='define' d_readlink='define' d_rename='define' d_rewinddir='define' d_rmdir='define' d_safebcpy='define' d_safemcpy='undef' d_sanemcmp='define' d_sched_yield='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_setegid='define' d_seteuid='define' d_setgrent='define' d_setgrps='define' d_sethent='define' d_setlinebuf='define' d_setlocale='define' d_setnent='define' d_setpent='define' d_setpgid='define' d_setpgrp2='undef' d_setpgrp='define' d_setprior='define' d_setpwent='define' d_setregid='define' d_setresgid='define' d_setresuid='define' d_setreuid='define' d_setrgid='undef' d_setruid='undef' d_setsent='define' 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_sigsetjmp='define' d_socket='define' d_sockpair='define' d_statblks='define' d_statfsflags='undef' d_stdio_cnt_lval='undef' d_stdio_ptr_lval='undef' d_stdiobase='undef' d_stdstdio='undef' d_strchr='define' d_strcoll='define' d_strctcpy='define' d_strerrm='strerror(e)' d_strerror='define' d_strtod='define' d_strtol='define' d_strtoul='define' d_strxfrm='define' d_suidsafe='undef' d_symlink='define' d_syscall='define' d_sysconf='define' d_sysernlst='' d_syserrlst='define' d_system='define' d_tcgetpgrp='define' d_tcsetpgrp='define' d_telldir='define' d_time='define' d_times='define' d_truncate='define' d_tzname='define' d_umask='define' d_uname='define' d_union_semun='undef' d_vfork='undef' d_void_closedir='undef' d_voidsig='define' d_voidtty='' d_volatile='define' d_vprintf='define' d_wait4='define' d_waitpid='define' d_wcstombs='define' d_wctomb='define' d_xenix='undef' date='date' db_hashtype='u_int32_t' db_prefixtype='size_t' defvoidused='15' direntrytype='struct dirent' dlext='so' doublesize='8' eagain='EAGAIN' ebcdic='undef' echo='echo' egrep='egrep' emacs='' eunicefix=':' exe_ext='' expr='expr' find='find' firstmakefile='makefile' flex='' fpostype='fpos_t' freetype='void' full_ar='/usr/bin/ar' full_csh='/bin/csh' full_sed='/bin/sed' gccversion='2.95.2 19991024 (release)' gidtype='gid_t' glibpth='/usr/shlib /shlib /lib/pa1.1 /usr/lib/large /lib /usr/lib /usr/lib/386 /lib/386 /lib/large /usr/lib/small /lib/small /usr/ccs/lib /usr/ucblib /usr/local/lib ' grep='grep' groupcat='cat /etc/group' groupstype='gid_t' gzip='gzip' h_fcntl='false' h_sysfile='true' hint='recommended' hostcat='cat /etc/hosts' huge='' i_arpainet='define' i_bsdioctl='' i_db='define' i_dbm='undef' i_dirent='define' i_dld='undef' i_dlfcn='define' i_fcntl='undef' i_float='define' i_gdbm='define' i_grp='define' i_limits='define' i_locale='define' i_machcthreads='undef' i_malloc='define' i_math='define' i_memory='undef' i_mntent='define' i_ndbm='define' i_netdb='define' i_neterrno='undef' i_niin='define' i_pthread='define' i_pwd='define' i_rpcsvcdbm='undef' i_sfio='undef' i_sgtty='undef' i_stdarg='define' i_stddef='define' i_stdlib='define' i_string='define' i_sysdir='define' i_sysfile='define' i_sysfilio='undef' i_sysin='undef' i_sysioctl='define' i_sysmount='define' i_sysndir='undef' i_sysparam='define' i_sysresrc='define' i_sysselct='define' i_syssockio='' i_sysstat='define' i_sysstatvfs='define' i_systime='define' i_systimek='undef' i_systimes='define' i_systypes='define' i_sysun='define' i_syswait='define' i_termio='undef' i_termios='define' i_time='undef' i_unistd='define' i_utime='define' i_values='define' i_varargs='undef' i_varhdr='stdarg.h' i_vfork='undef' ignore_versioned_solibs='y' incpath='' inews='' installbin='/usr/bin' installman1dir='/usr/man/man1' installman3dir='/usr/lib/perl5/man/man3' installscript='/usr/bin' installsitearch='/usr/lib/perl5/site_perl/5.005/i386-linux' installsitelib='/usr/lib/perl5/site_perl/5.005' installusrbinperl='undef' intsize='4' known_extensions='B DB_File Data/Dumper Fcntl GDBM_File IO IPC/SysV NDBM_File ODBM_File Opcode POSIX SDBM_File Socket Thread attrs re' ksh='' large='' ld='cc' lddlflags='-shared -L/usr/local/lib' ldflags=' -L/usr/local/lib' less='less' lib_ext='.a' libc='' libperl='libperl.a' libswanted='sfio socket inet nsl nm dbm malloc dl dld ld sun m c cposix posix ndir dir crypt ucb BSD PW x' line='line' lint='' lkflags='' ln='ln' lns='/bin/ln -s' locincpth='/usr/local/include /opt/local/include /usr/gnu/include /opt/gnu/include /usr/GNU/include /opt/GNU/include' loclibpth='/usr/local/lib /opt/local/lib /usr/gnu/lib /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib' longdblsize='12' longlongsize='8' longsize='4' lp='' lpr='' ls='ls' lseektype='off_t' mail='' mailx='' make='make' make_set_make='#' mallocobj='' mallocsrc='' malloctype='void *' man1dir='/usr/man/man1' man1direxp='/usr/man/man1' man1ext='1' man3dir='/usr/lib/perl5/man/man3' man3direxp='/usr/lib/perl5/man/man3' man3ext='3' medium='' mips='' mips_type='' mkdir='mkdir' models='none' modetype='mode_t' more='more' mv='' myarchname='i686-linux' mydomain='.mandrakesoft.com' myhostname='jedi' myuname='linux jedi.mandrakesoft.com 2.2.14-1mdksmp #1 smp thu dec 2 01:02:03 cet 1999 i686 unknown ' n='-n' netdb_hlen_type='size_t' netdb_host_type='const char *' netdb_name_type='const char *' netdb_net_type='unsigned long' nm='nm' nm_opt='' nm_so_opt='--dynamic' nonxs_ext='Errno' nroff='nroff' o_nonblock='O_NONBLOCK' obj_ext='.o' optimize='-O3 -fomit-frame-pointer -fno-exceptions -fno-rtti -pipe -s -mpentium -mcpu=pentium -march=pentium -ffast-math -fexpensive-optimizations' orderlib='false' package='perl5' pager='/usr/bin/less' passcat='cat /etc/passwd' patchlevel='5' path_sep=':' perl='perl' perladmin='root@jedi.mandrakesoft.com' perlpath='/usr/bin/perl' pg='pg' phostname='hostname' pidtype='pid_t' plibpth='' pmake='' pr='' prefixexp='/usr' privlib='/usr/lib/perl5/5.00503' prototype='define' ptrsize='4' randbits='31' ranlib=':' rd_nodata='-1' rm='rm' rmail='' runnm='false' scriptdir='/usr/bin' scriptdirexp='/usr/bin' sed='sed' selectminbits='32' selecttype='fd_set *' sendmail='sendmail' sh='/bin/sh' shar='' shmattype='void *' shortsize='2' shrpenv='' sig_name_init='"ZERO", "HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "BUS", "FPE", "KILL", "USR1", "SEGV", "USR2", "PIPE", "ALRM", "TERM", "STKFLT", "CHLD", "CONT", "STOP", "TSTP", "TTIN", "TTOU", "URG", "XCPU", "XFSZ", "VTALRM", "PROF", "WINCH", "IO", "PWR", "UNUSED", "RTMIN", "NUM33", "NUM34", "NUM35", "NUM36", "NUM37", "NUM38", "NUM39", "NUM40", "NUM41", "NUM42", "NUM43", "NUM44", "NUM45", "NUM46", "NUM47", "NUM48", "NUM49", "NUM50", "NUM51", "NUM52", "NUM53", "NUM54", "NUM55", "NUM56", "NUM57", "NUM58", "NUM59", "NUM60", "NUM61", "NUM62", "RTMAX", "IOT", "CLD", "POLL", 0' 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, 6, 17, 29, 0' signal_t='void' sitearch='/usr/lib/perl5/site_perl/5.005/i386-linux' sitearchexp='/usr/lib/perl5/site_perl/5.005/i386-linux' sitelib='/usr/lib/perl5/site_perl/5.005' sitelibexp='/usr/lib/perl5/site_perl/5.005' sizetype='size_t' sleep='' smail='' small='' sockethdr='' socketlib='' sort='sort' spackage='Perl5' spitshell='cat' split='' src='.' ssizetype='ssize_t' startperl='#!/usr/bin/perl' stdchar='char' stdio_base='((fp)->_base)' stdio_bufsiz='((fp)->_cnt + (fp)->_ptr - (fp)->_base)' stdio_cnt='((fp)->_cnt)' stdio_filbuf='' stdio_ptr='((fp)->_ptr)' strings='/usr/include/string.h' submit='' subversion='3' sysman='/usr/man/man1' tail='' tar='' tbl='' tee='tee' test='test' timeincl='/usr/include/sys/time.h ' timetype='time_t' touch='touch' tr='tr' trnl='\n' troff='' uidtype='uid_t' uname='uname' uniq='uniq' usedl='define' usemymalloc='n' usenm='false' useopcode='true' useperlio='undef' useposix='true' usesfio='false' useshrplib='false' usethreads='undef' usevfork='false' usrinc='/usr/include' uuname='' version='5.00503' vi='' voidflags='15' xlibpth='/usr/lib/386 /lib/386' zcat='' zip='zip' !END! my $summary = <<'!END!'; Summary of my $package ($baserev patchlevel $PATCHLEVEL subversion $SUBVERSION) configuration: Platform: osname=$osname, osvers=$osvers, archname=$archname uname='$myuname' hint=$hint, useposix=$useposix, d_sigaction=$d_sigaction usethreads=$usethreads useperlio=$useperlio d_sfio=$d_sfio Compiler: cc='$cc', optimize='$optimize', gccversion=$gccversion cppflags='$cppflags' ccflags ='$ccflags' stdchar='$stdchar', d_stdstdio=$d_stdstdio, usevfork=$usevfork intsize=$intsize, longsize=$longsize, ptrsize=$ptrsize, doublesize=$doublesize d_longlong=$d_longlong, longlongsize=$longlongsize, d_longdbl=$d_longdbl, longdblsize=$longdblsize alignbytes=$alignbytes, usemymalloc=$usemymalloc, prototype=$prototype Linker and Libraries: ld='$ld', ldflags ='$ldflags' libpth=$libpth libs=$libs libc=$libc, so=$so, useshrplib=$useshrplib, libperl=$libperl Dynamic Linking: dlsrc=$dlsrc, dlext=$dlext, d_dlsymun=$d_dlsymun, ccdlflags='$ccdlflags' cccdlflags='$cccdlflags', lddlflags='$lddlflags' !END! my $summary_expanded = 0; sub myconfig { return $summary if $summary_expanded; $summary =~ s{\$(\w+)} { my $c = $Config{$1}; defined($c) ? $c : 'undef' }ge; $summary_expanded = 1; $summary; } sub FETCH { # check for cached value (which may be undef so we use exists not defined) return $_[0]->{$_[1]} if (exists $_[0]->{$_[1]}); # Search for it in the big string my($value, $start, $marker, $quote_type); $marker = "$_[1]="; $quote_type = "'"; # return undef unless (($value) = $config_sh =~ m/^$_[1]='(.*)'\s*$/m); # Check for the common case, ' delimeted $start = index($config_sh, "\n$marker$quote_type"); # If that failed, check for " delimited if ($start == -1) { $quote_type = '"'; $start = index($config_sh, "\n$marker$quote_type"); } return undef if ( ($start == -1) && # in case it's first (substr($config_sh, 0, length($marker)) ne $marker) ); if ($start == -1) { # It's the very first thing we found. Skip $start forward # and figure out the quote mark after the =. $start = length($marker) + 1; $quote_type = substr($config_sh, $start - 1, 1); } else { $start += length($marker) + 2; } $value = substr($config_sh, $start, index($config_sh, "$quote_type\n", $start) - $start); # If we had a double-quote, we'd better eval it so escape # sequences and such can be interpolated. Since the incoming # value is supposed to follow shell rules and not perl rules, # we escape any perl variable markers if ($quote_type eq '"') { $value =~ s/\$/\\\$/g; $value =~ s/\@/\\\@/g; eval "\$value = \"$value\""; } #$value = sprintf($value) if $quote_type eq '"'; $value = undef if $value eq 'undef'; # So we can say "if $Config{'foo'}". $_[0]->{$_[1]} = $value; # cache it return $value; } my $prevpos = 0; sub FIRSTKEY { $prevpos = 0; # my($key) = $config_sh =~ m/^(.*?)=/; substr($config_sh, 0, index($config_sh, '=') ); # $key; } sub NEXTKEY { # Find out how the current key's quoted so we can skip to its end. my $quote = substr($config_sh, index($config_sh, "=", $prevpos)+1, 1); my $pos = index($config_sh, qq($quote\n), $prevpos) + 2; my $len = index($config_sh, "=", $pos) - $pos; $prevpos = $pos; $len > 0 ? substr($config_sh, $pos, $len) : undef; } sub EXISTS { # exists($_[0]->{$_[1]}) or $config_sh =~ m/^$_[1]=/m; exists($_[0]->{$_[1]}) or index($config_sh, "\n$_[1]='") != -1 or substr($config_sh, 0, length($_[1])+2) eq "$_[1]='" or index($config_sh, "\n$_[1]=\"") != -1 or substr($config_sh, 0, length($_[1])+2) eq "$_[1]=\""; } sub STORE { die "\%Config::Config is read-only\n" } sub DELETE { &STORE } sub CLEAR { &STORE } sub config_sh { $config_sh } sub config_re { my $re = shift; my @matches = ($config_sh =~ /^$re=.*\n/mg); @matches ? (print @matches) : print "$re: not found\n"; } sub config_vars { foreach(@_){ config_re($_), next if /\W/; my $v=(exists $Config{$_}) ? $Config{$_} : 'UNKNOWN'; $v='undef' unless defined $v; print "$_='$v';\n"; } } sub TIEHASH { bless {} } # avoid Config..Exporter..UNIVERSAL search for DESTROY then AUTOLOAD sub DESTROY { } tie %Config, 'Config'; 1;