Commit Graph

482 Commits

Author SHA1 Message Date
mrg 1b9c8708c3 x86_64 libgcc3 support 2003-09-27 02:08:07 +00:00
matt f47a587ee6 Redo/fix gcc3 files for PowerPC. 2003-09-23 09:06:33 +00:00
fvdl 0135fe160a x86_64 gcc3 and binutils glue. Not yet used. 2003-09-07 21:24:53 +00:00
mrg 71889b67f5 make sure we build the unwind handlers with "-fexception". they were
supposed to, but the wrong variable was used as a base...

should fix PR#22673.
2003-09-05 09:54:30 +00:00
mrg 57b205e71d in-tree toolchain support for sh5el. not really tested yet, but it
seems to mostly work..  libcurses.so fails to link with an out of memory
error i haven't looked at yet, and nothing has actually been run..

XXX: gdb53 missing.
2003-09-04 04:34:14 +00:00
mrg 6e28e939f1 don't install iostream.info anymore - it goes away with GCC3. 2003-09-02 05:26:43 +00:00
matt 9de4f868de Regenerated. 2003-08-31 19:45:25 +00:00
tls be39aeba77 Fix .include to reflect move of this Makefile. 2003-08-29 03:54:46 +00:00
mrg 277fd0e642 build libfrtbegin 2003-08-29 01:57:04 +00:00
mrg 58aefb674b oops, move this to the right location 2003-08-29 01:00:49 +00:00
mrg f4b7364d5d build libfrtbegin.a with GCC3.3 2003-08-29 00:53:22 +00:00
mrg 1a086c6b25 introduce an additional switch to enable building GCC3 instead of GCC2:
HAVE_GCC3.  if this is set, we also set USE_TOOLS_TOOLCHAIN=no.  change
the definition of the former to be restricted to whether tools/toolchain
is used or not.
2003-08-27 16:03:17 +00:00
mrg 33eed2cc61 regenerate 2003-08-25 06:09:11 +00:00
mrg bde3717628 regenerate. 2003-08-22 16:01:12 +00:00
mrg 74cfa6bb4b regenerate 2003-08-22 09:46:57 +00:00
mrg 023ae3cdb4 regenerate 2003-08-22 02:45:22 +00:00
mrg 22660a6384 add a patch from <sdegler@degler.net> to build .asm files by copying them
to .S files first.
2003-08-22 02:39:56 +00:00
mrg 2fe59400d5 bump the major on these 2003-08-04 01:53:51 +00:00
lukem 64b5a0fe7b Add INCSYMLINKS to <bsd.inc.mk> and <bsd.kinc.mk>, and use that instead of
SYMLINKS to install symlinked header files.  INCSYMLINKS are installed with
'make includes'.  This avoids using SYMLINKS and hacks with the 'linkinstall'
target in <bsd.links.mk>, as linksinstall occurs in 'make install' and hacks
to get it to occur in 'make includes' weren't robust, as seen in lib/libdes.

Yet more improvements to bsd.README.
2003-08-03 09:23:14 +00:00
matt 4e5cf29ef5 Add new files for gcc3 from native-gcc build. (alpha distribution builds
now successfully build).
2003-08-02 18:47:40 +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 391773a711 - fix several build problems
- regenerate for most platforms.  missing:
	m68000, alpha, sh3eb.
2003-08-01 13:55:36 +00:00
matt 5166de08fb back out inadvertant commit (however, -D_PTHREADS needs to be supplied
somewhere so that gthr-posix.h is included).
2003-07-30 21:21:46 +00:00
matt e379d89a35 Remove the alpha specific -mieee flag 2003-07-30 21:20:33 +00:00
matt 774cd5317a Remove the alpha specific -mieee 2003-07-30 21:19:35 +00:00
matt 53808daf5c Regenerate gcc3 configuration for alpha 2003-07-30 06:22:54 +00:00
mrg 2c5b77b2d3 - find gthr-default.h for libgcc3
- adapt for gcc3/libiberty change
- regenerate
2003-07-30 05:33:25 +00:00
mrg 9f1ca98b0a regenerate with --enable-threads 2003-07-29 06:49:53 +00:00
uwe 7c38c5c675 Adapt to bsd.dep.mk changes. 2003-07-29 00:13:21 +00:00
mrg b7a9236e8e set GNUHOSTDIST 2003-07-28 02:53:24 +00:00
mrg 975645453d *correctly* regenerate with correct non-hardcoded paths 2003-07-28 02:39:34 +00:00
mrg 30c88832e7 regenerate with correct non-hardcoded paths 2003-07-28 01:31:15 +00:00
mrg 3335e363cf turn back on profiling - thanks luke 2003-07-28 01:10:51 +00:00
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