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 Jan 21 08:05:18 CET 2000 ## Configured by : chmou ## Target system : linux alpha.mandrakesoft.com 2.2.14-16mdk #1 wed jan 12 04:16:37 cet 2000 alpha unknown # ## Configure command line arguments. my $config_sh = <<'!END!'; archlibexp='/usr/lib/perl5/5.00503/alpha-linux' archname='alpha-linux' cc='cc' ccflags='-Dbool=char -DHAS_BOOL' cppflags='-Dbool=char -DHAS_BOOL' 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/alpha-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-16mdk' prefix='/usr' privlibexp='/usr/lib/perl5/5.00503' sharpbang='#!' shsharp='true' sig_name='ZERO HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM URG STOP TSTP CONT CHLD TTIN TTOU IO XCPU XFSZ VTALRM PROF WINCH INFO USR1 USR2 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 PWR ' 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 20 23 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='8' ansi2knr='' aphostname='' apiversion='5.005' ar='ar' archlib='/usr/lib/perl5/5.00503/alpha-linux' archobjs='' awk='awk' baserev='5.0' bash='' bin='/usr/bin' binexp='/usr/bin' bison='' byacc='byacc' byteorder='12345678' c='' castflags='0' cat='cat' cccdlflags='-fpic' ccdlflags='-rdynamic' ccsymbols='LANGUAGE_C=1 _LONGLONG=1 __ELF__=1 __GNUC_MINOR__=95 __GNUC__=2 __LANGUAGE_C=1 __LANGUAGE_C__=1 __alpha_ev4__=1 __linux=1 cpu=alpha cpu=ev4 machine=alpha system=linux' cf_by='chmou' cf_email='chmou@alpha.mandrakesoft.com' cf_time='Fri Jan 21 08:05:18 CET 2000' 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=-O2' config_arg1='-des' config_arg2='-Dprefix=/usr' config_arg3='-Dinstallprefix=/usr' config_arg4='-Darchname=alpha-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=alpha-linux -Dd_dosuid -Dd_semctl_semun -Di_db -Di_ndbm -Di_gdbm -Ud_csh -Dman3dir=/usr/lib/perl5/man/man3 -Doptimize=-O2' contains='grep' cp='cp' cpio='' cpp='cpp' cpp_stuff='42' cppccsymbols='__alpha=1 __alpha__=1 __linux__=1 __unix=1 __unix__=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='undef' 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.3 19991030 (prerelease)' 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/alpha-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='8' longlongsize='8' longsize='8' 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='alpha-linux' mydomain='.mandrakesoft.com' myhostname='alpha' myuname='linux alpha.mandrakesoft.com 2.2.14-16mdk #1 wed jan 12 04:16:37 cet 2000 alpha 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='-O2' orderlib='false' package='perl5' pager='/usr/bin/less' passcat='cat /etc/passwd' patchlevel='5' path_sep=':' perl='perl' perladmin='chmou@alpha.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='8' randbits='31' ranlib=':' rd_nodata='-1' rm='rm' rmail='' runnm='false' scriptdir='/usr/bin' scriptdirexp='/usr/bin' sed='sed' selectminbits='64' selecttype='fd_set *' sendmail='sendmail' sh='/bin/sh' shar='' shmattype='void *' shortsize='2' shrpenv='' sig_name_init='"ZERO", "HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "EMT", "FPE", "KILL", "BUS", "SEGV", "SYS", "PIPE", "ALRM", "TERM", "URG", "STOP", "TSTP", "CONT", "CHLD", "TTIN", "TTOU", "IO", "XCPU", "XFSZ", "VTALRM", "PROF", "WINCH", "INFO", "USR1", "USR2", "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", "PWR", 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, 20, 23, 29, 0' signal_t='void' sitearch='/usr/lib/perl5/site_perl/5.005/alpha-linux' sitearchexp='/usr/lib/perl5/site_perl/5.005/alpha-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;