libraries. Remove the now-unneeded CPLUSPLUSLIB hack. I will also
remove the CPLUSPLUSLIB definitions from the Makefiles that use it,
after the dust settles.
Use gcc's LIBRARY_PATH environment variable to handle DESTDIR,
instead of -L flags in LDDESTDIR. LIBRARY_PATH is documented in
the gcc info pages. It is better than using -L flags, because it
modifies the search for start-up files as well as for libraries.
A new variable LDDESTDIRENV is used to contain the normally-empty
LIBRARY_PATH environment setting.
LDDESTDIR is no longer set in <bsd.lib.mk>. It is still honored for
the time being, because a couple of userland Makefiles still (wrongly)
set it. These should be fixed, and LDDESTDIR should vanish.
Removed the commented-out "LDDESTDIR+=-nostdlib", because "gcc -shared"
doesn't link in any standard libraries anyway.
Removed the ".if defined(LDADD)" around the _EXTRADEPEND target for
shared libraries. This target is always necessary now, because
c++rt0.o is linked into every shared library.
Don't merge this into -2.2 without first merging the support for
"gcc -shared".
Fixed back to front -X and -x strip flags in .m.o and .m.po rules.
Fixed disordered .m.o and .m.po rules. What is .m?
Stripping probably should be removed. It makes problems in library
functions hard to debug...
almost perfect dependencies on crt0's and libraries. DPADD and
bsd.libnames.mk should go away soon. Use a new _EXTRADEPEND target
to implement this and to avoid editing of .depend when .depend isn;t
being rebuilt. The afterdepend target doesn't seem to be good for
anything and is now unused.
Fixed LDDESTDIR for the DESTDIR case when ${SHLIBDIR} != /usr/lib.
Added commented-out -nostdlib to LDDESTDIR for the DESTDIR case.
The wrong libraries may be used without this; however it breaks
linkage to crt0 and libc.
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.
Boy, I'm glad we're not using sup anymore. This update would have been
insane otherwise.
the gnu libobjc rather than the NeXT one. I do not understand objc
so I don't know the implications of this, but the gcc-2.7.2 libobjc is
built with this.
bsd.obj.mk. Also, a make target called objwarn checks to see
if ${.OBJDIR} != ${.CURDIR} and ${.OBJDIR} != ${CANONICALOBJDIR}
and outputs a warning. (No warning for the latter if MAKEOBJDIR or MAKEOBJDIRP
REFIX is set). objwarn is called from all targets in bsd.prog.mk, bsd.kmod.mk,
and bsd.lib.mk.
Reviewed by: bde
eliminates many local symbols that could not be removed by the "ld -r -x"
steps on the individual object files. It makes shared libraries
substantially smaller -- almost 11%, in the case of libc.so.3.0.
*Really* strip out unused local symbols from shared objects.
This was a typo on my part caused by an assumption that the profiled
libraries stripped symbols that same way as the non-profiled libraries.
Cut-n-Paste strikes again.
Obtained from: NetBSD
`depend' wasn't supported. This seems to have only broken `make depend'
in gnu/usr.bin/ld.
bsd.prog.mk:
Build the man pages in ${MANDEPEND} at build time.
Define SHLIBDIR?= ${LIBDIR} and install shared libraries in
${DESTDIR}${SHLIBDIR} instead of in ${DESTDIR}${LIBDIR}.
SHLIBDIR may be defined in /etc/make.conf to override the
default of /usr/lib (I use /lib). Other changes are required
for non-default shared library directories to actually work
(ld* and crtso have too many hard-coded paths).
Bruce
RANTOUCH may be defined in /etc/make.conf as
`${ECHO} skipping ${RANLIB} -t' to help stop `make install' from
changing the timestamps on unchanged libraries, thus making the
uninstalled binaries appear to be out of date... Other changes
are required to stop install from clobbering the timestamps.
put the stuff into the right "distribution". As default things end up
in "bindist".
Normal (ie: most) makefiles know naught of this.
More commits will follow, which will direct various parts of the tree
into the distribution we want them in.
Some of the grief of being release-engineer is supposed to go away with this.