Commit Graph

346 Commits

Author SHA1 Message Date
lukem
3c82ede8bd clean the "stripped" mdoc files 2003-10-28 07:46:16 +00:00
lukem
444edb22a9 Overhaul how `build.sh tools' are used:
*	Rename "config.h" to "nbtool_config.h" and
	HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
	This makes in more obvious in the source when we're using
	tools/compat/config.h versus "standard autoconf" config.h

    *	Consistently move the inclusion of nbtool_config.h to before
	<sys/cdefs.h> so that the former can provide __RCSID() (et al),
	and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
	#if HAVE_NBTOOL_CONFIG_H
	#include "nbtool_config.h"
	#endif
to the top of the source files (for the general case).
2003-10-27 01:42:50 +00:00
lukem
af258d4e7c add mknod as a host tool 2003-10-27 00:35:37 +00:00
lukem
171d653219 Overhaul how `build.sh tools' are used:
*	Rename "config.h" to "nbtool_config.h" and
	HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
	This makes in more obvious in the source when we're using
	tools/compat/config.h versus "standard autoconf" config.h

    *	Consistently move the inclusion of nbtool_config.h to before
    	<sys/cdefs.h> so that the former can provide __RCSID() (et al),
    	and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
	#if HAVE_NBTOOL_CONFIG_H
	#include "nbtool_config.h"
	#endif
