moved compiler setup into host-specific file.
authorClaus Gittinger <cg@exept.de>
Fri, 26 Mar 1999 16:28:02 +0100
changeset 331 a0be330a1f43
parent 330 663dff40e361
child 332 6cda703e3dd5
moved compiler setup into host-specific file. Added sysType specific h_xxx file reading.
h_solaris.rc
h_win32.rc
host.rc
private.rc
smalltalk.rc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/h_solaris.rc	Fri Mar 26 16:28:02 1999 +0100
@@ -0,0 +1,18 @@
+"*
+ * $Header$
+ *
+ * ST/X startup configuration file - for sun solaris OS.
+ *
+ * DONT add site specific things here - use your own h_xxx.rc file instead
+ * where xxx stands for your hostname(s)
+ *"
+
+"/
+"/ right now, you should have gcc (or egcs) installed 
+"/ we do not support the expensive sun C-compiler.
+"/
+
+Compiler ccCompilationOptions:'-O -fPIC'
+!
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/h_win32.rc	Fri Mar 26 16:28:02 1999 +0100
@@ -0,0 +1,24 @@
+"*
+ * $Header$
+ *
+ * ST/X startup configuration file - for win95, win98 and winNT OS.
+ *
+ * DONT add site specific things here - use your own h_xxx.rc file instead
+ * where xxx stands for your hostname(s)
+ *"
+
+"/
+"/ right now, stx can only be used with a 
+"/ borland C-compiler.
+"/
+
+"/ msc
+"/ Compiler ccPath:'cl'.
+"/ Compiler ccCompilationOptions:'/O1'.
+
+"/ borland
+Compiler ccPath:'bcc32'.
+Compiler ccCompilationOptions:''.
+
+!
+
--- a/host.rc	Tue Mar 23 12:12:41 1999 +0100
+++ b/host.rc	Fri Mar 26 16:28:02 1999 +0100
@@ -7,7 +7,8 @@
  * where xxx stands for your hostname(s)
  *
  * startup configuration for host specific stuff -
- * looks for a host specific init file and loads it.
+ * looks for a system specific h_sysType.rc init file and loads it.
+ * looks for a host specific h_hostName.rc init file and loads it.
  *"
 
 |sysType host domain s rshCommand isStupidSYSV3|
@@ -15,17 +16,6 @@
 sysType := OperatingSystem getSystemType.
 isStupidSYSV3 := false.
 
-"/ on some systems, paging in is so slow, that a SIGALRM
-"/ arrives too early to be handled correctly 
-"/ (I guess, this is my fault somewhere ... ;-)
-"/
-"/ This can be worked around by disabling the timer here.
-"/ (The sceduler will reenable it later)
-
-(sysType = 'hpux') ifTrue:[
-    OperatingSystem disableSignal:(OperatingSystem sigALRM)
-].
-
 sysType = 'realIX' ifTrue:[
     "/
     "/ those people must have been brain-damaged;
@@ -36,10 +26,10 @@
     isStupidSYSV3 := true.
 ].
 
-sysType = 'win32' ifTrue:[
-    Compiler ccPath:'cl'
-].
-
+"------------------------------------------------------------------------"
+"/ printer setup
+"/ Notice that this setup may be changed by an OS-specific h_xxx file
+"/
 "/ only reset the printer setting, if restarted
 "/ on another host.
 
@@ -104,38 +94,120 @@
     domain := OperatingSystem getDomainName.
     (domain = 'exept.de' or:[domain = 'axept.de']) ifTrue:[
 	isStupidSYSV3 ifTrue:[
-	    PostscriptPrinterStream printCommand:'cat | remsh ibm lpr -h'.
-	    PrinterStream printCommand:'cat | remsh ibm lpr -h'.
+	    PostscriptPrinterStream printCommand:'cat | remsh exept lpr -h'.
+	    PrinterStream printCommand:'cat | remsh exept lpr -h'.
 	    PostscriptPrinterStream defaultCommands:#(
-					    'cat | remsh ibm lpr -h'
+					    'cat | remsh exept lpr -h'
 					    'cat > preview.ps'
 					    'cat > preview.ps; ghostview preview.ps'
 				     ).
 	    PrinterStream defaultCommands:#(
-					    'cat | remsh ibm lpr -h'
-					    'a2ps | remsh ibm lpr -h'
+					    'cat | remsh exept lpr -h'
+					    'a2ps | remsh exept lpr -h'
 					    'a2ps > preview.ps; ghostview preview.ps'
 				     ).
 	] ifFalse:[
-	    PostscriptPrinterStream printCommand:'cat | rsh ibm lpr -h'.
-	    PrinterStream printCommand:'cat | rsh ibm lpr -h'.
+	    PostscriptPrinterStream printCommand:'cat | rsh exept lpr -h'.
+	    PrinterStream printCommand:'cat | rsh exept lpr -h'.
 	    PostscriptPrinterStream defaultCommands:#(
-					    'cat | rsh ibm lpr -h'
+					    'cat | rsh exept lpr -h'
 					    'cat > preview.ps'
 					    'cat > preview.ps; ghostview preview.ps'
 				     ).
 	    PrinterStream defaultCommands:#(
