Commit Graph

205 Commits

Author SHA1 Message Date
joerg
6edf2caf7f Revert .WAIT removal and add comment why it is needed between *tblgen. 2011-11-03 07:42:56 +00:00
njoly
2b2cb14012 Do not build tic more than once 2011-11-02 23:47:07 +00:00
christos
9002895fe6 move tic later, after all the tools it needs are built. 2011-11-02 20:36:41 +00:00
yamt
de081393a5 tweak dependencies for tic, which needs nbperf, awk, and sed. 2011-11-02 20:33:18 +00:00
joerg
ecc1f89d09 Remove an unnecessary .WAIT between llvm-tblgen and clang-tblgen. 2011-11-01 23:11:55 +00:00
joerg
ac992c4949 Hook up nbperf into the normal tool build. 2011-11-01 21:16:28 +00:00
joerg
9aa0541bdf Update LLVM/Clang snapshot to r141658. This primarily fixes a regression
preventing Qt4 from building.
2011-10-11 13:53:56 +00:00
tsutsui
a1f5c3dd33 Build nbm68k-elf2aout as a host tool on m68k targets
for an ancient PROM bootloader.
Mostly taken from nbmips-elf2ecoff.
2011-07-16 15:52:01 +00:00
mrg
29bf026bea install elf2ecoff for all mips64 systems. it's needed for stand. 2011-07-10 08:43:50 +00:00
mrg
e13b252934 always build gmake if HAVE_GCC.
build gmp, mpfr and then mpc if HAVE_GCC >= 45.
2011-06-21 02:15:41 +00:00
elric
98fbe74f8c Upgrade Heimdal to 1.5pre1 by switching the build from crypto/dist/heimdal
to crypto/external/bsd/heimdal.  The latter was just imported as the head
of the Heimdal tree as of a few days ago.
2011-04-15 18:05:42 +00:00
riz
c8735093ef .WAIT for makefs, because in most builds, it's the first target
which includes Makefile.nbincludes, whose beforedepend: has
some race condition I don't fully understand, and which has been
causing many (but not all!) -j16 builds on the autobuild cluster
to fail in tools since sometime between 201103061600 and 201103070900.

With the proper voodoo, I was able to get 8 builds in a row to fail
without this change, and 16 in a row to succeed with it.

XXX a proper fix likely involves reworking the beforedepend: target
of Makefile.nbincludes, but this should get the build cluster back up
to full functionality in the meanwhile.
2011-03-17 19:06:45 +00:00
phx
e1b5cdc215 mkubootimage is certainly useful for sandpoint 2011-02-25 23:29:16 +00:00
joerg
48360965f3 Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
2011-02-06 01:13:42 +00:00
matt
06de5a61bb Make mkubootimage for evbmips and evbppc too. 2011-01-31 03:41:10 +00:00
mrg
25c3593d4e add new option to build/use tools/pigz for compressing sets. for now
USE_PIGZGZIP defaults to "no".  (it depends upon local <pthread.h> and -lz.)

you can set it to "yes" on most modern platforms just fine.
2010-08-15 07:27:33 +00:00
jmcneill
192740f5f9 hook mkubootimage into the build 2010-06-18 18:57:27 +00:00
jmmv
357bd260c3 Bye bye atf-compile, you won't be missed. 2010-06-04 08:34:35 +00:00
darran
5f2f3d9ce8 DTrace: add libelf, libdwarf, libctf, and CTF tools to the toolchain,
built when MKDTRACE=yes.
2010-03-02 20:47:01 +00:00
joerg
1bd975ff5c Build mandoc unconditional if man pages are desirable. All
compatibility issues are supposed to be sorted out.
Build groff conditionally on MKGROFF. It is currently the only component
that requires C++.
2010-02-20 00:35:11 +00:00
roy
3dc9dc4362 Store our generated files in CVS and remove nbperf from the toolchain.
This allows us to build consistent libs without an ever changing hash.
2010-02-03 20:56:54 +00:00
roy
98eb889579 Userland now builds and uses terminfo instead of termcap.
OK: core@, jdc@
2010-02-03 15:34:37 +00:00
he
1058cef38c To unbreak the build, temporarily remove the build of libelf here,
since no other part of the build depends on this yet.

