Commit Graph

150 Commits

Author SHA1 Message Date
rillig 13890d5a3f BUILDING: fix typo 2024-04-26 17:38:44 +00:00
lukem a9756fb69c BUILDING: list known mk.conf vars. tweak section headers
List known supported and obsolete mk.conf(5) variables,
so that searches in this document at least find them.
This partially reverts my revision 1.144 on 2023-06-12
which completely removed the duplication with mk.conf(5).

Remove quote characters from some section headings;
it makes it harder to search for a section by known name
when rendering in markup variations that use smart quotes.
2023-07-22 18:50:04 +00:00
lukem cc95aaefd7 BUILDING: clarify environ vs mk.conf behaviour
Document that variables set in the environment or the
nbmake-MACHINE wrapper script don't override variable
assignments in mk.conf(5), and that using ?= in mk.conf
allows environment / nbmake-MACHINE variables to override
mk.conf.

Consistently refer to "nbmake-MACHINE wrapper script".
2023-07-21 22:07:59 +00:00
lukem 747c3dee36 BUILDING: consistency fix 2023-07-19 15:40:38 +00:00
lukem 3cb563b335 build.sh: use mk.conf (if present) as MAKECONF
Set MAKECONF to mk.conf in the same directory as build.sh
(i.e., the top of the source tree) if mk.conf is present.
This means unprivileged users can benefit from mk.conf(5)
semantics without write privileges to /etc/mk.conf, and
also simplifies per-source-directory configuration.

Fail early if $MAKECONF is empty, since build.sh will fail
anyway after rebuilding nbmake.

Ensure that the computed MAKECONF isn't empty, and then
always set MAKECONF in the makewrapper (nbmake-$MACHINE).

Improve some formatting consistency in BUILDING.mdoc,
(even if BUILDING is generated without markup).
2023-07-18 16:59:57 +00:00
lukem 2b1fd0414c BUILDING: wording tweaks 2023-07-05 16:41:12 +00:00
lukem 6aba6b1625 BUILDING: remove duplication from mk.conf(5)
Remove all "make" variables / mk.conf(5) variables already documented
in mk.conf(5).  The duplication was a maintenance headache, as I've
experienced over recent weeks getting the build documentation up to
date.

Add notes clarifying that manual page references are to the NetBSD
manual pages, not to the host manual pages, and how to format from
source, or find online at https://man.netbsd.org.

Add explicit links to the mdoc(7) in-tree source for mk.conf(5),
hier(7), and release(7) because those are directly relevant to the host
build information in BUILDING.

Note: We don't normally need these notes for native documentation,
but BUILDING is intended for users on host systems which might not
be NetBSD(-current).

Add missing defaults.
2023-06-11 20:34:14 +00:00
lukem 3dd6409cfb BUILDING: update from mk.conf(5). reorder
Sync variable entries from mk.conf(5).

Merge the "make variables for full builds" section into the previous.
Having two separate sections and some entries duplicated was confusing
when searching for variables.
2023-06-11 10:49:43 +00:00
lukem 922f5e2588 more NBUILDJOBS deprecation
The NBUILDJOBS option was deprecated in 2002;
there's no need to keep warning about it,
remove from params / show-params,
and only document as obsolete.
2023-06-11 10:43:51 +00:00
lukem 5166ed0b68 BUILDING: editorial
MKX11=yes wants MKINET6=yes

Change the width of the variable lists to 14n (from 15n)
so that when the lists are rendered and then left aligned,
the column is 16 characters (aka 2 tabs) which makes
copypasta to bsd.README easier.
2023-06-05 22:36:17 +00:00
lukem f26a4cc930 BUILDING: update from canonical mk.conf(5)
Incorporate content and styles updates for mk.conf entries
from share/man/man5/mk.conf.5, which is the canonical
reference for mk.conf.

Add: BSDOBJDIR, BSDSRCDIR, EXTERNAL_TOOLCHAIN, MKDEBUGKERNEL,
MKDEBUGTOOLS, MKHTML, MKLINKLIB, MKOBJDIRS, TOOLCHAIN_MISSING,
NETBSDSRCDIR

It's for further study as to whether we just replace the
most of subsection "make" variables with a link to mk.conf(5).

Style:
- Add more .de macros per mk.conf.5.
- Order list items alphabetically. When multiple items are present
  in a list item, sort within the item first.