-					    'cat | rsh ibm lpr -h'
-					    'a2ps | rsh ibm lpr -h'
+					    'cat | rsh exept lpr -h'
+					    'a2ps | rsh exept lpr -h'
 					    'a2ps > preview.ps; ghostview preview.ps'
 				     ).
 	].
     ].
 ].
 
+"------------------------------------------------------------------------"
+"/ default compiler setup;
+"/ can be rechanged in a h_xxx file.
+"/
+
+Compiler stcCompilation:#default.
+Compiler stcCompilationOptions:'+optinline +inlineNew'.
+
+"/
+"/ setup for gcc (which is OK for most systems);
+"/ Notice that this setup may be changed by an OS-specific h_xxx file
+"/
+conf := Smalltalk configuration.
+(conf includesString:'gcc') ifTrue:[
+    Compiler ccPath:'gcc'
+] ifFalse:[
+    Compiler ccPath:'cc'
+].
+Compiler ccCompilationOptions:'-O'.
+
+includes := ''.
+('../../include' asFilename exists) ifTrue:[
+    "/ running in a development environment ...
+    includes := includes , '-I../../include '.
+].
+incDir := Smalltalk getSystemFileName:'include'.
+incDir notNil ifTrue:[
+    includes := includes , '-I' , incDir asFilename pathName , ' '
+] ifFalse:[
+    "/ running in a shared environment ...
+    ('/usr/local/lib/smalltalk/include' asFilename exists) ifTrue:[
+	includes := includes , '-I/usr/local/lib/smalltalk/include '.
+    ] ifFalse:[
+	('/opt/smalltalk/include' asFilename exists) ifTrue:[
+	    includes := includes , '-I/opt/smalltalk/include '.
+	] ifFalse:[
+	    'private.rc [warning]: no >>include<< directory found along your path.' errorPrintCR.
+	    'private.rc [warning]: this will affect stc-compilation from within the browser.' infoPrintCR.
+	]
+    ].
+].
+
+Compiler stcCompilationIncludes:includes.
+
+
+"/
+"/ for myself: preset flags, so that we can accept GLXWorkstation code
+"/ You probably will never do this.
+"/
+Display supportsGLDrawing ifTrue:[
+    sysType = 'irix' ifTrue:[
+	Compiler stcCompilationDefines:'-DGLX'.
+    ] ifFalse:[
+	Compiler stcCompilationIncludes:'-I../../include -I../../support/VGL/vogl/src'.
+	Compiler stcCompilationDefines:'-DVGL'.
+    ]
+].
+
+"/ specify additional link libraries.
+"/ Disabled; thats the default anyway ....
+"/
+"/    OperatingSystem getOSType = 'linux' ifTrue:[
+"/        ObjectFileLoader searchedLibraries:#('/usr/lib/libc.a')
+"/    ]
+
+
+
+"/
+"/ try systemType-specific setup
+"/ h_<osType>.rc
+"/
+(Smalltalk at:#'_ImageOSTypeName') ~= sysType ifTrue:[
+    ('host.rc [info]: trying host setup h_' , sysType , '.rc ...') infoPrintCR.
+
+    s := Smalltalk systemFileStreamFor:('h_' , sysType , '.rc').
+    s notNil ifTrue:[
+	s fileIn.
+	s close.
+    ].
+    Smalltalk at:#'_ImageOSTypeName' put:host.
+].
+
 "/
 "/ try host-specific setup
-"/ (h_<hostname>.rc
+"/ h_<hostname>.rc
 "/
 host isNil ifTrue:[
     'host.rc [warning]: cannot determine host I am running on' errorPrintCR.
--- a/private.rc	Tue Mar 23 12:12:41 1999 +0100
+++ b/private.rc	Fri Mar 26 16:28:02 1999 +0100
@@ -50,16 +50,17 @@
 ].
 !
 
-|whoAmI domain thisIsMySystem conf systemType incDir includes|
+|whoAmI domain thisIsMySystem thisIsExeptsDomain conf systemType incDir includes|
 
 whoAmI := OperatingSystem getLoginName.
 domain := OperatingSystem getDomainName.
-thisIsMySystem := (whoAmI = 'claus' or:[whoAmI = 'cg'])
-		  and:[domain = 'axept.de' or:[domain = 'exept.de']].
+thisIsExeptsDomain := (domain = 'exept.de').
+thisIsMySystem := (whoAmI = 'claus' or:[whoAmI = 'cg']) and:[thisIsExeptsDomain].
 
 "/
 "/ no matter what the 'display.rc' says:
 "/     I want my #iris style ...
