Commit Graph

289 Commits

Author SHA1 Message Date
apb 5f70d1f98e Move the code for creating src/BUILDING from "make build-docs" in
src/Makefile to "make regen" in src/doc/Makefile, and update a comment
in doc/BUILDING.mdoc to match.
2011-09-09 14:23:37 +00:00
jmcneill 438817447a Fix typo that prevented installmodules from working with -U 2011-08-08 23:18:36 +00:00
jmcneill b415fa375b add an installmodules=<dir> command to build.sh 2011-08-08 22:15:42 +00:00
mrg f7fea21d51 re-enable the gcc 4.5 crtstuff/libgcc builders now that they work.
also build the gmp, mpfr and mpc libraries in this case.
2011-06-29 02:05:24 +00:00
mrg a8eadc0087 fix the parts that build libgcc/crtstuff, etc., for GCC 4.5. 2011-06-22 05:13:20 +00:00
mrg 8f161cd6d3 remove all the code that supported HAVE_GCC=3. mostly from chuq. 2011-06-20 06:52:36 +00:00
mrg a2c4975d63 build evbppc modules in 3 different flavours:
- oea (default)
	- ibm4xx
	- booke

this, together with earlier machine_module[] work, should allow evbppc
platforms to use modules.
2011-06-15 09:45:58 +00:00
jym 4bd25a927a Pass down INSTALLSETS variable to installsets target. Use :Q to escape
shell meta-characters, as the variable contains a list of sets, separated
by spaces.

$ ./build.sh -V INSTALLSETS="base etc" install=idir

should now work as expected.

Reviewed by apb@ on tech-toolchain.
2011-01-29 16:56:26 +00:00
plunky f33b316b63 Remove the do-external-lib and do-gnu-lib targets, along with
external/lib/Makefile and crypto/external/lib/Makefile, replacing
them all with SUBDIRs directly from lib/Makefile.

compat/compatsubdirs.mk becomes simpler now, as everything is built
from lib/Makefile, meaning all the libraries will now be built under
compat so update the set lists to account for that.
2010-12-03 21:38:46 +00:00
skrll 15fa0783d7 Centralise USE_COMPILERCRTSTUFF.
PCC might need help.
2010-11-28 18:40:54 +00:00
plunky 114bcdc0d0 no need to create a do-lib-libdes target, the directory no longer exists 2010-11-22 08:35:44 +00:00
mrg 4c92852a80 remove almost all the ability to build netbsd with an a.out target.
we're ELF now, and there are many missing checks against OBJECT_FMT.
if we ever consider switching, the we can figure out what new ones
we need but for now it's just clutter.

this doesn't remove any of the support for exec_aout or any actually
required-for-boot a.out support, only the ability to build a netbsd
release in a.out format.  ie, most of this code has been dead for
over a decade.

i've tested builds on vax, amd64, i386, mac68k, macppc, sparc, atari,
amiga, shark, cats, dreamcast, landisk, mmeye and x68k.  this covers
the 5 MACHINE_ARCH's affected, and all the other arch code touched.
it also includes some actual run-time testing of sparc, i386 and
shark, and i performed binary comparison upon amiga and x68k as well.


some minor details relevant:
- move shlib.[ch] from ld.aout_so into ldconfig proper, and cut them
  down to only the parts ldconfig needs
- remove various unused source files
- switch amiga bootblocks to using elf2bb.h instead of aout2bb.h
2010-07-06 05:59:50 +00:00
pooka 0f5a2c3b87 descend into sys/rump/kern 2010-06-10 22:41:41 +00:00
mrg c6b4bc4a81 adjust the do-compat-* rules now that src/compat/lib and friends no longer exist 2009-12-13 09:29:27 +00:00
uebayasi d166c4bf28 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.)
2009-11-30 16:13:22 +00:00
pooka da73ba1e67 build & install librumpdev_netsmb and librumpfs_smbfs components 2009-09-04 17:21:33 +00:00
dyoung 71fe64733e Let us use MKKMOD=yes to leave the kernel modules out of the
distribution.
2009-08-30 01:49:41 +00:00
pooka 3953343384 Build modules before rump libs so that something else can be
unwarrantedly blamed for a change.

