Commit Graph

28 Commits

Author SHA1 Message Date
thorpej
09a0767aa9 Only use the MKDYNAMICROOT semantics (i.e. -rpath=/lib,/usr/lib and
-dynamic-linker=/libexec/ld.elf_so) if the BINDIR of the program being
built is /bin or /sbin.

The reason we do this is because now all programs *except* those in
/bin and /sbin (i.e. the "special cases") match the default the compiler
uses, which is what is used for things in e.g. xsrc, pkgsrc, and other
random 3rd party programs.

This is done by decoupling where a shlib is installed from how it
is located.  Two new variables, SHLIBINSTALLDIR and SHLINKINSTALLDIR,
contain the former information, and key off MKDYNAMICROOT only.  SHLIBDIR
and SHLINKDIR contain the latter, and key off MKDYNAMICROOT and BINDIR.

The SHLIBINSTALLDIR, SHLIBDIR, _LIBSODIR, SHLINKINSTALLDIR, and
SHLINKDIR parameters are moved to a new <bsd.shlib.mk>; see bsd.README
for usage details.
2002-09-27 21:37:50 +00:00
lukem
ec5dbc56b8 Explicitly move setting of NOxxx and USE_SHLIBDIR to the top of the
Makefile (before including <bsd.own.mk>)
2002-08-19 14:55:14 +00:00
lukem
26f515c492 Don't hard link to symlinks, as it's not portable.
Based on [toolchain/14119] from Chris G. Demetriou.
2002-02-26 00:24:59 +00:00
lukem
efcc9a4c9d * Add user-controlled mk.conf variables
- SHLIBDIR	Location to install shared libraries if ${USE_SHLIBDIR}
			is "yes".  Defaults to "/usr/lib".

	- USE_SHLIBDIR	If "yes", install shared libraries in ${SHLIBDIR}
			instead of ${LIBDIR}.  Defaults to "no".
			Sets ${_LIBSODIR} to the appropriate value.
			This may be set by individual Makefiles as well.

	- SHLINKDIR	Location of shared linker.  Defaults to "/usr/libexec".
			If != "/usr/libexec", change the dynamic-linker
			encoded in shared programs

* Set USE_SHLIBDIR for libraries used by /bin and /sbin:
	libc libcrypt libcrypto libedit libipsec libkvm libm libmi387
	libtermcap libutil libz

* If ${_LIBSODIR} != ${LIBDIR}, add symlinks from ${LIBDIR}/${LIB}.so*
  to ${_LIBSODIR}/${LIB}.so* for compatibility.

* Always install /sbin/init statically (for now)