to the top of the source files (for the general case).
2003-10-27 00:12:41 +00:00
lukem
f85d2d1c14 Use ${HOST_SH} instead of `sh'.
If necessary, pull in <bsd.sys.mk> to get the definition of HOST_SH;
Makefiles that pull in one of (most of) <bsd.*.mk> will get this anyway.
2003-10-26 07:25:33 +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
wiz
6f18690e01 Strip man.local and mdoc.local before installation; fixes problem with undefined variables
found by lukem.
2003-10-20 08:25:36 +00:00
lukem
ddff99b7f4 rework to use the newer _MKMSGCREATE (et al) macros 2003-10-19 04:45:01 +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
dbj
3c72899f34 add -O2 to HOST_CFLAGS on Darwin since adding "-no-cpp-precomp" there blows
it away otherwise
2003-10-10 21:49:59 +00:00
thorpej
9a2255650e Set EXTRA_PARTS to a null value, like we do with LIBGCC. This prevents
the tool build from attempting to build the GCC crtstuff before the
target include files are installed.  PR toolchain/23112.

(Note: You would not see the bad behavior described in the PR unless
your .mk files were hacked to configure the toolchain target as
*-*-netbsd*2.0.)
2003-10-10 01:18:54 +00:00
lukem
1c33b4e6a4 Overhaul MBR handling (part 1):
<sys/bootblock.h>:
    *	Added definitions for the Master Boot Record (MBR) used by
	a variety of systems (primarily i386), including the format
	of the BIOS Parameter Block (BPB).
	This information was cribbed from a variety of sources
	including <sys/disklabel_mbr.h> which this is a superset of.

	As part of this, some data structure elements and #defines
	were renamed to be more "namespace friendly" and consistent
	with other bootblocks and MBR documentation.
	Update all uses of the old names to the new names.

<sys/disklabel_mbr.h>:
    *	Deprecated in favor of <sys/bootblock.h> (the latter is more
	"host tool" friendly).

amd64 & i386:
    *	Renamed /usr/mdec/bootxx_dosfs to /usr/mdec/bootxx_msdos, to
	be consistent with the naming convention of the msdosfs tools.

    *	Removed /usr/mdec/bootxx_ufs, as it's equivalent to bootxx_ffsv1
	and it's confusing to have two functionally equivalent bootblocks,
	especially given that "ufs" has multiple meanings (it could be
	a synonym for "ffs", or the group of ffs/lfs/ext2fs file systems).

    *	Rework pbr.S (the first sector of bootxx_*):
	    +	Ensure that BPB (bytes 11..89) and the partition table
		(bytes 446..509) do not contain code.
	    +	Add support for booting from FAT partitions if BOOT_FROM_FAT
		is defined.  (Only set for bootxx_msdos).
	    +	Remove "dummy" partition 3; if people want to installboot(8)
		these to the start of the disk they can use fdisk(8) to
		create a real MBR partition table...
	    +	Compile with TERSE_ERROR so it fits because of the above.
		Whilst this is less user friendly, I feel it's important
		to have a valid partition table and BPB in the MBR/PBR.

    *	Renamed /usr/mdec/biosboot to /usr/mdec/boot, to be consistent
	with other platforms.

    *	Enable SUPPORT_DOSFS in /usr/mdec/boot (stage2), so that
    	we can boot off FAT partitions.

    *	Crank version of /usr/mdec/boot to 3.1, and fix some of the other
	entries in the version file.

installboot(8) (i386):
    *	Read the existing MBR of the filesystem and retain the BIOS
    	Parameter Block (BPB) in bytes 11..89 and the MBR partition
	table in bytes 446..509.  (Previously installboot(8) would
	trash those two sections of the MBR.)

mbrlabel(8):
    *	Use sys/lib/libkern/xlat_mbr_fstype.c instead of homegrown code
	to map the MBR partition type to the NetBSD disklabel type.


Test built "make release" for i386, and new bootblocks verified to work
(even off FAT!).
2003-10-08 04:25:43 +00:00
dbj
2fe0adbe32 set HOST_CFLAGS+= -no-cpp-precomp when configuring gnu software on Darwin 2003-10-07 14:12:36 +00:00
seb
e969ce2f8d Adjust pathnames to {md{4,5},sha1}.h after their removal from
src/include.

Approved by mrg@
2003-10-01 11:59:06 +00:00
uwe
3f02ec91cd If SIZE_MAX is not defined, but SIZE_T_MAX is defined (e.g. FreeBSD),
define SIZE_MAX as SIZE_T_MAX.
2003-08-27 18:33:26 +00:00
mrg
e649b75296 for mknative, make sure we look in the target's /lib directly as the
symlinks in the /usr/lib directory point (absolutely) to "/lib/libfoo.so",
which ends up being quite invalid when target!=host...
2003-08-23 10:07:25 +00:00
mrg
631719db70 don't want auto-build.h anymore 2003-08-22 00:24:46 +00:00
lukem
14ba3a8126 Add INSTALL_INFO=${TOOL_INSTALL_INFO:Q} to MAKE_ARGS.
Noted by Alan Barrett on current-users@.
2003-08-22 00:12:18 +00:00
mrg
91b707be74 force long long support. use -isystem* for CCADDFLAGS 2003-08-21 23:53:12 +00:00
jmc
d9556f9ecc Fix 2 remaining places items are depending on execute permissions coming out
from a cvs checkout on scripts.
2003-08-11 19:26:04 +00:00
lukem
a93ea220fc Rework how dependency generation is performed:
* DPSRCS contains extra dependencies, but is _NOT_ added to CLEANFILES.
  This is a change of behaviour.  If a Makefile wants the clean semantics
  it must specifically append to CLEANFILES.
  Resolves PR toolchain/5204.

* To recap: .d (depend) files are generated for all files in SRCS and DPSRCS
  that have a suffix of: .c .m .s .S .C .cc .cpp .cxx

* If YHEADER is set, automatically add the .y->.h to DPSRCS & CLEANFILES

* Ensure that ${OBJS} ${POBJS} ${LOBJS} ${SOBJS} *.d  depend upon ${DPSRCS}

* Deprecate the (short lived) DEPENDSRCS


Update the various Makefiles to these new semantics; generally either
adding to CLEANFILES (because DPSRCS doesn't do that anymore), or replacing
specific .o dependencies with DPSRCS entries.

Tested with "make -j 8 distribution" and "make distribution".
2003-08-01 17:03:41 +00:00
mrg
e222fd4230 we need config.h an another version of gthr-default.h 2003-08-01 02:44:55 +00:00
mrg
be15669373 fix a typo in previous 2003-07-30 05:10:06 +00:00
mrg
ad744ff2f6 libiberty/config.h needs to become per-arch. 2003-07-30 05:06:28 +00:00
fredb
b92132145c Must add "configure.lineno" to CLEANFILES after updating to autoconf 2.57. 2003-07-29 19:25:02 +00:00
mrg
78ef677a68 pass --enable-threads to ./configure 2003-07-29 06:48:14 +00:00
mrg
1372911937 fix a bug in previous - two $'s are bad 2003-07-28 02:35:43 +00:00
mrg
4ae0f1a6cb add another transform for libobjc3 2003-07-28 01:29:01 +00:00
mrg
6c4963a6f9 document how to generate GCC3.3 bootstrap info with mknative 2003-07-27 15:00:52 +00:00
mrg
efee205c6f don't configure with multilibs when doing mknative 2003-07-27 14:44:00 +00:00
lukem
deeae012af If HAVE_SYS_ENDIAN_H, pull in <sys/endian.h>. Fixes build.sh on FreeBSD 5.1.
Fix from Grant Beattie <grant@>
2003-07-27 07:56:37 +00:00
salo
22a0ae4298 netbsd.org->NetBSD.org 2003-07-26 20:17:31 +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
atatat
cdea39b56a Regen for host-tool-ified stat 2003-07-25 03:22:39 +00:00
atatat
d5fb781871 More properly host-tool-ify stat 2003-07-25 03:21:15 +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
d64f87e97a Consistently check MK* variables against "no"
(e.g.,  ${MKFOO} != "no"  instead of  ${MKFOO} == "yes" )
2003-07-18 16:18:28 +00:00
fredb
93dcb2eb39 Regenerate with autoconf 2.57. 2003-07-18 13:51:44 +00:00
fredb
c0326dd8e8 As discussed briefly on tech-toolchain, AIX doesn't have "u_long",
so add a check for that. Partial fix for PR toolchain/22177.
2003-07-18 13:45:15 +00:00
lukem
f134f3dc38 Add MKUNPRIVED; if not no has the same semantics as if UNPRIVED was defined.
Replace defined(UNPRIVED) tests with ${MKUNPRIVED} != "no"

Add MKUPDATE; if not no has the same semantics as if UPDATE was defined.
Replace defined(UPDATE) tests with ${MKUPDATE} != "no"

Improve documentation for these and other make flags.
2003-07-18 08:26:01 +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
lukem
001c68bd94 Rename a large chunk of the make(1) variables which refer to a
program/tool from "FOO" to "TOOL_FOO".  The new variables are:
	TOOL_ASN1_COMPILE  TOOL_CAP_MKDB  TOOL_CAT  TOOL_CKSUM  TOOL_COMPILE_ET
	TOOL_CONFIG  TOOL_CRUNCHGEN  TOOL_CTAGS  TOOL_DB  TOOL_EQN  TOOL_FGEN
	TOOL_GENCAT  TOOL_GROFF  TOOL_HEXDUMP  TOOL_INDXBIB  TOOL_INSTALLBOOT
	TOOL_INSTALL_INFO  TOOL_M4  TOOL_MAKEFS  TOOL_MAKEINFO  TOOL_MAKEWHATIS
	TOOL_MDSETIMAGE  TOOL_MENUC  TOOL_MKCSMAPPER  TOOL_MKESDB
	TOOL_MKLOCALE  TOOL_MKMAGIC  TOOL_MKTEMP  TOOL_MSGC  TOOL_MTREE
	TOOL_PAX  TOOL_PIC  TOOL_PREPMKBOOTIMAGE  TOOL_PWD_MKDB  TOOL_REFER
	TOOL_ROFF_ASCII  TOOL_ROFF_DVI  TOOL_ROFF_HTML  TOOL_ROFF_PS
	TOOL_ROFF_RAW  TOOL_RPCGEN  TOOL_SOELIM  TOOL_SUNLABEL  TOOL_TBL
	TOOL_UUDECODE  TOOL_VGRIND  TOOL_ZIC

For each, provide default in <bsd.sys.mk> of the form:
	TOOL_FOO?=	foo
and for the ${USETOOLS}=="yes" case in <bsd.own.mk>, provide override:
	TOOL_FOO=	${TOOLDIR}/bin/${_TOOL_PREFIX}foo

Document all of these in bsd.README.

This cleans up a chunk of potential (and actual) namespace collision
within our build infrastructure, as well as improves consistency in
the share/mk documentation and provision of appropriate defaults for
each of these variables.
2003-07-10 10:33:58 +00:00
gson
60359fcd1e When building with "-j 2", linking the "file" tool failed because
libmagic.la hadn't been built yet.  Work around by adding a .NOTPARALLEL
target.
2003-07-08 03:41:34 +00:00
martin
747251c7ff Re-enable the build/Makefile fixup so that parallel builds work again. 2003-07-05 22:05:28 +00:00
uwe
5df0174a92 Pass MAKEINFO=${MAKEINFO:Q} via MAKE_ARGS so that nbmakeinfo is used
to build the groff info.  Caught by building on FreeBSD.  Copy-pasted
from tools/toolchain/Makefile.
2003-06-30 23:26:36 +00:00
wiz
dd6f42c68a Update for groff-1.19. 2003-06-30 18:14:28 +00:00