Commit Graph

90 Commits

Author SHA1 Message Date
David E. O'Brien
688292859a Our OS name is "freebsd", not "freebsdelf" 2001-02-21 11:43:35 +00:00
David E. O'Brien
b6c2cab2dc version 2.10 config file. 2000-05-22 08:26:10 +00:00
David E. O'Brien
7994fa95cd Conditionally define "CROSS_COMPILE" here. 2000-05-22 08:25:40 +00:00
David E. O'Brien
7f3d7f20f8 Pull the switch and activate our Binutils to a snapshot of the up and
comming 2.10 release.
2000-05-22 08:09:42 +00:00
Steve Price
5e59c5460c First cut at the (non-contrib) bits needed to build the binutils
distribution for FreeBSD/Sparc64.

Reviewed by:	obrien
2000-04-02 22:36:56 +00:00
Bruce Evans
6a18627411 Use ${dir}/libfoo.a' instead of -L${dir} -lfoo' for local static
libraries in LDADD so that `make checkdpadd' doesn't report non-errors.

Fixed some style bugs (the usual ones for DPADD and LDADD, and misformatting
of $FreeBSD$).
2000-03-27 18:02:04 +00:00
Marcel Moolenaar
ecc4dcbd82 s/MACHINE_ARCH/TARGET_ARCH/g
The target machine is represented by TARGET_ARCH. MACHINE_ARCH always
represents the host machine. When TARGET_ARCH is not defined, it is
assumed to be equal to MACHINE_ARCH. This means that we're building a
native toolset by default. We're creating cross-compilation tools when
MACHINE_ARCH != TARGET_ARCH.

TARGET_ARCH is defined when building binutils as part of the bootstrap
build and is set to reflect the architecture we're currently cross-
building. With this change binutils is ready for cross-building.
1999-12-17 15:50:45 +00:00
Marcel Moolenaar
0917704bd4 ${MACHINE} -> ${MACHINE_ARCH}
All Makefiles now use MACHINE_ARCH for the target architecture.
Unification is required for cross-building.

Tags added to:
	sys/boot/Makefile
	sys/boot/arc/loader/Makefile
	sys/kern/Makefile
	usr.bin/cpp/Makefile
	usr.bin/gcore/Makefile
	usr.bin/truss/Makefile

usr.bin/gcore/Makefile:
	fixed typo: MACHINDE -> MACHINE_ARCH
1999-11-14 13:54:44 +00:00
John Birrell
d19f65c59d Replace freebsdelf with freebsd in BINDIR
Requested by: obrien
1999-11-07 08:07:02 +00:00
John Birrell
e806769bd7 These have been repo-copied to i386-freebsd. 1999-11-07 06:13:35 +00:00
John Birrell
8e3f8ad334 These have been repo-copied to alpha-freebsd. 1999-11-07 06:11:36 +00:00
John Birrell
da93b590fb After a repo copy of as_{alpha,i386,mips} to {alpha,i386,mips}-freebsd,
tidy up the logic that works out which sub-directories to build.

The new directories with freebsdelf suffixes now have freebsd suffixes
after a repo move by Peter at the request of David O'Brien.
1999-11-07 05:59:25 +00:00
John Birrell
bf5c062675 Replace freebsdelf with freebsd in BINDIR.
[ alpha-freebsd, i386-freebsd and mips-freebsd were repo-copied
  by Peter (one of the repo-men) ]

Requested by: obrien
1999-11-07 05:56:04 +00:00
John Birrell
6fc579d56c This one might be a bit controversial. 8-)
gas for i386 targeted to NT for those (like me) who have to do work
targeted to NT, but can't stand actually looking at it all day long.
I cross build apps on FreeBSD and just run them on NT later. Life is
better that way.
1999-11-06 22:26:43 +00:00
John Birrell
7426ce67f6 gas for m68k targeted to NetBSD's a.out format. Useful for porting or
even just building applications targeted to NetBSD.

I know this will upset some people (outside FreeBSD).
1999-11-06 22:21:57 +00:00
John Birrell
e9cf6a0347 gas for powerpc targeted to FreeBSD. 1999-11-06 22:16:59 +00:00
John Birrell
4e51edb129 gas for m68k targeted to FreeBSD. 1999-11-06 22:14:26 +00:00
John Birrell
9daea63040 gas for sparc targeted to FreeBSD as ELF32 for a start (suject to change). 1999-11-06 22:12:24 +00:00
John Birrell
1009ce833e Don't change the name when building a cross-tool. Just set the BINDIR
to /usr/libexec/cross/${MACHINE_ARCH}-freebsdelf.
1999-11-06 21:59:29 +00:00
John Birrell
e60947e1ad Add the BINUTILSDISTDIR hook here too. 1999-11-06 21:55:33 +00:00
John Birrell
19bf8ac856 Change CROSS_TARGETS to CROSS_FORMATS because that makes more sense.
Check if already cross-compiling and only build the cross-tools if
not cross-compiling (to save time).
1999-11-06 21:54:21 +00:00
Peter Wemm
9b7a44a60e $Id$ -> $FreeBSD$ 1999-08-27 23:37:10 +00:00
Warner Losh
0781becd81 For mips assembler, we need to define TARGET_BYTES_BIG_ENDIAN to be
zero when building for little endian machines.

Correct the target names for mips.  We just use the generic targets
for mips elf, so the mipse[lb]-unknown-freebsd emulation types don't
exist.
1999-04-22 07:19:20 +00:00
Warner Losh
7408d8ff34 Add TARGET_ARCH=mipsel and TARGET_ARCH=mipseb as a valid targets.
Unlike the unisex architecutres we've had so far, mips is bisexual.
These tools can produce either byte sex, and the compiler/make
determines the proper gender to use.  Otherwise, we'd have to have had
mipsel and mipseb in all the places that we have just mips.  And there
are other complications with doing that (binutils doesn't like to
build mips tools without both byte genders, it seems).

Introduced BINUTIL_ARCH so that other bisexual architectures can a
generic mechanism.

We cannot just define MACHINE_ARCH as mips because we need to
differentiate big and little endian types of binaries.  Discussions on
freebsd-arch have hashed out this issue (and the parallel libc
issues).  NetBSD is moving towards mipsel and mipseb for their two
flavors of mips ports (in time for 1.4, if this change hasn't already
been accomplished).

I've been building i386 worlds with this tree for a three months with
these files in place with no ill effects.
1999-03-01 04:01:57 +00:00
John Polstra
34d2198035 Update for import of binutils-2.9.1.
Submitted by:	Doug Rabson <dfr>
1998-09-06 23:01:53 +00:00
Peter Wemm
3977d3f488 Missing DPADD's. 1998-06-03 18:57:59 +00:00
John Birrell
6bcce84f32 Add CROSS_TARGETS to the list of GASES to build. We end up with a separate
gas for each target format. So for m68k targets that means several
gases. I wanted a m68k gas for VxWorks which uses aout in sun3 big
endian format, cross compiled on i386 under FreeBSD using libraries
supplied by DEC and intended by them for cross compilation on Alpha
under OSF/1. And it actually works!
1998-05-11 09:31:17 +00:00
John Birrell
292041e5f6 Make a path absolute. 1998-05-11 09:26:39 +00:00
John Birrell
4d725788f7 Fix the path. 1998-05-05 12:33:21 +00:00
John Birrell
402d0191b4 Specify an absolute include path.
Backout the previous commit in favour of the Makefile.inc added to
the parent directory.
1998-05-05 10:32:47 +00:00
John Birrell
9976c5ebe2 One of those silently included files that just about guarantee that
nobody has any idea how something like BINDIR gets defined.
1998-05-05 10:27:39 +00:00
John Birrell
b09740d425 The BINDIR definition is an extra directory level away, so include it
explicitly.
1998-05-05 08:57:11 +00:00
John Birrell
9b87ba9b0f Oops, missed the common part of gas. 1998-05-05 08:53:27 +00:00
John Birrell
c6497bae9d Support cross architectures by using specific directories instead of
the ones that match the host.
1998-05-04 22:09:10 +00:00
John Birrell
b967ddfa5c i386 gas config files. 1998-05-04 22:05:54 +00:00
John Birrell
bf28c35750 Alpha gas config files. 1998-05-04 22:04:55 +00:00
John Birrell
3cb3e87019 Support cross-architectures using sub-directories. 1998-05-04 22:03:00 +00:00
John Birrell
7998238373 Add support for cross-architecture gases. Since the GNU code doesn't
support more than one architecture at a time, build as from the
default for the host and if CROSS_TOOLS defines other architectures,
build them as as_${arch}
1998-05-04 22:01:27 +00:00
John Birrell
9fa2607935 Add the alpha makefile.
Move tc-i386.c from Makefile to Makefile.i386 'cause alpha doesn't
like trying to swallow it. Indigestion, I think.
1998-03-12 06:51:48 +00:00
John Polstra
ab5ad3a4b5 Restructure the binutils hierarchy somewhat in order to better
support building it for variant architectures.  It was already
becoming clear that the former structure was too rigid and didn't
scale well.

The usual sort of makefile magic arranges to .include an architecture
specific makefile "Makefile.${MACHINE_ARCH}" in each directory
where it exists.  Also, sources will be found in each subdirectory
"${MACHINE_ARCH}" that exists.  This is all taken care of automatically
by the top level "Makefile.inc0".

This all seems to work right for the i386 now.  I have also converted
those alpha pieces already present to the new schema as best I
could.

Also: change the BINDIR on the i386 to /usr/libexec/elf for "ar"
and "ranlib".  They are not object format independent enough to
put into /usr/bin.
1998-03-12 02:55:43 +00:00