The net effect of these changes depends on how the variables are set:

  1.)	If nothing is set or changed, there is no change from the
	current behaviour:
		- Static /bin, /sbin, and bits of /usr/*
		- Dynamic rest
		- Shared linker is /usr/libexec/ld*so

  2.)	If the following make variables are set:
		LDSTATIC=
		SHLINKDIR=/lib
		SHLIBDIR=/lib
	Then the behaviour becomes:
		- Dynamic tools
		- .so libraries used by /bin and /sbin are installed to /lib,
		  with symlinks from /usr/lib/lib*so to -> /lib/lib*so
		  where appropriate
		- Shared linker is /lib/ld*so

  3.)	As per 2.), but add the following variable:
		USE_SHLIBDIR=yes
	This forces all .so's to be instaleld in /lib (with compat
	symlinks), not just those tagged by their Makefiles to be.
	Again, compat symlinks are installed
2001-12-28 01:32:37 +00:00
christos
ae6f838f9e use ${SHLIB_FULLVERSION} instead of ${SHLIB_MAJOR}.${SHLIB_MINOR} 2000-07-03 21:10:57 +00:00
blymn
04a0fa29b3 * Fixed Makefile to proper set includes path
* Added new function t_setinfo to allow setting the termcap info when
  termcap entry found.
2000-05-28 09:58:15 +00:00
blymn
22a94f7041 * Removed variable names from ansi style prototype
* Add -I. to CPPFLAGS
* Added new function t_agetstr which dynamically allocates area buffer.
2000-05-20 13:55:10 +00:00
blymn
1bb0398527 Added new interface to termcap that allows the manipulation of multiple
termcap entries simultaneously and lifts the 1024 byte limit on the termcap
entry.  The original termcap api is unchanged but also no longer has
the 1024 byte limit if the termcap functions are used.
1999-08-15 10:59:01 +00:00
lukem
e3de1328d5 replace NOSTATICLIB with MKLINKLIB!=no - the former wasn't used anywhere else in the tree, and the latter seemed appropriate 1999-02-12 11:34:07 +00:00
lukem
76a2bd31c1 use MKxxx instead of NOxxx 1999-02-12 11:32:32 +00:00
christos
ae535838b4 ELF not alpha and mips. 1999-02-12 11:14:11 +00:00
cgd
d29dd9772c link libtermlib_pic.a to libtermcap_pic.a, if the right vars are (un)set. 1998-05-08 03:11:02 +00:00
ross
fdbd788c01 Fix broken LINKS+= line for ELF libtermlib install.
ALPHA/PMAX NOTE: rm "libermlib.so.0"
1998-04-20 01:35:44 +00:00
tv
1882b7131d You cannot check SHLIB_{MAJOR,MINOR} without <bsd.lib.mk>, but LINKS is
needed before <bsd.lib.mk>.  Instead, check for shlib_version file.
1998-04-18 15:46:22 +00:00
tv
6958fe8d9a Get the NO* variables from bsd.own.mk, and then set LINKS accordingly 1998-04-18 15:26:20 +00:00
tv
39f813538e Don't try to make a link to libtermlib.a if NOSTATICLIB is set (there's no
libtermcap.a)
1998-04-15 19:29:58 +00:00
jonathan
a369db44b3 Add more LINKS+= lines to make (hard) links from libtermcap to libterm as
required by ELF toolchain.

Don't use symlinks links as bsd.lib.mk does for ELF, because
bsd.link.mk creates symlinks before it creates the hard link.
1998-02-23 00:31:07 +00:00
lukem
ffa18634c4 use CPPFLAGS instead of CFLAGS 1997-10-23 03:27:34 +00:00
lukem
22630e700a install <termcap.h> (was from libedit), and use here... 1997-10-13 16:11:41 +00:00
lukem
5542a7ca43 - define WARNS?=1 in the top-level Makefile.inc, and don't define
anywhere else.
- for now, override WARNS=0 in librpcsvc and libwrap, until they're
  cleaned up
- rcsid police

lib is now clean (except for librpcsvc and libwrap) on the i386, and
this should motivate the other ports to fix any other minor problems
that their compilers pick up that the i386 version doesn't.
1997-10-09 14:36:17 +00:00
lukem
ae6b9c674a WARNSify 1997-10-09 11:58:15 +00:00
cgd
41f1c39f00 clean up import, roll forward local fixes, clean up Ids 1995-02-27 10:18:34 +00:00
cgd
ae9172d6cd specify man pages the new way. 1994-12-22 09:57:51 +00:00
cgd
6b300e59b8 do the conditional stuff later, so it works with NOPROFILE 1994-12-20 15:51:13 +00:00
cgd
f5a0af0d6e link libtermlib's shared library to libtermcap's 1993-11-05 05:01:56 +00:00
mycroft
cda4f8f6ee Add RCS identifiers. 1993-08-01 05:37:30 +00:00
mycroft
e82ce38d28 Don't build profiling libs if NOPROFILE (from 386BSD patch 138). 1993-04-22 03:38:45 +00:00
cgd
61f282557f initial import of 386bsd-0.1 sources 1993-03-21 09:45:37 +00:00