Commit Graph

838 Commits

Author SHA1 Message Date
tv
d21f3d4a13 Prefix all target-specific things with `${MACHINE_GNU_PLATFORM}-'.
Prefix all non-target-specific things with `nb'.
2001-11-14 22:13:39 +00:00
tv
a9c913616b Put -Is in CPPFLAGS, not CFLAGS; change -I to -isystem as appropriate. 2001-11-14 22:01:40 +00:00
tv
c8c3cf578b Move the DESTDIR-based nostdinc logic to bsd.lib.mk and bsd.prog.mk where
it belongs (with the native target compile rules).
2001-11-14 21:49:53 +00:00
thorpej
f01d91b750 If MACHINE_ARCH == arm, set USE_NEW_TOOLCHAIN=yes and OBJECT_FMT=ELF.
It is infeasible for some ARM ports to use anything but ELF/new-toolchain,
and this allows for the ARM ports that aren't ready for ELF to stay at
MACHINE_ARCH == arm32 until they're ready.  The rest of the ARM ports
have a userbase such that if a flag day happens with the compiler (there
are a couple of ABI issues still being discussed), that it won't matter
so much.

Discussed with Ben Harris, Matt Thomas, and Chris Gilbert.
2001-11-14 19:46:38 +00:00
tv
23b305bcfa * Use -isystem instead of -idirafter for ${DESTDIR}/usr/include.
* Provide defaults for HOST_AR and HOST_RANLIB.
* Formatting cleanup.
2001-11-13 20:25:38 +00:00
tv
0b806103d9 "${FOO}" -> ${FOO:Q} 2001-11-13 17:37:03 +00:00
tv
25c34dba0d Move host program overrides of INSTALL and MKDEP to <bsd.hostprog.mk>. 2001-11-13 17:36:14 +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
tv
7745da0f1c Set CFLAGS and CPPFLAGS for the benefit of <bsd.dep.mk>, and move the
inclusion of <bsd.sys.mk> to the top to get defaults.  (Dependency handling
needs a cleanup, and will get one soon....)
2001-11-12 22:06:41 +00:00
tv
300ea65311 MAKEFLAGS isn't accessible from a conditional during parse; use .MAKEFLAGS
instead.
2001-11-12 20:11:21 +00:00
tv
d35dc81716 "true" doesn't output anything; use "echo" instead. 2001-11-12 20:05:15 +00:00
tv
84935b4037 Make PRINTOBJDIR use "${MAKE} -V .OBJDIR" so it will work correctly with
<bsd.obj.mk> rewrites of ${.OBJDIR}.  Add a failsafe (checking for the
-V option in MAKEFLAGS) to prevent infinite recursion.
2001-11-12 20:03:44 +00:00
tv
777bc9f06a Use ${__curdir} consistently. 2001-11-12 18:49:12 +00:00
tv
c2c66c6e5c Also handle the USR_OBJMACHINE case for OBJHOSTMACHINE. 2001-11-11 23:22:19 +00:00
tv
2e00400b7f Affix the ${HOST_OSTYPE} info to the end of the objdir name if OBJMACHINE
is set (and MAKEOBJDIR[PREFIX] is not in use).  This permits multiple hosts
to compile hostprogs (not just src/tools) for a given target without
colliding with each other.

Currently restricted only to new toolchain builds, as this requires a new
make(1) in order to function properly.
2001-11-11 23:19:14 +00:00
tv
e7e8f27d5f Fix variable concatenation in previous. 2001-11-11 23:07:26 +00:00
tv
fcc9c62259 Make the BSDSRCDIR/BSDOBJDIR symlink based objdir system work for the top
source directory.  This will use BSDOBJDIR of OBJMACHINE is unset, and will
create a directory '.MACHINE' inside BSDOBJDIR if OBJMACHINE is set.

