symlink "os/Solaris.c", "OS.c" || die "Could not link os/Solaris.c to os/OS.c\n";

# Historical Note (please correct me if this is wrong!):
#
# A linux-like /proc filesystem was introduced with Solaris 2.6, with
# process information available in pseudo-files under pseudo-directories
# named for process ids in /proc. Previous to 2.6 Solaris used a
# half-baked ioctl-based /proc scheme. Previous to this (SunOS, maybe
# much earlier versions of Solaris?) process information was only
# available through /dev/kmem, which required root access (ps is setuid
# on SunOS-- yuck). All three schemes are supported and available in 2.6,
# but at least the ioctl-based /proc support is supposed to be going away.

# If this OS version supports the new /proc filesystem, use it; 
# otherwise default to ioctl-proc
`uname -r` =~ /^(\d+\.\d+)/;
if( $1 !~ /^5.[012345]$/ ){
    $self->{DEFINE} = $self->{DEFINE} . " -DPROC_FS";
}

$self->{DEFINE} .= " -D_POSIX_PTHREAD_SEMANTICS";

# For reasons I don't understand, we have to turn off the large file
# environment flags in order to compile in the large file environment
#10/28/2002:
# Should not set CCLFAGS to empty.  Should only remove these two symbol while preserving others.
if( `/usr/bin/getconf LFS_CFLAGS` =~ /-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64/){
    $self->{CCFLAGS} = $Config{ccflags};
    $self->{CCFLAGS} =~ s/-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64//;
}