+"/     except for win systems, where I use the win95 style
 "/
 
 thisIsMySystem ifTrue:[
@@ -152,7 +153,7 @@
 "/     methods and optionally to a classes history method.
 "/     if you dont like this, comment the following lines.
 "/
-thisIsMySystem ifTrue:[
+thisIsExeptsDomain ifTrue:[
     HistoryManager notNil ifTrue:[
 	'private.rc [info]: activating HistoryManager ...' infoPrintCR.
 	HistoryManager activate.
@@ -190,100 +191,6 @@
 Compiler allowUnderscoreInIdentifier:true. 
 Compiler warnUnderscoreInIdentifier:false. 
 
-"/ this is a temporary kludge: specify the flags to be used
-"/ when compiling via stc. Primitive compilation (from within the browser)
-"/ is still experimental. So you better not care (yet)
-"/ BTW: its only supported on ELF and Linux systems - anyway 
-"/      (and not in the free demo release).
-"/
-
-"/ mhmh - this should be done in the host file ...
-
-Compiler stcCompilation:#default.
-Compiler stcCompilationOptions:'+optinline +inlineNew'.
-
-systemType := OperatingSystem getOSType.
-systemType = 'win32' ifTrue:[
-    "/ msc
-    "/ Compiler ccPath:'cl'.
-    "/ Compiler ccCompilationOptions:'/O1'.
-
-    "/ borland
-    "/ Compiler ccPath:'bcc32'.
-    "/ Compiler ccCompilationOptions:''.
-] ifFalse:[
-    ((systemType = 'vms') or:[systemType = 'openVMS']) ifTrue:[
-	Compiler ccPath:'cc'.
-	Compiler ccCompilationOptions:'/names=as_is /standard=common'.
-    ] ifFalse:[
-	conf := Smalltalk configuration.
-	(conf includesString:'gcc') ifTrue:[
-	    Compiler ccPath:'gcc'
-	] ifFalse:[
-	    Compiler ccPath:'cc'
-	].
-	Compiler ccCompilationOptions:'-O'.
-    ]
-].
-
-includes := ''.
-('../../include' asFilename exists) ifTrue:[
-    "/ running in a development environment ...
-    includes := includes , '-I../../include '.
-].
-incDir := Smalltalk getSystemFileName:'include'.
-incDir notNil ifTrue:[
-    includes := includes , '-I' , incDir asFilename pathName , ' '
-] ifFalse:[
-    "/ running in a shared environment ...
-    includes := includes , '-I/usr/local/lib/smalltalk/include '.
-
-    ('/usr/local/lib/smalltalk/include' asFilename exists) ifFalse:[
-	'private.rc [warning]: no >>include<< directory found along your path.' errorPrintCR.
-	'private.rc [warning]: this will affect stc-compilation from within the browser.' infoPrintCR.
-    ].
-].
-
-Compiler stcCompilationIncludes:includes.
-
-
-thisIsMySystem ifTrue:[
-    "/
-    "/ for myself: preset flags, so that I
-    "/ can accept GLXWorkstation code
-    "/
-    Display supportsGLDrawing ifTrue:[
-	systemType = 'irix' ifTrue:[
-"/          Display isOpenGL ifTrue:[
-"/              Compiler stcCompilationDefines:'-DOPENGL'.
-"/          ] ifFalse:[
-		Compiler stcCompilationDefines:'-DGLX'.
-"/          ]
-	] ifFalse:[
-"/          Display isOpenGL ifTrue:[
-"/              Compiler stcCompilationIncludes:'-I../../include -I../../support/MESA/Mesa1.2.5/include'.
-"/              Compiler stcCompilationDefines:'-DOPENGL -DMESA'.
-"/          ] ifFalse:[
-		Display supportsGLDrawing ifTrue:[
-		    Compiler stcCompilationIncludes:'-I../../include -I../../support/VGL/vogl/src'.
-		    Compiler stcCompilationDefines:'-DVGL'.
-		]
-"/          ].
-
-	    "/ specify additional link libraries.
-	    "/ Disabled; thats the default anyway ....
-	    "/
-	    "/    OperatingSystem getOSType = 'linux' ifTrue:[
-	    "/      ObjectFileLoader searchedLibraries:#('/usr/lib/libc.a')
-	    "/    ]
-
-	].
-    ]
-].
-
-systemType = 'solaris' ifTrue:[
-    Compiler ccCompilationOptions:'-O -fPIC'
-].
 
 "/ set the package back to some useful default for programming
 "/ this is the package token assigned (by default) to all new methods/classes
--- a/smalltalk.rc	Tue Mar 23 12:12:41 1999 +0100
+++ b/smalltalk.rc	Fri Mar 26 16:28:02 1999 +0100
@@ -309,6 +309,8 @@
 "/
 "/ this handles all variant display stuff
 "/ (i.e. things which might change, when DISPLAY is set different)
+"/ Notice, that the display may be different from the host we run on;
+"/ Host specific things are configured in host.rc.
 "/
 "/ 'smalltalk.rc [info]: reading ''display.rc'' ...' infoPrintCR.
 Smalltalk fileIn:'display.rc'.