Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Creating branch ifpoll

  • Loading branch information...
commit 2a0c5f23651bbccf61e04f086b216926756f0334 1 parent 10a8be5
cvs authored
Showing with 0 additions and 38,800 deletions.
  1. +0 −470 BUILDING
  2. +0 −881 BUILDING.mdoc
  3. +0 −225 Makefile
  4. +0 −18 Makefile.inc
  5. +0 −357 UPDATING
  6. +0 −8 bin/Makefile
  7. +0 −8 bin/Makefile.inc
  8. +0 −6 bin/cat/Makefile
  9. +0 −152 bin/cat/cat.1
  10. +0 −300 bin/cat/cat.c
  11. +0 −6 bin/chio/Makefile
  12. +0 −257 bin/chio/chio.1
  13. +0 −826 bin/chio/chio.c
  14. +0 −69 bin/chio/defs.h
  15. +0 −45 bin/chio/pathnames.h
  16. +0 −6 bin/chmod/Makefile
  17. +0 −303 bin/chmod/chmod.1
  18. +0 −208 bin/chmod/chmod.c
  19. +0 −7 bin/cp/Makefile
  20. +0 −215 bin/cp/cp.1
  21. +0 −485 bin/cp/cp.c
  22. +0 −64 bin/cp/extern.h
  23. +0 −338 bin/cp/utils.c
  24. +0 −50 bin/csh/Makefile
  25. +0 −10 bin/csh/USD.doc/Makefile
  26. +0 −1,014 bin/csh/USD.doc/csh.1
  27. +0 −1,307 bin/csh/USD.doc/csh.2
  28. +0 −652 bin/csh/USD.doc/csh.3
  29. +0 −180 bin/csh/USD.doc/csh.4
  30. +0 −97 bin/csh/USD.doc/csh.a
  31. +0 −1,723 bin/csh/USD.doc/csh.g
  32. +0 −36 bin/csh/USD.doc/tabs
  33. +0 −126 bin/csh/alloc.c
  34. +0 −318 bin/csh/char.c
  35. +0 −103 bin/csh/char.h
  36. +0 −167 bin/csh/const.c
  37. +0 −2,247 bin/csh/csh.1
  38. +0 −1,362 bin/csh/csh.c
  39. +0 −558 bin/csh/csh.h
  40. +0 −909 bin/csh/dir.c
  41. +0 −52 bin/csh/dir.h
  42. +0 −970 bin/csh/dol.c
  43. +0 −417 bin/csh/err.c
  44. +0 −749 bin/csh/exec.c
  45. +0 −670 bin/csh/exp.c
  46. +0 −338 bin/csh/extern.h
  47. +0 −740 bin/csh/file.c
  48. +0 −1,437 bin/csh/func.c
  49. +0 −927 bin/csh/glob.c
  50. +0 −192 bin/csh/hist.c
  51. +0 −140 bin/csh/init.c
  52. +0 −1,591 bin/csh/lex.c
  53. +0 −405 bin/csh/misc.c
  54. +0 −649 bin/csh/parse.c
  55. +0 −48 bin/csh/pathnames.h
  56. +0 −1,361 bin/csh/proc.c
  57. +0 −108 bin/csh/proc.h
  58. +0 −655 bin/csh/sem.c
  59. +0 −802 bin/csh/set.c
  60. +0 −447 bin/csh/str.c
  61. +0 −97 bin/csh/strpct.c
  62. +0 −281 bin/csh/time.c
  63. +0 −10 bin/date/Makefile
  64. +0 −227 bin/date/date.1
  65. +0 −242 bin/date/date.c
  66. +0 −43 bin/date/extern.h
  67. +0 −199 bin/date/netdate.c
  68. +0 −15 bin/dd/Makefile
  69. +0 −331 bin/dd/args.c
  70. +0 −286 bin/dd/conv.c
  71. +0 −291 bin/dd/conv_tab.c
  72. +0 −382 bin/dd/dd.1
  73. +0 −449 bin/dd/dd.c
  74. +0 −93 bin/dd/dd.h
  75. +0 −71 bin/dd/extern.h
  76. +0 −120 bin/dd/misc.c
  77. +0 −175 bin/dd/position.c
  78. +0 −231 bin/dd/strsuftoull.c
  79. +0 −6 bin/dd/strsuftoull.h
  80. +0 −10 bin/df/Makefile
  81. +0 −171 bin/df/df.1
  82. +0 −467 bin/df/df.c
  83. +0 −6 bin/domainname/Makefile
  84. +0 −69 bin/domainname/domainname.1
  85. +0 −100 bin/domainname/domainname.c
  86. +0 −6 bin/echo/Makefile
  87. +0 −72 bin/echo/echo.1
  88. +0 −80 bin/echo/echo.c
  89. +0 −20 bin/ed/Makefile
  90. +0 −103 bin/ed/POSIX
  91. +0 −24 bin/ed/README
  92. +0 −319 bin/ed/buf.c
  93. +0 −439 bin/ed/cbc.c
  94. +0 −1,014 bin/ed/ed.1
  95. +0 −305 bin/ed/ed.h
  96. +0 −231 bin/ed/glbl.c
  97. +0 −377 bin/ed/io.c
  98. +0 −1,446 bin/ed/main.c
  99. +0 −137 bin/ed/re.c
  100. +0 −273 bin/ed/sub.c
  101. +0 −1  bin/ed/test/=.err
  102. +0 −25 bin/ed/test/Makefile
  103. +0 −32 bin/ed/test/README
  104. +0 −17 bin/ed/test/TODO
  105. +0 −5 bin/ed/test/a.d
  106. +0 −8 bin/ed/test/a.r
  107. +0 −9 bin/ed/test/a.t
  108. +0 −3  bin/ed/test/a1.err
  109. +0 −3  bin/ed/test/a2.err
  110. +0 −9 bin/ed/test/addr.d
  111. +0 −2  bin/ed/test/addr.r
  112. +0 −5 bin/ed/test/addr.t
  113. +0 −1  bin/ed/test/addr1.err
  114. +0 −1  bin/ed/test/addr2.err
  115. BIN  bin/ed/test/ascii.d
  116. BIN  bin/ed/test/ascii.r
  117. 0  bin/ed/test/ascii.t
  118. 0  bin/ed/test/bang1.d
  119. +0 −1  bin/ed/test/bang1.err
  120. +0 −1  bin/ed/test/bang1.r
  121. +0 −5 bin/ed/test/bang1.t
  122. +0 −1  bin/ed/test/bang2.err
  123. +0 −5 bin/ed/test/c.d
  124. +0 −4 bin/ed/test/c.r
  125. +0 −12 bin/ed/test/c.t
  126. +0 −3  bin/ed/test/c1.err
  127. +0 −3  bin/ed/test/c2.err
  128. +0 −37 bin/ed/test/ckscripts.sh
  129. +0 −5 bin/ed/test/d.d
  130. +0 −1  bin/ed/test/d.err
  131. +0 −1  bin/ed/test/d.r
  132. +0 −3  bin/ed/test/d.t
  133. +0 −1  bin/ed/test/e1.d
  134. +0 −1  bin/ed/test/e1.err
  135. +0 −1  bin/ed/test/e1.r
  136. +0 −1  bin/ed/test/e1.t
  137. +0 −1  bin/ed/test/e2.d
  138. +0 −1  bin/ed/test/e2.err
  139. +0 −1  bin/ed/test/e2.r
  140. +0 −1  bin/ed/test/e2.t
  141. +0 −1  bin/ed/test/e3.d
  142. +0 −1  bin/ed/test/e3.err
  143. +0 −1  bin/ed/test/e3.r
  144. +0 −1  bin/ed/test/e3.t
  145. +0 −1  bin/ed/test/e4.d
  146. +0 −1  bin/ed/test/e4.r
  147. +0 −1  bin/ed/test/e4.t
  148. +0 −1  bin/ed/test/f1.err
  149. +0 −1  bin/ed/test/f2.err
  150. +0 −5 bin/ed/test/g1.d
  151. +0 −1  bin/ed/test/g1.err
  152. +0 −15 bin/ed/test/g1.r
  153. +0 −6 bin/ed/test/g1.t
  154. +0 −5 bin/ed/test/g2.d
  155. +0 −1  bin/ed/test/g2.err
  156. +0 −1  bin/ed/test/g2.r
  157. +0 −2  bin/ed/test/g2.t
  158. +0 −5 bin/ed/test/g3.d
  159. +0 −1  bin/ed/test/g3.err
  160. +0 −5 bin/ed/test/g3.r
  161. +0 −4 bin/ed/test/g3.t
  162. +0 −5 bin/ed/test/g4.d
  163. +0 −7 bin/ed/test/g4.r
  164. +0 −13 bin/ed/test/g4.t
  165. +0 −3  bin/ed/test/g5.d
  166. +0 −9 bin/ed/test/g5.r
  167. +0 −2  bin/ed/test/g5.t
  168. +0 −1  bin/ed/test/h.err
  169. +0 −5 bin/ed/test/i.d
  170. +0 −8 bin/ed/test/i.r
  171. +0 −9 bin/ed/test/i.t
  172. +0 −3  bin/ed/test/i1.err
  173. +0 −3  bin/ed/test/i2.err
  174. +0 −3  bin/ed/test/i3.err
  175. +0 −5 bin/ed/test/j.d
  176. +0 −4 bin/ed/test/j.r
  177. +0 −2  bin/ed/test/j.t
  178. +0 −5 bin/ed/test/k.d
  179. +0 −5 bin/ed/test/k.r
  180. +0 −10 bin/ed/test/k.t
  181. +0 −1  bin/ed/test/k1.err
  182. +0 −1  bin/ed/test/k2.err
  183. +0 −1  bin/ed/test/k3.err
  184. +0 −6 bin/ed/test/k4.err
  185. 0  bin/ed/test/l.d
  186. 0  bin/ed/test/l.r
  187. 0  bin/ed/test/l.t
  188. +0 −5 bin/ed/test/m.d
  189. +0 −4 bin/ed/test/m.err
  190. +0 −5 bin/ed/test/m.r
  191. +0 −7 bin/ed/test/m.t
  192. +0 −75 bin/ed/test/mkscripts.sh
  193. 0  bin/ed/test/n.d
  194. 0  bin/ed/test/n.r
  195. 0  bin/ed/test/n.t
  196. +0 −1  bin/ed/test/nl.err
  197. +0 −5 bin/ed/test/nl1.d
  198. +0 −8 bin/ed/test/nl1.r
  199. +0 −8 bin/ed/test/nl1.t
  200. +0 −5 bin/ed/test/nl2.d
  201. +0 −6 bin/ed/test/nl2.r
  202. +0 −4 bin/ed/test/nl2.t
  203. 0  bin/ed/test/p.d
  204. 0  bin/ed/test/p.r
  205. 0  bin/ed/test/p.t
  206. 0  bin/ed/test/q.d
  207. 0  bin/ed/test/q.r
  208. +0 −5 bin/ed/test/q.t
  209. +0 −1  bin/ed/test/q1.err
  210. +0 −5 bin/ed/test/r1.d
  211. +0 −1  bin/ed/test/r1.err
  212. +0 −7 bin/ed/test/r1.r
  213. +0 −3  bin/ed/test/r1.t
  214. +0 −5 bin/ed/test/r2.d
  215. +0 −1  bin/ed/test/r2.err
  216. +0 −10 bin/ed/test/r2.r
  217. +0 −1  bin/ed/test/r2.t
  218. +0 −1  bin/ed/test/r3.d
  219. +0 −2  bin/ed/test/r3.r
  220. +0 −1  bin/ed/test/r3.t
  221. +0 −5 bin/ed/test/s1.d
  222. +0 −1  bin/ed/test/s1.err
  223. +0 −5 bin/ed/test/s1.r
  224. +0 −6 bin/ed/test/s1.t
  225. +0 −4 bin/ed/test/s10.err
  226. +0 −5 bin/ed/test/s2.d
  227. +0 −4 bin/ed/test/s2.err
  228. +0 −5 bin/ed/test/s2.r
  229. +0 −4 bin/ed/test/s2.t
  230. 0  bin/ed/test/s3.d
  231. +0 −1  bin/ed/test/s3.err
  232. +0 −1  bin/ed/test/s3.r
  233. +0 −6 bin/ed/test/s3.t
  234. +0 −1  bin/ed/test/s4.err
  235. +0 −1  bin/ed/test/s5.err
  236. +0 −1  bin/ed/test/s6.err
  237. +0 −5 bin/ed/test/s7.err
  238. +0 −4 bin/ed/test/s8.err
  239. +0 −4 bin/ed/test/s9.err
  240. +0 −5 bin/ed/test/t.d
  241. +0 −16 bin/ed/test/t.r
  242. +0 −5 bin/ed/test/t1.d
  243. +0 −1  bin/ed/test/t1.err
  244. +0 −16 bin/ed/test/t1.r
  245. +0 −3  bin/ed/test/t1.t
  246. +0 −5 bin/ed/test/t2.d
  247. +0 −1  bin/ed/test/t2.err
  248. +0 −6 bin/ed/test/t2.r
  249. +0 −1  bin/ed/test/t2.t
  250. +0 −5 bin/ed/test/u.d
  251. +0 −1  bin/ed/test/u.err
  252. +0 −9 bin/ed/test/u.r
  253. +0 −31 bin/ed/test/u.t
  254. +0 −5 bin/ed/test/v.d
  255. +0 −11 bin/ed/test/v.r
  256. +0 −6 bin/ed/test/v.t
  257. +0 −5 bin/ed/test/w.d
  258. +0 −10 bin/ed/test/w.r
  259. +0 −2  bin/ed/test/w.t
  260. +0 −1  bin/ed/test/w1.err
  261. +0 −1  bin/ed/test/w2.err
  262. +0 −1  bin/ed/test/w3.err
  263. +0 −1  bin/ed/test/x.err
  264. +0 −2  bin/ed/test/z.err
