package acdefaults; sub load(); sub addAllArgs($@); sub hasArg($$); # Tell the package that loaded us what function to run. my $caller_pkg = caller(); ${"${caller_pkg}::CFG_LOAD_FUNC"} = \&load; my @all_platforms = qw( --with-java-orb=JDK --with-junit=/home/vr/Juggler/java/junit.jar ); #--with-java-orb-jar=/home/vr/Juggler/java/openorb-1.3.0.jar:/home/vr/Juggler/java/avalon-framework.jar:/home/vr/Juggler/java/logkit.jar #--with-java-orb-jar=/home/vr/Juggler/java/openorb-1.2.0.jar my @irix_mipspro = qw( --with-jdkhome=/usr/java2 --with-cxx-orb=omniORB4 --with-cxx-orb-root=/home/vr/Juggler/irix/mipspro --with-gmtl=/home/vr/Juggler/irix/mipspro --with-audiere=/home/vr/Juggler/irix/mipspro --with-openal=/home/vr/Juggler/irix/mipspro --with-cppunit=/home/vr/Juggler/irix/mipspro --with-cppdom=/home/vr/Juggler/irix/mipspro --with-boost=/home/vr/Juggler/irix/mipspro --with-boost-includes=/home/vr/Juggler/irix/mipspro/include/boost-1_32 --with-vrpn=/home/vr/Juggler/irix/mipspro/vrpn ); my @irix_mipspro64 = qw( --with-abi=64_M4 --with-jdkhome=/usr/java2 --with-cxx-orb=omniORB4 --with-cxx-orb-root=/home/vr/Juggler/irix64/mipspro --with-gmtl=/home/vr/Juggler/irix64/mipspro --with-audiere=/home/vr/Juggler/irix64/mipspro --with-openal=/home/vr/Juggler/irix64/mipspro --with-cppunit=/home/vr/Juggler/irix64/mipspro --with-cppdom=/home/vr/Juggler/irix64/mipspro --with-boost=/home/vr/Juggler/irix64/mipspro --with-boost-includes=/home/vr/Juggler/irix64/mipspro/include/boost-1_32 --with-vrpn=/home/vr/Juggler/irix64/mipspro/vrpn ); my @irix_gcc30 = qw( --with-jdkhome=/usr/java2 --disable-pf-api --with-gcc --with-gmtl=/home/vr/Juggler/irix/gcc30 --with-audiere=/home/vr/Juggler/irix/gcc30 --with-openal=/home/vr/Juggler/irix/gcc30 --with-cppunit=/home/vr/Juggler/irix/gcc30 --with-cppdom=/home/vr/Juggler/irix/gcc30 --with-boost=/home/vr/Juggler/irix/gcc30 --with-boost-includes=/home/vr/Juggler/irix/gcc30/include/boost-1_32 ); my @irix_gcc31 = @irix_gcc30; my @irix_gcc32 = @irix_gcc31; my @irix_gcc33 = @irix_gcc32; # Red Hat Linux 7.x with GCC 3.0. my @linux_gcc30 = qw( --with-jdkhome=/usr/java/j2sdk1.4.2_03 --with-cxx-orb=omniORB3 --with-cxx-orb-root=/home/vr/Juggler/linux/gcc30 --with-cxx-orb-bin=/home/vr/Juggler/linux/gcc30/bin/i586_linux_2.0_glibc2.1 --with-cxx-orb-lib=/home/vr/Juggler/linux/gcc30/lib/i586_linux_2.0_glibc2.1 --with-audiere=/home/vr/Juggler/linux/gcc30 --with-openal=/home/vr/Juggler/linux/gcc30 --with-cppunit=/home/vr/Juggler/linux/gcc30 ); # Red Hat Linux 7.x with GCC 3.1. my @linux_gcc31 = qw( --with-jdkhome=/usr/java/j2sdk1.4.2_03 --with-cxx-orb=omniORB3 --with-cxx-orb-root=/home/vr/Juggler/linux/gcc31 --with-cxx-orb-bin=/home/vr/Juggler/linux/gcc31/bin/i586_linux_2.0_glibc2.1 --with-cxx-orb-lib=/home/vr/Juggler/linux/gcc31/lib/i586_linux_2.0_glibc2.1 --with-audiere=/home/vr/Juggler/linux/gcc31 --with-openal=/home/vr/Juggler/linux/gcc31 ); # This is really RedHat 8.0. my @linux_gcc32 = qw( --with-jdkhome=/usr/java/j2sdk1.4.2_03 --with-cxx-orb=omniORB4 --with-cxx-orb-root=/home/vr/Juggler/linux-rh80 --with-gmtl=/home/vr/Juggler/linux-rh80 --with-audiere=/home/vr/Juggler/linux-rh80 --with-openal=/home/vr/Juggler/linux-rh80 --with-cppunit=/home/vr/Juggler/linux-rh80 --with-cppdom=/home/vr/Juggler/linux-rh80 --with-boost=/home/vr/Juggler/linux-rh80 --with-boost-includes=/home/vr/Juggler/linux-rh80/include/boost-1_32 --with-vrpn=/home/vr/Juggler/linux-rh80/vrpn ); # This is really Fedora Core 1. my @linux_gcc33 = qw( --with-jdkhome=/usr/java/j2sdk1.4.2_03 --with-cxx-orb=omniORB4 --with-cxx-orb-root=/home/vr/Juggler/linux-fc1 --with-gmtl=/home/vr/Juggler/linux-fc1 --with-audiere=/home/vr/Juggler/linux-fc1 --with-openal=/home/vr/Juggler/linux-fc1 --with-cppunit=/home/vr/Juggler/linux-fc1 --with-cppdom=/home/vr/Juggler/linux-fc1 --with-boost=/home/vr/Juggler/linux-fc1 --with-boost-includes=/home/vr/Juggler/linux-fc1/include/boost-1_32 --with-vrpn=/home/vr/Juggler/linux-fc1/vrpn ); my @linux = @linux_gcc33; my @solaris_sparc = qw( --with-nspr=/home/vr/Juggler/solaris-sparc/wspro6 --with-cxx-orb=omniORB3 --with-cxx-orb-root=/home/vr/Juggler/solaris-sparc/wspro6 --with-cxx-orb-bin=/home/vr/Juggler/solaris-sparc/wspro6/bin/sun4_sosV_5.8 --with-cxx-orb-lib=/home/vr/Juggler/solaris-sparc/wspro6/lib/sun4_sosV_5.8 --with-cppunit=/home/vr/Juggler/solaris-sparc/wspro6 --with-cppdom=/home/vr/Juggler/solaris-sparc/wspro6 --with-gmtl=/home/vr/Juggler/solaris-sparc/wspro6 --with-boost=/home/vr/Juggler/solaris-sparc/wspro6 --with-boost-includes=/home/vr/Juggler/solaris-sparc/wspro6/include/boost-1_32 ); my @solaris_sparc_gcc31 = qw( --with-nspr=/home/vr/Juggler/solaris-sparc/gcc31 --with-gcc --with-cxx-orb=omniORB3 --with-cxx-orb-root=/home/vr/Juggler/solaris-sparc/gcc31 --with-cxx-orb-bin=/home/vr/Juggler/solaris-sparc/gcc31/bin/sun4_sosV_5.8 --with-cxx-orb-lib=/home/vr/Juggler/solaris-sparc/gcc31/lib/sun4_sosV_5.8 --with-cppunit=/home/vr/Juggler/solaris-sparc/gcc31 --with-cppdom=/home/vr/Juggler/solaris-sparc/gcc31 --with-gmtl=/home/vr/Juggler/solaris-sparc/gcc31 --with-boost=/home/vr/Juggler/solaris-sparc/gcc31 --with-boost-includes=/home/vr/Juggler/solaris-sparc/gcc31/include/boost-1_32 ); my @solaris_sparc_gcc32 = qw( --with-nspr=/home/vr/Juggler/solaris-sparc/gcc32 --with-gcc --with-cxx-orb=omniORB3 --with-cxx-orb-root=/home/vr/Juggler/solaris-sparc/gcc32 --with-cxx-orb-bin=/home/vr/Juggler/solaris-sparc/gcc32/bin/sun4_sosV_5.8 --with-cxx-orb-lib=/home/vr/Juggler/solaris-sparc/gcc32/lib/sun4_sosV_5.8 --with-cppunit=/home/vr/Juggler/solaris-sparc/gcc32 --with-cppdom=/home/vr/Juggler/solaris-sparc/gcc32 --with-gmtl=/home/vr/Juggler/solaris-sparc/gcc32 --with-boost=/home/vr/Juggler/solaris-sparc/gcc32 --with-boost-includes=/home/vr/Juggler/solaris-sparc/gcc32/include/boost-1_32 ); my @solaris_x86 = qw( --with-nspr=/home/vr/Juggler/solaris-x86/wspro6 --with-cxx-orb=omniORB3 --with-cxx-orb-root=/home/vr/Juggler/solaris-sparc/wspro6 --with-cxx-orb-bin=/home/vr/Juggler/solaris-sparc/wspro6/bin/sun4_sosV_5.8 --with-cxx-orb-lib=/home/vr/Juggler/solaris-sparc/wspro6/lib/sun4_sosV_5.8 --with-cppunit=/home/vr/Juggler/solaris-sparc/wspro6 --with-cppdom=/home/vr/Juggler/solaris-sparc/wspro6 --with-gmtl=/home/vr/Juggler/solaris-sparc/wspro6 --with-boost=/home/vr/Juggler/solaris-sparc/wspro6 --with-boost-includes=/home/vr/Juggler/solaris-sparc/wspro6/include/boost-1_32 ); my @solaris_x86_gcc31 = qw( --with-nspr=/home/vr/Juggler/solaris-x86/gcc31 --with-gcc --with-cxx-orb=omniORB3 --with-cxx-orb-root=/home/vr/Juggler/solaris-x86/gcc31 --with-cxx-orb-bin=/home/vr/Juggler/solaris-x86/gcc31/bin/sun4_sosV_5.8 --with-cxx-orb-lib=/home/vr/Juggler/solaris-x86/gcc31/lib/sun4_sosV_5.8 --with-cppunit=/home/vr/Juggler/solaris-x86/gcc31 --with-cppdom=/home/vr/Juggler/solaris-x86/gcc31 --with-gmtl=/home/vr/Juggler/solaris-x86/gcc31 --with-boost=/home/vr/Juggler/solaris-x86/gcc31 --with-boost-includes=/home/vr/Juggler/solaris-x86/gcc31/include/boost-1_32 ); my @solaris_x86_gcc32 = qw( --with-nspr=/home/vr/Juggler/solaris-x86/gcc32 --with-gcc --with-cxx-orb=omniORB3 --with-cxx-orb-root=/home/vr/Juggler/solaris-x86/gcc32 --with-cxx-orb-bin=/home/vr/Juggler/solaris-x86/gcc32/bin/sun4_sosV_5.8 --with-cxx-orb-lib=/home/vr/Juggler/solaris-x86/gcc32/lib/sun4_sosV_5.8 --with-cppunit=/home/vr/Juggler/solaris-x86/gcc32 --with-cppdom=/home/vr/Juggler/solaris-x86/gcc32 --with-gmtl=/home/vr/Juggler/solaris-x86/gcc32 --with-boost=/home/vr/Juggler/solaris-x86/gcc32 --with-boost-includes=/home/vr/Juggler/solaris-x86/gcc32/include/boost-1_32 ); my @solaris_x86_gcc33 = @solaris_x86_gcc32; my @darwin7 = qw( --with-boost=/Users/patrick/boost-1.32 --with-boost-includes=/Users/patrick/boost-1.32/include/boost-1_32 --with-cppdom=/Users/patrick --with-cxx-orb=omniORB4 --with-cxx-orb-root=/Users/patrick --with-gmtl=/Users/patrick --with-cppunit=/Users/patrick --with-junit=/Users/patrick/src/Juggler/junit.jar --with-vrpn=/Users/patrick/vrpn --with-openal=/Library/Frameworks ); # This is the function that will be run by configure.pl. It must take one # scalar argument that is a reference to an array. The array that is passed # in may or may not have values in it, so no assumptions should be made about # its contents. sub load () { my @new_argv = (); # This queries the platform type. This may be a standard platform name # (IRIX, linux, etc.) or a user-defined name (Linux.gcc31, IRIX-mipspro, # whatever). my $platform = main::getPlatform(); print "PLATFORM: $platform\n"; addAllArgs(\@new_argv, @all_platforms); # We're on IRIX. if ( $platform =~ /irix/i ) { # We're using GCC 3.0. if ( $platform =~ /gcc3$/i ) { addAllArgs(\@new_argv, @irix_gcc30); } # We're using GCC 3.1. elsif ( $platform =~ /gcc31$/i ) { addAllArgs(\@new_argv, @irix_gcc31); } # We're using GCC 3.2. elsif ( $platform =~ /gcc32$/i ) { addAllArgs(\@new_argv, @irix_gcc32); } # We're using GCC 3.3. elsif ( $platform =~ /gcc33$/i ) { addAllArgs(\@new_argv, @irix_gcc33); } # We're using 64-bit MIPSpro. elsif ( $platform =~ /mipspro64$/i ) { addAllArgs(\@new_argv, @irix_mipspro64); } # We're using MIPSpro. else { addAllArgs(\@new_argv, @irix_mipspro); } } # We're on Linux. elsif ( $platform =~ /linux/i ) { # We're using GCC 3.0. if ( $platform =~ /gcc3$/i ) { addAllArgs(\@new_argv, @linux_gcc30); } # We're using GCC 3.1. elsif ( $platform =~ /gcc31$/i ) { addAllArgs(\@new_argv, @linux_gcc31); } # We're using GCC 3.2. elsif ( $platform =~ /gcc32$/i ) { addAllArgs(\@new_argv, @linux_gcc32); } # We're using GCC 3.3. elsif ( $platform =~ /gcc33$/i ) { addAllArgs(\@new_argv, @linux_gcc33); } # Use the default Linux settings. else { addAllArgs(\@new_argv, @linux); } } # We're on Solaris. elsif ( $platform =~ /solaris/i ) { # We're using GCC 3.1. if ( $platform =~ /gcc31$/i ) { if ( $platform =~ /sparc/i ) { addAllArgs(\@new_argv, @solaris_sparc_gcc31); } else { addAllArgs(\@new_argv, @solaris_x86_gcc31); } } elsif ( $platform =~ /gcc32$/i ) { if ( $platform =~ /sparc/i ) { addAllArgs(\@new_argv, @solaris_sparc_gcc32); } else { addAllArgs(\@new_argv, @solaris_x86_gcc32); } } elsif ( $platform =~ /gcc33$/i ) { if ( $platform =~ /sparc/i ) { addAllArgs(\@new_argv, @solaris_sparc_gcc33); } else { addAllArgs(\@new_argv, @solaris_x86_gcc33); } } else { if ( $platform =~ /sparc/i ) { addAllArgs(\@new_argv, @solaris_sparc); } else { addAllArgs(\@new_argv, @solaris_x86); } } } # We're on Mac OS X (Darwin). elsif ( $platform =~ /darwin/i ) { addAllArgs(\@new_argv, @darwin7); } return @new_argv; } # Adds the array of arguments (all the arguments except the first) to the # given array reference (the first argument). sub addAllArgs ($@) { my $argv_ref = shift; my $arg; foreach $arg ( @_ ) { push(@$argv_ref, $arg) unless hasArg($argv_ref, $arg); } } # Determines if the array reference (first arg) contains the given argument # (the second arg). sub hasArg ($$) { my $argv_ref = shift; my $arg = shift; $arg =~ /^(--[^=]+)/; return grep(/$1/, @$argv_ref); } 1;