This commit follows the style guide and is entirely non-build-tested.
2009-07-03 22:20:27 +00:00
christos b1d98f9166 add crypto/external to the build. 2009-06-07 22:46:12 +00:00
apb c4ad9aa7fc Make clean_METALOG in distrib/sets early in the build, to ensure that
the METALOG does not grow without bounds on multiple MKUPDATE builds.
(Previously, sanitise_METALOG in distrib/sets/Makefile used to do
something like this near the end of a build.)
2009-04-23 09:43:49 +00:00
tsutsui f32f514ecd Remove an explicit BUILDTARGETS do-compat-external-lib before do-build
because now src/compat/Makefile descends there and no particular
dependency on 32 bit compat external libs during do-build.
2009-04-15 10:18:34 +00:00
sketch 0ed32f1081 Disable grep host tool and unbreak NetBSD build until I can come up with a
clean fix.
2009-02-25 22:28:36 +00:00
sketch bb0a3b607e Use awk and grep host tools where required. 'build.sh release' now works
on Solaris (but only with HOST_CC=/usr/sfw/bin/gcc for now).
2009-02-25 20:38:30 +00:00
jmmv b5e5aa9ff1 Add the top-level do-compat-external-lib target that mimics
do-external-lib so that we can build the compat libraries for
ATF.  Also add compat/external/lib/Makefile following the same
example of external/lib/Makefile, which descends into the
external libraries and builds them.
2009-01-19 07:19:09 +00:00
pooka 3427000fad Build kernel modules the same time as the rest of the system libraries. 2008-12-30 22:18:11 +00:00
cube 7f4672798d Invoke postinstall with the environment variable MAKE set up to the relevant
value, so that postinstall picks up correct values.
2008-12-05 19:02:54 +00:00
mrg 9c8df5ee67 - retire MKXORG from public use
- introduce X11FLAVOUR to choose src/x11 vs src/external/mit/xorg
  for the X11 to build if MKX11=yes is set.  it takes the values
  of either Xorg or XFree86.
- default to Xorg on alpha, i386, macppc, shark, sparc and sparc64
- remove MKXORG_WITH_XSRC_XSERVER, unused and never useful
2008-11-09 23:02:28 +00:00
mrg bafe7cb90b - enable 32-bit library builds on amd64 and sparc64
- add 3 new top-level targets:
    do-compat-lib-csu
    do-compat-libgcc
    do-compat-lib-libc
  and run them before "do-build" if ${MKCOMPAT} != "no"
2008-10-27 22:32:51 +00:00
apb c57a72c85c Add a do-top-obj target, which builds the top-level obj directory.
This uses the new NOSUBDIR support in bsd.subdir.mk.

Insert do-top-obj near the beginning of BUILDTARGETS.  The first few
items are now:
    cleandir:        cleans the tree.
    do-top-obj:      creates the top level object directory.
    do-tools-obj:    creates object directories for the host toolchain.
    do-tools:        builds host toolchain.
    obj:             creates object directories.

Also improve a comment and split a long line where SUBDIR is set from
_SUBDIR.
2008-10-25 15:03:44 +00:00
apb 66aea1d2dd Defer the "make obj" step until after tools are built and installed.
There may be commands embedded in "!=" assignments that depend on tools
being available, and previously these would have printed error messages
during "make obj".  They may still print error messages during "make
cleandir", which (if it is performed at all) is performed before tools
are built.
2008-10-22 17:37:16 +00:00
pooka 11a1b3f96a add do-sys-rump-net-lib 2008-10-16 09:43:12 +00:00
jnemeth 39b2f9c158 PR/39687 - Henning Petersen -- comment typo 2008-10-03 18:09:48 +00:00
lukem d6e6997551 Improve support for MKXORG!=no to enable builds into external/mit/xorg.
This will be mutually exclusive to MKX11!=no.
2008-08-28 07:21:49 +00:00
gmcgarry 1dcc3caa38 Build pcc and pcc-based crtstuff if using pcc compiler. 2008-08-24 05:56:20 +00:00
pooka bdf6e0b034 Install rump libraries and utilities to the base system and remove the
private non-installed build infrastructure from sys/rump.

