--- a/ObjectFileLoader.st Fri Jan 23 10:01:14 1998 +0100
+++ b/ObjectFileLoader.st Fri Jan 23 12:40:56 1998 +0100
@@ -2143,84 +2143,83 @@
needSharedObject := false.
osType := OperatingSystem getOSType.
osType = 'irix' ifTrue:[
- "
- link it to a shared object with 'ld -shared'
- "
- needSharedObject := true.
- ldArg := '-shared'.
+ "
+ link it to a shared object with 'ld -shared'
+ "
+ needSharedObject := true.
+ ldArg := '-shared'.
].
osType = 'sys5_4' ifTrue:[
- "
- link it to a shared object with 'ld -G'
- "
- needSharedObject := true.
- ldArg := '-G'.
+ "
+ link it to a shared object with 'ld -G'
+ "
+ needSharedObject := true.
+ ldArg := '-G'.
].
osType = 'linux' ifTrue:[
- ObjectFileLoader loadableBinaryObjectFormat == #elf ifTrue:[
- "
- link it to a shared object with 'ld -shared'
- "
- needSharedObject := true.
- ldArg := '-shared'.
- ]
+ ObjectFileLoader loadableBinaryObjectFormat == #elf ifTrue:[
+ "
+ link it to a shared object with 'ld -shared'
+ "
+ needSharedObject := true.
+ ldArg := '-shared'.
+ ]
].
osType = 'aix' ifTrue:[
- "/ create an exports file.
- expFileName := './' , baseFileName , '.exp'.
-
- expFile := expFileName asFilename writeStream.
- expFile notNil ifTrue:[
- expFile nextPutAll:'#!! ./' , baseFileName , '.so'.
- expFile cr.
- expFile nextPutAll:'_' , baseFileName , '_Init'.
- expFile close.
- ].
+ "/ create an exports file.
+ expFileName := './' , baseFileName , '.exp'.
+
+ expFile := expFileName asFilename writeStream.
+ expFile notNil ifTrue:[
+ expFile nextPutAll:'#!! ./' , baseFileName , '.so'.
+ expFile cr.
+ expFile nextPutAll:'_' , baseFileName , '_Init'.
+ expFile close.
+ ].
- "
- link it to a shared object with 'cc -bI:...librun.exp -bE -bMSRE'
- "
- needSharedObject := true.
- ld := 'cc'.
- librunExpFileName := Smalltalk getSystemFileName:'lib/librun_aix.exp'.
- librunExpFileName isNil ifTrue:[
- LastError := 'missing exports file: ''lib/librun_aix.exp'' - cannot link'.
- ^ nil
- ].
-
- ldArg := '-bI:' , librunExpFileName ,
- ' -bE:' , baseFileName , '.exp' ,
- ' -bM:SRE -e _' , baseFileName , '_Init'.
+ "
+ link it to a shared object with 'cc -bI:...librun.exp -bE -bMSRE'
+ "
+ needSharedObject := true.
+ ld := 'cc'.
+ librunExpFileName := Smalltalk getSystemFileName:'lib/librun_aix.exp'.
+ librunExpFileName isNil ifTrue:[
+ LastError := 'missing exports file: ''lib/librun_aix.exp'' - cannot link'.
+ ^ nil
+ ].
+
+ ldArg := '-bI:' , librunExpFileName ,
+ ' -bE:' , baseFileName , '.exp' ,
+ ' -bM:SRE -e _' , baseFileName , '_Init'.
].
oFileName := './' , baseFileName , '.o'.
needSharedObject ifTrue:[
- soFileName := './' , baseFileName , '.so'.
- OperatingSystem removeFile:soFileName.
- Verbose ifTrue:[
- 'linking with:' infoPrintCR.
- ' ' infoPrint.
- (ld , ' ' , ldArg , ' -o ' , soFileName , ' ' , oFileName) infoPrintCR.
- ].
- OperatingSystem executeCommand:ld , ' ' , ldArg , ' -o ' , soFileName , ' ' , oFileName.
- OperatingSystem removeFile:oFileName.
- expFileName notNil ifTrue:[
- OperatingSystem removeFile:expFileName
- ].
- ^ soFileName.
+ soFileName := './' , baseFileName , '.so'.
+ OperatingSystem removeFile:soFileName.
+ Verbose ifTrue:[
+ 'linking with:' infoPrintCR.
+ ' ' infoPrint.
+ (ld , ' ' , ldArg , ' -o ' , soFileName , ' ' , oFileName) infoPrintCR.
+ ].
+ OperatingSystem executeCommand:
+ ld , ' ' , ldArg , ' ',
+ (SearchedLibraries asStringCollection asStringWith: $ ),
+ ' -o ' , soFileName , ' ' , oFileName.
+ OperatingSystem removeFile:oFileName.
+ expFileName notNil ifTrue:[
+ OperatingSystem removeFile:expFileName
+ ].
+ ^ soFileName.
].
"
assume we can load an ordinary binary
"
^ oFileName
-
- "Created: 3.1.1996 / 16:04:45 / cg"
- "Modified: 29.7.1996 / 13:20:30 / cg"
- "Modified: 7.1.1997 / 20:16:28 / stefan"
! !
!ObjectFileLoader class methodsFor:'lowlevel object loading'!
@@ -3370,6 +3369,6 @@
!ObjectFileLoader class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libcomp/ObjectFileLoader.st,v 1.154 1998-01-12 13:26:25 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libcomp/ObjectFileLoader.st,v 1.155 1998-01-23 11:40:56 tz Exp $'
! !
ObjectFileLoader initialize!