Suggested as a temporary workaround by thorpej@
2009-12-29 22:13:00 +00:00
mrg
3fa4bcf59c rework the main SUBDIR list here as suggested by enami. put .WAIT on
the same line as the target that needs to wait, but before the target,
rather than on the previous line, which led to confusion and an error
being introduced in the previous change.
2009-12-23 20:15:21 +00:00
mrg
2dc54d1398 move the build of pax before libelf. fixes my build of tools/libelf,
though i didn't look to see why libelf needs pax.
2009-12-21 20:57:36 +00:00
thorpej
aa6d6cf7b8 Add support for building libelf in a host-tool environment.
XXX Makefile.disklabel is really mis-named, but I'm not going to tackle
that problem right now.
2009-12-21 18:21:17 +00:00
christos
39c14eeaaf Give m4 its own .WAIT. Fixes build issue on NetBSD-5. 2009-10-29 13:07:12 +00:00
joerg
3b68c94681 Add MKMANDOC option to trigger building cat pages and HTML pages with
mdocml.  Add a lintmanpages target for developers to check man pages
with the strictest settings of mandoc.
2009-10-23 22:14:37 +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
0d9ab2b40e Make grep a host tool. 2009-02-25 20:36:44 +00:00
abs
515e52158b Convert more MACHINE tests to MACHINE_ARCH 2009-02-14 13:50:50 +00:00
apb
4f24e44506 Build sed earlier, just after mktemp. Note that sed and mktemp do not
depend on each other, but the .WAIT is needed to get them both installed
before the remainder of the tools build.
2008-10-25 22:12:41 +00:00
apb
9e166e6cc9 Remove the local handling of the NOSUBDIR variable. We can rely
on bsd.subdir.mk's handling of the NOSUBDIR variable.

Also add some comment to .if/.else/.endif and .for/.endfor lines.
2008-10-25 14:59:35 +00:00
apb
74809f044a Add awk as a host tool. 2008-10-19 19:40:19 +00:00
dyoung
5e0c4c784c Per uwe@'s suggestion, build nbgroff under wider circumstances.
I choose to build it if MKDOC != no or if MKHTML != no.  It used
to be built only when MKMAN != no.
2008-10-13 18:11:15 +00:00
apb
4344eb9766 Add a .WAIT to ensure that sed is installed early, so that TOOL_SED can
be used during the build of other tools.
2008-10-05 20:11:54 +00:00
apb
520cbbf81f Build strfile both as a host tool and as an installed program:
* in games/fortune/strfile/Makefile, build strfile as a
  regular program instead of as a host tool;
* add tools/strfile directory to build strfile as a host tool;
* in tools/Makefile, add strfile to SUBDIR list;
* in BSD.*.mk, define TOOL_STRFILE variable;
* in games/fortune/datfiles/Makefile, use TOOL_STRFILE when creating
  databases at build time;
* in distrib/sets/lists/games/mi, mention usr/games/strfile.
2008-09-26 18:23:09 +00:00
gmcgarry
3d3450222a Build pcc as host tool if requested. 2008-08-24 05:53:36 +00:00
he
b30cb0f01e Remove references to bebox-elf2pef and bebox-mkbootimage, now that they
have been integrated in common powerpc tools and subsequently removed.
2008-05-26 12:45:50 +00:00
garbled
0c4a5c6fd7 Build powerpc-mkbootimage for rs6000 and bebox too. 2008-04-30 21:18:17 +00:00
garbled
c3408ed04a Convert prep to use the new unified mkbootimage rather than it's own. This
mkbootimage can be shared by prep, rs6000, and bebox.

