were dealing with DBG (-d) LDSTATIC/NOPIE (-p), and the rest with
disabling/enabling sanitizers.
2. Use emalloc/estrdup for all the allocators instead of only some cases.
3. Add -V varspec which passes variables on the command line (as DBG
and LDSTATIC used to be passed before) instead of appending them
to the on-the-fly Makefile using -v varspec.
4. Change the distrib and rescue Makefiles to use -V instead of the removed
flags.
The motivation of this is to make variable handling consistent, less magical,
and remove the need for changing crunchgen each time we want to add disabling
an option by default.
(as proposed in tech-toolchain)
outside */dist/* subdirectories.
When USE_PIGZGZIP=yes, bsd.own.mk sets TOOL_GZIP=${TOOL_PIGZ},
so there's no need to test USE_PIGZGZIP in these Makefiles.
the full termcap distfile. In an attempt to reduce the madness
switch everyone (except the i386 cd install which does its own
thing) to the same (under 8K) termcap subset:
ansi ansi/pc-term compatible with color
dumb|unknown 80-column dumb tty
hp300h HP Catseye console
iris-ansi-ap IRIS ANSI in application-keypad mode
iris-ansi|iris-ansi-net IRIS emulating 40 line ANSI terminal (almost VT100)
sun|sun1|sun2|sun-il Sun Microsystems Inc. console with working insert-line
vt100|vt100-am DEC VT100 (w/advanced video)
vt220-8 DEC VT220 8 bit terminal
vt220|vt200|vt300 DEC VT220 in vt100 emulation mode
wsvt25 NetBSD wscons in 25 line DEC VT220 mode
wsvt25m NetBSD wscons in 25 line DEC VT220 mode with Meta
x68k|x68k-ite NetBSD/x68k ITE
xterm|vs100 xterm terminal emulator (X Window System)
Trying to provide similar functionality across all ports? It'll never
catch on...
PROG usr/bin/gzip usr/bin/gzcat usr/bin/gunzip
while 14 picked
PROG usr/bin/gzip usr/bin/gunzip usr/bin/gzcat
Make them all choose the former. No functional change.
already put dmesg on there, and the prep install kernels don't have KERNFS
defined anyhow. A quick test shows it's cheaper to use dmesg than kernfs:
1528511 +kernfs +mount_kernfs -dmesg
1524332 +dmesg -kernfs -mount_kernfs
bsd.subdirs.mk) in distrib/makefile, which builds an iso image for $MACHINE
with binary sets, stored in ${RELEASEDIR}/iso. The image is bootable for:
alpha, amd64, cats, i386, pmax, sgimips, sparc, sparc64, sun3, vax.
mac68k/macppc no there yet because of missing feature in makefs.
call iso_image in distrib/ for iso-image in the top Makefile.
SPECIAL dmesg srcdir distrib/utils/x_dmesg
line from all the ramdisk 'list' files. dmesg/Makefile will add -DSMALL
if SMALLPROG is defined (which it is by Makefile.crunch).
expect those where at least one of the language variants isn't built,
and those that are known not to have enough space (i386 ramdisk-tiny).
Files added to list.sysinst, list.sysinst.en is used when these files
cannot be added.
This might hit a size limit on another build - but I have no (sane) way of
testing it.
program/tool from "FOO" to "TOOL_FOO". The new variables are:
TOOL_ASN1_COMPILE TOOL_CAP_MKDB TOOL_CAT TOOL_CKSUM TOOL_COMPILE_ET
TOOL_CONFIG TOOL_CRUNCHGEN TOOL_CTAGS TOOL_DB TOOL_EQN TOOL_FGEN
TOOL_GENCAT TOOL_GROFF TOOL_HEXDUMP TOOL_INDXBIB TOOL_INSTALLBOOT
TOOL_INSTALL_INFO TOOL_M4 TOOL_MAKEFS TOOL_MAKEINFO TOOL_MAKEWHATIS
TOOL_MDSETIMAGE TOOL_MENUC TOOL_MKCSMAPPER TOOL_MKESDB
TOOL_MKLOCALE TOOL_MKMAGIC TOOL_MKTEMP TOOL_MSGC TOOL_MTREE
TOOL_PAX TOOL_PIC TOOL_PREPMKBOOTIMAGE TOOL_PWD_MKDB TOOL_REFER
TOOL_ROFF_ASCII TOOL_ROFF_DVI TOOL_ROFF_HTML TOOL_ROFF_PS
TOOL_ROFF_RAW TOOL_RPCGEN TOOL_SOELIM TOOL_SUNLABEL TOOL_TBL
TOOL_UUDECODE TOOL_VGRIND TOOL_ZIC
For each, provide default in <bsd.sys.mk> of the form:
TOOL_FOO?= foo
and for the ${USETOOLS}=="yes" case in <bsd.own.mk>, provide override:
TOOL_FOO= ${TOOLDIR}/bin/${_TOOL_PREFIX}foo
Document all of these in bsd.README.
This cleans up a chunk of potential (and actual) namespace collision
within our build infrastructure, as well as improves consistency in
the share/mk documentation and provision of appropriate defaults for
each of these variables.
- build (mdset/nm/strip) into ${filename} as one rule, and move ${filename}.gz
into separate rule
- rename MDSET.${filename}.nosymbols -> MDSET_NOSYMBOLS.${filename}
- rename MDSET.${filename}.post -> MDSET_POST.${filename}, and don't do
suffix handling here
- rework suffix handling:
- rename MDSET.${filename}.suffixes -> MDSET_SUFFIXES.${filename},
and change from list of suffixes to list of "suffix cmdtobuildsuffix",
where cmdtobuildsuffix is the name of the variable containing the
command to build ${filename}.${suffix} (available as "${.TARGET}").
- for each ${filename}.${suffix}, depend upon ${filename} and use
${cmdtobuildsuffix} to create the former.
- add separate ${filename}.${suffix}.gz rule
- mipsco & pmax: rename "install.gz" to "netbsd-INSTALL.gz", for
consistency and so the target to build the mdset kernel doesn't get
confused with general "install" target
- move guts of distrib/Makefile.inc to distrib/common/Makefile.distrib
(fixes problem caused by implicit include of ../Makefile.inc in certain
submake conditions triggered by makefiles not yet in tree)
- removed mkdir of ${RELEASEDIR}/*; rely upon "snap_pre" target of
etc/Makefile to create all the release directories
- renamed RELINSTALL to RELEASE_INSTALL
- renamed FLOPPYINSTDIR to FLOPPY_RELEASEDIR
- renamed MDSETDIR to MDSET_RELEASEDIR
- removed ITARGET
- move release target from top level to appropriate subdirectory
- ensure release target has correct depends
- replace miniroot's IMAGE_MD_POST with common/Makefile.image IMAGEPOSTBUILD
- Makefile.image: add realall: ${IMAGE}