[comp.lang.modula2] Videcki Oberon

mcintosh@ccwf.cc.utexas.edu (aubrey mcintosh) (06/13/91)

I spent some time with the Videcki Oberon compiler today.  First,
I used the Phoenix .OBJ file tools to brouse.  I noticed that the support
for specifying search libraries was not in the .OBJ files in the
example kit.  Perhaps he is following the Intel standard :-) A result of 
this is that the entire suite of files must be listed for each link.  

Further browsing reveals that, indeed, SYS.OBJ must be linked last.

I have used debug to create a file, libs.obj, to address both of these
situations.

the hex/ascii text for the file libs.obj is:
80 0a 0 8 "LIBS.MOD" 36		a THEADR record.
88 07 0 0 9F "OLIB" AC		a Purge, List, Class=159 comment, as 
88 08 0 0 9F "OUSER" 43		  used by other compilers to specify a
88 07 0 0 9F "OSYS" 84		  library name.
8a 02 0 0 74			MODEND record
7e				? perhaps a end-of-file record.  Some of
			my utilities want this, others don't care.

To use this:
A) use your favorite librarian.  
 1)Put sys.obj into OSYS.lib  It is searched last, as it's listed last.
 2)put the various fully debugged .obj files into OLIB.LIB
 3)put the current frustrations.obj into ouser.lib

I suppose I really should put OUSER first, to be able to intercept the
usual library search order with my favorite goodies.

you must have at least an empty library for each named library... omit one
of the records if preferred.

B) use    copy /b abu.obj + libs.obj  nuabu.obj
C) use  link nuabu,,nuabu;   
D) use nuabu nuabu.map and marvel.


I notice that the Logitech compiler emits a record
Comment Purge, List, class=173 for RTSMain.  Who knows what the linker does
with this (or other) library classes?
-- 
Aubrey McIntosh  /  Chemistry  /  University of Texas  /  Austin, TX 78712
..another Gaelic learner...