Commit Graph

377 Commits

Author SHA1 Message Date
thorpej
1dd1ce77c1 Remove more old toolchain bits. 2002-09-17 23:24:52 +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
lukem
16683a00df Explicitly move setting of NOxxx (et al) to the top of the Makefile
(before including <bsd.own.mk>)
2002-08-19 15:01:34 +00:00
lukem
8f96758140 Use ${NETBSDSRCDIR}/some/path instead of ${.CURDIR}/../../../some/path (etc).
(Reduces make output by ~ 20%)
2002-08-19 09:46:39 +00:00
fredette
f53ba8285a Now build profiled libraries on m68000. 2002-07-17 18:46:12 +00:00
itojun
18ef784f92 add some items to CLEANFILES 2002-06-19 16:10:48 +00:00
itojun
05e25409ab mistake in replacement for peXXigen.c 2002-06-18 08:48:29 +00:00
itojun
6d9d60e78d add rules needed for full-feature libbfd. usually not visited.
to build full-feature libbfd, do the following:
- add "--enable-targets=all --enable-64-bit-bfd" to
  src/tools/toolchain/Makefile configure arg
- invoke nbmake-<platform> native, to regenerate files under src/gnu
2002-06-18 08:19:04 +00:00
thorpej
a2213fccd7 Add native toolchain bigs for "armeb" (big-endian ARM). 2002-05-20 15:03:38 +00:00
thorpej
887ea411f8 Remove bfd_elf32_{big,little}arm_nbsd_vec 2002-04-11 21:46:29 +00:00
thorpej
5269e780e1 Update DEFAULT_VECTOR and SELECT_VECS for arm--netbsdelf BFD changes. 2002-04-01 20:25:50 +00:00
jmc
1347ab1b90 Remove check for sparc64 which adds -msoft-quad-float as that is now the
default for the compiler on sparc64.
2002-03-28 09:58:09 +00:00
fredette
f3cbb9ef0a Added ${G_CONFIGDIR} to .PATH. This is needed on m68000 so that
libgcc1 gets built.
2002-03-26 23:10:58 +00:00
bjh21
e00fcca843 MACHINE_ARCH can't be "arm26" any more. 2002-03-24 22:23:43 +00:00
fredette
99db91e2e0 Add m68000-specific `toolchain2netbsd' generated toolchain build/config files. 2002-03-22 00:07:45 +00:00
tv
a2ba138feb Fix fallout from collapsing libiberty to MI config.h: libstdc++ includes
little bits of libiberty, so -I the non-arch specific directory now.
2002-02-28 02:13:34 +00:00
tv
ac1299bdfb New toolchain infrastructure for sh3eb, generated with mknative. 2002-02-27 18:45:14 +00:00
tv
8d7b76f87a Fix OBJS dependency. 2002-02-27 17:58:52 +00:00
tv
6080b95ae4 Make libobjc configury MI. 2002-02-27 17:55:32 +00:00
tv
b69d8cc8b2 New toolchain framework for sh3el platforms, generated with mknative. 2002-02-27 17:10:09 +00:00
tv
bfa4c6d7c2 Make new toolchain conf files for libiberty MI. 2002-02-27 17:03:49 +00:00
tv
1c986fdf46 Skip building anything if the target's .mk files are missing. (Allows the
toolchain to be built in segments, or not at all if the in-tree toolchain
is inappropriate for the target.)
2002-02-11 21:36:33 +00:00
mrg
6bdbccbb59 regenerate. 2002-01-22 15:52:53 +00:00
tron
2ece7637b1 Add "_eh.c" to list of files which are supposed to get cleaned. 2002-01-02 09:17:48 +00:00
thorpej
89b1a9ca73 Introduce 3 new MK* variables that have effect in the USE_NEW_TOOLCHAIN
case:

	MKBFD	If set to "no", disables building of libbfd, libiberty,
		and all things that depend on them (binutils/gas/ld, gdb,
		dbsym, mdsetimage).

	MKGDB	If set to "no", disables bulding of gdb.

	MKGCC	If set to "no", disables building of gcc and the
		gcc-related libraries (libg2c, libgcc, libobjc, libstdc++).

These are useful for building platforms for which either of the following
situations are true:

	(1) You have no userland from which to run toolchain2netbsd
	    in order to build the appropriate toolchain build framework.

	(2) The platform which you are building requires a newer set
	    of tools than are currently in the tree (e.g. x86-64, ia64).
2001-12-31 23:04:11 +00:00
mrg
d750ba5f81 this is really libstdc++ 2.8.0 2001-12-30 17:21:19 +00:00
lukem
efcc9a4c9d * Add user-controlled mk.conf variables
- SHLIBDIR	Location to install shared libraries if ${USE_SHLIBDIR}
			is "yes".  Defaults to "/usr/lib".

	- USE_SHLIBDIR	If "yes", install shared libraries in ${SHLIBDIR}
			instead of ${LIBDIR}.  Defaults to "no".
			Sets ${_LIBSODIR} to the appropriate value.
			This may be set by individual Makefiles as well.

	- SHLINKDIR	Location of shared linker.  Defaults to "/usr/libexec".
			If != "/usr/libexec", change the dynamic-linker
			encoded in shared programs

* Set USE_SHLIBDIR for libraries used by /bin and /sbin:
	libc libcrypt libcrypto libedit libipsec libkvm libm libmi387
	libtermcap libutil libz

* If ${_LIBSODIR} != ${LIBDIR}, add symlinks from ${LIBDIR}/${LIB}.so*
  to ${_LIBSODIR}/${LIB}.so* for compatibility.

* Always install /sbin/init statically (for now)


The net effect of these changes depends on how the variables are set:

  1.)	If nothing is set or changed, there is no change from the
	current behaviour:
		- Static /bin, /sbin, and bits of /usr/*
		- Dynamic rest
		- Shared linker is /usr/libexec/ld*so

  2.)	If the following make variables are set:
		LDSTATIC=
		SHLINKDIR=/lib
		SHLIBDIR=/lib
	Then the behaviour becomes:
		- Dynamic tools
		- .so libraries used by /bin and /sbin are installed to /lib,
		  with symlinks from /usr/lib/lib*so to -> /lib/lib*so
		  where appropriate
		- Shared linker is /lib/ld*so

  3.)	As per 2.), but add the following variable:
		USE_SHLIBDIR=yes
	This forces all .so's to be instaleld in /lib (with compat
	symlinks), not just those tagged by their Makefiles to be.
	Again, compat symlinks are installed
2001-12-28 01:32:37 +00:00
thorpej
d103096c14 Fixup VERSION. 2001-12-20 18:26:30 +00:00
tv
4c9a2ef7d3 * Add protoize and unprotoize. (Closes PR 6894.)
* Regen files with proper OS names and version numbers.

* Clean up toolchain2netbsd somewhat, to get it ready to be cross-host
  compatible (more work to be done here, but it's getting closer).

* Add framework for gdbreplay and gdbserver, but hold off on enabling these
  by default until low-nbsd.c is verified to work everywhere.
2001-12-19 23:54:16 +00:00
tv
7fb95bfb35 Remove iostdio.h from the list of system-installed headers; intended to
address parts of PR toolchain/14896.  This header file is nonstandard
(and doesn't even exist in gcc 3.0); an out-of-the-box gcc build also
doesn't provide the missing functions.  So just drop the .h completely.
2001-12-19 20:52:11 +00:00
thorpej
3faae759ba Allow a new-toolchain build to be done without actually building
the target "native toolchain" if BOOTSTRAP_NEW_TOOLCHAIN is set.

This is important if you don't have any userland at all, and you're
trying to make one from which you can run toolchain2netbsd.
2001-12-15 03:37:36 +00:00
thorpej
17f1178fc6 More toolchain2netbsd output for the Alpha, after coaxing
toolchain2netbsd to actually spit it out.
2001-12-14 22:29:12 +00:00
thorpej
01768cb6da Update to reflect latest toolchain2netbsd. 2001-12-14 22:26:03 +00:00
thorpej
2812f0e978 Kludge to make old toolchain builds work again after the NOxxx changes. 2001-12-14 16:55:14 +00:00
thorpej
74ed46fbb4 Commit the results of running toolchain2netbsd on the Alpha. 2001-12-14 07:12:09 +00:00
lukem
df91d4a185 move NOxxx= 2001-12-12 23:09:13 +00:00
lukem
0a3f147fdd move NOLINT 2001-12-12 23:08:26 +00:00
thorpej
39c9a8ba17 We apparently must now set NOLINT= *BEFORE* including bsd.own.mk. 2001-12-12 23:00:50 +00:00
thorpej
5722ce0152 Make LIB2FUNCS_EH work like the rest of LIB2FUNCS, and clean
up the special rules required to build those objects.
2001-12-12 17:27:50 +00:00
lukem
4c650ea52b we need a .c file to build _eh.{o,so,po} from, so add libgcc2.c back
in as a source for the rules.
2001-12-12 09:30:55 +00:00
lukem
22cf1d253e pull in <bsd.own.mk> after NOLINT is defined, so that MKLINT=no is
correctly determined
2001-12-12 08:58:45 +00:00
tv
8e6f7afb5b MKfoo=no -> NOfoo 2001-12-12 01:48:43 +00:00
thorpej
cf11c3964c Fix building of _eh.o and friends. 2001-12-11 23:43:04 +00:00
thorpej
b149da874b Clone from mipseb.mk 2001-12-11 03:45:06 +00:00
jmc
d08eaff246 While gcc may automatically add -fexecptions to c++ code it will only do that
for files named .cc or .C. _eh gets generated into a .c file so we need
explicit rules for it's targets (.o .po and .so) to compile it correctly.

Without this exceptions just plain don't work. Nothing ever gets caught.
2001-12-02 12:23:52 +00:00
jmc
3508f7583d Need -msoft-quad-float on sparc64 as double->int promote to quad math. 2001-12-02 03:06:55 +00:00
tv
8eb663859b Make the .cc->NULL transform do nothing (so that "exception.cc" doesn't
get compiled into "exception" during "make includes").
2001-11-28 14:29:13 +00:00
tv
d5533f8e6c PIC me! PIC me! (libgcc_pic.a)
...And while we're at it, add a profiled libgcc too.

Use the "generate .c files and let <bsd.lib.mk> sort it out" method
for compiling these libraries.  Only one real divergence (-fexceptions)
existed, but exceptions are turned on for C++ code by default in gcc
2.95.3, so this option was redundant anyway.
2001-11-28 04:39:55 +00:00
thorpej
84392553e1 Remove special-case for ARM. 2001-11-26 00:02:40 +00:00
simonb
23be609b8c New toolchain files for mipsel.
From Rafal's commit for mipseb (which applies here too):
 WARNING: Binutils 2.11.2 (maybe earlier) changed the MIPS ABI, so any
 shared libs built by this toolchain WILL NOT WORK without either a whack
 to BFD to fix that or a patch to ld_elf.so to work around it.  I need to
 chase the binutils folks on this issue still.
2001-11-17 04:41:44 +00:00