TODO: Convert bebox to use this.  Needs someone to test.
2008-04-30 21:15:33 +00:00
jmmv
2965cbca98 Add the atf host tools
This adds reachover Makefiles to build the atf tools required during a
cross-build.
2007-11-12 14:54:43 +00:00
apb
082025241e Build join(1) as a host tool. 2007-01-14 16:17:29 +00:00
agc
d05a6603f6 A commit too far - don't try to build veriexecgen for just now 2006-12-20 08:22:41 +00:00
agc
b1a085da3c Build veriexecgen as a host tool 2006-12-19 21:23:18 +00:00
riz
2f0a27492f Make sys/exec_elf.h and machine/elf_machdep.h available to host
tools, and allow paxctl to use them when compiled as a host
tool.  This fixes the build on MacOS X (and perhaps other platforms)
2006-11-22 15:08:47 +00:00
dsl
7e3a0208c4 Add some notes about the bogosity of some of the .WAIT stuff.
Remove a 'never had a sane effect' .WAIT from a .ORDER line.
Don't add a (probably incorrect) dependency for 'make install' since
it contradicts a .ORDER line elsewhere when .ORDER applies recursively
to child nodes.
I also think that the stuff that tries to add dependencies between
the stuff that bsd.subdir.mk generates does not DTRT at all.
I suspect that build.sh builds things in an order that avoids issues here.
2006-11-17 21:54:55 +00:00
christos
2354d57484 Add paxctl as a tool. 2006-11-10 16:50:10 +00:00
apb
50ef6180ea If PREVIOUSTOOLDIR was empty, then don't complain that it has moved.
Patch from Jukka Salmi in PR 33095.
2006-10-08 15:21:00 +00:00
freza
3d00583f2e * Fix parallel build race condition between real{all,depend} and
<bsd.subdir.mk> targets.
* No need to pass TOOLDIR to recursive cleandir in real{all,depend}.

