[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference hydra::amiga_v1

Title:AMIGA NOTES
Notice:Join us in the *NEW* conference - HYDRA::AMIGA_V2
Moderator:HYDRA::MOORE
Created:Sat Apr 26 1986
Last Modified:Wed Feb 05 1992
Last Successful Update:Fri Jun 06 1997
Number of topics:5378
Total number of notes:38326

4494.0. "Archival tool for object libraries?" by WHAMMY::SPODARYK (digging for fire) Tue Feb 05 1991 19:51

Are there any tools available for creating linkable libraries for the Amiga?
Alib (Fish #3) has some very basic functionality, but has some bugs which
I don't really want to track down.

What I'm looking for is unix 'ar'/'ranlib' functionality, or a subset of
VMS LIBRARY/*.  Currently, I can 'join' many objects into one large object,
and link with that (pseudo library).  I'd like something that is
integratable with SAS lmk, but that seems unlikely.

Am I asking too much, does such a beast exist, or - who want's to team up
and write one?  It seems like a requirement for moderate-to-large sized 
projects.

Thanks,

Steve
T.RTitleUserPersonal
Name
DateLines
4494.1am I missing something?WJG::GUINEAUthe number 42 comes to mindTue Feb 05 1991 22:1321
>            <<< Note 4494.0 by WHAMMY::SPODARYK "digging for fire" >>>
>                     -< Archival tool for object libraries? >-
> 
> Are there any tools available for creating linkable libraries for the Amiga?
> Alib (Fish #3) has some very basic functionality, but has some bugs which
> I don't really want to track down.
> 
> What I'm looking for is unix 'ar'/'ranlib' functionality, or a subset of
> VMS LIBRARY/*.  Currently, I can 'join' many objects into one large object,
> and link with that (pseudo library).  I'd like something that is
> integratable with SAS lmk, but that seems unlikely.
> 

Have you looked at the SAS oml (object module librarian) that comes with
the compiler?

> 
> Steve
> 

john
4494.2oopsWHAMMY::SPODARYKdigging for fireWed Feb 06 1991 12:017
No, I was missing something.  Maybe I should RT[*]M.  'oml' should
do exactly what I need.  The only SAS tools that I usually use are 'cpr'
and 'lmk', so I had completely forgotten about all the other ones...

I'll give it a try.

Steve
4494.3almost, but not quite...WHAMMY::SPODARYKdigging for fireWed Feb 06 1991 13:5745
Well, 'oml' does all things it claims to, but it's not very well integrated
into 'lmk'.  What I would like to be able to do is delete .o files, once
they become part of a library - and have 'lmk' be able to manage it's
dependencies based on the library.  As I see it now, you need to leave the
objects hanging around so that the sources can be compared to them during the 
next build.

Using Ultrix make, you can do something along these lines:

#
library=foo.a

# compile sourcefile
.c.o:
	$(CC) -c $(CFLAGS) $<

# compile/include object into library
.c.a:	
	$(CC) -c $(CFLAGS) $<
	$(AR) r $@ $*.o
	@$(RM) -f $*.o

# dependencies - THIS is what I need.  Some type of library/obj relationship
$(library):\ 
	$(library)(object1.o)\
	$(library)(object2.o)\
	$(library)(object3.o)

	ranlib $@

object1.o: object1.c

object2.o: object2.c

object3.o: object3.c

Leaving the objects around, kind of defeats part of the purpose of an object
library.  (As well as doubling the disk space needed)

The 'lmk -x' (unix compatibility) doesn't seem to be much help here.
Maybe some of the GNU tools might be useful, or I'll call SAS and see
if that might be a possible enhancement.

Steve