Commit Graph

449 Commits

Author SHA1 Message Date
mrg
57dc195231 build-tested support for m68000, m68k, sh3el and sh3eb.
XXX: sun2 seems to be currently generally busted but most of the world
     builds.  of course it is untested..
XXX: sh3* and -pg goes BOOM with gcc3.3... it generates code that uses
     the same labels twice... need to set NOPROFILE for now.
2003-07-27 14:41:32 +00:00
mrg
5a8170433a actually build libstdc++-v3 now.
XXX NOPROFILE has been set as for some very very very strange reason i
don't understand yet this is causing the compiler to barf...
2003-07-27 14:38:57 +00:00
mrg
0d07d92566 regenerate 2003-07-27 14:34:43 +00:00
mrg
354caa5839 add working alpha support - including working cross builds from x86 2003-07-27 05:10:47 +00:00
mrg
5e6550b28e working mips support (mipsel runs fine, mipseb compiles, untested so far) 2003-07-26 18:41:26 +00:00
mrg
5a9a1bb768 - build/install a libsupc++.a
- clean up commented & wrong rules
- find the right bits/ headers for sparc64 & arm
- make sure libsupc++/libstdc++ have all the symbols from libiberty they want
- disable the build of libstdc++ for now (but keep the includes installing)
2003-07-26 14:55:12 +00:00
mrg
9a2ca8e117 working arm & sparc64 support 2003-07-26 14:48:06 +00:00
mrg
82dc526688 make sure tconfig.h exists before .depend 2003-07-25 19:20:07 +00:00
mrg
ae9855d2fe maybe build gcc3 instead of gcc2 2003-07-25 16:57:06 +00:00
mrg
a9fc136dbd new reach-over infrastructure (largely based on GCC2.95 one) that (mostly)
works.  sparc & i386 support is included here.  libstdc++-v3 does not yet
properly build for some strange reasons (that may be due to broken netbsd
header files, it's not yet clear) but i have been able to compile, link and
run both i386 & sparc hello.c.
2003-07-25 16:32:23 +00:00
lukem
70e86ffb8d add more rules to disable default '.cc -> NULL' transforms,
because the default rules cause problems if "valarray.cc" is newer
than "valarray" (for example)
2003-07-22 02:52:37 +00:00
uwe
b659db9760 When MKPIC is "no" and we force MKLINKLIB to "yes" to provide
something for BFD-using programs to link against, also provide an
empty libinstall target so that libbfd.a does not get installed.
2003-06-26 02:49:31 +00:00
thorpej
4563b128e1 * If MKGCC == no, don't build this library, which is bundled with the
compiler.
* Set GNUHOSTDIST (transitional, for use with new mknative).
* Add -I${.CURDIR} to CPPFLAGS (to support a future change).
2003-06-01 02:09:31 +00:00
thorpej
a20987422e If MKGCC == no, don't build these libraries (which are bundled with
the compiler).
2003-06-01 02:08:07 +00:00
thorpej
0a1127cb30 Run mknative to regenerate for binutils 2.13.2.1. 2003-05-26 01:03:05 +00:00
thorpej
a63a02e3b9 If MKPIC is "no", then we need to provide *something* for BFD-using
programs to link against, so reset MKLINKLIB to "yes" in that case.
2003-04-09 22:33:26 +00:00
mycroft
2add147359 Actually rerun mknative on these... 2003-03-20 14:47:36 +00:00
mycroft
f63d692921 Build COFF targets. Some embedded tools really, really want this. 2003-03-17 15:53:50 +00:00
mrg
c8e7bd6d18 back out previous:
- didn't need to/mean to update libstdc++ yet

	- mknative generated bogus files that ended having libstc++ not install
	various required headers.

