In bsd.README, document all TOOL_* variables that are set in bsd.sys.mk.
There are several TOOL_* variables that are set in bsd.own.mk, but not
set in bsd.sys.mk and not documented in bsd.README.
* in games/fortune/strfile/Makefile, build strfile as a
regular program instead of as a host tool;
* add tools/strfile directory to build strfile as a host tool;
* in tools/Makefile, add strfile to SUBDIR list;
* in BSD.*.mk, define TOOL_STRFILE variable;
* in games/fortune/datfiles/Makefile, use TOOL_STRFILE when creating
databases at build time;
* in distrib/sets/lists/games/mi, mention usr/games/strfile.
Tyler Retzlaff.
No, this is not code I am going to be proud of. Meanwhile, anyone is
welcome to work on a mknative-xorg script and make sure that outputs across
all archs are consistent, and use it to generate a bunch of other stuff such
as the Imake config file and so on. That will do for now though.
libraries for space-constraint systems. The description is based on the
feedback of hubertf@, the logic on input from lukem@
This obsoletes the removal of LIBC_SCCS and SYSLIBC_SCCS for libc builds.
and -L${_GCC_LIBGCCDIR} were appearing in the link line before ${LDADD},
so -L${DESTDIR}/lib and -L${DESTDIR}/usr/lib were being used before
local -L library paths.
Fixes ntpd/ntpdate failure noticed by Valeriy E. Ushakov <uwe@NetBSD.org>
Fixes problem with MKDYNAMICROOT=no triggered by libraries that depend
on other libraries.
Related to PR 33503.
Clean up setting of _CCLINK to always add the appropriate -B options.
Simplify the link rule for a program.
If not "no", install as ${LIB}.so (without the "lib" prefix),
and act as "MKDEBUGLIB=no MKLINT=no MKPICINSTALL=no
MKPROFILE=no MKSTATICLIB=no".
Default: no
private non-installed build infrastructure from sys/rump.
breakdown of commit:
* install relevant headers into /usr/include/rump
* build sys/rump/librump/rumpuser and sys/rump/librump/rumpkern
from src/lib and install as librumpuser and librump, respectively
+ this retains the ability to test a librump build with just the
kernel sources at hand
* move sys/rump/fs/lib/libukfs and sys/rump/fs/lib/libp2k to src/lib
for general consumption, they are not kernel-space dwellers anyway
* build and install sys/rump/fs/lib/lib$fs as librumpfs_$fs
* add chapter 3 manual pages for rump, rumpuser, ukfs and p2k
* build and install userspace kernel file system daemons if MKPUFFS=yes
is spexified
* retire fsconsole for now, it will make a comeback with an actually
implemented version shortly
- add MKXORG
- default to DRI-on for Xorg
- add paths for 192 Xorg packages that will exist in
xsrc/external/mit/<package>/dist
- add some more X11FLAGS.* variables if MKXORG.
this is somewhat based on the xorg work rtr@ did a couple of years ago.
XXX: seriously need to fix the XORG_RELEASE value, it is still set to
XXX: 6.8.1 from when rtr was working on this.
-Wa,--fatal-warnings
to CFLAGS to set assembler warnings to be fatal.
(Done via CFLAGS instead of AFLAGS so that all assembling, not just
that of .S/.s files, uses the option.)
first time.
share/mk/bsd.kmodule.mk: only set _INST_DIRS if KMODULEDIR is not
set. That we we avoid installing some bogus directories in
the DESTDIR and in $DESTDIR/METALOG.
tests/modules/k_helper/Makefile: add missing .include <bsd.own.mk>,
and set the KMODULEDIR that the author seems to have intended.
the top of the tree down to where the kernel modules are installed,
so that unprivileged builds have a chance at working again.
Note, to use this fix in a tree where you've already hit on this
problem, you need to manually remove the kernel modules in
$DESTDIR/stand/<arch/, and then reinstall them from sys/modules/.
so handle it in each Makefile rather than sys.mk.
These ICEs might be related with GCC Bugzilla Bug 32424
which is not resolved yet even in the upstream.
so that we still link in the crt* start/end files.
Explicitly link libc against gcc_pic, since -nodefaultlibs undoes this.
Fixes problems where shared libraries don't get init/fini sections,
most easily noticable with pthreads programs not working.
Approved by: skrll
Thanks: bjs, mrg, icb peanut gallery.
> Don't make linker warnings fatal on linking static libs since
> there is no proper way to avoid "FOO is a patented algorithm" warnings.
Ok'ed by christos@ and dogcow@ on tech-toolchain, and
tested build.sh build for sun2, news68k, alpha and newsmips.
by expanding their names in the for loops.
Inspired by a recent commit, which made sense to me based on the
number of times I've had to redo a search without the leading MK|USE_
within this file just to find the default...
actually finds it. Also note that it only works if set before
bsd.own.mk is included.
Otherwise, grep NOMAN /usr/share/mk/*.mk comes up empty, and since
naively setting it may not work, one can easily draw wrong
conclusions.
contents of the generated scripts may change (as will happen with ATF 0.4),
so this dependency is important to have. Dunno how to deal with the
non-tools case other than adding an entry in UPDATING, but if you are not
using tools, you can expect all kinds of breakage.
This file simplifies the build of test programs, either written in C++
or in sh. It hides the internals of atf, e.g. by silently linking
against -latf or calling atf-compile.
It also takes care of installing an Atffile for each new test directory.
This adds support for a new set of variables, PROGS and PROGS_CXX, that
allow the developer to build multiple different programs from a single
source directory.
directories and Makefiles from src/usr.sbin/bind to src/lib; make
BIND libraries build shared. Saves about 1MB-1.5MB per installed
executable, about 5MB for a base+etc minimal installation of NetBSD.
include path: the normal header files now include the "SSP" ones (which one
should note are not really named right: SSP and FORTIFY_SOURCE are independent
features).
Disable USE_SSP on targets where the compiler doesn't support it at all
(mips, alpha) or it's known broken (sh3). But enable FORTIFY_SOURCE,
without SSP, on those platforms -- tested on mipsel.
(what other systems keep in libssp, we already have in libc) into libc
to match what other systems with FORTIFY_SOURCE do. Goodbye, libssp
dependency in libraries and executables. Discussed with christos and
mrg; Christos will merge the headers to get us the rest of the way to a
FORTIFY_SOURCE implementation that works as others' code expects.
FORTIFY_SOURCE feature of libssp, thus checking the size of arguments to
various string and memory copy and set functions (as well as a few system
calls and other miscellany) where known at function entry. RedHat has
evidently built all "core system packages" with this option for some time.
This option should be used at the top of Makefiles (or Makefile.inc where
this is used for subdirectories) but after any setting of LIB.
This is only useful for userland code, and cannot be used in libc or in
any code which includes the libc internals, because it overrides certain
libc functions with macros. Some effort has been made to make USE_FORT=yes
work correctly for a full-system build by having the bsd.sys.mk logic
disable the feature where it should not be used (libc, libssp iteself,
the kernel) but no attempt has been made to build the entire system with
USE_FORT and doing so will doubtless expose numerous bugs and misfeatures.
Adjust the system build so that all programs and libraries that are setuid,
directly handle network data (including serial comm data), perform
authentication, or appear likely to have (or have a history of having)
data-driven bugs (e.g. file(1)) are built with USE_FORT=yes by default,
with the exception of libc, which cannot use USE_FORT and thus uses
only USE_SSP by default. Tested on i386 with no ill results; USE_FORT=no
per-directory or in a system build will disable if desired.
where ${MAKEWRAPPERMACHINE} is the suffix XXX on the target's make
wrapper, nbmake-XXX.
Fixes toolchain/30673, "single arch host disklabel isn't enough".
set .OBJDIR so 'make -V .OBJDIR' doesn't need to read any makefiles.
Given how much cud-chewing make does in order to read a line, this
speeds things up significantly (the operation in hand).
make rules, nor reading Makefile.
It is rather a shame we can't stop .depend being parsed as well.
Quite possibly one could argue that nothing in .depend should affect the
output of 'make -V xxxx'.
Add .WAITs after beforeinstall and before afterinstall.
Remove the bogus dependency lines that someone must have added with the
vague hope they would cause the build to happen in the right order!
Since we have 'realinstall: proginstall scriptsinstall' stopping
'realinstall' running never has stopped 'proginstall' running.
Fixing this probably fixes a variety of problems, including, but not
restricted to 'install' in src/sys/arch/atari/stand/bootxx
(NB this particular file is untested due to other local changes)
- retire LIBDCK, LIBG2C and (long broken) USE_LIBSTDCXX
- in bsd.hostprog.mk's LIBSTDCPP -> LIBSTDCC
- add LIBSUPCXX
- don't default USE_LIBSTDCXX or USE_GCC4 since they are
not used in the tree any where
- same with USE_XF86_4; retire it
- remove _SUPCXX handling in bsd.prog.mk
inspired by PR#26714.
Tested on most m68k ports. Still there is no report of
atari, cesfic, luna68k, and mvme68k on real machines,
but at least builds for these ports should work.
when files may have hard links to a a name that only differs by case
- change install to unconditionally remove its temporary file
when installing hard links with -r. This avoids problems when
built with posix rename(2) semantics and reinstalling an existing
hard link.
- rework hard link targets in bsd.man.mk and bsd.links.mk
to use makefile constructs instead of shell constructs
- always reinstall hard links that may have case conflicts, even
when MKUPDATE=yes, this ensures that they get added to METALOG
- remove man pages which were hard linked to themselves in libform
- remove improper hard link command for existing man page in libkrb5
- fix libl's makefile to include bsd.lib.mk at end
- remove shell quoting in link target for test's [.1 man page
NetBSD Foundation Membership still pending.) This stack was written by
Iain under sponsorship from Itronix Inc.
The stack includes support for rfcomm networking (networking via your
bluetooth enabled cell phone), hid devices (keyboards/mice), and headsets.
Drivers for both PCMCIA and USB bluetooth controllers are included.