Sorry, we could not display the entire diff because too many files (36,703) changed.
View
470 BUILDING
@@ -1,470 +0,0 @@
-BUILDING(8) NetBSD System Manager's Manual BUILDING(8)
-
-NAME
- BUILDING - Procedure for building NetBSD from source code.
-
-STATUS
- This document is a work-in-progress. As such, the information described
- here may not match the reality of the build system as of this writing.
- Once this document is completely in sync with reality, this paragraph
- will be removed.
-
- Discrepancies between this documentation and the current reality of im-
- plementation are noted specially, as with the note below:
-
- Note: This document applies only to platforms which use the new toolchain
- as indicated by the default setting of USE_NEW_TOOLCHAIN in <bsd.own.mk>.
- Platforms which have not yet been switched to the new toolchain should
- continue building traditionally, using the notes specified in the file
- UPDATING.
-
-REQUIREMENTS
- NetBSD is designed to be buildable on most POSIX-compliant host systems.
- The basic build procedure is the same whether compiling natively (on the
- same NetBSD architecture) or cross compiling (on another architecture or
- OS).
-
- This source tree contains a special subtree, ``tools'', which uses the
- host system to create a build toolchain for the target architecture. The
- host system must have at least C and C++ compilers in order to create the
- toolchain (make is not required); all other tools are created as part of
- the NetBSD build process.
-
- Note: A couple host toolchain components are not yet available in
- the tools directory. Also, some tools use non-POSIX, non-ANSI C
- extensions and need to be standardized. As a result, cross-compil-
- ing from systems other than NetBSD is not currently supported.
-
-FILES
- Source tree layout
-
- BUILDING.mdoc This document (in -mdoc troff format; the original copy).
-
- BUILDING This document (in plaintext).
-
- Makefile The main Makefile for NetBSD; should only be run for na-
- tive builds with an appropriately up-to-date version of
- NetBSD make(1). (For building from out-of-date systems or
- on a non-native host, see the build.sh shell script.)
-
- UPDATING Special notes for updating from an earlier revision of
- NetBSD. It is important to read this file before every
- build of an updated source tree.
-
- build.sh Bourne-compatible shell script used for building the host
- build tools and the NetBSD system from scratch. Can be
- used for both native and cross builds, and should be used
- instead of make(1) for any source tree that is updated and
- recompiled regularly.
-
- crypto/dist/, dist/, gnu/dist/
- Sources imported verbatim from third parties, without man-
- gling the existing build structure. Other source trees in
- bin through usr.sbin use the NetBSD make(1) ``reachover''
- Makefile semantics when building these programs for a na-
- tive host.
-
- distrib/, etc/
- Sources for items used when making a full release snap-
- shot, such as files installed in /etc on the destination
- system, boot media, and release notes.
-
- regress/ Regression test harness. Can be cross-compiled, but only
- run natively.
-
- sys/ NetBSD kernel sources.
-
- tools/ ``Reachover'' build structure for the host build tools.
- This has a special method of determining out-of-date sta-
- tus.
-
- bin/ ... usr.sbin/
- Sources to the NetBSD userland (non-kernel) programs. If
- any of these directories are missing, they will be skipped
- during the build.
-
- Build tree layout
- The NetBSD build tree is described in hier(7), and the release layout is
- described in release(7).
-
-CONFIGURATION
- "make" variables
- Several variables control the behavior of NetBSD builds. Unless other-
- wise specified, these variables may be set in either the process environ-
- ment or the make(1) configuration file specified by MAKECONF.
-
- DESTDIR Directory to contain the built NetBSD system. If set, spe-
- cial options are passed to the compilation tools to prevent
- their default use of the host system's /usr/include,
- /usr/lib, and so forth. This pathname should not end with a
- slash (/) character (for installation into the system's root
- directory, set DESTDIR to an empty string).
-
- Default: Empty string if USETOOLS is ``yes''; unset other-
- wise.
-
- MAKECONF The name of the make(1) configuration file. Only settable in
- the process environment.
-
- Default: ``/etc/mk.conf''
-
- MKCATPAGES Can be set to ``yes'' or ``no''. Indicates whether prefor-
- matted plaintext manual pages will be created during a build.
-
- Default: ``yes''
-
- MKCRYPTO Can be set to ``yes'' or ``no''. Indicates whether crypto-
- graphic code will be included in a build; provided for the
- benefit of countries that do not allow strong cryptography.
- Will not affect use of the standard low-security password en-
- cryption system, crypt(3).
-
- Default: ``yes''
-
- MKDOC Can be set to ``yes'' or ``no''. Indicates whether system
- documentation destined for /usr/share/doc will be installed
- during a build.
-
- Default: ``yes''
-
- MKHOSTOBJ Can be set to ``yes'' or ``no''. If set to ``yes'', then for
- programs intended to be run on the compile host, the name,
- release, and architecture of the host operating system will
- be suffixed to the name of the object directory created by
- ``make obj''. (This allows multiple host systems to compile
- NetBSD for a single target.) If set to ``no'', then programs
- built to be run on the compile host will use the same object
- directory names as programs built to be run on the target.
-
- Default: ``no''
-
- MKINFO Can be set to ``yes'' or ``no''. Indicates whether GNU Info
- files, used for the documentation for most of the compilation
- tools, will be created and installed during a build.
-
- Default: ``yes''
-
- MKLINT Can be set to ``yes'' or ``no''. Indicates whether lint(1)
- will be run against portions of the NetBSD source code during
- the build, and whether lint libraries will be installed into
- /usr/libdata/lint.
-
- Default: ``yes''
-
- MKMAN Can be set to ``yes'' or ``no''. Indicates whether manual
- pages will be installed during a build.
-
- Default: ``yes''
-
- MKNLS Can be set to ``yes'' or ``no''. Indicates whether Native
- Language System locale zone files will be compiled and in-
- stalled during a build.
-
- Default: ``yes''
-
- MKOBJ Can be set to ``yes'' or ``no''. Indicates whether object
- directories will be created when running ``make obj''. If
- set to ``no'', then all built files will be located inside
- the regular source tree.
-
- Default: ``yes''
-
- MKPIC Can be set to ``yes'' or ``no''. Indicates whether shared
- objects and libraries will be created and installed during a
- build. If set to ``no'', the entire built system will be
- statically linked.
-
- Default: Platform dependent. As of this writing, all plat-
- forms except sh3 default to ``yes''.
-
- MKPICINSTALL
- Can be set to ``yes'' or ``no''. Indicates whether the ar(1)
- format libraries (lib*_pic.a), used to generate shared li-
- braries, are installed during a build.
-
- Default: ``yes''
-
- MKPROFILE Can be set to ``yes'' or ``no''. Indicates whether profiled
- libraries (lib*_p.a) will be built and installed during a
- build.
-
- Default: ``yes''; however, some platforms turn off MKPROFILE
- by default at times due to toolchain problems with profiled
- code.
-
- MKSHARE Can be set to ``yes'' or ``no''. Indicates whether files
- destined to reside in /usr/share will be built and installed
- during a build. If set to ``no'', then all of MKCATPAGES,
- MKDOC, MKINFO, MKMAN, and MKNLS will be set to ``no'' uncon-
- ditionally.
-
- Default: ``yes''
-
- TOOLDIR Directory to hold the host tools, once built. This directory
- should be unique to a given host system and NetBSD source
- tree. (However, multiple targets may share the same TOOLDIR;
- the target-dependent files have unique names.) If unset, a
- default based on the uname(1) information of the host plat-
- form will be created in the .OBJDIR of src/tools.
-
- Default: Unset.
-
- UPDATE If set, then all install operations intended to write to
- DESTDIR will compare file timestamps before installing, and
- skip the install phase if the destination files are up-to-
- date. This also has implications on full builds (see next
- subsection).
-
- Default: Unset.
-
- USETOOLS Indicates whether the tools specified by TOOLDIR should be
- used as part of a build in progress. Must be set to ``yes''
- if cross-compiling.
-
- yes Use the tools from TOOLDIR.
-
- no Do not use the tools from TOOLDIR, but refuse to build
- native compilation tool components that are version-
- specific for that tool.
-
- never Do not use the tools from TOOLDIR, even when building
- native tool components. This is similar to the tradi-
- tional NetBSD build method, but does not verify that
- the compilation tools in use are up-to-date enough in
- order to build the tree successfully. This may cause
- build or runtime problems when building the whole
- NetBSD source tree.
-
- Default: ``yes'' if building all or part of a whole NetBSD
- source tree (detected automatically); ``no'' otherwise (to
- preserve traditional semantics of the <bsd.*.mk> make(1) in-
- clude files).
-
- "make" variables for full builds
- These variables only affect the top level ``Makefile'' and do not manual-
- ly building subtrees of the NetBSD source code.
-
- MKOBJDIRS Can be set to ``yes'' or ``no''. Indicates whether object
- directories will be created automatically (via a ``make
- obj'' pass) at the start of a build.
-
- Default: ``yes''
-
- NBUILDJOBS If set, specifies the number of parallel make(1) processes
- that should be run simultaneously. This can speed up
- builds on SMP machines, or machines with much more CPU
- power than I/O availability. This should be used instead
- of the make(1) option -j, in order to ensure proper order-
- ing of build components.
-
- Default: Unset.
-
- NOCLEANDIR If set, avoids the ``make cleandir'' phase of a full
- build. This has the effect of allowing only changed files
- in a source tree to be recompiled. This can speed up
- builds when updating only a few files in the tree.
-
- Default: Unset.
-
- NODISTRIBDIRS If set, avoids the ``make distrib-dirs'' phase of a full
- build. This skips running mtree(8) on DESTDIR, useful on
- systems where building as an unprivileged user, or where
- it is known that the system-wide mtree files have not
- changed.
-
- Default: Unset.
-
- NOINCLUDES If set, avoids the ``make includes'' phase of a full
- build. This has the effect of preventing make(1) from
- thinking that some programs are out-of-date simply because
- the system include files have changed. However, this op-
- tion should not be used when updating the entire NetBSD
- source tree arbitrarily; it is suggested to use UPDATE in
- that case.
-
- Default: Unset.
-
- RELEASEDIR If set, specifies the directory to which a release(7) lay-
- out will be written at the end of a ``make release''.
-
- Default: Unset.
-
- UPDATE If set, then in addition to the effects described for UP-
- DATE above, this implies the effects of NOCLEANDIR.
-
-BUILDING
- "make" command line options
- This is only a summary of options available to make(1); only the options
- used most frequently with NetBSD builds are listed here.
-
- -m dir Specify the default directory for searching for system Make-
- file segments, mainly the <bsd.*.mk> files. When building any
- full NetBSD source tree, this should be set to the
- ``share/mk'' directory in the source tree. (This is set auto-
- matically when building from the top level.)
-
- -n Display the commands that would have been executed, but do not
- actually execute them. This will still cause recursion to
- take place.
-
- -v var Print make(1)'s idea of the value of var. Does not build any
- targets.
-
- var=value Set the variable var to value, overriding any setting speci-
- fied by the process environment, the MAKECONF configuration
- file, or the system Makefile segments.
-
- "make" targets
- These default targets may be built by running make(1) in any subtree of
- the NetBSD source code. It is recommended that none of these be used
- from the top level Makefile; as a specific exception, ``make obj'' and
- ``make cleandir'' are useful in that context.
-
- all Build programs, libraries, and preformatted documentation.
-
- clean Remove program and library object code files.
-
- cleandir Same as clean, but also remove preformatted documentation, de-
- pendency files generated by ``make depend'', and any other
- files known to be created at build time. ``make distclean''
- may be used as a synonym, for familiarity with a similar well-
- known convention.
-
- depend Create dependency files (.depend) containing more detailed in-
- formation about the dependencies of source code on header
- files. Allows programs to be recompiled automatically when a
- dependency changes.
-
- dependall Does a ``make depend'' immediately followed by a ``make all''.
- This combined target recurses as an atomic unit, so that the
- ``make depend'' phase can participate in make -j parallelism.
-
- includes Build and install system header files. Typically needed be-
- fore any system libraries or programs can be built.
-
- install Install programs, libraries, and documentation into DESTDIR.
-
- lint Run lint(1) against the C source code, where appropriate, and
- generate system-installed lint libraries.
-
- obj Create object directories to be used for built files, instead
- of building directly in the source tree.
-
- tags Create ctags(1) searchable function lists usable by the ex(1)
- and vi(1) text editors.
-
- "make" targets for the top level
- Additional make(1) targets are usable specifically from the top source
- level to facilitate building the entire NetBSD source tree.
-
- build Build the entire NetBSD system. This orders portions of the
- source tree such that prerequisites will be built in the prop-
- er order.
-
- release Do a ``make build'', then package the system into a standard
- release layout as described by release(7). This requires that
- RELEASEDIR be set (see above).
-
- regression-tests
- Can only be run after building the regression tests in the di-
- rectory ``regress''. Runs the compiled regression tests on
- the local host.
-
- The "build.sh" script
- This script file is a Bourne shell script designed to build the entire
- NetBSD system on any host with a Bourne shell in /bin/sh, including many
- that are not POSIX compliant. Note that if a host system's /bin/sh is
- unusually old and broken, the Korn Shell (/bin/ksh), if available, may be
- a usable alternative.
-
- All cross-compile builds, and most native builds, of the entire system
- should make use of build.sh rather than just running ``make''. This way,
- the make(1) program will be bootstrapped properly, in case the host sys-
- tem has an older or incompatible ``make'' program.
-
- When compiling the entire system via build.sh, many make(1) variables are
- set for you in order to help encapsulate the build process. In the list
- of options below, variables that are automatically set by build.sh are
- noted where applicable.
-
- The following are available command line options that may be supplied to
- build.sh:
-
- -a arch Set the value of MACHINE_ARCH to arch.
-
- -b Bootstrap ``make'' and create a nbmake-MACHINE script (see be-
- low).
-
- -d Build a full distribution. This differs from a normal build in
- that etc files will also be installed. Note this does not
- build a ``release''; no release sets are placed in ${RE-
- LEASEDIR}.
-
- -j njob Set the value of NBUILDJOBS to njob. This provides similar
- functionality to the familiar ``make -j'', but preserves the
- ordering of the top level ``make build''.
-
- -m mach Set the value of MACHINE to mach. This will also override any
- value of MACHINE_ARCH in the process environment with a value
- deduced from mach, unless -a is specified. All cross builds
- require -m, but if unset on a NetBSD host, the host's value of
- MACHINE will be detected and used automatically.
-
- -n Show the commands that would be executed by build.sh, but do
- not make any changes. This is similar in concept to ``make
- -n''.
-
- -o Set the value of MKOBJDIRS to ``no''.
-
- -r Remove the contents of DESTDIR and TOOLDIR before building
- (provides a clean starting point). This will skip deleting
- DESTDIR if building on a native system to the root directory.
-
- -t Build and install the host tools from src/tools only. This op-
- tion implies -b.
-
- -u Set the UPDATE variable.
-
- -w wrapper
- Create the nbmake wrapper script (see below) in a custom loca-
- tion, specified by wrapper. This allows, for instance, to
- place the wrapper in PATH automatically. Note that wrapper is
- the full name of the file, not just a directory name.
-
- -D dest Set the value of DESTDIR to dest.
-
- -O obj Create an appropriate transform macro for MAKEOBJDIR that will
- place the built object files under obj. For instance, a set-
- ting of /usr/obj will place build-time files files under
- /usr/obj/bin, /usr/obj/lib, and so forth.
-
- -R rel Set the value of RELEASEDIR to rel. Setting this option will
- cause build.sh to run ``make release'' instead of ``make
- build''.
-
- -T tools Set the value of TOOLDIR to tools. If set, the bootstrap
- ``make'' will only be rebuilt as needed (when the source files
- for make(1) change).
-
- The "nbmake-MACHINE" wrapper script
- If using the build.sh script to build NetBSD, a nbmake-MACHINE script
- will be created in TOOLDIR/bin upon the first build to assist in building
- subtrees on a cross-compile host.
-
- nbmake-MACHINE can be invoked in lieu of make(1), and will instead call
- the up-to-date version of ``nbmake'' installed into TOOLDIR/bin with sev-
- eral key variables pre-set, including MACHINE, MACHINE_ARCH, and TOOLDIR.
- This script can be symlinked into a directory listed in PATH, or called
- with an absolute path.
-
-SEE ALSO
- make(1), hier(7), release(7)
-
-HISTORY
- The USE_NEW_TOOLCHAIN based build scheme was introduced in the ``NetBSD-
- current'' development sources between NetBSD 1.5 and NetBSD 1.6.
-
-BUGS
- Many platforms are not yet using the USE_NEW_TOOLCHAIN system.
-
-NetBSD November 12, 2001 8
View
881 BUILDING.mdoc
@@ -1,881 +0,0 @@
-.\" $NetBSD: BUILDING.mdoc,v 1.12 2001/11/25 18:40:34 thorpej Exp $
-.\"
-.\" Copyright (c) 2001 The NetBSD Foundation, Inc.
-.\" All rights reserved.
-.\"
-.\" This code is derived from software contributed to The NetBSD Foundation
-.\" by Todd Vierling.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\" notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\" notice, this list of conditions and the following disclaimer in the
-.\" documentation and/or other materials provided with the distribution.
-.\" 3. All advertising materials mentioning features or use of this software
-.\" must display the following acknowledgement:
-.\" This product includes software developed by the NetBSD
-.\" Foundation, Inc. and its contributors.
-.\" 4. Neither the name of The NetBSD Foundation nor the names of its
-.\" contributors may be used to endorse or promote products derived
-.\" from this software without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
-.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
-.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-.\" POSSIBILITY OF SUCH DAMAGE.
-.\"
-.\" =====
-.\" NOTE: After changing this file, run "make build-docs" to generate the
-.\" proper plaintext versions, and check in all BUILDING.* files!
-.\"
-.Dd November 12, 2001
-.Dt BUILDING 8
-.Os NetBSD
-.
-.Sh NAME
-.
-.Nm BUILDING
-.Nd Procedure for building
-.Nx
-from source code.
-.
-.Sh STATUS
-.
-This document is a work-in-progress. As such, the information described
-here may not match the reality of the build system as of this writing.
-Once this document is completely in sync with reality, this paragraph
-will be removed.
-.Pp
-Discrepancies between this documentation and the current reality of
-implementation are noted specially, as with the note below:
-.Pp
-.Em Note :
-This document applies only to platforms which use the new toolchain as
-indicated by the default setting of
-.Sy USE_NEW_TOOLCHAIN
-in
-.Aq bsd.own.mk .
-Platforms which have not yet been switched to the new toolchain should
-continue building traditionally, using the notes specified in the file
-.Sy UPDATING .
-.
-.Sh REQUIREMENTS
-.
-.Nx
-is designed to be buildable on most POSIX-compliant host systems.
-The basic build procedure is the same whether compiling
-.Em natively
-(on the same
-.Nx
-architecture) or
-.Em cross compiling
-(on another architecture or OS).
-.Pp
-This source tree contains a special subtree,
-.Dq tools ,
-which uses the host system to create a build toolchain for the target
-architecture. The host system must have at least C and C++
-compilers in order to create the toolchain
-.Nm ( make
-is not required); all other tools are created as part of the
-.Nx
-build process.
-.Pp
-.Bd -ragged -offset indent
-.Em Note :
-A couple host toolchain components are not yet available in the tools
-directory. Also, some tools use non-POSIX, non-ANSI C extensions
-and need to be standardized. As a result, cross-compiling from
-systems other than
-.Nx
-is not currently supported.
-.Ed
-.
-.Sh FILES
-.
-.Ss Source tree layout
-.
-.Bl -tag -width "BUILDING.mdoc"
-.It Sy BUILDING.mdoc
-This document (in -mdoc troff format; the original copy).
-.It Sy BUILDING
-This document (in plaintext).
-.It Sy Makefile
-The main Makefile for
-.Nx ;
-should only be run for native builds with an appropriately up-to-date
-version of
-.Nx
-.Xr make 1 .
-(For building from out-of-date systems or on a non-native host, see the
-.Nm build.sh
-shell script.)
-.It Sy UPDATING
-Special notes for updating from an earlier revision of
-.Nx .
-It is important to read this file before every build of an updated
-source tree.
-.It Sy build.sh
-Bourne-compatible shell script used for building the host build tools
-and the
-.Nx
-system from scratch. Can be used for both native and cross builds, and
-should be used instead of
-.Xr make 1
-for any source tree that is updated and recompiled regularly.
-.It Sy crypto/dist/ , dist/ , gnu/dist/
-Sources imported verbatim from third parties, without mangling the
-existing build structure. Other source trees in
-.Sy bin
-through
-.Sy usr.sbin
-use the
-.Nx
-.Xr make 1
-.Dq reachover
-Makefile semantics when building these programs for a native host.
-.It Sy distrib/ , etc/
-Sources for items used when making a full release snapshot, such as
-files installed in
-.Sy /etc
-on the destination system, boot media, and release notes.
-.It Sy regress/
-Regression test harness. Can be cross-compiled, but only run natively.
-.It Sy sys/
-.Nx
-kernel sources.
-.It Sy tools/
-.Dq Reachover
-build structure for the host build tools. This has a special method of
-determining out-of-date status.
-.It Sy bin/ ... usr.sbin/
-Sources to the
-.Nx
-userland (non-kernel) programs. If any of these directories are
-missing, they will be skipped during the build.
-.El
-.
-.Ss Build tree layout
-.
-The
-.Nx
-build tree is described in
-.Xr hier 7 ,
-and the release layout is described in
-.Xr release 7 .
-.Pp
-.
-.Sh CONFIGURATION
-.
-.Ss \*qmake\*q variables
-.
-.de YorN
-Can be set to
-.Dq yes
-or
-.Dq no .
-..
-.de DFLT
-.Pp
-.Em Default :
-..
-.de DFLTu
-.DFLT
-Unset.
-..
-.de DFLTy
-.DFLT
-.Dq yes
-..
-.de DFLTn
-.DFLT
-.Dq no
-..
-Several variables control the behavior of
-.Nx
-builds. Unless otherwise specified, these variables may be set in
-either the process environment or the
-.Xr make 1
-configuration file specified by
-.Sy MAKECONF .
-.
-.Bl -tag -width "MKCATPAGES"
-.
-.It Sy DESTDIR
-Directory to contain the built
-.Nx
-system. If set, special options are passed to the compilation tools to
-prevent their default use of the host system's
-.Sy /usr/include , /usr/lib ,
-and so forth. This pathname should
-.Em not
-end with a slash
-.Pq /
-character (for installation into the system's root directory, set
-.Sy DESTDIR
-to an empty string).
-.DFLT
-Empty string if
-.Sy USETOOLS
-is
-.Dq yes ;
-unset otherwise.
-.
-.It Sy MAKECONF
-The name of the
-.Xr make 1
-configuration file.
-.Em Only settable in the process environment.
-.DFLT
-.Dq /etc/mk.conf
-.
-.It Sy MKCATPAGES
-.YorN
-Indicates whether preformatted plaintext manual pages will be created
-during a build.
-.DFLTy
-.
-.It Sy MKCRYPTO
-.YorN
-Indicates whether cryptographic code will be included in a build;
-provided for the benefit of countries that do not allow strong
-cryptography. Will not affect use of the standard low-security password
-encryption system,
-.Xr crypt 3 .
-.DFLTy
-.
-.It Sy MKDOC
-.YorN
-Indicates whether system documentation destined for
-.Sy /usr/share/doc
-will be installed during a build.
-.DFLTy
-.
-.It Sy MKHOSTOBJ
-.YorN
-If set to
-.Dq yes ,
-then for programs intended to be run on the compile host,
-the name, release, and architecture of the host operating system
-will be suffixed to the name of the object directory created by
-.Dq make obj .
-(This allows multiple host systems to compile NetBSD for a single target.)
-If set to
-.Dq no ,
-then programs built to be run on the compile host will use the same
-object directory names as programs built to be run on the target.
-.DFLTn
-.
-.It Sy MKINFO
-.YorN
-Indicates whether GNU Info files, used for the documentation for
-most of the compilation tools, will be created and installed during a
-build.
-.DFLTy
-.
-.It Sy MKLINT
-.YorN
-Indicates whether
-.Xr lint 1
-will be run against portions of the
-.Nx
-source code during the build, and whether lint libraries will be
-installed into
-.Sy /usr/libdata/lint .
-.DFLTy
-.
-.It Sy MKMAN
-.YorN
-Indicates whether manual pages will be installed during a build.
-.DFLTy
-.
-.It Sy MKNLS
-.YorN
-Indicates whether Native Language System locale zone files will be
-compiled and installed during a build.
-.DFLTy
-.
-.It Sy MKOBJ
-.YorN
-Indicates whether object directories will be created when running
-.Dq make obj .
-If set to
-.Dq no ,
-then all built files will be located inside the regular source tree.
-.DFLTy
-.
-.It Sy MKPIC
-.YorN
-Indicates whether shared objects and libraries will be created and
-installed during a build. If set to
-.Dq no ,
-the entire built system will be statically linked.
-.DFLT
-Platform dependent. As of this writing, all platforms except
-.Sy sh3
-default to
-.Dq yes .
-.
-.It Sy MKPICINSTALL
-.YorN
-Indicates whether the
-.Xr ar 1
-format libraries
-.Sy ( lib*_pic.a ) ,
-used to generate shared libraries, are installed during a build.
-.DFLTy
-.
-.It Sy MKPROFILE
-.YorN
-Indicates whether profiled libraries
-.Sy ( lib*_p.a )
-will be built and installed during a build.
-.DFLT
-.Dq yes ;
-however, some platforms turn off
-.Sy MKPROFILE
-by default at times due to toolchain problems with profiled code.
-.
-.It Sy MKSHARE
-.YorN
-Indicates whether files destined to reside in
-.Sy /usr/share
-will be built and installed during a build. If set to
-.Dq no ,
-then all of
-.Sy MKCATPAGES , MKDOC , MKINFO , MKMAN ,
-and
-.Sy MKNLS
-will be set to
-.Dq no
-unconditionally.
-.DFLTy
-.
-.It Sy TOOLDIR
-Directory to hold the host tools, once built. This directory should be
-unique to a given host system and
-.Nx
-source tree. (However, multiple targets may share the same
-.Sy TOOLDIR ;
-the target-dependent files have unique names.) If unset, a default based
-on the
-.Xr uname 1
-information of the host platform will be created in the
-.Sy .OBJDIR
-of
-.Sy src/tools .
-.DFLTu
-.
-.It Sy UPDATE
-If set, then all install operations intended to write to
-.Sy DESTDIR
-will compare file timestamps before installing, and skip the install
-phase if the destination files are up-to-date. This also has
-implications on full builds (see next subsection).
-.DFLTu
-.
-.It Sy USETOOLS
-Indicates whether the tools specified by
-.Sy TOOLDIR
-should be used as part of a build in progress. Must be set to
-.Dq yes
-if cross-compiling.
-.Bl -tag -width "never"
-.It Sy yes
-Use the tools from
-.Sy TOOLDIR .
-.It Sy no
-Do not use the tools from
-.Sy TOOLDIR ,
-but refuse to build native compilation tool components that are
-version-specific for that tool.
-.It Sy never
-Do not use the tools from
-.Sy TOOLDIR ,
-even when building native tool components. This is similar to the
-traditional
-.Nx
-build method, but does
-.Em not
-verify that the compilation tools in use are up-to-date enough in order
-to build the tree successfully. This may cause build or runtime
-problems when building the whole
-.Nx
-source tree.
-.El
-.DFLT
-.Dq yes
-if building all or part of a whole
-.Nx
-source tree (detected automatically);
-.Dq no
-otherwise (to preserve traditional semantics of the
-.Aq bsd.*.mk
-.Xr make 1
-include files).
-.
-.El
-.
-.Ss \*qmake\*q variables for full builds
-These variables only affect the top level
-.Dq Makefile
-and do not manually building subtrees of the
-.Nx
-source code.
-.
-.Bl -tag -width "NODISTRIBDIRS"
-.
-.It Sy MKOBJDIRS
-.YorN
-Indicates whether object directories will be created automatically
-(via a
-.Dq make obj
-pass) at the start of a build.
-.DFLTy
-.
-.It Sy NBUILDJOBS
-If set, specifies the number of parallel
-.Xr make 1
-processes that should be run simultaneously. This can speed up builds
-on SMP machines, or machines with much more CPU power than I/O
-availability. This should be used
-.Em instead
-of the
-.Xr make 1
-option
-.Sy -j ,
-in order to ensure proper ordering of build components.
-.DFLTu
-.
-.It Sy NOCLEANDIR
-If set, avoids the
-.Dq make cleandir
-phase of a full build. This has the effect of allowing only changed
-files in a source tree to be recompiled. This can speed up builds when
-updating only a few files in the tree.
-.DFLTu
-.
-.It Sy NODISTRIBDIRS
-If set, avoids the
-.Dq make distrib-dirs
-phase of a full build. This skips running
-.Xr mtree 8
-on
-.Sy DESTDIR ,
-useful on systems where building as an unprivileged user, or where it is
-known that the system-wide mtree files have not changed.
-.DFLTu
-.
-.It Sy NOINCLUDES
-If set, avoids the
-.Dq make includes
-phase of a full build. This has the effect of preventing
-.Xr make 1
-from thinking that some programs are out-of-date simply because the
-system include files have changed. However, this option should not be
-used when updating the entire
-.Nx
-source tree arbitrarily; it is suggested to use
-.Sy UPDATE
-in that case.
-.DFLTu
-.
-.It Sy RELEASEDIR
-If set, specifies the directory to which a
-.Xr release 7
-layout will be written at the end of a
-.Dq make release .
-.DFLTu
-.
-.It Sy UPDATE
-If set, then in addition to the effects described for UPDATE above, this
-implies the effects of
-.Sy NOCLEANDIR .
-.
-.El
-.
-.Sh BUILDING
-.
-.Ss \*qmake\*q command line options
-This is only a summary of options available to
-.Xr make 1 ;
-only the options used most frequently with
-.Nx
-builds are listed here.
-.
-.Bl -tag -width "var=value"
-.
-.It Sy -m Em dir
-Specify the default directory for searching for system Makefile
-segments, mainly the
-.Aq bsd.*.mk
-files. When building any full
-.Nx
-source tree, this should be set to the
-.Dq share/mk
-directory in the source tree. (This is set automatically when building
-from the top level.)
-.
-.It Sy -n
-Display the commands that would have been executed, but do not
-actually execute them. This will still cause recursion to take place.
-.
-.It Sy -v Em var
-Print
-.Xr make 1 Ns 's
-idea of the value of
-.Em var .
-Does not build any targets.
-.
-.It Em var=value
-Set the variable
-.Em var
-to
-.Em value ,
-overriding any setting specified by the process environment, the
-.Sy MAKECONF
-configuration file, or the system Makefile segments.
-.
-.El
-.
-.Ss \*qmake\*q targets
-.
-These default targets may be built by running
-.Xr make 1
-in any subtree of the
-.Nx
-source code. It is recommended that none of these be used from the top
-level Makefile; as a specific exception,
-.Dq make obj
-and
-.Dq make cleandir
-are useful in that context.
-.
-.Bl -tag -width "dependall"
-.
-.It Sy all
-Build programs, libraries, and preformatted documentation.
-.
-.It Sy clean
-Remove program and library object code files.
-.
-.It Sy cleandir
-Same as
-.Sy clean ,
-but also remove preformatted documentation, dependency files generated
-by
-.Dq make depend ,
-and any other files known to be created at build time.
-.Dq make distclean
-may be used as a synonym, for familiarity with a similar well-known
-convention.
-.
-.It Sy depend
-Create dependency files
-.Sy ( .depend )
-containing more detailed information about the dependencies of source
-code on header files. Allows programs to be recompiled automatically
-when a dependency changes.
-.
-.It Sy dependall
-Does a
-.Dq make depend
-immediately followed by a
-.Dq make all .
-This combined target recurses as an atomic unit, so that the
-.Dq make depend
-phase can participate in
-.Sy make -j
-parallelism.
-.
-.It Sy includes
-Build and install system header files. Typically needed before any
-system libraries or programs can be built.
-.
-.It Sy install
-Install programs, libraries, and documentation into
-.Sy DESTDIR .
-.
-.It Sy lint
-Run
-.Xr lint 1
-against the C source code, where appropriate, and generate
-system-installed lint libraries.
-.
-.It Sy obj
-Create object directories to be used for built files, instead of
-building directly in the source tree.
-.
-.It Sy tags
-Create
-.Xr ctags 1
-searchable function lists usable by the
-.Xr ex 1
-and
-.Xr vi 1
-text editors.
-.
-.El
-.
-.Ss \*qmake\*q targets for the top level
-.
-Additional
-.Xr make 1
-targets are usable specifically from the top source level to facilitate
-building the entire
-.Nx
-source tree.
-.
-.Bl -tag -width "dependall"
-.
-.It Sy build
-Build the entire
-.Nx
-system. This orders portions of the source tree such that prerequisites
-will be built in the proper order.
-.
-.It Sy release
-Do a
-.Dq make build ,
-then package the system into a standard release layout as described by
-.Xr release 7 .
-This requires that
-.Sy RELEASEDIR
-be set (see above).
-.
-.It Sy regression-tests
-Can only be run after building the regression tests in the directory
-.Dq regress .
-Runs the compiled regression tests on the local host.
-.
-.El
-.
-.Ss The \*qbuild.sh\*q script
-.
-This script file is a Bourne shell script designed to build the
-entire
-.Nx
-system on any host with a Bourne shell in
-.Sy /bin/sh ,
-including many that are not POSIX compliant. Note that if a host
-system's
-.Sy /bin/sh
-is unusually old and broken, the Korn Shell
-.Sy ( /bin/ksh ) ,
-if available, may be a usable alternative.
-.Pp
-All cross-compile builds, and most native builds, of the entire system
-should make use of
-.Sy build.sh
-rather than just running
-.Dq make .
-This way, the
-.Xr make 1
-program will be bootstrapped properly, in case the host system has an
-older or incompatible
-.Dq make
-program.
-.Pp
-When compiling the entire system via
-.Sy build.sh ,
-many
-.Xr make 1
-variables are set for you in order to help encapsulate the build
-process. In the list of options below, variables that are automatically
-set by
-.Sy build.sh
-are noted where applicable.
-.Pp
-The following are available command line options that may be supplied to
-.Sy build.sh :
-.
-.Bl -tag -width "-T tools"
-.
-.It Sy -a Em arch
-Set the value of
-.Sy MACHINE_ARCH
-to
-.Em arch .
-.
-.It Sy -b
-Bootstrap
-.Dq make
-and create a
-.Sy nbmake-MACHINE
-script (see below).
-.
-.It Sy -d
-Build a full distribution. This differs from a normal build in that
-etc files will also be installed. Note this does not build a
-.Dq release ;
-no release sets are placed in ${RELEASEDIR}.
-.
-.It Sy -j Em njob
-Set the value of
-.Sy NBUILDJOBS
-to
-.Em njob .
-This provides similar functionality to the familiar
-.Dq make -j ,
-but preserves the ordering of the top level
-.Dq make build .
-.
-.It Sy -m Em mach
-Set the value of
-.Sy MACHINE
-to
-.Em mach .
-This will also override any value of
-.Sy MACHINE_ARCH
-in the process environment with a value deduced from
-.Em mach ,
-unless
-.Sy -a
-is specified. All cross builds require
-.Sy -m ,
-but if unset on a NetBSD host, the host's value of MACHINE will be
-detected and used automatically.
-.
-.It Sy -n
-Show the commands that would be executed by
-.Sy build.sh ,
-but do not make any changes. This is similar in concept to
-.Dq make -n .
-.
-.It Sy -o
-Set the value of
-.Sy MKOBJDIRS
-to
-.Dq no .
-.
-.It Sy -r
-Remove the contents of
-.Sy DESTDIR
-and
-.Sy TOOLDIR
-before building (provides a clean starting point). This will skip deleting
-.Sy DESTDIR
-if building on a native system to the root directory.
-.
-.It Sy -t
-Build and install the host tools from
-.Sy src/tools
-only. This option implies
-.Sy -b .
-.
-.It Sy -u
-Set the
-.Sy UPDATE
-variable.
-.
-.It Sy -w Em wrapper
-Create the nbmake wrapper script (see below) in a custom location,
-specified by
-.Em wrapper .
-This allows, for instance, to place the wrapper in
-.Sy PATH
-automatically. Note that
-.Em wrapper
-is the full name of the file, not just a directory name.
-.
-.It Sy -D Em dest
-Set the value of
-.Sy DESTDIR
-to
-.Em dest .
-.
-.It Sy -O Em obj
-Create an appropriate transform macro for
-.Sy MAKEOBJDIR
-that will place the built object files under
-.Em obj .
-For instance, a setting of
-.Sy /usr/obj
-will place build-time files files under
-.Sy /usr/obj/bin , /usr/obj/lib ,
-and so forth.
-.
-.It Sy -R Em rel
-Set the value of
-.Sy RELEASEDIR
-to
-.Em rel .
-Setting this option will cause
-.Sy build.sh
-to run
-.Dq make release
-instead of
-.Dq make build .
-.
-.It Sy -T Em tools
-Set the value of
-.Sy TOOLDIR
-to
-.Em tools .
-If set, the bootstrap
-.Dq make
-will only be rebuilt as needed (when the source files for
-.Xr make 1
-change).
-.
-.El
-.
-.Ss The \*qnbmake-MACHINE\*q wrapper script
-.
-If using the
-.Sy build.sh
-script to build
-.Nx ,
-a
-.Sy nbmake-MACHINE
-script will be created in
-.Sy TOOLDIR/bin
-upon the first build to assist in building subtrees on a cross-compile
-host.
-.Pp
-.Sy nbmake-MACHINE
-can be invoked in lieu of
-.Xr make 1 ,
-and will instead call the up-to-date version of
-.Dq nbmake
-installed into
-.Sy TOOLDIR/bin
-with several key variables pre-set, including
-.Sy MACHINE , MACHINE_ARCH ,
-and
-.Sy TOOLDIR .
-This script can be symlinked into a directory listed in
-.Sy PATH ,
-or called with an absolute path.
-.
-.Sh SEE ALSO
-.Xr make 1 ,
-.Xr hier 7 ,
-.Xr release 7
-.
-.Sh HISTORY
-.
-The
-.Sy USE_NEW_TOOLCHAIN
-based build scheme was introduced in the
-.Dq Nx Ns -current
-development sources between
-.Nx 1.5
-and
-.Nx 1.6 .
-.
-.Sh BUGS
-.
-Many platforms are not yet using the
-.Sy USE_NEW_TOOLCHAIN
-system.
View
225 Makefile
@@ -1,225 +0,0 @@
-# $NetBSD: Makefile,v 1.163 2002/02/28 02:22:59 tv Exp $
-
-# This is the top-level makefile for building NetBSD. For an outline of
-# how to build a snapshot or release, as well as other release engineering
-# information, see http://www.netbsd.org/developers/releng/index.html
-#
-# Not everything you can set or do is documented in this makefile. In
-# particular, you should review the files in /usr/share/mk (especially
-# bsd.README) for general information on building programs and writing
-# Makefiles within this structure, and see the comments in src/etc/Makefile
-# for further information on installation and release set options.
-#
-# Variables listed below can be set on the make command line (highest
-# priority), in /etc/mk.conf (middle priority), or in the environment
-# (lowest priority).
-#
-# Variables:
-# DESTDIR is the target directory for installation of the compiled
-# software. It defaults to /. Note that programs are built against
-# libraries installed in DESTDIR.
-# MKMAN, if set to `no', will prevent building of manual pages.
-# MKOBJDIRS, if not set to `no', will build object directories at
-# an appropriate point in a build.
-# MKSHARE, if set to `no', will prevent building and installing
-# anything in /usr/share.
-# NBUILDJOBS is the number of jobs to start in parallel during a
-# `make build'. It defaults to 1.
-# UPDATE, if defined, will avoid a `make cleandir' at the start of
-# `make build', as well as having the effects listed in
-# /usr/share/mk/bsd.README.
-# NOCLEANDIR, if defined, will avoid a `make cleandir' at the start
-# of the `make build'.
-# NOINCLUDES will avoid the `make includes' usually done by `make build'.
-#
-# Targets:
-# build:
-# Builds a full release of NetBSD in DESTDIR. If BUILD_DONE is
-# set, this is an empty target.
-# release:
-# Does a `make build,' and then tars up the DESTDIR files
-# into RELEASEDIR, in release(7) format. (See etc/Makefile for
-# more information on this.)
-# regression-tests:
-# Runs the regression tests in "regress" on this host.
-#
-# Targets invoked by `make build,' in order:
-# cleandir: cleans the tree.
-# obj: creates object directories.
-# do-tools: builds host toolchain.
-# do-distrib-dirs: creates the distribution directories.
-# includes: installs include files.
-# do-lib-csu: builds and installs prerequisites from lib/csu.
-# do-lib: builds and installs prerequisites from lib.
-# do-gnu-lib: builds and installs prerequisites from gnu/lib.
-# do-build: builds and installs the entire system.
-
-.if ${.MAKEFLAGS:M${.CURDIR}/share/mk} == ""
-.MAKEFLAGS: -m ${.CURDIR}/share/mk
-.endif
-
-# If _SRC_TOP_OBJ_ gets set here, we will end up with a directory that may
-# not be the top level objdir, because "make obj" can happen in the *middle*
-# of "make build" (long after <bsd.own.mk> is calculated it). So, pre-set
-# _SRC_TOP_OBJ_ here so it will not be added to ${.MAKEOVERRIDES}.
-_SRC_TOP_OBJ_=
-
-.include <bsd.own.mk>
-
-# Sanity check: make sure that "make build" is not invoked simultaneously
-# with a standard recursive target.
-
-.if make(build) || make(release) || make(snapshot)
-.for targ in ${TARGETS:Nobj:Ncleandir}
-.if make(${targ}) && !target(.BEGIN)
-.BEGIN:
- @echo 'BUILD ABORTED: "make build" and "make ${targ}" are mutually exclusive.'
- @false
-.endif
-.endfor
-.endif
-
-.if defined(NBUILDJOBS)
-.if !target(.BEGIN)
-.BEGIN:
- @echo 'NBUILDJOBS is currently broken; see PR toolchain/14837.'
- @false
-.endif
-#_J= -j${NBUILDJOBS}
-.endif
-
-_SUBDIR= tools lib include gnu bin games libexec sbin usr.bin \
- usr.sbin share sys etc distrib regress
-
-# Weed out directories that don't exist.
-
-.for dir in ${_SUBDIR}
-.if exists(${dir}/Makefile) && (${BUILD_${dir}:Uyes} != "no")
-SUBDIR+= ${dir}
-.endif
-.endfor
-
-.if exists(regress)
-regression-tests:
- @echo Running regression tests...
- @(cd ${.CURDIR}/regress && ${MAKE} regress)
-.endif
-
-whatis.db:
-.if ${MKMAN} != "no"
- (cd ${.CURDIR}/share/man && ${MAKE} makedb)
-.endif
-
-# XXX I wish there was a more rational place to do this, but I can't
-# think of one. There is no one place the info/dir file gets generated.
-infodir-meta:
-.if defined(UNPRIVED) && (${MKINFO} != "no")
- echo "${DESTDIR}/usr/share/info/dir type=file mode=0644 uname=root gname=wheel" | \
- sed -e 's|^/|./|g' -e 's|//|/|g' >>${METALOG}
-.endif
-
-afterinstall: whatis.db infodir-meta
-
-# Targets (in order!) called by "make build".
-
-BUILDTARGETS+= check-tools
-.if !defined(UPDATE) && !defined(NOCLEANDIR)
-BUILDTARGETS+= cleandir
-.endif
-.if ${MKOBJDIRS} != "no"
-BUILDTARGETS+= obj
-.endif
-.if ${USETOOLS} == "yes"
-BUILDTARGETS+= do-tools
-.endif
-.if !defined(NODISTRIBDIRS)
-BUILDTARGETS+= do-distrib-dirs
-.endif
-.if !defined(NOINCLUDES)
-BUILDTARGETS+= includes
-.endif
-BUILDTARGETS+= do-lib-csu do-lib do-gnu-lib do-build
-
-# Enforce proper ordering of some rules.
-
-.ORDER: ${BUILDTARGETS}
-includes-lib: includes-include includes-sys
-includes-gnu: includes-lib
-
-# Build the system and install into DESTDIR.
-
-build:
-.if defined(BUILD_DONE)
- @echo "Build already installed into ${DESTDIR}"
-.else
- @echo -n "Build started at: " && date
-.for tgt in ${BUILDTARGETS}
- @(cd ${.CURDIR} && ${MAKE} ${_J} ${tgt})
-.endfor
- @echo -n "Build finished at: " && date
-.endif
-
-# Build a full distribution, but not a release (i.e. no sets into
-# ${RELEASEDIR}).
-
-distribution: build
- (cd ${.CURDIR}/etc && ${MAKE} INSTALL_DONE=1 distribution)
-
-# Build a release or snapshot (implies "make build").
-
-release snapshot: build
- (cd ${.CURDIR}/etc && ${MAKE} INSTALL_DONE=1 release)
-
-# Special components of the "make build" process.
-
-check-tools:
-.if defined(USE_NEW_TOOLCHAIN) && (${USE_NEW_TOOLCHAIN} != "nowarn")
- @echo '*** WARNING: Building on MACHINE=${MACHINE} with USE_NEW_TOOLCHAIN.'
- @echo '*** This platform is not yet verified to work with the new toolchain,'
- @echo '*** and may result in a failed build or corrupt binaries!'
-.endif
-
-do-distrib-dirs:
-.if !defined(DESTDIR) || ${DESTDIR} == ""
- (cd ${.CURDIR}/etc && ${MAKE} DESTDIR=/ distrib-dirs)
-.else
- (cd ${.CURDIR}/etc && ${MAKE} DESTDIR=${DESTDIR} distrib-dirs)
-.endif
-
-.for dir in tools lib/csu lib gnu/lib
-do-${dir:S/\//-/}:
-.for targ in dependall install
- (cd ${.CURDIR}/${dir} && ${MAKE} ${_J} ${targ})
-.endfor
-.endfor
-
-do-build:
-.for targ in dependall install
- (cd ${.CURDIR} && ${MAKE} ${_J} ${targ} BUILD_tools=no BUILD_lib=no)
-.endfor
-
-# Speedup stubs for some subtrees that don't need to run these rules.
-# (Tells <bsd.subdir.mk> not to recurse for them.)
-
-.for dir in bin etc distrib games libexec regress sbin usr.sbin tools
-includes-${dir}:
- @true
-.endfor
-.for dir in etc distrib regress
-install-${dir}:
- @true
-.endfor
-
-# XXX this needs to change when distrib Makefiles are recursion compliant
-dependall-distrib depend-distrib all-distrib:
- @true
-
-clean:
- rm -f METALOG
-
-.include <bsd.obj.mk>
-.include <bsd.subdir.mk>
-
-build-docs: ${.CURDIR}/BUILDING
-${.CURDIR}/BUILDING: BUILDING.mdoc
- groff -mdoc -Tascii -P-b -P-u -P-o $> >$@
View
18 Makefile.inc
@@ -1,18 +0,0 @@
-# $NetBSD: Makefile.inc,v 1.3 2000/05/06 15:05:15 sjg Exp $
-
-.ifndef ABSTOP
-ABSTOP!= cd ${.PARSEDIR}; pwd
-
-.if (${.PARSEDIR} == ${.CURDIR})
-RELTOP:= .
-.else
-RELTOP:= ${.PARSEDIR:S,^${.CURDIR},,}
-.endif
-
-KERNSRCDIR:=${ABSTOP}/sys
-
-# you can set BSD{SRC,OBJ}DIR in Makefile.local.inc
-.if exists(${ABSTOP}/Makefile.local.inc)
-.include "${ABSTOP}/Makefile.local.inc"
-.endif
-.endif
View
357 UPDATING
@@ -1,357 +0,0 @@
-$NetBSD: UPDATING,v 1.53 2002/02/24 01:15:21 matt Exp $
-
-This file is intended to be a brief introduction to the build
-process and a reference on what to do if something doesn't work.
-
-For a more detailed description see Makefile.
-
-Recent changes:
-^^^^^^^^^^^^^^^
-20010223:
- Users of the VAX port will need to rebuild and install gas
- so it deal with the now present register prefix used in all
- the VAX assembly files.
-
-20020118:
-
- ntpd user/group has been added. Need to hand add this in or builds
- will break as mtree aborts early.
-
- Add the following into /etc/group:
-
- ntpd:*:15:
-
- and the following to /etc/master.passwd (via vipw):
-
- ntpd:*:15:15::0:0:Ntpd pseudo-user:/var/chroot/ntpd:/sbin/nologin
-
-20011207:
-
- If you're attempting to build a snapshot on sparc64 and are getting
- reloc errors from the toolchain groff binary this means your native
- toolchain has some broken C++ bits.
-
- To fix:
-
- Build a new toolchain (i.e. build.sh -t)
- Use the new toolchain to build and install natively (i.e. /usr/lib)
-
- gnu/lib/libgcc
- gnu/lib/libstdc++
-
- After this a snapshot will be able to be built.
-
-20011201:
- In order for a sparc64 build to work you must have a working awk. If
- you've built and installed a system with the new toolchain up to this
- point you do not have a working awk as its ability to do floating
- point is broken.
-
- To build:
-
- remake and install gnu/lib/libgcc
- remake and install gnu/usr.bin/gawk into /usr/bin (make sure it links
- against the new libgcc.a)
-
-20011128:
- Kernel config information was changed to use defflag in
- the various "files" files. Bug fixes to config(8) are
- required in order for this to work properly. Make sure
- to build and install in usr.sbin/config before attempting
- to build a new kernel.
-
-20011030:
- libc/locale/wcstod.c now needs new lint(1). Update lint(1)
- before building libc.
-
-20011029:
- The new document BUILDING.mdoc (view with nroff | more, or
- see pre-generated .txt and .html versions) describes the build
- procedure in great detail. BUILDING, and the USE_NEW_TOOLCHAIN
- build process, are intended in the long run to replace this
- manual update log.
-
- Users building a USE_NEW_TOOLCHAIN system should read the
- BUILDING document for caveats. Generally, BUILDING supersedes
- UPDATING for these systems, as tool updating is taken care of
- by the new build system.
-
-20011028:
- src/etc/Makefile now needs install to be able to handle
- symlinks that point to nowhere. A bug in install that
- prevented this was corrected.
-
- Solution: update and reinstall usr.bin/xinstall
- Better Solution: Use the new toolchain and it will just work
- for you.
-
-20011006:
- /etc/mtree/NetBSD.dist has been updated to take advantage of
- absolute path support added to mtree(8). Older mtree(8)s don't
- understand the format.
-
- Solution: update and reinstall usr.sbin/mtree
-
-20011004:
- Crunchgen has been updated to work via reach-over makefiles. Updating
- is suggested before running a snapshot build
-
-20010915:
- The new "ubcperf" code committed by Chuck Silvers removed
- a header file, uvm/uvm_vnode.h. There may be stale .depend
- files that still reference this file.
-
- Solution: "make cleandir && make dependall" in affected
- directories.
-
-20010803:
- grep.info is now built from grep.texi using makeinfo. Since it
- requires makeinfo v4.0, you need to install new texinfo before
- building gnu/usr.bin/grep. To install new texinfo, please follow
- the instruction described in 20010726 entry.
-
-20010803:
- (i386 only): i386 kernel now uses new instructions like
- `fxsave' which old gas doesn't understand. To build the
- kernel successfully, you need to build and install new gas
- (gnu/usr.bin/gas.new), or (temporarily) comment out
- "options I686_CPU" from your kernel configuration until you
- rebuilt your userland (and got a new gas).
-
-20010731:
- Bootloader update on ELF platforms. DDB in kernels from before
- this will be unable to read symbol tables provided by newer
- bootloaders.
-
-20010726:
- Texinfo was updated to 4.0. To avoid failures when trying to
- build the included texinfo files, do:
-
- cd src/gnu/usr.bin/texinfo
- make MKINFO=no dependall install
-
-20010718:
- Enabled correct .init/.fini processing in crt0. The way this
- was done was to change a -I directive to cc(1), which means
- make(1) will have a stale dependency (it will be checking the
- timestamp on the wrong "dot_init.h").
-
- The symptom you will see is that new programs die with SIGSEGV
- if you have a stale dependency.
-
- Solution: "make cleandir" in both lib/csu and libexec/ld.elf_so
- before starting your build.
-
-20010628:
- A construct was added to uvm_page.h that uncovered a bug
- in lint(1). If you get a warning/error about a non-portable
- bitfield, update your lint(1) before proceeding.
-
-20010226:
- Added named user/group to system. Need to hand add this in or builds
- will break as mtree aborts early.
-
- To work around add by hand:
-
- named:*:14:
-
- to /etc/group and add:
-
- named:*:14:14::0:0:Named pseudo-user:/var/named:/sbin/nologin
-
- to master.passwd (use vipw for instance if doing by hand).
-
- Now a make build should progress.
-
-20010219:
- get/setprogname() added. Any hostprogs that may use this will need
- to be bootstrapped manually until the host system is current.
-
- Known problems: sys/arch/macppc/stand/fixcoff
- usr.sbin/config (adding -DMAKE_BOOTSTRAP to
- CFLAGS and rebuilding should work)
- usr.sbin/mdsetimage - Build a static copy if
- building a snapshot before fully bootstrapped.
-
-20010204:
- prepare the code to compile with stricter gcc flags. in
- particular start eliminating redundant declarations. Yacc
- needs to be installed before make build.
-
-20010114:
- introduce .if commands(target) in make(1). You need to
- bring everything up-to-date first, then without installing
- anything make and install in usr.bin/make, then proceed
- with make build.
-
-20010101:
- bsd.subdir.mk committed 20001230 had a bug which caused
- afterinstall targets to run too soon; update again.
-
-20001230:
- New share/mk files needed to support .WAIT in SUBDIR variables.
- If you get make errors,
- (cd share/mk; make install)
- Also, PRINTOBJDIR has changed and is now used more heavily.
-
-20001019:
- The `ca' device driver has been replaced by `ld'; although the
- major and minor numbers haven't changed, you should update your /dev
- directory.
-
-20000929:
- The following make directives are obsoleted.
- MKCRYPTO_RSA NOCRYPTO_RSA NOCRYPTO_RC5 NOCRYPTO_IDEA
- By default, RSA is built into libcrypto. IDEA and RC5 will not be
- built into libcrypto. By using MKCRYPTO_{RC5,IDEA}, you can build
- additional library libcrypto_{idea,rc5}.
-
-
-Hints for a more successful build:
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Build a new kernel first:
- This makes sure that any new system calls or features
- expected by the new userland will be present. This
- helps to avoid critical errors when upgrading.
- Use object directories:
- This helps to keep stale object
- files from polluting the build if a Makefile "forgets"
- about one. It also makes it easier to clean up after
- a build. It's also necessary if you want to use the
- same source tree for multiple machines.
- To use object directories:
- a) cd /usr/src ; make cleandir
- b) Add "OBJMACHINE=yes" to /etc/mk.conf
- c) Add "MKOBJDIRS=yes" to /etc/mk.conf
- d) cd /usr/src ; make build
- Note that running "make obj" in a directory will create
- in obj.$MACHINE directory.
- Build to a DESTDIR:
- This helps to keep old
- installed files (especially libraries) from interfering
- with the new build.
- To build to a DESTDIR, set the DESTDIR environment
- variable before running make build. It should be set to
- the pathname of an initially empty directory.
- Problems: you might need to update critical utilities
- without using DESTDIR since nothing is executed
- from what is installed in DESTDIR.
- (See critical utils, below)
- Build often:
- This keeps critical utilities current enough to not choke
- on any other part of the source tree that depends on up to
- date functionality.
-
-What to do if things don't work:
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-When things don't work there is usually a few things that commonly
-should be done.
- 1) make includes
- This should be done automatically by make build.
- 2) cd share/mk && make install
- Again, automatically done by make build.
-
-Failsafe rebuild of a small part of the tree:
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-To make sure you rebuild something correctly you want to do
-something like the following:
- 1) Make sure the includes and .mk files are up to date.
- 2) Make sure any program used to build the particular
- utility is up to date. (yacc, lex, etc...)
- 3) cd ...path/to/util...
- make cleandir
- rm ...all obj directories...
- make cleandir # yes, again
- make obj
- make depend && make
-
-Failsafe rebuild of the entire tree:
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-If you really want to make sure the source tree is clean and
-ready for a build try the following. Note that sourcing /etc/mk.conf
-(a make(1) Makefile) in this manner is not right, and will not work
-for anyone who uses any make(1) features in /etc/mk.conf.
-
----cut here---
-#!/bin/sh
-. /etc/mk.conf
-
-if [ -z $BSDSRCDIR ] ; then
- BSDSRCDIR=/usr/src
-fi
-if [ \! -d $BSDSRCDIR ] ; then
- echo Unable to find sources
- exit 1
-fi
-find $BSDSRCDIR -name \*.o -o -name obj.\* -o -name obj -exec rm \{\} \;
-
-if [ -z $BSDOBJDIR ] ; then
- BSDOBJDIR=/usr/obj
-fi
-if [ -d $BSDOBJDIR ] ; then
- rm -rf $BSDOBJDIR
-fi
-
-cd $BSDSRCDIR && make cleandir
-
----cut here---
-
-Critical utilities:
-^^^^^^^^^^^^^^^^^^^
- gnu/usr.bin/egcs
- usr.bin/compile_et
- usr.bin/make
- usr.bin/yacc
- usr.bin/lex
- usr.bin/xlint
- usr.sbin/config
-
-Other problems and possible solutions:
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-Symptom:Unreasonable compiler errors.
-Fix: Rebuild gnu/usr.bin/egcs
-
-Symptom:Complaints involving a Makefile.
-Fix: Rebuild usr.bin/make:
- cd usr.bin/make && make && make install
- Or, a failsafe method if that doesn't work:
- cd usr.bin/make && cc *.c */*.c -I . -o make && mv make /usr/bin
-
-Fix: Make sure .mk files are up to date.
- cd share/mk && make install
-
-Symptom:Kernel `config' fails to configure any kernel, including GENERIC.
-Fix: Rebuild usr.sbin/config
-
-Symptom:
-Fix: Rebuild usr.bin/yacc
-
-Symptom:
-Fix: Rebuild usr.bin/lex
-
-Symptom:
-Fix: rm /usr/lib/libbfd.a
-
-Symptom:Obsolete intermediate files are used during compilation
-Fix: Try the following sequence of commands in the directory in question.
- make cleandir; rm `make print-objdir`; make cleandir; make obj
- (If you built the tree without "make obj" in the past, obsolete files
- may remain. The command tries to clean everything up)
-
-Symptom:.../sysinst/run.c:xx: warning: initialization from incompatible pointer type
-Fix: Rebuild and install usr.bin/menuc
-
-Symptom:mklocale not found during build in share/locale/ctype
-Fix: Build and install usr.bin/mklocale
-
-Symptom:undefined reference to `__assert13'
-Fix: Rebuild and install lib/libc
-
-Symptom:usr.sbin/config fails to build.
-Fix: Try building with -DMAKE_BOOTSTRAP added to CFLAGS in Makefile.
-
-Symptom:undefined reference to `getprogname' or `setprogname'
-Fix: Rebuild and install lib/libc
-
-Symptom:lint does not understand the '-X' option
-Fix: May need to build & install libs with NOLINT=1 before rebuilding lint
View
8 bin/Makefile
@@ -1,8 +0,0 @@
-# $NetBSD: Makefile,v 1.18 1999/11/23 05:28:15 mrg Exp $
-# @(#)Makefile 8.1 (Berkeley) 5/31/93
-
-SUBDIR= cat chio chmod cp csh date dd df domainname echo ed expr hostname \
- kill ksh ln ls mkdir mt mv pax ps pwd rcp rcmd rm rmdir sh \
- sleep stty sync test
-
-.include <bsd.subdir.mk>
View
8 bin/Makefile.inc
@@ -1,8 +0,0 @@
-# $NetBSD: Makefile.inc,v 1.11 2001/11/03 13:40:30 lukem Exp $
-# @(#)Makefile.inc 8.1 (Berkeley) 5/31/93
-
-.include <bsd.own.mk> # for LDSTATIC def'n
-
-WARNS?= 2
-BINDIR?= /bin
-LDSTATIC?= -static
View
6 bin/cat/Makefile
@@ -1,6 +0,0 @@
-# $NetBSD: Makefile,v 1.10 2001/11/03 13:40:30 lukem Exp $
-# @(#)Makefile 8.1 (Berkeley) 5/31/93
-
-PROG= cat
-
-.include <bsd.prog.mk>
View
152 bin/cat/cat.1
@@ -1,152 +0,0 @@
-.\" $NetBSD: cat.1,v 1.24 2002/02/08 01:21:55 ross Exp $
-.\"
-.\" Copyright (c) 1989, 1990, 1993
-.\" The Regents of the University of California. All rights reserved.
-.\"
-.\" This code is derived from software contributed to Berkeley by
-.\" the Institute of Electrical and Electronics Engineers, Inc.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\" notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\" notice, this list of conditions and the following disclaimer in the
-.\" documentation and/or other materials provided with the distribution.
-.\" 3. All advertising materials mentioning features or use of this software
-.\" must display the following acknowledgement:
-.\" This product includes software developed by the University of
-.\" California, Berkeley and its contributors.
-.\" 4. Neither the name of the University nor the names of its contributors
-.\" may be used to endorse or promote products derived from this software
-.\" without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\"
-.\" @(#)cat.1 8.3 (Berkeley) 5/2/95
-.\"
-.Dd May 2, 1995
-.Dt CAT 1
-.Os
-.Sh NAME
-.Nm cat
-.Nd concatenate and print files
-.Sh SYNOPSIS
-.Nm
-.Op Fl befnstuv
-.Op Fl
-.Op Ar
-.Sh DESCRIPTION
-The
-.Nm
-utility reads files sequentially, writing them to the standard output.
-The
-.Ar file
-operands are processed in command line order.
-A single dash represents the standard input,
-and may appear multiple times in the
-.Ar file
-list.
-.Pp
-The word
-.Dq concatenate
-is just a verbose synonym for
-.Dq catenate .
-.Pp
-The options are as follows:
-.Bl -tag -width Ds
-.It Fl b
-Implies the
-.Fl n
-option but doesn't number blank lines.
-.It Fl e
-Implies the
-.Fl v
-option, and displays a dollar sign
-.Pq Ql \&$
-at the end of each line
-as well.
-.It Fl f
-Only attempt to display plain files.
-.It Fl n
-Number the output lines, starting at 1.
-.It Fl s
-Squeeze multiple adjacent empty lines, causing the output to be
-single spaced.
-.It Fl t
-Implies the
-.Fl v
-option, and displays tab characters as
-.Ql ^I
-as well.
-.It Fl u
-The
-.Fl u
-option guarantees that the output is unbuffered.
-.It Fl v
-Displays non-printing characters so they are visible.
-Control characters print as
-.Ql ^X
-for control-X; the delete
-character (octal 0177) prints as
-.Ql ^?
-Non-ascii characters (with the high bit set) are printed as
-.Ql M-
-(for meta) followed by the character for the low 7 bits.
-.El
-.Sh EXIT STATUS
-The
-.Nm
-utility exits 0 on success, and \*[Gt]0 if an error occurs.
-.Sh SEE ALSO
-.Xr head 1 ,
-.Xr hexdump 1 ,
-.Xr lpr 1 ,
-.Xr more 1 ,
-.Xr pr 1 ,
-.Xr tail 1 ,
-.Xr view 1 ,
-.Xr vis 1
-.Rs
-.%A Rob Pike
-.%T "UNIX Style, or cat -v Considered Harmful"
-.%J "USENIX Summer Conference Proceedings"
-.%D 1983
-.Re
-.Sh STANDARDS
-The
-.Nm
-utility is expected to conform to the
-.St -p1003.2-92
-specification.
-.Pp
-The flags
-.Op Fl benstv
-are extensions to the specification.
-.Sh HISTORY
-A
-.Nm
-utility appeared in
-.At v1 .
-Dennis Ritchie designed and wrote the first man page.
-It appears to have been
-.Xr cat 1 .
-.Sh BUGS
-Because of the shell language mechanism used to perform output
-redirection, the command
-.Dq Li cat file1 file2 \*[Gt] file1
-will cause the original data in file1 to be destroyed!
-This is performed by the shell before
-.Nm
-is run.
View
300 bin/cat/cat.c
@@ -1,300 +0,0 @@
-/* $NetBSD: cat.c,v 1.28 2001/09/16 12:12:13 wiz Exp $ */
-
-/*
- * Copyright (c) 1989, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Kevin Fall.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <sys/cdefs.h>
-#ifndef lint
-__COPYRIGHT(
-"@(#) Copyright (c) 1989, 1993\n\
- The Regents of the University of California. All rights reserved.\n");
-#endif /* not lint */
-
-#ifndef lint
-#if 0
-static char sccsid[] = "@(#)cat.c 8.2 (Berkeley) 4/27/95";
-#else
-__RCSID("$NetBSD: cat.c,v 1.28 2001/09/16 12:12:13 wiz Exp $");
-#endif
-#endif /* not lint */
-
-#include <sys/param.h>
-#include <sys/stat.h>
-
-#include <ctype.h>
-#include <err.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <locale.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-
-int bflag, eflag, fflag, nflag, sflag, tflag, vflag;
-int rval;
-const char *filename;
-
-int main(int, char *[]);
-void cook_args(char *argv[]);
-void cook_buf(FILE *);
-void raw_args(char *argv[]);
-void raw_cat(int);
-
-int
-main(int argc, char *argv[])
-{
- int ch;
-
- setprogname(argv[0]);
- (void)setlocale(LC_ALL, "");
-
- while ((ch = getopt(argc, argv, "befnstuv")) != -1)
- switch (ch) {
- case 'b':
- bflag = nflag = 1; /* -b implies -n */
- break;
- case 'e':
- eflag = vflag = 1; /* -e implies -v */