1 #!/usr/local/bin/perl -w
6 = qw(SUIFHOME MACHINE SUIFPATH COMPILER_NAME
7 MANPATH LD_LIBRARY_PATH PATH TCL_INCLUDE_FLAGS
9 DEFAULT_SYSTEM_SPECIFIC_CXXFLAGS
10 DEFAULT_SYSTEM_SPECIFIC_CFLAGS
13 SYSTEM_SPECIFIC_CFLAGS
14 SYSTEM_SPECIFIC_CXXFLAGS
15 INCLDIR SRCDIR MANDIR INFODIR HTMLDIR DOCDIR SCRIPTDIR TCLDIR
16 MACHDIR BINDIR LIBDIR SODIR
17 AUTOINITDIR VERDATADIR
24 use Env
qw(SUIFHOME MACHINE SUIFPATH COMPILER_NAME
25 MANPATH LD_LIBRARY_PATH PATH TCL_INCLUDE_FLAGS
27 DEFAULT_SYSTEM_SPECIFIC_CXXFLAGS
28 DEFAULT_SYSTEM_SPECIFIC_CFLAGS
31 SYSTEM_SPECIFIC_CFLAGS
32 SYSTEM_SPECIFIC_CXXFLAGS
33 INCLDIR SRCDIR MANDIR INFODIR HTMLDIR DOCDIR SCRIPTDIR TCLDIR
34 MACHDIR BINDIR LIBDIR SODIR
35 AUTOINITDIR VERDATADIR
47 if ($flag1 eq '-limits') {
52 if ($flag1 eq '-suifhome') {
55 &complain
("-suifhome must have an argument"); exit 1; }
56 $SUIFHOME = shift @ARGV;
59 if (($flag1 eq '-csh') || ($flag1 eq '-sh') || ($flag1 eq '-perl')) {
68 (($flag ne '-csh') && ($flag ne '-sh') && ($flag ne '-perl'))) {
69 &complain
("Usage: $0 [-limits] [-suifhome home] { -sh | -csh | -perl }");
70 &complain
(" Defaults to csh");
72 } elsif (! (defined $SUIFHOME)) {
73 &complain
("Need SUIFHOME to be set or use the -suifhome option");
79 print STDERR
"$message\n";
82 # $ENV{SUIFHOME}=/suif/suif/suifhome
83 my @gccverres = `gcc -v 2>&1`;
84 my @gccverres1 = grep(/Reading specs/,@gccverres);
85 my $gccver = $gccverres1[0];
87 if (! (defined $MACHINE)) {
89 $MACHINE =~ s/^.*gcc-lib\///g
;
90 $MACHINE =~ s/\/.*$//g
;
93 if (! (defined $SUIFPATH)) {
95 $SUIFPATH =~ s/Reading specs from //;
96 $SUIFPATH =~ s/\/specs//;
99 if (defined $COMPILER_NAME) {
100 if (($MACHINE =~ m/^sparc-sun-solaris[.0-9]*$/) &&
101 ($COMPILER_NAME eq 'sun_procompiler')) {
102 $MACHINE="${MACHINE}-sunpro";
103 } elsif (($MACHINE eq 'mips-sgi-irix5.3') &&
104 ($COMPILER_NAME =~ m/^gcc/)) {
105 $MACHINE="${MACHINE}-gcc";
107 } elsif ($MACHINE eq "mips-sgi-irix5.3") {
108 $COMPILER_NAME='sgi_c++';
109 } elsif ($MACHINE =~ m/^i386-.*-solaris2.4$/) {
110 $COMPILER_NAME='sun_procompiler';
111 } elsif ($MACHINE eq 'i586-linux') {
112 $COMPILER_NAME='egcs';
116 $COMPILER_NAME='egcs';
118 $CXX_OVERRIDE='eg++';
121 if (defined $MANPATH) {
122 if (! ($MANPATH =~ m/$SUIFHOME\/man
/)) {
123 $MANPATH="$SUIFHOME/man:$MANPATH";
126 $MANPATH="$SUIFHOME/man";
129 if (defined $LD_LIBRARY_PATH) {
130 $LD_LIBRARY_PATH="$SUIFHOME/$MACHINE/solib:$LD_LIBRARY_PATH";
132 $LD_LIBRARY_PATH="$SUIFHOME/$MACHINE/solib";
135 # put ultra dirs in paths
136 if (! ($PATH =~ m
,/usr/local/ultra/bin
,)) {
137 $PATH = "/usr/local/ultra/bin:$PATH";
139 if (! ($LD_LIBRARY_PATH =~ m
,/usr/local/ultra/lib
,)) {
140 $LD_LIBRARY_PATH = "/usr/local/ultra/lib:$LD_LIBRARY_PATH";
143 # put SUIFHOME dirs in path
144 if (! ($PATH =~ m/$SUIFHOME\/$MACHINE\
/bin/)) {
145 $PATH = "$SUIFHOME/scripts:$SUIFHOME/$MACHINE/bin:$PATH";
147 if (! ($SUIFPATH =~ m/$SUIFHOME\/$MACHINE\
/bin/)) {
148 $SUIFPATH = "$SUIFHOME/scripts:$SUIFHOME/$MACHINE/bin:$SUIFPATH";
151 # For the vbrowser, we need to include <tcl.h>, which isn't in
152 # /usr/include on all our machines. The following handles that issue.
154 if ($MACHINE eq 'mips-sgi-irix5.3') {
155 $TCL_INCLUDE_FLAGS = '-I/usr/local/include';
156 } elsif ($MACHINE eq 'sparc-sun-solaris2.3') {
157 $TCL_INCLUDE_FLAGS = '-I/usr/openwin/include -DTK4_1 -L/usr/openwin/lib';
158 } elsif ($MACHINE =~ m/^i386-.*-solaris2.4$/) {
160 '-I/usr/local/include -I/usr/openwin/include -L/usr/local/lib -L/usr/openwin/lib';
161 } elsif ($MACHINE =~ m/^sparc-sun-solaris/) {
162 $TCL_INCLUDE_FLAGS = '-I/usr/local/include -I/usr/local/ultra/include -I/usr/openwin/include -L/usr/local/lib -L/usr/local/ultra/lib -L/usr/openwin/lib';
163 } elsif ($MACHINE eq 'alpha-dec-osf3.2') {
164 $TCL_INCLUDE_FLAGS = '-I/usr/local/ultra/include -L/usr/local/ultra/lib';
165 } elsif ($MACHINE =~ m/linux/) {
166 $TCL_INCLUDE_FLAGS = '-L/usr/X11R6/lib'
170 if (! defined $SRCDIR) { $SRCDIR = "$SUIFHOME/src"; }
171 if (! defined $INFODIR) { $INFODIR = "$SUIFHOME/info"; }
172 if (! defined $DOCDIR) { $DOCDIR = "$SUIFHOME/docs"; }
174 if (! defined $HTMLDIR) { $HTMLDIR = "$SUIFHOME/html"; }
175 if (! defined $MANDIR) { $MANDIR = "$SUIFHOME/man"; }
176 if (! defined $SCRIPTDIR) { $SCRIPTDIR = "$SUIFHOME/scripts"; }
177 if (! defined $TCLDIR) { $TCLDIR = "$SUIFHOME/tcl"; }
179 # machine-specific directories
180 if (! defined $MACHDIR) { $MACHDIR = "$SUIFHOME/$MACHINE"; }
181 if (! defined $INCLDIR) { $INCLDIR = "$MACHDIR/include"; }
182 if (! defined $BINDIR) { $BINDIR = "$MACHDIR/bin"; }
183 if (! defined $LIBDIR) { $LIBDIR = "$MACHDIR/lib"; }
184 if (! defined $SODIR) { $SODIR = "$MACHDIR/solib"; }
185 if (! defined $AUTOINITDIR) { $AUTOINITDIR = "$MACHDIR/auto_init_libs"; }
186 if (! defined $VERDATADIR) { $VERDATADIR = "$MACHDIR/verdata"; }
188 # different name is used by vbrowser
189 $VISUAL_TCL = $TCLDIR;
192 if (! defined $PUREHOME) {
193 $PUREHOME = '/usr/local/pure';
195 $PURE = "$PUREHOME/purify";
196 if (defined $PURE_COLLECTOR) {
197 $PURE_FLAGS = "-collector=$PURE_COLLECTOR";
203 foreach $var (@envvars) {
204 if (defined $ENV{$var}) {
205 if ($flag eq '-csh') {
206 print "setenv $var \'$ENV{$var}\';\n";
207 } elsif ($flag eq '-sh') {
208 print "export $var\n$var=\'$ENV{$var}\';\n";
209 } elsif ($flag eq '-perl') {
210 print '$' . "ENV{" . $var . "}=\'" . $ENV{$var} . "\';\n";
215 print "unlimit datasize;\n";