breakdown of commit:
  * install relevant headers into /usr/include/rump
  * build sys/rump/librump/rumpuser and sys/rump/librump/rumpkern
    from src/lib and install as librumpuser and librump, respectively
    + this retains the ability to test a librump build with just the
      kernel sources at hand
  * move sys/rump/fs/lib/libukfs and sys/rump/fs/lib/libp2k to src/lib
    for general consumption, they are not kernel-space dwellers anyway
  * build and install sys/rump/fs/lib/lib$fs as librumpfs_$fs
  * add chapter 3 manual pages for rump, rumpuser, ukfs and p2k
  * build and install userspace kernel file system daemons if MKPUFFS=yes
    is spexified
  * retire fsconsole for now, it will make a comeback with an actually
    implemented version shortly
2008-07-29 13:17:40 +00:00
mrg 323076d1fa if MKXORG != no, use external/mit/xorg subdir instead of x11 subdir for
the mk-x11 target.
2008-07-29 04:49:43 +00:00
lukem 1a34d8be07 Descend into external.
Add 'do-external-lib' target to build external/lib "early"
2008-05-22 14:13:58 +00:00
lukem b08050d67a Consistently document RELEASEDIR/RELEASEMACHINEDIR. 2008-03-18 04:24:38 +00:00
jmmv 4d9b8b6a50 Add the tests.tgz set
This adds a new tests.tgz set to releases which includes all the tests
for the system.  It is important to note that this set does not rely on
comp.tgz: a user of the system can run the tests without having the
development tools installed, which can be useful in a production machine.
2007-11-12 15:06:45 +00:00
pavel 43402af054 Do not abort on exit code 1 from postinstall check, this is expected.
Reported, fix suggested and tested by David Holland.

(Why does "make build" invoke postinstall check on destdir is another
question, it does not seem to have much sense.)
2007-10-07 16:35:21 +00:00
lukem b698472136 Provide 'do-libgcc' to build gnu/lib/crtstuff${LIBGCC_EXT} (if necessary)
and then gnu/lib/libgcc${LIBGCC_EXT}.
Makes it easier to cut&paste from the list of targets built with 'make build'.
2007-09-07 04:20:44 +00:00
jnemeth a186842ea2 Add an iso-image-source option which does the same thing as iso-image but
includes source sets as well.  The infrastructure for this was already
there, although it needed a bug fix.  Will look at adding arbitrary
directories next.
2007-08-30 05:30:02 +00:00
bouyer fee07bcfd4 Add an iso_image target (iso-image as a target name doesn't play well with
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.
2007-03-06 21:56:47 +00:00
dbj fca8eb80dc don't filter out .WAIT when converting from _SUBDIR to SUBDIR 2006-09-07 03:51:44 +00:00
mrg db19e89e04 remove support for building (with) GCC 2.95. also:
- always install <stdbool.h>
- don't generate a fake one for vax / gettext.
2006-06-02 22:16:18 +00:00
mrg 0db1500b43 retire HAVE_GCC3/HAVE_GCC4 and introduce HAVE_GCC that is set to 2, 3 or 4. 2006-04-07 19:38:58 +00:00
apb 21078fc390 * Add an "iso-image" target in the top level Makefile,
which invokes make iso-image in the etc directory.
* Add an "iso-image" action in build.sh, which
  invokes make iso-image.
* Document the above in doc/BUILDING.mdoc.
* Re-generate BUILDING.

Approved by christos
2006-01-28 21:34:07 +00:00
dsl 0f1b985d1a Add .MAKE to all targets that use ${MAKEDIRTARGET} otherwise make closes
the job-token pipe and the sub-makes have their own '-j n' processes.
As well as giving unexpected parallelism, it makes it impossible to stop
the build promptly on errors.
2006-01-21 19:01:15 +00:00
apb d470eb7715 Add a new "syspkgs" target, which simply chains to the "syspkgs" target
in distrib/sets/Makefile.

Reviewed by agc
2006-01-04 15:30:02 +00:00
lukem c9ae22c9c0 Modify "release" to invoke "make distribution" instead of "make build",
so that the "obsolete file removal" functionality of "distribution" is used.
Fixes build problems numerous people have experienced with MKUPDATE=yes
and the "release" target.
2005-08-25 02:04:39 +00:00