This allows <bsd.lib.mk> to correctly set the RPATH of libraries that
use USE_SHLIBDIR=yes to /lib, so that dependent libraries can be found
from /lib when /usr/lib isn't mounted yet.
This was the intention of the _LIBLDOPTS support in <bsd.lib.mk>.
Fixes problem reported by Dan Carosone with when /sbin/cgdconfig is
dynamically linked against libcrypto.so but not libcrypt.so (it was
relying upon libcrypto.so to pull in libcrypt.so).
with MKPIC=no, possibly because the target does not support shared
libraries, these include libraries required to resolve all symbols
which end up referenced from PAM-using applications. The libraries
presently required are -lcrypt, -lrpcsvc and -lutil.
Add use of these variables which are currently set up to use PAM,
so that they compile when MKPIC=no.
Also, in the telnetd case, reorder the order of the libraries, so
that libtelnet.a comes before -ltermcap and -lutil, again to fix
link error when MKPIC=no.
Discussed with thorpej and christos.
headers and LKM.
Add MKPF; if set to no, don't build and install the pf(4) programs,
headers, LKM and spamd.
Both options default to yes, so nothing changed in the default build.
Reviewed by lukem.
support shared libraries (sun2 and evbsh5 at it would seem), or if the
user has specified MKPIC=no. Also introduce a new tag to the set lists
("pam"), so that the non-shlib ports can once again complete a release
build.
Discussed with christos and lukem.
Thomas Dickey's idea to work around a standards mandated change to the
C pre-processor to avoid having to change dozens of ancient X man pages,
appending a space to any line in a man page that ends in backslash "\".
libname path-to-srcdir-of-libname
For each tuple;
* LIBDO.libname contains the .OBJDIR of the library `libname', and
if it is not set it is determined from the srcdir and added to
MAKEOVERRIDES (the latter is to allow for build time optimization).
* LDADD gets -L${LIBDO.libname} -llibname added.
* DPADD gets ${LIBDO.libname}/liblibname.so added.
back to bsd.prog.mk from bsd.own.mk.
pkgsrc uses <bsd.own.mk>, and setting LIB<libname> in it causes
problems with various package builds.
This should fix PR #26542 submitted by Jim Bernard.
(I'll be implementing the DPADD for shared libraries in a different
manner that generally won't depend upon ${LIB<libname>}.)
library objects, rather than using OBJS to refer to them. This gives us
a separate variable to refer to static library objects that does not affect
profile library objects (which has POBJS) or shared library objects (which
has SOBJS).
USETOOLS=no/never means the system groff is being used so depending on
anything except it's tmac files makes no sense (and prevents builds with
USETOOLS=no/never from working as PR#23067 points out)
_NETBSD_SOURCE as this makes cross building from older/newer versions of
NetBSD harder, not easier (and also makes the resulting tools 'different')
Wrap all required code with the inclusion of nbtool_config.h, attempt to
only use POSIX code in all places (or when reasonable test w. configure and
provide definitions: ala u_int, etc).
Reviewed by lukem. Tested on FreeBSD 4.9, Redhat Linux ES3, NetBSD 1.6.2 x86
NetBSD current (x86 and amd64) and Solaris 9.
Fixes PR's: PR#17762 PR#25944
and don't install the (.a) library.
This is useful for "build only" helper libraries.
* Add some #{ [...] #} comments around large conditional statements.
- support ${COPTS.<fn>} ${CPUFLAGS.<fn>} ${CPPFLAGS.<fn>}
(deficiency noted by Tyler Retzlaff <rtr@NetBSD.org>)
- use ${COMPILE.s} for .s.o .s.po .s.so (instead of ${COMPILE.S})
- don't support AINC anymore; append to AFLAGS instead
Remove .c.ln - it was a duplicate of the rule in <bsd.sys.mk>
Usage: ${MAKEDIRTARGET} dir target [params]
Runs "cd $${dir} && ${MAKE} [params] $${target}",
displaying a "pretty" message whilst doing so.
Use MAKEDIRPREFIX to implement the __recurse .USE macro in <bsd.subdir.mk>
in Imake.rules:
* Allow XCOMM to be preceded by whitespace and provide a means of generating
* output lines with trailing backslashes.
* Allow XHASH to always be substituted, even in cases where XCOMM isn't.
In particular, this fixes an issue pointed out by wiz on tech-x11, where "@@"
remains unsubstituted for "\" in "startx".
in "/usr/X11R6/lib/X11/doc/RELNOTES". Note particularly that "tcp",
as in "X -nolisten tcp" or "xhost +tcp/host:0", now means *both*
IP transport protocols. Use "inet" or "inet6", instead, to specify
only one or the other.
XDMCP support for IPv6 -- such as it is -- is disabled, just as
it is in the native, out-of-the-box build. XDM-AUTHORIZATION-1
does not really support IPv6 addresses, in any case. (It is
possible to build "xdm" with -DIPv6, but that presumes support
for IPv6-mapped IPv4 addresses in the default installation, for
one thing, and there are unexplored issues with all that.)
and exception handling have a chance of working properly.
- creates libgcc, libgcc_eh and libgcc_s
- updates LIBGCC_SPEC to use them appropriately.
There's a hack in here at the moment with respect to libgcc_so in that it
is preferable to link against libgcc_so will only when -shared-libgcc is
specified (the c++ frontend does this automatically.) Configurations where
LINK_EH_SPEC is defined already do this. The gcc configuration for
NetBSD/alpha and another NetBSD platform (I forget which) actually define
LINK_EH_SPEC probably by accident rather than design.
- updates share/mk to use the compiler's knowledge of what needs linking into
libraries and executables. This removes an hppa hack.
- updates the sets for the newly created libgcc* files.
- support for linking against the _pg version of libgcc has been removed.
The benefits of having the symbol table available by default (easier
debugging of core dumps, etc) outweigh the minor (3%) increase in
the size of the distribution, and end-users can always strip(1) their
systems if they're concerned about that 3% of disk space.
This simplifies using ld with ${DESTDIR}/usr/lib whilst retaining the
(slightly faster) absolute links for the run-time libraries.
Per discussion on tech-toolchain.
(Side note; install(1) -l r needs the source to be prefixed with ${DESTDIR}
to operate correctly, which makes it non trivial to enable '-l r' by default
for all ${INSTALL_SYMLINK}s)
:M-[IDU]*
with
:C/-([IDU])[ ]*/-\1/Wg:M-[IDU]*
so that arguments with whitespace after them work correctly.
Resolves [toolchain/18248] from Andrew White at Motorola.
Be consisent in this syntax; previously we'd sometimes we'd just have :M-[ID]*
which would ignore -Ufoo ...
(This needs :C///W support in make(1) that Simon Gerraty added for me :)
Enable the in-tree toolchain on sh5, at least for the time being so I
can evaluate the situation.
There are still numerous problems with gcc3's sh5 support, not least
of which is the fact that a native gcc3 doesn't work at all. As a
cross-compiler, it works reasonably well. Certainly enough to build
userland and kernel code.
Binutils also has problems dealing with shared libraries on sh5, so
we're back to static userland for now.