package Config;
require Exporter;
@ISA = (Exporter);
@EXPORT = qw(%Config);

$] == 5.000 or die sprintf
    "Perl lib version (5.000) doesn't match executable version (%.3f)\n", $];

# 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".
##
#
## Configuration time: Tue Nov 29 23:33:10 EST 1994
## Configured by: root
## Target system: netbsd lola-granola 1.0 netbsd 1.0 (lola-ddb) #37: mon nov 28 23:05:14 est 1994 jtkohl@lola-granola:usrsrcsysarchi386compilelola-ddb i386 
#

$config_sh=<<'!END!OF!CONFIG!';
dynamic_ext='DB_File Fcntl NDBM_File POSIX SDBM_File Socket'
extensions='DB_File Fcntl NDBM_File POSIX SDBM_File Socket'
static_ext=''
osname='netbsd'
osvers='1.0'
archlib='/usr/athena//lib/perl5/netbsd'
ccflags=''
cppflags=''
intsize='4'
libpth='/usr/lib /usr/local/lib'
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'
so='so'
sharpbang='#!'
shsharp='true'
startsh='#!/bin/sh'
Author=''
CONFIG='true'
Date='$Date'
Header=''
Id='$Id'
Locker=''
Log='$Log'
Mcc='Mcc'
PATCHLEVEL='0'
RCSfile='$RCSfile'
Revision='$Revision'
Source=''
State=''
afs='true'
alignbytes='4'
aphostname=''
archlibexp='/usr/athena//lib/perl5/netbsd'
archname='netbsd'
awk='awk'
bash=''
bin='/usr/athena//bin'
binexp='/usr/athena//bin'
bison='bison'
byacc='byacc'
byteorder='1234'
c=''
castflags='0'
cat='cat'
cc='cc'
cccdlflags='-DPIC -fpic'
ccdlflags=''
cf_by='root'
cf_time='Tue Nov 29 23:33:10 EST 1994'
chgrp=''
chmod=''
chown=''
clocktype='clock_t'
compress=''
contains='grep'
cp='cp'
cpio=''
cpp='cpp'
cpp_stuff='42'
cpplast=''
cppminus=''
cpprun='cpp'
cppstdin='/u1/build/perl5.000/cppstdin'
cryptlib=''
csh='csh'
d_Gconvert='sprintf((b),"%.*g",(n),(x))'
d_access='define'
d_alarm='define'
d_archlib='define'
d_attrib='undef'
d_bcmp='define'
d_bcopy='define'
d_bsdpgrp='define'
d_bzero='define'
d_casti32='define'
d_castneg='define'
d_charsprf='undef'
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='undef'
d_dbl_dig='define'
d_difftime='define'
d_dirnamlen='undef'
d_dlerror='undef'
d_dlopen='define'
d_dlsymun='define'
d_dosuid='undef'
d_drem='define'
d_dup2='define'
d_eunice='undef'
d_fchmod='define'
d_fchown='define'
d_fcntl='define'
d_fd_macros='define'
d_fd_set='define'
d_fds_bits='define'
d_fgetpos='define'
d_flexfnam='define'
d_flock='define'
d_fmod='define'
d_fork='define'
d_fpathconf='define'
d_fsetpos='define'
d_getgrps='define'
d_gethent='undef'
d_gethname='undef'
d_getlogin='define'
d_getpgrp2='undef'
d_getpgrp='define'
d_getppid='define'
d_getprior='define'
d_group='undef'
d_htonl='define'
d_index='undef'
d_isascii='define'
d_killpg='define'
d_link='define'
d_linuxstd='undef'
d_locconv='define'
d_lockf='undef'
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='define'
d_nice='define'
d_oldsock='undef'
d_open3='define'
d_passwd='undef'
d_pathconf='define'
d_pause='define'
d_phostname='undef'
d_pipe='define'
d_portable='define'
d_pwage='undef'
d_pwchange='define'
d_pwclass='define'
d_pwcomment='undef'
d_pwexpire='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_seekdir='define'
d_select='define'
d_sem='define'
d_semctl='define'
d_semget='define'
d_semop='define'
d_setegid='define'
d_seteuid='define'
d_setlinebuf='define'
d_setlocale='define'
d_setpgid='define'
d_setpgrp2='undef'
d_setpgrp='define'
d_setprior='define'
d_setregid='define'
d_setresgid='undef'
d_setresuid='undef'
d_setreuid='define'
d_setrgid='define'
d_setruid='define'
d_setsid='define'
d_shm='define'
d_shmat='define'
d_shmatprototype='define'
d_shmctl='define'
d_shmdt='define'
d_shmget='define'
d_socket='define'
d_sockpair='define'
d_statblks='define'
d_stdstdio='undef'
d_strchr='define'
d_strcoll='define'
d_strctcpy='define'
d_strerrm='strerror(e)'
d_strerror='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_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'
defvoidused='15'
direntrytype='struct dirent'
dlext='so'
dlsrc='dl_dlopen.xs'
echo='echo'
egrep='egrep'
emacs=''
eunicefix=':'
expr='expr'
find='find'
flex=''
fpostype='fpos_t'
gcc=''
gccversion='2.4.5'
gidtype='gid_t'
glibpth='/usr/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=''
groupstype='gid_t'
h_fcntl='false'
h_sysfile='true'
hint='recommended'
hostcat=''
huge=''
i_bsdioctl=''
i_db='define'
i_dbm='undef'
i_dirent='define'
i_dld='undef'
i_dlfcn='undef'
i_fcntl='undef'
i_float='define'
i_gdbm='undef'
i_grp='define'
i_limits='define'
i_malloc='define'
i_math='define'
i_memory='undef'
i_ndbm='define'
i_neterrno='undef'
i_niin='define'
i_pwd='define'
i_sgtty='undef'
i_stdarg='define'
i_stddef='define'
i_stdlib='define'
i_string='define'
i_sysdir='define'
i_sysfile='define'
i_sysfilio='define'
i_sysin='undef'
i_sysioctl='define'
i_sysndir='undef'
i_sysparam='define'
i_sysselct='define'
i_syssockio=''
i_systime='define'
i_systimek='undef'
i_systimes='define'
i_termio='undef'
i_termios='define'
i_time='undef'
i_unistd='define'
i_utime='define'
i_varargs='undef'
i_varhdr='stdarg.h'
i_vfork='undef'
incpath=''
inews=''
installarchlib='/afs/.sipb/system/i386_nbsd1/usr/athena/lib/perl5/netbsd/'
installbin='/afs/.sipb/system/i386_nbsd1/usr/athena/bin'
installmansrc='/afs/.sipb/system/i386_nbsd1/usr/athena/man/man1'
installprivlib='/afs/.sipb/system/i386_nbsd1/usr/athena/lib/perl5'
installscript='/afs/.sipb/system/i386_nbsd1/usr/athena/bin'
known_extensions='DB_File Fcntl GDBM_File NDBM_File ODBM_File POSIX SDBM_File Socket'
ksh=''
large=''
lddlflags='-Bforcearchive -Bshareable'
ldflags=''
less=''
libc=''
libs='-lm -lc -lcrypt'
libswanted='net socket inet nsl nm ndbm gdbm dbm db malloc dl dld ld sun m c cposix posix ndir dir crypt ucb bsd BSD PW x'
line='line'
lint=''
lkflags=''
ln='ln'
lns='/bin/ln -s'
lp=''
lpr=''
ls='ls'
lseektype='off_t'
mail=''
mailx=''
make=''
mallocobj='malloc.o'
mallocsrc='malloc.c'
malloctype='void *'
manext='1'
mansrc='/usr/athena//man/man1'
mansrcexp='/usr/athena//man/man1'
medium=''
mips=''
mips_type=''
mkdir='mkdir'
models='none'
modetype='mode_t'
more=''
mv=''
mydomain=''
myhostname='lola-granola'
myuname='netbsd lola-granola 1.0 netbsd 1.0 (lola-ddb) #37: mon nov 28 23:05:14 est 1994 jtkohl@lola-granola:usrsrcsysarchi386compilelola-ddb i386 '
n='-n'
nm_opt=''
nroff='nroff'
optimize='-O'
orderlib='false'
package='perl5'
passcat=''
perl='perl'
pg=''
phostname='hostname'
plibpth=''
pmake=''
pr=''
prefix='/usr/athena/'
privlib='/usr/athena//lib/perl5'
privlibexp='/usr/athena//lib/perl5'
prototype='define'
randbits='31'
ranlib='/usr/bin/ranlib'
rm='rm'
rmail=''
runnm='false'
scriptdir='/usr/athena//bin'
scriptdirexp='/usr/athena//bin'
sed='sed'
selecttype='fd_set *'
sendmail=''
sh=''
shar=''
shmattype='char *'
signal_t='void'
sizetype='size_t'
sleep=''
smail=''
small=''
sockethdr=''
socketlib=''
sort='sort'
spackage=''
spitshell='cat'
split=''
ssizetype='ssize_t'
stdchar='char'
strings='/usr/include/string.h'
submit=''
sysman='/usr/share/man/man1'
tail=''
tar=''
tbl=''
test='test'
timeincl='/usr/include/sys/time.h '
timetype='time_t'
touch='touch'
tr='tr'
troff=''
uidtype='uid_t'
uname='uname'
uniq='uniq'
usedl='define'
usemymalloc='y'
usenm='false'
useposix='true'
usevfork='false'
usrinc='/usr/include'
uuname=''
vi=''
voidflags='15'
xlibpth='/usr/lib/386 /lib/386'
yacc='yacc'
yaccflags=''
zcat=''
!END!OF!CONFIG!


