Commit Graph

58 Commits

Author SHA1 Message Date
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
veego bd46e08c93 The last commit wasn't tested. Add a missing \ 2002-06-12 19:59:55 +00:00
thorpej fe57329435 Don't build toolchain bits for hppa, for now. 2002-06-12 19:09:37 +00:00
mason 7e7e806c7e Add cat(1) as a host tool. 2002-06-10 18:32:28 +00:00
thorpej 1f5f295af6 Don't try to build toolchain bits for ns32k. 2002-06-05 02:21:49 +00:00
bjh21 bf9ec67e38 Add fgen as a host tool, used for sys/arch/sparc/bootblk. 2002-05-28 21:56:05 +00:00
lukem 3e591f18cf gratuitious comment addition 2002-05-18 05:59:23 +00:00
lukem 2bd907065c remove now-unnecessary sparc-installboot 2002-05-07 12:12:53 +00:00
kleink c30b41cae0 On prep, descend into prep-mkbootimage. 2002-05-03 20:35:46 +00:00
bjh21 bcb3d0b705 vax-installboot has been deleted, so don't recurse into it. 2002-04-06 13:33:46 +00:00
lukem 138523b976 enable installboot 2002-04-03 06:03:35 +00:00
thorpej 2ae4cde5ea Nuke NO_DBSYM; dbsym now uses BFD for everything. 2002-04-01 22:03:46 +00:00
bjh21 c18f2e8b59 On second thoughts, don't make mktemp a host tool. It's only used once, for
creating a temporary directory for maketars, and mkdir can do that safely
enough.
2002-04-01 13:54:00 +00:00
bjh21 fb69871067 Add mktemp as a host tool. 2002-03-31 18:11:50 +00:00
bjh21 2e32db0aee Add cksum as a host tool. 2002-03-31 14:33:54 +00:00
matt f8edd877ff Drop into vax-installboot on VAX machines. 2002-03-29 05:05:55 +00:00
tv a45d07b1e5 Rework recursion to use the original logic again, in the structure cleaned
up by pk (and fix comments to match):

* A .WAIT here means that only the *immediately preceding* target needs
  to be added to the list of "install-foo" targets used to ensure that
  dependencies are installed (otherwise much more than is necessary
  gets installed during the build process, increasing build time here)

* If building only an individual target such as "dependall-yacc", the
  prerequisites may need to be built before running their "install-foo"
  targets -- so add a dependency in that case on "dependall-foo".