With help from he@.
OK by tron@.
2006-08-03 17:11:05 +00:00
tron
633d50b175 Another attempt to fix the race in parallel builds. 2006-08-03 09:55:56 +00:00
tron
09f6946261 Invoking "make cleandir" with "PREVIOUSTOOLDIR" set to the previous
location will not stop recursive "make cleandir" calls. Pass the new
location instead.
2006-07-19 09:54:47 +00:00
lukem
e728c9b011 gettext should .WAIT for autoconf.
(The former still doesn't seem to work on read-only source; separate issue)
2006-07-18 04:24:52 +00:00
tron
c1af61f813 Avoid getting into a loop of "make cleandir" instances if the location
tool directory has been changed or wasn't recorded before.
2006-07-17 13:54:46 +00:00
tron
fe4611e56b Remove ".WAIT" again because it doesn't fix the problem. 2006-07-17 11:02:02 +00:00
tron
71ee259418 Add an extra ".WAIT" to the "realall realdepend" target to make sure
it finished cleaning the tools directory in case of tool directory
mismatch before we try to rebuild the tools.
2006-07-12 10:49:11 +00:00
mrg
dbf21d98fa only build lint and lint2 if MKLINT != "no". 2006-06-22 20:03:41 +00:00
gdamore
d9ac053afa Make TOOL_SED, to allow using our own sed in cases where the host's version
is busted in some way.

The TOOL_SED doesn't use TIOCGWINSIZE, and has some changes to include
nbtool_config.h in a cross build environment.

Combined with some other changes (not yet committed), this allows cross
compiling m68k code on Solaris 10/amd64.
2006-06-18 05:16:41 +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
843978ed3a check HAVE_GCC == 4 not USE_GCC4. 2006-05-11 01:15:32 +00:00
christos
aa614dac23 Don't barf if USE_GCC4 is not defined. 2006-04-01 20:21:30 +00:00
jmc
67840cd950 Turn on gmake builds if GCC4 is enabled (and force it's install before continuing 2006-03-29 21:10:52 +00:00
dsl
e94b2828f0 The realall and realdepend bit that regenerates tools needs to be marked
.MAKE otherwise the 'make' it runs has its own list of jobs instead of
using the jobserver of the enclosing make.
2006-02-03 22:07:57 +00:00
jmc
2ae0c61239 Make the tools using Makefile.disklabel wait so they don't stomp each other.
Also for now add a dependency to Makefile.disklabel so this doesn't run
3 times. (XXX this really should just be done differently)
2005-10-04 04:27:32 +00:00
dyoung
7f67833ef1 .include Makefile.disklabel in installboot, so that the
nbinclude/ header files will be installed.  Build installboot after
pax, since Makefile.disklabel uses pax to install the headers.
2005-06-12 20:24:14 +00:00
dyoung
a37289db57 Make disklabel(8) and fdisk(8) into "host tools " last step: build
and install ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-disklabel,
${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-fdisk by "reaching over" to
the sources in ${NETBSDSRCDIR}/sbin/{disklabel fdisk}/.

To avoid clashes with a build-host's header files, especially on
*BSD, the host-tools versions of fdisk and disklabel search for
#includes such as disklabel.h, disklabel_acorn.h, disklabel_gpt.h,
and bootinfo.h in a new #includes namespace, nbinclude/.  That is,
they #include <nbinclude/sys/disklabel.h>, <nbinclude/machine/disklabel.h>,
<nbinclude/sparc64/disklabel.h>, instead of <sys/disklabel.h> and
such.  I have also updated the system headers to #include from
nbinclude/-space when HAVE_NBTOOL_CONFIG_H is #defined.
2005-06-12 19:46:15 +00:00
thorpej
62294d00e3 Build genassym as a host tool. Part of PR toolchain/30350 2005-05-30 15:51:36 +00:00
is
d781105e1d We don't need aout2bb any longer. 2005-01-27 12:54:05 +00:00
mycroft
963654140b Add some quotes to prevent a syntax error. 2005-01-09 03:48:30 +00:00
jmc
9bfe9b9970 Convert mkboot into a full cross tool. Last hurdle for hp300 to building on
non NetBSD/bsd hosts.
2004-11-28 11:14:41 +00:00
jmc
c7464d49db Convert remaining host tools for amiga to correct cross tools. Now allows
complete amiga builds on non netbsd/bsd hosts
2004-11-28 07:00:52 +00:00
jmc
9a999c376a Convert bebox's remaining host tools over to cross tools scheme. Builds to sets
w/o error now.
2004-11-25 08:09:14 +00:00
skrll
bc26aea7ac Build hp700's mkboot as a host tool called nbhp700-mkboot. mkboot also
gets built and installed in a hp700 distribution.

TODO

- merge with hp300

- pick a preferred method for dealing with the elf headers.
  hp700-mkboot and prep-mkbootimage (bintuils) vs mips-elf2ecoff and
  tools/installboot
2004-07-28 09:17:31 +00:00
abs
ef4ecdda5b Add sparkcrc (used to generate checksums for acorn32 bootloader sparkive)
as a host tool.
2004-06-08 21:44:46 +00:00
lukem
986979b8c9 Consistently check ${TOOLCHAIN_MISSING} against "no". 2004-01-03 14:04:27 +00:00
matt
d672abfa9e Fix typo. 2003-12-11 14:52:46 +00:00
matt
ca1e0d5980 Add macppc-fixcoff tool. 2003-12-11 00:29:33 +00:00
lukem
219ba062f8 Use (cd ${.CURDIR} && ${MAKE} cleandir) instead of ${MAKE} cleandir
Suggested by Ross Harvey.
2003-12-10 05:19:41 +00:00
mrg
949cd54d3a always build tools/binutils now. 2003-12-04 10:08:58 +00:00
sekiya
0ac350820d Build sgivol as a host tool when compiling for sgimips. 2003-11-08 05:02:33 +00:00
lukem
af258d4e7c add mknod as a host tool 2003-10-27 00:35:37 +00:00
cl
98f3b47a3f add gdb53 as a host tool for use as a crossgdb
replaces gdb50 from toolchain on archs which use gcc3
2003-10-26 01:06:27 +00:00
lukem
130ab7336b Rework how MAKEVERBOSE operates:
*	Don't bother prefixing commands with a line of  ${_MKCMD}\
	and instead rely upon "make -s".  This is less intrusive on
	all the Makefiles than the former.  Idea from David Laight.

    *	Rename the variables use to print messages.  The scheme now is:
	    _MKMSG_FOO		Run  _MKMSG 'foo'
	    _MKTARGET_FOO	Run  _MKMSG_FOO ${.TARGET}
	From discussion with Alistair Crooks.
2003-10-21 10:01:19 +00:00
matt
10c0014b94 Add host tool version of ncdcs 2003-10-19 03:35:30 +00:00
lukem
2c30246862 MAKEVERBOSE support 2003-10-18 16:33:58 +00:00
mrg
6c17918185 - build "binutils" and "gcc" separately if USE_TOOLS_TOOLCHAIN is not set
to "yes".
- adjust dbsym/mdsetimage to look in the correct place for libbfd.
- new mknative-gcc based in toolchain/mknative
2003-07-25 16:26:51 +00:00
tron
78da845d49 Add missing "cleandir" rule. 2003-07-24 13:00:52 +00:00
lukem
fe7ef256ea add stat(1) as a host tool 2003-07-20 14:06:32 +00:00
lukem
355436d550 also do the MKTOOLS and PREVIOUSTOOLDIR checks for "realdepend" 2003-07-16 13:13:42 +00:00
lukem
3fd7f6db4c * If a `PREVIOUSTOOLDIR' file doesn't exist, or its contents are not
the same as "$TOOLDIR", run "make cleandir" here first.
  This should prevent various problems where $TOOLDIR is encoded into the
  build process for various tools (lint, groff, texinfo, toolchain),
  $TOOLDIR changes, and various programs don't get rebuilt correctly.
  Should fix PR [toolchain/21988].

* Clean up how the `${MKTOOLS} == no' check is performed.

* Remove "cleantools"; it made a big assumption about the location of
  TOOLDIR that won't be correct in many cases.
2003-07-16 12:57:57 +00:00
tshiozak
e376aa8308 Citrus iconv support(3)
add host tools : mkcsmapper and mkesdb
  mkcsmapper - coded character set mapping table compiler
  mkesdb - encoding scheme database compiler
2003-06-26 06:30:07 +00:00
lukem
fc80f6c55f Add db(1) as a host tool 2003-05-18 08:05:32 +00:00
pooka
8daae68793 build file(1) as a host tool (for compiling magic files) 2003-03-25 23:43:49 +00:00
thorpej
ae754e0c76 Make hexdump a host tool. 2003-03-07 01:14:30 +00:00
lukem
eb77ade624 enable sunlabel... 2002-12-21 12:56:08 +00:00
thorpej
771b8c8404 Change the TOOLCHAIN_MISSING from == "no" to != "yes", to be consistent
with the other tests of this variable.
2002-09-19 17:13:01 +00:00
matt
5e29f1c268 Since TOOLCHAIN_MISSING is defined in bsd.own.mk, it can never be undefined.
Instead, make sure the value of it is "no"
2002-09-19 01:23:24 +00:00
thorpej
3b08abd277 * Eliminate the USE_NEW_TOOLCHAIN variable. Instead, split it into
two variables:

  TOOLCHAIN_MISSING -- set to "yes" on platforms for which there is
  no working in-tree toolchain (hppa, ns32k, sh5, x86_64).

  EXTERNAL_TOOLCHAIN -- if defined by the user, points to the root of
  an external toolchain (e.g. /usr/local/gnu).  This enables the cross-build
  framework even for TOOLCHAIN_MISSING platforms.

  If TOOLCHAIN_MISSING is set to "yes", MKGDB, MKBFD, and MKGCC are all
  unconditionally set to "no", since the bits are not there to build.

  If EXTERNAL_TOOLCHAIN is set, MKGCC is unconditionally set to "no",
  since the external toolchain's compiler is not in-sync with the
  in-tree compiler support components (e.g. libgcc).

* Set MACHINE_CPU much earlier in bsd.own.mk, so that more tests in
  that file can use it.
2002-09-17 23:18:25 +00:00
chris
41f1477926 We need binstall to be installed, before attempting to use it to install mktemp. 2002-09-14 23:34:16 +00:00
thorpej
dc71a69c6a Descend into mktemp. 2002-09-14 18:00:22 +00:00