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...