- More cross-references.
2023-06-04 20:08:21 +00:00
lukem 105457a1c4 build.sh: MAKECONF and mk.conf(5) improvements
Move MAKECONF to the Environment variables section.
Add mk.conf(5) cross-references.
Make Notes more obvious.
Fix mandoc lint.
2023-06-02 20:48:41 +00:00
lukem 23c02a696a BUILDING: TMPDIR must not be noexec
Describe $TMPDIR as used by build.sh, and
add a note that it can't be mounted noexec.

PR toolchain/44459
2023-05-18 14:22:53 +00:00
lukem 9d6c4a2602 build.sh, BUILDING: consistency improvements
Consistently use "show", instead of sometimes using "display" or "print".
Fix mdoc markup (even though BUILDING is raw text).
Document help, -P, -?
2023-05-16 21:39:26 +00:00
lukem b9abc1c511 BUILDING: update upstream, regen
doc/BUILDING.mdoc is the upstream for BUILDING, so add recent changes
in the latter to the former, formatting correctly.

Move INSTALLBOOT_UBOOT_PATHS to Environment variables.
Move INSTALLBOOT_BOARDS to "make" variables for full builds.
Add installboot(8) cross-reference.
2023-05-16 21:21:38 +00:00
lukem dac6dcb8de Deprecate extsrc/, EXTSRCSRCDIR, MKEXTSRC
Remove support for building extsrc/:
1. Makefile: remove do-extsrc target.
2. build.sh: remove options -y and -Y extsrcdir.
3. distrib/sets: remove support for extsrc in various tools
   including the options -L ext and -y, and the extsrc sets.
4. doc/BUILDING.mdoc: remove docs for extsrc/, EXTSRCSRCDIR, MKEXTSRC (etc)
5. bsd.own.mk and various Makefiles: remove support for extsrc/,
   EXTSRCSRCDIR, MKEXTSRC.

As proposed on tech-kern and tech-userlevel on 2022-01-07
and followed up on 2022-08-21.
2022-08-21 07:10:03 +00:00
andvar 7b29bb5990 s/knowlege/knowledge/ 2022-05-28 21:54:56 +00:00
kamil 994be4e978 Reintroduce the support of MKCATPAGES
Requested by <mrg>
2020-11-10 21:47:40 +00:00
kamil 4045d62396 Remove the support for MKCATPAGES
It was optional since 1999 and disabled by default since 2012.