should fix the "can't find iostream.h" lossage in src/regress.
2003-03-03 13:58:24 +00:00
mrg
1fdd6e4cde build libopcodes separately from libbfd as in binutils 2.13 they have
separate CFLAGS name spaces, and the old combined method no longer works.
2003-03-01 13:18:28 +00:00
mrg
f2f9754b55 update / regenerate for binutils 2.13.2.1 2003-03-01 13:08:42 +00:00
jdolecek
ceb43cbb02 do not install libioP.h nor iostreamP.h 2003-01-28 14:40:59 +00:00
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
rafal
f317d28b1a New toolchain files for mipseb. Mainly toolchain2netbsd output with some
changes to configuration stuff to (a) recognize `mipseb', and (b) build a
BE-default GCC on mipseb.  gprof and gdb still not done.

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.

That said, the new toolchain seems to work quite well once the ABI change
is worked around/fixed -- I'm committing from a machine running a user-
land built with the new compiler.
2001-11-08 07:21:53 +00:00
scw
ec53366faa Add m68k-specific `toolchain2netbsd' generated toolchain build/config files. 2001-11-05 19:10:55 +00:00
tv
ec5a9a312e Add REQUIRETOOLS to make version-specific new toolchain compiler libs fail
to build if USETOOLS is set to "no" by the builder.  (Sanity check; as an
override, USETOOLS may be set to "never", but see warnings in BUILDING.)
2001-10-31 16:27:31 +00:00
tv
32bac67e87 Exclude Y2K bug flag files from the build; fixes undefined symbol errors
reported by jbernard@mines.edu in PR bin/14222.
2001-10-19 03:33:35 +00:00
matt
9744d3aebc If MACHINE_ARCH == arm, install into /usr/include/${MACHINE_ARCH} 2001-10-18 06:12:48 +00:00
matt
1532b67157 Update from toolchain2netbsd run. (though some only have the updated
toolchain2netbsd version run)
2001-10-18 05:45:26 +00:00
tv
3ab74bd348 Set SHLIB_{MAJOR,MINOR} explicitly instead of using shlib_version files.
(This currently means that checkver doesn't work with these libs, but that
will be fixed.)
2001-09-21 15:38:15 +00:00
simonb
2db48f4c88 Add "Remember to update distrib/sets..." lines (and NetBSD RCS IDs in
some cases).
2001-09-10 11:18:41 +00:00
matt
6be82855aa Final config file for VAX ELF. 2001-09-10 06:04:02 +00:00
matt
f6225f91fb Rebuild USE_NEW_TOOLCHAIN files for vax. Add binutils, etc. .. 2001-09-08 18:26:05 +00:00
matt
33ebc9435e Regenerate so that ${DIST} is not expanded. 2001-08-30 01:31:49 +00:00
mrg
69879ba2e5 regenerate. 2001-08-25 12:23:49 +00:00
matt
f5c0264a5d New toolchain support for ARM ELF. 2001-08-19 16:05:02 +00:00
mrg
7f85f1f0c3 build & install info documentation. 2001-08-19 14:19:38 +00:00
mrg
318911587e regenerate. 2001-08-15 02:44:58 +00:00
tv
8f264ae2fc Regen. 2001-08-14 05:18:26 +00:00
tv
75c2396dcc Regen. 2001-08-14 05:14:59 +00:00
tv
dabda76181 For now, just to make sure we don't conflict with an out-of-the-box
gcc 3.0 build (as noted by mrg), bump shlib major again, to version 4.0.

There might be a better solution to this kind of thing in the future; I'll
have to think about it.
2001-08-14 01:21:23 +00:00
mrg
5b25536c3b build libbfd for sparc & sparc64. 2001-08-10 12:42:37 +00:00
mrg
14c389e8b1 regenerate 2001-08-10 12:41:19 +00:00
mrg
5f38c885be build libstdc++ for sparc & sparc64. 2001-08-10 11:59:50 +00:00
mrg
8375332080 regenerate. 2001-08-10 11:59:22 +00:00
mrg
220ef62d75 with USE_NEW_TOOLCHAIN, install all required libstdc++ headers. this needs
toolchain2netbsd to be re-run for each platform.  (sparc, sparc64 and i386
updates coming shortly.)
2001-08-10 11:57:48 +00:00
matt
4ce1ea0d33 USE_NEW_TOOLCHAIN powerpc files for libg2c & libstdc++ 2001-08-10 06:46:31 +00:00
matt
f88f89f0d4 Update/add new files for powerpc with USE_NEW_TOOLCHAIN 2001-08-10 06:44:06 +00:00
mrg
19a0a03e84 install the C++ headers with the new toolchain. 2001-08-09 16:10:56 +00:00
mrg
4a850cf2d7 include bsd.own.mk before testing USE_NEW_TOOLCHAIN. 2001-08-09 16:09:52 +00:00
tv
b15841eee9 Add MKPIC=no explicitly for old-toolchain build structure, to avoid shlib
version mismatch with new toolchain.
2001-08-07 03:28:07 +00:00