tie %Config, Config;
sub TIEHASH { bless {} }
sub FETCH { 
    # check for cached value (which maybe undef so we use exists not defined)
    return $_[0]->{$_[1]} if (exists $_[0]->{$_[1]});
 
    my($value); # search for the item in the big $config_sh string
    return undef unless (($value) = $config_sh =~ m/^$_[1]='(.*)'\s*$/m);
 
    $value = undef if $value eq 'undef'; # So we can say "if $Config{'foo'}".
    $_[0]->{$_[1]} = $value; # cache it
    return $value;
}
 
sub FIRSTKEY {
    $prevpos = 0;
    my $key;
    ($key) = $config_sh =~ m/^(.*)=/;
    $key;
}

sub NEXTKEY {
    my ($pos, $len);
    $pos = $prevpos;
    $pos = index( $config_sh, "\n", $pos) + 1;
    $prevpos = $pos;
    $len = index( $config_sh, "=", $pos) - $pos;
    $len > 0 ? substr( $config_sh, $pos, $len) : undef;
}

sub EXISTS{ 
     exists($_[0]->{$_[1]})  or  $config_sh =~ m/^$_[1]=/m; 
}

sub readonly { die "\%Config::Config is read-only\n" }

sub STORE { &readonly }
sub DELETE{ &readonly }
sub CLEAR { &readonly }


1;