2002-03-07 19:12:33 +00:00
tv 19ab4b257e Don't build groff if MKMAN=no. (groff does not build properly on some
platforms because of its completely insane Make structure; this allows it
to be disabled in a sane way.)
2002-03-07 18:57:18 +00:00
tv d3501a4060 Add gettext to tools.
For now this is a maintainer-tool only; none of the NetBSD build needs to
run msgfmt as of yet.  (However, its presence is needed to make the
mknative part of src/tools/toolchain produce the same output as a truly
"native" GNU configury of the toolchain.)
2002-02-26 18:14:40 +00:00
gmcgarry 0d9e66cda7 Add elf2ecoff as a build tool for mips ports. 2002-02-23 21:32:27 +00:00
pk ee92d5a672 * Add comments on all the directory build/install ordering goo.
* Beef up that goo so that for each ".WAIT group" all of the install targets
  in the previous group have completed before starting the `all', `depend'
  or `dependall' targets.
2002-02-18 15:35:53 +00:00
pk 354e70b764 Revert part of previous; we need the install targets. 2002-02-11 07:21:41 +00:00
pk e678b7f1d0 Use .ORDER targets to express the dependencies on subdir runs. This makes
the resulting tree complexity O(N) (N=# of subdirs), and it also makes it
easier to comprehend the Makefile logic.
2002-02-10 15:46:42 +00:00
pk b3ddad6b4b Make sure to not go off installing in a directory before it's fully made. 2002-02-08 17:48:38 +00:00
tv 9fbd88883c Roll in fixes to permit cross-compiling from non-NetBSD hosts. This
round has been tested on Solaris/x86 and Linux hosts.

* Add host tools cap_mkdb, ctags, m4, uudecode.
* Protect __RCSID() and __COPYRIGHT() better.
* Reduce the number of places that need to include "config.h", to keep
  sources closer to their "vanilla" versions.
* Add more compat #defines and autoconf-checked functions.
2002-01-31 22:43:33 +00:00
tv a328e34106 Make almost all tools compile and run properly on non-NetBSD hosts. (In
particular, most tools now run correctly on Solaris 7.)
2002-01-29 10:20:28 +00:00
lukem a2a5907be5 build pax as a host tool, for -N and to work around borken vendor paxes 2002-01-25 05:01:17 +00:00
tv 5457974230 Move host-mkdep to its own directory. Create and install it before
everything else.  Now it's possible for the target mkdep to build and
install like "normal" host-tools do; should remove the function decl
warnings reported by greywolf@starwolf.com on current-users.
2002-01-10 17:04:20 +00:00
lukem 328430b633 revert previous, and reenable tools/makefs now that it works on
netbsd-current and netbsd-1-5
2002-01-10 05:17:20 +00:00
tv bc23e55bd1 Disable makefs in src/tools for the moment; it's very dependent on -current
NetBSD headers and sources right now.  (Temporary workaround for PR 15175.)
2002-01-09 16:58:35 +00:00
mrg 5bd0c76f92 build zic as a host tool. 2002-01-05 07:36:33 +00:00
mrg fc820c7268 build makefs, and, sparc-installboot if sparc||sparc64 2002-01-05 07:03:30 +00:00
thorpej 88371dafeb We can't currently build a toolchain for x86-64 here, so don't
attempt to do so.
2001-12-31 22:35:41 +00:00
wiz ecc52c5854 Typo fix in error message. 2001-12-29 15:45:52 +00:00
tv 87d14ee4ac Add the framework for autoconf-based src/tools/compat structure. This will
(after it is more fleshed out) allow the host tools to work more cleanly
on non-NetBSD hosts.
2001-12-11 21:17:56 +00:00
jmc 0ce9aa8e6c Add pwd_mkdb as a toolchain bit for builds 2001-12-07 02:28:53 +00:00
thorpej 7c2121a815 Build makewhatis as a host tool, since it is used at the end of
the build.

XXX Needs a -lz hostlib.
2001-11-29 23:51:38 +00:00
jmc 5a0f427e5a Oops. typo which can break things for non-new toolchain builds if MKTOOLS isn't
set
2001-11-22 19:09:42 +00:00
jmc 0d11dd0127 Check for USETOOLS!=yes in addition to MKTOOLS==no to generate the empty rule
sets. Otherwise platforms not running the new toolchain will end up with
lossage as tools attempt to get built and installed into /bin (due to
bsd.own.mk properly checking USETOOLS before setting up a default TOOLDIR).
Don't print the warning unless MKTOOLS=no
2001-11-22 00:13:10 +00:00
tv 259ff4e7d0 Re-add MKTOOLS as a "yes"/"no" only variable, which prevents recursion on "no"
into the src/tools subdirs on all/depend/dependall/install.  Other recursive
targets are not affected.
2001-11-13 16:17:24 +00:00
tv b5cd2489b2 Major overhaul of src/tools and host toolchain. Summary of changes:
* Rewrite src/tools Make logic to work like the rest of the tree wrt
  "dependall" and "install".  The old "make build" hack is gone.

* Remove the MKTOOLS logic.  This was linked to the "make build" hack,
  and was only needed because TOOLDIR originally had no writable default.

* Redo the GNU configure/make logic to make it fit reasonably in a
  BSD make wrapper.  Use new ${.ALLTARGETS} variable to scan for
  targets in $(srcdir), and mark them with .MADE: to prevent rebuilding.

* Only build cross tools in src/tools; remove some messy logic in
  src/usr.* and src/gnu/usr.* that would do target filename rewriting
  (improves consistency and readability).

* Add the ability to build cross gdb at tool build time by setting
  MKCROSSGDB (default no) to "yes" in mk.conf.

* Add src/tools/groff and set up paths to work with this cross groff.
2001-11-12 23:16:17 +00:00
thorpej f48c450929 Build the cross-dbsym. 2001-11-09 15:07:25 +00:00
tv 472dcba2fb * Always use the makewrapper when starting a build phase.
* Set stuff mostly in the environment, not on make(1)'s command line.
  This is needed for MACHINE and MACHINE_ARCH (noted by bjh21), and keeps
  the mk.conf-overriding-env behavior (suggested by several people).

* Use MAKEFLAGS to make the wrapper script more readable.

* When prepping objdir in tools for the default TOOLDIR value, just make
  that objdir; leave the recursive "make obj" for later.
2001-11-02 05:07:22 +00:00
tv a75f4fb35e Don't actually delete the default tooldir on "cleandir"; else we'll nuke
the nbmake that is probably currently running.

Just leave the "cleantools" manual target as a shortcut for the user.
2001-10-31 19:38:02 +00:00
tv 61be23b431 * Create a variable HOST_OSTYPE that represents the host build environment,
using `uname -s`-`uname -r`-`uname -p || uname -m`.  This can be overridden
  in mk.conf or the environment, and is used by host tools to ensure that
  build hosts do not clobber each other.

* Now that there's an objdir in src/tools, make a default TOOLDIR by creating
  "tools.${HOST_OSTYPE}" in the objdir (if it exists) of src/tools.  This
  means that TOOLDIR is no longer required to be set in a build, though it
  still may be set manually if desired.

* Set MKTOOLS to "yes" by default, since the default TOOLDIR is now located
  in a known mutable location.  This may still be set manually if desired.
2001-10-31 17:46:08 +00:00
tv c9a6a2c359 * Always descend into "tools" regardless of USETOOLS setting. Instead,
just don't build the tools if USETOOLS!=yes.  This permits objdirs to
  be created even when USETOOLS=no.

* Clean up use of "-m" by specifying it to .MAKEFLAGS: if needed.
2001-10-31 01:20:09 +00:00
thorpej 722428c06b Add asn1_compile as a host tool. 2001-10-25 07:45:13 +00:00
jmc a831891141 Pull in mdsetimage to the tools builds. (XXX - using libbfd here would
probably be preferrable long term).
2001-10-21 23:10:46 +00:00