Proposed on tech-userlevel@.
2020-11-08 14:52:35 +00:00
thorpej ee912053c1 Document CPUFLAGS here (it's already documented in share/mk/bsd.README).
This will address the initial concern in PR port-alpha/55545.
2020-10-13 01:59:32 +00:00
uwe 02b4a321b1 Mention HOST_CFLAGS and HOST_CXXFLAGS. 2020-10-12 21:14:36 +00:00
uwe 9a7d963937 If this file is processed with real roff (doc.tmac) tweak things to
make ascii output as close to the mandoc output as possible.
There are only two diffs:
- groff renders em-dash as -- in the NAME section
- mandoc misses "NetBSD" in the "NetBSD System Manager's Manual"
  section header
2020-10-12 21:12:34 +00:00
uwe c6ee822b87 Bump date and regen for BUILDING.mdoc revision 1.127
that introduced build.sh -c <compiler> option.
2020-10-12 21:05:54 +00:00
riastradh 8039b48b5b New build.sh option: -c <compiler>
Could never remember what the incantation is to do a clang build, so
now it's just `build.sh -c clang'.
2020-06-30 21:22:19 +00:00
leot 666793fa92 Fix a typo
Reported by Tobias Ulmer via netbsd-docs@ ML, thanks!
2019-05-08 14:03:57 +00:00
sevan 5b00e77546 Spelling mistake.
Reword MKINFO description.
2018-07-29 20:53:29 +00:00
leot 33444c8142 Fix a typo.
Pointed out by aalm in #NetBSD@Freenode.
2018-02-16 10:05:01 +00:00
sevan 916ec1d70b While SH3 is no longer an exception, m68000 still is. 2017-12-29 03:04:56 +00:00
sevan 2b6d2cc844 Direct reader to use build.sh for building NetBSD in favour of using make directly.
Give an example of why build.sh is better to use.
2017-10-21 22:03:01 +00:00
sevan 5442206198 SH3 is no longer an exception for MKPIC, in src/share/mk/bsd.own.mk we set MKPIC
to yes by default.
Kill trailing whitespace.
2017-10-21 21:16:07 +00:00
riastradh ef315f7931 Remove MKCRYPTO option.
Originally, MKCRYPTO was introduced because the United States
classified cryptography as a munition and restricted its export.  The
export controls were substantially relaxed fifteen years ago, and are
essentially irrelevant for software with published source code.

In the intervening time, nobody bothered to remove the option after
its motivation -- the US export restriction -- was eliminated.  I'm
not aware of any other operating system that has a similar option; I
expect it is mainly out of apathy for churn that we still have it.
Today, cryptography is an essential part of modern computing -- you
can't use the internet responsibly without cryptography.

The position of the TNF board of directors is that TNF makes no
representation that MKCRYPTO=no satisfies any country's cryptography
regulations.

My personal position is that the availability of cryptography is a
basic human right; that any local laws restricting it to a privileged
few are fundamentally immoral; and that it is wrong for developers to
spend effort crippling cryptography to work around such laws.

As proposed on tech-crypto, tech-security, and tech-userlevel to no
objections:

https://mail-index.netbsd.org/tech-crypto/2017/05/06/msg000719.html
https://mail-index.netbsd.org/tech-security/2017/05/06/msg000928.html
https://mail-index.netbsd.org/tech-userlevel/2017/05/06/msg010547.html

P.S.  Reviewing all the uses of MKCRYPTO in src revealed a lot of
*bad* crypto that was conditional on it, e.g. DES in telnet...  That
should probably be removed too, but on the grounds that it is bad,
not on the grounds that it is (nominally) crypto.
2017-05-21 15:28:36 +00:00
plunky a95eaab00e state correct location for install-image (RELEASEDIR/images) 2017-04-22 07:48:19 +00:00
wiz ff6c2ab51c Use Fl and Xr. New sentence, new line. 2017-04-20 09:47:41 +00:00
ozaki-r 1300188462 Introduce MKSTRIPSYM build option
If it's yes, all local symbols of shared libraries are stripped
(default). If it's no, only temporary local symbols are stripped;
for example, symbols of static functions are kept. Keeping such
symbols is useful on using DTrace for userland libraries and
getting a backtrace from a rump server loading modules (shared
libraries).

Proposed and discussed on tech-kern and tech-toolchain
2017-04-20 09:29:10 +00:00
christos 958d1f77d5 document -P 2017-02-20 20:56:30 +00:00
wiz 630110fe35 Document MKREPRO_TIMESTAMP. 2016-01-29 13:51:13 +00:00
mrg cf4dd8937a remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)
2015-07-23 08:03:24 +00:00
pgoyette c09d6082f2 Update location of live-images to reflect changes made in rev 1.398 of
src/etc/Makefile
2015-06-07 05:30:18 +00:00
wiz ac59b1c330 Update Xorg defaults description. From Joachim Henke on netbsd-docs. 2015-04-08 05:47:43 +00:00
riastradh 53428a0862 Use `It Sy', not just `It', for live-image, to match other targets.
No change to plain-text BUILDING file.
2015-01-08 23:59:26 +00:00
uebayasi 0a333665fa Add a new build make variable, CONFIGOPTS, which is passed to config(1)
when building kernels.  Revert "mkernel=*" and "mkernels" in favor of
this option.

Diff posted on source-changes-d@, approved by (null).
2014-11-30 15:53:29 +00:00
uebayasi 25506fcda3 Document build.sh mkernels. 2014-11-16 06:10:31 +00:00
uebayasi 214195889d Document mkernel=*. 2014-11-16 05:44:57 +00:00
apb d1f4f392c7 Document "extsrc". This was added to src/BUILDING in revision 1.90
dated 2009-11-30, but was not added to src/doc/BUILDING.mdoc,
so the changes were lost.

The original log message was:
- - - -
revision 1.90
date: 2009-11-30 16:13:22 +0000;  author: uebayasi;  state: Exp;  lines: +22 -0;
Support "extsrc", externally added programs and libraries.  Users can write
their own reach-overs, cross-build, install, and get set files just like base
and X11 / X.org.  (These sets are not included as TNF releases.)
- - - -
2014-11-13 08:25:31 +00:00
uebayasi 0fbbfea2a4 Document the "kernels" operation. 2014-11-06 06:41:23 +00:00
snj 05549fced9 sync with reality: iso -> images 2014-11-05 08:15:04 +00:00
apb c170baae9a Add advice about avoiding common pitfalls.
This is taken from the patch in PR 48741, by David H. Gutteridge,
but I made small changes to wording and markup.
2014-08-07 21:45:27 +00:00
apb a960e5c872 Document build.sh list-arch 2014-08-07 21:32:11 +00:00
apb f4b0cac682 Bump date for previous 2014-08-03 09:25:02 +00:00
apb b2a466780b BUILDINFO part 5: Document BUILDINFO in doc/BUILDING.mdoc. 2014-08-03 09:24:08 +00:00