MAKEOBJDIR and MAKEOBJDIRPREFIX based objdirs already cope with the top
level directory just fine.
2001-11-11 22:39:23 +00:00
tv
80d11d2c09 Provide defaults for MDSETIMAGE and CRUNCHGEN. 2001-11-11 21:41:00 +00:00
thorpej
73f86f9fe4 Add a DBSYM variable for the dbsym(8) host tool. 2001-11-09 07:30:55 +00:00
tv
4fe26460e9 Remove dependency on NLSDIR entirely, now that it's not auto-created. 2001-11-06 16:20:16 +00:00
lukem
20960db1bf Don't create missing NLS directories; require them to already exist
(by updating etc/mtree/NetBSD.dist as necessary).
`nlsinstall' is now in line with other *install targets.
2001-11-06 10:59:15 +00:00
tv
e239fff11b Extend the use of NEED_OWN_INSTALL_TARGET (used by bsd.pkg.mk since its
creation, to exclude conflicting make targets from botching pkgsrc), to
avoid defining INSTALL_FILE.  pkgsrc is self-contained except for
<bsd.own.mk>, so this doesn't have an adverse effect on real <bsd.*.mk>
build trees.
2001-11-05 19:45:25 +00:00
thorpej
5f6d116c46 Switch PowerPC to the new toolchain. 2001-11-04 01:36:18 +00:00
enami
97ab45c39d Don't try to build nonexistent compressed man page. 2001-11-04 00:30:52 +00:00
thorpej
fd329b8dd0 Fix typo in previous. 2001-11-03 20:46:25 +00:00
thorpej
b437f0975b Switch NetBSD/sparc to the new toolchain. 2001-11-03 20:26:56 +00:00
tv
0812154e48 Use INSTALL_FILE/INSTALL_DIR as appropriate. 2001-11-02 18:10:00 +00:00
simonb
7d1f940ec6 Set installed library mode correctly in UNPRIVILEGED case. 2001-11-02 07:25:58 +00:00
tv
1129ed4afe Improve readability and reduce redundant redundancy in share/mk; add some
descriptive comments.  The guts of hostprog, lib, and prog are mostly
unchanged; this will be done in another pass.

Make several things work properly with UNPRIVILEGED set, and make the
install-time "cmp" logic work for MANZ.  Also reimplement INCS{DIR,NAME}_foo
(requested by wiz) in a backwards compatible way.

Reviewed by christos.
2001-11-02 05:21:47 +00:00
lukem
2d79659157 move -Wwrite-strings to WARNS=3 too ... (yech!) 2001-11-01 07:27:35 +00:00
lukem
0e643f61a5 Move -Wcast-qual from WARNS=2 to WARNS=3 (a new level), because it
generates too many false positives that require gross amounts of
workaround, and the other WARNS=2 stuff is quite useful. Per discussion
with simonb & christos.
2001-11-01 07:17:17 +00:00
tv
a988fe0a8a Revert previous. src/include depends on the ability of <bsd.inc.mk> to
provide things to INCS with / in them.  Since nothing in-tree yet uses
INCS{DIR,NAME}_filename, this is not a loss at the moment.
2001-10-31 21:15:41 +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
abb4800606 Make REQUIRETOOLS work properly -- don't error if USE_NEW_TOOLCHAIN is
not set.  Also, nuke redundant USE_NEW_TOOLCHAIN check with USETOOLS.
2001-10-31 16:25:21 +00:00
tv
7d2258875d Use __curdir throughout, so MAKEOBJDIR builds see resolved paths in the
"foo -> bar" messages written to stdout.
2001-10-31 01:46:42 +00:00
wiz
59268f6553 Add support for INCSNAME and INCSNAME_<file> to bsd.inc.mk.
Same syntax as FILESNAME and FILESNAME_<file>, allows to install
includes under a different name.
Okay'd by christos.
2001-10-30 15:17:16 +00:00
jmc
83fb4943af already gets checked and prints out an error if it's used without
being set. You want to use it if USE_NEW_TOOLCHAIN is set and you're in
the source tree by default.
2001-10-28 02:03:00 +00:00
chs
3116cf32a9 if TOOLDIR is not defined, USETOOLS should default to "no",
since defaulting to "yes" will just give an error every time.
2001-10-28 00:52:41 +00:00
jmc
bffc850001 Remove debug echo statement 2001-10-26 06:41:46 +00:00
jmc
a414473103 Change the check for BSD_PKG_MK into something which looks to see if we're
running from inside of $BSDSRCDIR (recurse back and look for file/dir
signatures or reach /, whichever comes first).

Do it once and then pass the results to sub-makes.

Finally, if using the new toolchain and USETOOLS=yes check $TOOLDIR
before using it. Print an error message out if it's not set when expected
here.
2001-10-26 04:59:10 +00:00
bjh21
cb7676b0ab USE_NEW_TOOLCHAIN for ARM ELF platforms (just arm26), since the old toolchain
doesn't do ARM ELF at all.
2001-10-25 22:31:11 +00:00
nathanw
41ee0930b0 Don't explicitly set SHLIB_LDSTARTFILE and SHLIB_LDENDFILE for the
generic architecture case; this permits the later ELF clause to set
them properly for ELF platforms.

This will cause crtbeginS.o and crtendS.o to be included in shared
libraries built on all ELF platforms, not just alpha, mips, vax, and
sparc.
2001-10-25 19:32:15 +00:00
thorpej
083db732ee Sigh, back out previous -- it is necessary inorder for the depend
(and dependall) targets to work properly.

XXX THIS IS BROKEN.  It's highly questionalble that we should be applying
our .depend-generating rules to a host system -- the mkdep we currently
use assumes GCC.
2001-10-25 13:48:50 +00:00
thorpej
09dacf298e Oops, typo. 2001-10-25 07:47:18 +00:00
thorpej
9c77726ed1 Add an ASN1_COMPILE variable for that host tool. 2001-10-25 07:46:48 +00:00
thorpej
4cd6ce7ea8 Remove an unnecessary "CPPFLAGS=${HOST_CPPFLAGS}" -- the host tool
targets use HOST_CPPFLAGS exclusively, and keeping this assignment
can get us into some unfortuante recursion trouble.
2001-10-25 01:21:14 +00:00
thorpej
5717160d3a MDSETIMAGE gets a MACHINE_GNU_PLATFORM prefix. 2001-10-24 23:58:21 +00:00
thorpej
bae67ac435 LINT needs a ${MACHINE_GNU_PLATFORM}- prefix now. 2001-10-24 02:34:33 +00:00
thorpej
3a01dbbe6c Quote the ${CC} provided to mkdep's environment. 2001-10-23 22:55:30 +00:00
thorpej
8f508df026 When setting MACHINE_GNU_PLATFORM for ARM ports, we need compare
MACHINE_GNU_ARCH (not MACHINE_ARCH) to "arm", otherwise the GNU
platform won't be set properly if OBJECT_FMT=ELF.
2001-10-23 17:15:21 +00:00