Subject: Re: Problems with CFLAGS inheritance
To: Phil Nelson <phil@steelhead.cs.wwu.edu>
From: Chris G. Demetriou <cgd@alpha.bostic.com>
List: port-pc532
Date: 10/23/1994 17:29:15
> >so i figured there must be some global static on/off switch
> >(which I've still not found)
> 
> Yes, it is in /usr/share/mk/bsd.own.mk.  On the pc532, NOPIC= is 
> defined.  If you don't build shared libs and/or don't install them
> in /usr/lib, you get a static system, which is what I have done.
> I hope this helps.

right, but NOPIC= doesn't handle the case where you already have
shared libs in /usr/lib, and are trying to 'escape' them.

For instance, you're running a shared-lib-using system, and want to
convert your system to run with statically linked binaries... you
can't exactly just remove the .so's.

LDSTATIC=-static (or setenv LDSTATIC -static) does the right thing,
in terms of linking system binaries statically.

in some cases (e.g. where you're trying to _completely_ escape a
shared-lib system), you will want to set NOPIC and LDSTATIC
appropriately.  However, it's reasonable to e.g. link the 'standard'
systems binaries statically, but want shlibs for non-standard
binaries...


chris