History log of /haiku/build/scripts/build_cross_tools_gcc4
Revision Date Author Comments
# 9bb9cc88 15-Jun-2019 Augustin Cavalier <waddlesplash@gmail.com>

build_cross_tools_gcc4: Remove the generated static libstdc++.

We always want to use the shared one from the syslibs package,
never the shared one from this build.

Part of #14842: after this change, the ICU build now fails with
"cannot find libstdc++" instead of an invalid symbol.


# 4dd5af2f 21-Feb-2019 Augustin Cavalier <waddlesplash@gmail.com>

build_cross_tools_gcc4: Handle $PATH having spaces in it properly.

Fixes the build of the cross tools under WSL.


# 5a7156f4 21-Feb-2019 Augustin Cavalier <waddlesplash@gmail.com>

build_cross_tools_gcc4: Clear "missing" scripts instead of touching files.

This just stops the errors from occuring rather than trying to
rebuild the files at all. This is much cleaner, and solves
a few cases that the other method did not.


# 849f5810 26-Jan-2019 Augustin Cavalier <waddlesplash@gmail.com>

build_cross_tools_gcc4: Enable initfini-array in binutils.

Our implementation of it now behaves properly after the last commit.

Change-Id: I6bebc91ae0f9512ea07ad6a7a4ccea9ee758e01b
Reviewed-on: https://review.haiku-os.org/c/908
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# d8b0a135 10-Nov-2018 Augustin Cavalier <waddlesplash@gmail.com>

build_cross_tools: export ACLOCAL to stop GCC from trying to use it.

This should fix the build of the crosstools on Haiku, CentOS, and
other platforms with versions of autofools too old or too new for
GCC 7.


# d28caaed 28-Aug-2018 waddlesplash <waddlesplash@gmail.com>

build_cross_tools: Also touch .in files to prevent their regeneration.

Change-Id: Id893460327fd6db064c6fc0fb4de8e6ada1b1773
Reviewed-on: https://review.haiku-os.org/496
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 2cf7d494 27-Aug-2018 waddlesplash <waddlesplash@gmail.com>

build_cross_tools: Touch configure scripts so the Makefiles don't regenerate them.


# 75f7932a 26-Aug-2018 waddlesplash <waddlesplash@gmail.com>

build_cross_tools_gcc4: Forcibly disable maintainer mode.

This should stop GCC from trying to reconfigure.


# d1feb7cb 19-May-2018 waddlesplash <waddlesplash@gmail.com>

build_cross_tools: Have scripts exit on failure.

Previously they just silently continued, which meant that if part of the
cross-tools build failed, you would have to scroll back pretty far to
see what the failure was.


# 82876dc4 28-Feb-2018 Alexander von Gluck IV <kallisti5@unixzen.com>

build_cross_tools_gcc4: Disable TLS on PowerPC for now

Change-Id: Ib99a1a4aeeb5d17a301ffd1d9c5fcadd37261ebf


# 6cc6f047 05-Sep-2017 Jessica Hamilton <jessica.l.hamilton@gmail.com>

build_cross_tools_gcc4: bring in sync with native compiler.

* Previously, the cross-compiler would generate code that doesn't
run on Haiku, particularly where TLS is concerned. It also ended
up with a c++config.h header incompatible with the version in
the native compiler.
* Now possible to correctly cross-compile rust for Haiku.


# 03820c11 06-Aug-2017 Jérôme Duval <jerome.duval@gmail.com>

Update binutils_x86 and binutils for x86_gcc2 and x86_64.

* starting with 2.27, binutils defaults to initfini-array instead of init and fini,
this leads to problems in Haiku, just disable for the time being.


# e4091183 20-Oct-2016 François Revol <revol@free.fr>

configure: pass proper gdb target for m68k


# 4da6cf84 19-Oct-2016 François Revol <revol@free.fr>

configure: allow building GDB along with the buildtools

from a stock GDB source tree.

I was getting tired of doing it manually.

Note the prefix is not exactly the same as the buildtools since the
machine triplet is different, but it's not an issue.

Tested with arm and ppc with GDB 7.8. Might need patching gdbTarget for other archs,
as stock GDB doesn't know about Haiku.


# 96c72d69 19-Oct-2016 François Revol <revol@free.fr>

typo


# 11ece173 03-May-2016 Jérôme Duval <jerome.duval@gmail.com>

build_cross_tools_gcc4: disable libatomic.


# d958d336 04-Mar-2016 Adrien Destugues <pulkomandy@pulkomandy.tk>

Try to fix the ARM cross-tools build

* Gcc5 does not allow both --with-arch and --with-cpu anymore, so use just --with-cpu.


# 1c91ed03 18-Apr-2015 François Revol <revol@free.fr>

Build binutils with different extra targets depending on arch

EFI support isn't much useful for ARM.

Also add some targets to help debugging binutils on PPC.


# 11ae3c5f 01-Aug-2014 Oliver Tappe <zooey@hirschkaefer.de>

Cleanup build system and configuration.

* Drop unused variables from build system that refer to the system
libraries.
* Drop unused lists of libgcc objects.
* Drop no longer used variables from configuration script.
* Remove no longer needed building of kernel-libgcc and -libsupc++ from
build_cross_tools_gcc4, only the boot-specific (32-bit) libs are
built for a x86_64 target.
* Explicitly disable threads and TLS support when building the cross
compiler, as the only libraries that are used by Haiku's build system
is the 32-bit libgcc and libsupc++ for the bootloader on x86_64 (and
for that neither is wanted).


# 1a6ec001 22-Jul-2014 Jessica Hamilton <jessica.l.hamilton@gmail.com>

Re-enable TLS on x86_64 when cross-building.

Building gcc on x86_64 with TLS enabled has been fixed,
so this is to keep cross-builds and native builds in
sync.


# 6d345e6c 21-Jul-2014 Arvind S Raj <sraj.arvind@gmail.com>

Fixed hrev47542 changeset to become sh compatible.

Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>


# d1e057ee 21-Jul-2014 Arvind S Raj <sraj.arvind@gmail.com>

Disable building gcc with TLS support since ARM build fails due to undefined references


# e0650f25 20-Jul-2014 Jonathan Schleifer <js@webkeks.org>

Build libsupc++-kernel without TLS


# c90d4051 03-Jul-2014 Oliver Tappe <zooey@hirschkaefer.de>

Disable TLS support on x86_64 explicitly.

* Building gcc-4.8.3 on x86_64 with TLS support fails with an internal
compiler error. Until that problem is fixed, don't use TLS on x86_64,
which (due to libstdc++ compatibility) requires the same for the
host cross compiler.


# 2b103ca8 16-Jun-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Enable TLS support in gcc.

Since hrev47198 we have ELF-based TLS support in Haiku. When building
gcc with haikuporter, this is detected by the configure script, but when
cross compiling gcc we need to manually enable it, as no runtime check
can be performed to detect the feature.

This should fix #10938 by avoiding the mix of TLS and non-TLS libstdc++.


# 8c54af56 30-Apr-2014 Oliver Tappe <zooey@hirschkaefer.de>

Whitespace cleanup in root and 'build' folder.

* Removed trailing whitespace and empty lines at top of files.


# 574dbabb 22-Apr-2014 PulkoMandy <pulkomandy@pulkomandy.tk>

Configure the ARM compiler to default to Cortex-A8

Ideally, we would only need to set this in build/jam/board/*, but the
flags set there are not passed to the build of packages. The default is
using some early ARM variant, for which gcc lacks some more atomic
operations and emits calls to helper functions we don't implement.

Setting the default architecture avoids this, as all packages will now
be built to target the Cortex-A8.

Also set the proper VFP version in BeagleBoard config file.

Note this breaks the Verdex and Pi builds, but ARMv7 is what we should
focus on for now. We can try to make older archs work after finishing
the m68k port.


# b8058ea8 21-Apr-2014 PulkoMandy <pulkomandy@pulkomandy.tk>

Disable multilib for the ARM compiler build.

* This avoids mixup of the soft/hard float libs
* It also means we can use the hard-float libs for targets that supports
it
* Again, we could introduce an arm_softfp compiler for targets that
don't have floating point support, with a different gcc build.


# b3ece905 09-Feb-2014 Jérôme Duval <jerome.duval@gmail.com>

configure: --use-gcc-pipe now affects build_cross_tools_gcc4.


# 4f57b134 05-Feb-2014 Jérôme Duval <jerome.duval@gmail.com>

build_cross_tools_gcc4: enable posix threads.

* build kernel libgcc and libsupc++ with disabled posix threads for all
architectures. We currently change the configuration manually, as gcc
doesn't easily let us reconfigure without a full rebuild.


# 1e93288e 28-Jan-2014 Jérôme Duval <jerome.duval@gmail.com>

build_cross_tools_gcc4: unbreak --use-gcc-graphite.

* added -pipe to CFLAGS, builds are faster and /tmp usage is avoided at the
cost of more memory used.
* replaced ppl by isl as required by gcc 4.8


# 467f4ab3 25-Nov-2013 Jeroen Oortwijn <oortwijn@gmail.com>

Fix for whitespace in paths

Signed-off-by: Ingo Weinhold <ingo_weinhold@gmx.de>


# a7e9ce67 14-Sep-2013 John Scipione <jscipione@gmail.com>

Use uname -s instead of uname -o

...since BSD uname (on OS X at least) doesn't have a -o param, only a -s,
Haiku has both, and both print "Haiku".


# eeb345aa 14-Sep-2013 John Scipione <jscipione@gmail.com>

Use uname -s instead of uname -o

...since BSD uname (on OS X at least) doesn't have a -o param, only a -s,
Haiku has both, and both print "Haiku".


# f0aee2b4 28-Aug-2013 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

Enable targets for EFI on binutils.

objcopy needs to know about EFI targets if we want to build EFI Applications.
Also minor whitespace removal.


# 86de8c37 21-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Use GNU make also for building gcc 2

Should fix the build on {Free,Open}BSD.


# 394c099f 06-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

build_cross_tools_gcc4: use --with-hybrid-secondary


# 68ccc989 04-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Build the cross gcc for the secondary arch as such

Pass --enable-hybrid-secondary to gcc's configure when building it as
a secondary compiler. Doesn't make a difference for building Haiku
itself, but makes it easier to match the Haiku cross devel package with
the compiler when building bootstrap packages with haikuporter.

gcc 4 only ATM.


# f975dc63 02-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

build_cross_tools_gcc4: move sysroot dir into install dir

This allows us to sneak in system include and library search dirs in
haikuporter without doing anything outside the cross tools dir.


# c0e8cc1a 25-Jul-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

configure: prepare for hybrid support

The goal is to do hybrid builds in a single jam (instead of calling a
sub-jam to build parts with the secondary tool chain). This changeset
adds support to configure to prepare multiple tool chains.

configure:
* Merge option --build-cross-tools-gcc4 into --build-cross-tools. The
option does now always require a packaging architecture parameter,
i.e. x86_gcc2 for the legacy tool chain.
* Multiple occurrences of the --build-cross-tools and
--cross-tools-prefix options are allowed. The first one specifies the
primary tool chain, the subsequent ones the secondary tool chains.
* All architecture dependent jam variables are now suffixed with the
name of the packaging architecture. The new HAIKU_PACKAGING_ARCHS
contains the packaging architectures for the prepared tool chains. The
first element is for the primary tool chain.
* No longer generate a separate libgccObjects file. Just put the
respective variable into BuildConfig as well.

build_cross_tools[_gcc4]:
* Replace the <haiku output dir> parameter by a <install dir>
parameter. This allows to create different cross-tools directories.
They are simply suffixed by the packaging architecture.

Jamrules:
* For the moment map the variables for the primary tool chain to the
respective suffix-less variables, so that everything still works as
before.

The next step is to actually support the secondary tool chains in the
jam build system. This will require quite a bit more butchering, though.


# 49f8422a 14-Jun-2013 Oliver Tappe <zooey@hirschkaefer.de>

Remove whole sys-include folder when cross-compiler has been built.

* at least for gcc2, we used to leave the 'os' subfolder in there,
which may have caused problems when Haiku's headers have changed
since the last time the compiler was built.
(cherry picked from commit 92bb2fb33e2d0f4aa766be095057fe63ff17bc8e)


# de2188e9 14-Jun-2013 Oliver Tappe <zooey@hirschkaefer.de>

Fix #7824: failure to build a cross-compiler on Haiku.

* force creation of a cross-compiler for both gcc2 and gcc4 when
building on Haiku (by suffixing the build and host machine with
'_buildhost')
(cherry picked from commit df69e209bbacd07fdfea9d9efcfc8e1c0dfedaa0)

Conflicts:
build/scripts/build_cross_tools_gcc4


# 92bb2fb3 14-Jun-2013 Oliver Tappe <zooey@hirschkaefer.de>

Remove whole sys-include folder when cross-compiler has been built.

* at least for gcc2, we used to leave the 'os' subfolder in there,
which may have caused problems when Haiku's headers have changed
since the last time the compiler was built.


# df69e209 14-Jun-2013 Oliver Tappe <zooey@hirschkaefer.de>

Fix #7824: failure to build a cross-compiler on Haiku.

* force creation of a cross-compiler for both gcc2 and gcc4 when
building on Haiku (by suffixing the build and host machine with
'_buildhost')


# 30c23521 29-May-2013 Oliver Tappe <zooey@hirschkaefer.de>

Adjust buildscript for gcc4 to configure with a sysroot.


# 7e1f9635 11-Apr-2013 Jérôme Duval <jerome.duval@gmail.com>

style clean up


# 575cfdf2 11-Apr-2013 Jérôme Duval <jerome.duval@gmail.com>

GCC4 cross tools: fixes the build with --use-gcc-graphite on another machine

* libsupc++ wasn't required, the build failed on x86_64.
* PPL: --disable-maintainer-mode configure option seems not enough to avoid an autoconf launch.
Solved by redefined AUTOCONF AUTOHEADER ACLOCAL AUTOMAKE variables to the noop command "true".


# 341c03f9 10-Apr-2013 Jerome Duval <jerome.duval@gmail.com>

GCC4 cross tools: a static libGMP requires linking with the host libstdc++


# e0d19800 10-Apr-2013 Jerome Duval <jerome.duval@gmail.com>

GCC4 cross tools: build libGMP before PPL and CLooG

* libGMP is actually a CLooG dependency, we now build it before CLooG
and tell to GCC where to find it when Graphite build is activated.


# 024f78de 09-Apr-2013 Jerome Duval <jerome.duval@gmail.com>

GCC4 cross tools: disable "maintainer mode" on PPL configure.

* PPL: make could run autoconf in certain conditions, thus generating artefacts
in the source tree. Added --disable-maintainer-mode when launching
configure to avoid this situation.
* cleanup: there are no info files in CLooG and PPL.


# 0837d6c6 06-Apr-2013 Jerome Duval <jerome.duval@gmail.com>

GCC4 cross tools: builds with ppl and cloog when --use-gcc-graphite is given


# d0064875 07-Nov-2012 Oliver Tappe <zooey@hirschkaefer.de>

Force POSIX-locale when building the buildtools

* using a non-POSIX locale may break the build (especially makeinfo),
so we explicitly set the locale to POSIX


# 4107ac9c 30-Oct-2012 Jérôme Duval <jerome.duval@gmail.com>

Cleanup of remains of subversion in the build system


# aaeadfcb 16-Aug-2012 Alex Smith <alex@alex-smith.me.uk>

Do a separate libgcc build for the kernel as well.

Turns out that libgcc is needed, for some reason building the kernel
with -O0 does not end up referencing libgcc but -O2 does. A separate
build of it is done with -mno-red-zone, same reason as for libsupc++.
Ended up being easy to rebuild with different CFLAGS: previously I'd
tried doing `CFLAGS="-mno-red-zone" make` in the libgcc dir which
didn't override, the correct way is `make CFLAGS="-mno-red-zone"`


# c864ba1a 16-Aug-2012 Alex Smith <alex@alex-smith.me.uk>

Build a separate libsupc++ for the kernel with correct flags.

Kernel mode code on x86_64 needs to be built with -mno-red-zone as
interrupts would corrupt the red zone if it were in use. However, the
kernel is linked with libsupc++, which was not compiled with
-mno-red-zone. If an interrupt occurred in libsupc++ code the red zone
would get corrupted. This was causing random panics, particularly under
heavy system load. Therefore, on x86_64 a separate build of libsupc++
with -mno-red-zone is now done for the kernel to use. Note: this commit
will require a rerun of configure and rebuild of cross tools.


# 3af8da0e 15-Apr-2012 Jérôme Duval <jerome.duval@gmail.com>

use system zlib when cross building gcc4 to fix #8242

* this add a dependency on package zlib1g-dev for Linux systems.


# 81eb68f2 04-Apr-2012 Alex Smith <alex@alex-smith.me.uk>

Fixed a compilation failure for the x86_64 toolchain.

This appears to be a problem with GCC's build system: it defaults to having
multilib enabled, but if it is explicitly enabled with --enable-multilib,
the build fails.

Signed-off-by: Ingo Weinhold <ingo_weinhold@gmx.de>


# c59b279b 19-Jan-2012 Jérôme Duval <jerome.duval@gmail.com>

Added workarounds and options for gcc 4.6.2

* add -Wno-unused-but-set-variable for gcc 4.6.x with a TODO
* fix warnings about wrong size of pointer cast in ioapic.cpp and AudioBuffer.cpp


# 312e961c 30-Oct-2011 Oliver Tappe <zooey@hirschkaefer.de>

Closing #8063:
* touch all .info files before trying to build the gcc4
buildtools in order to avoid the dependency on makeinfo.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43012 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 901c33fc 24-May-2011 Michael Lotz <mmlr@mlotz.ch>

Replace the $(...) syntax with backticks instead.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41721 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 266681e2 14-Jul-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Nathan Mentley: Build the x86-64 build tools with multilib support.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37522 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2222d055 24-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Introduced new header directory "config", which ATM contains HaikuConfig.h
and types.h. The idea is to provide a basic architecture/compiler
abstraction by defining types and macros that allow the posix/ and os/
headers to be mostly architecture/compiler agnostic.
* Adjusted the posix/ and os/ headers accordingly.
* <SupportDefs.h>: Introduced B_PRI* and B_SCN* macros similar to the PRI*
and SCN* macros defined in <inttypes.h>, just for the BeOS/Haiku [u]int*
types and some POSIX types (e.g. off_t, dev_t, ino_t) that don't have POSIX
macros. Also the B_PRI* and B_SCN* macros are available unconditionally,
unlike the <inttypes.h> macros, which require __STDC_FORMAT_MACROS to be
defined in C++ mode.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34214 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 60d8d8fc 23-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added -j<n> option to configure. It is passed to the
build_cross_tools[_gcc4] script which in turn passes it to make. Cores and
hyperthreads are plentiful these days; no need to let most of them idle when
building the cross tools.
* Sorted the configure options alphabetically again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34199 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 91446a14 09-Aug-2009 François Revol <revol@free.fr>

Don't know why multilib was disabled in r29035, but we'll likely need it for arm, and m68k as well...
Make it depend on haikuMachine.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32213 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 328029e1 30-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Alexander von Gluck (kallisti5) to get the PPC build going again
(mostly at least). Also disables -Werror for the binutils, but those should
be fixed eventually.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29804 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a16e2a1c 27-Jan-2009 Michael Lotz <mmlr@mlotz.ch>

Forgot to update this reference when renaming be/ to os/.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29069 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3bdbdcb2 26-Jan-2009 Michael Lotz <mmlr@mlotz.ch>

The default include paths have been updated from be/ to os/ so copy correspondingly.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29057 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8ffb1d69 25-Jan-2009 Michael Lotz <mmlr@mlotz.ch>

Updating config for current GCC4 cross compiler.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29035 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f868be68 20-Oct-2008 François Revol <revol@free.fr>

- Have OpenBSD use gmake
- export MAKE to make sure submakes use it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28250 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5ca2f7aa 03-Mar-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

gcc 4.1.2 conveniently saves the version number in a separate file.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20319 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d0097591 04-Feb-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Added shebang. Should fix bug #956.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20062 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a5b60fa8 03-Oct-2006 Oliver Tappe <zooey@hirschkaefer.de>

* reverted changes of revision 18985, as Ingo has pointed out, they were useless.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18994 a95241bf-73f2-0310-859d-f6bbb57e9c96


# be2bd5ef 01-Oct-2006 Oliver Tappe <zooey@hirschkaefer.de>

* implemented a suggestion of korli: the legacy & gcc4 cross-tools are now built
in separate folders ('cross-tools-legacy' and 'cross-tools-gcc4') and you
can use the new cmdline-switches 'use-cross-tools' and 'use-cross-tools-gcc4'
to switch between those two. Before, you always had to recompile the tools
in order to switch.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18985 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 20ab75e6 06-Dec-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Adjusted build_cross_tools_gcc4 and configure to be able to build PPC
build tools as well. The configure option --build-cross-tools-gcc4 has a
new parameter to specify the architecture.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15382 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9743fe87 05-Dec-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

When building the gcc 4 cross tools we now configure for machine
i586-pc-haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15345 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6724a193 22-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Adjusted build_cross_tools[_gcc4] scripts according to the new directory
layout in the buildtools module.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15083 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 307807f2 18-Nov-2005 Nathan Whitehorn <nwhitehorn@nowhere.fake>

Moved FreeBSD setup to define a freebsd build platform. GCC4 apparently also requires the use of GNU Make, so told the build_cross_tools script to use 'gmake' instead of 'make' on BSD systems.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15024 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 29ef597d 18-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added build_cross_tools_gcc4 script which builds gcc 4 and binutils
from the sources. Added respective configure option
--build-cross-tools-gcc4.
* Fixed running "configure --build-cross-tools" from another directory
than the source dir. The parameter to the script was missing and thus
the tools were created in <sources>/generated.
* Removed stdc++ lib header dir ".../debug". One is supposed to include
<debug/...> to get the debug headers.
* The stdc++ lib header dirs are now listed one per line in the
generated BuildConfig. This works around the 512 bytes jam line length
limit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15020 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1c91ed03fa74c5e847fc153157be2344189df066 18-Apr-2015 François Revol <revol@free.fr>

Build binutils with different extra targets depending on arch

EFI support isn't much useful for ARM.

Also add some targets to help debugging binutils on PPC.


# 11ae3c5fe78154e4934d0c8c1eb744c9104427b2 01-Aug-2014 Oliver Tappe <zooey@hirschkaefer.de>

Cleanup build system and configuration.

* Drop unused variables from build system that refer to the system
libraries.
* Drop unused lists of libgcc objects.
* Drop no longer used variables from configuration script.
* Remove no longer needed building of kernel-libgcc and -libsupc++ from
build_cross_tools_gcc4, only the boot-specific (32-bit) libs are
built for a x86_64 target.
* Explicitly disable threads and TLS support when building the cross
compiler, as the only libraries that are used by Haiku's build system
is the 32-bit libgcc and libsupc++ for the bootloader on x86_64 (and
for that neither is wanted).


# 1a6ec0014087f954f0876237056595dfcd18e25e 22-Jul-2014 Jessica Hamilton <jessica.l.hamilton@gmail.com>

Re-enable TLS on x86_64 when cross-building.

Building gcc on x86_64 with TLS enabled has been fixed,
so this is to keep cross-builds and native builds in
sync.


# 6d345e6c9d690a2c35b516e182ceb0452c1adf77 21-Jul-2014 Arvind S Raj <sraj.arvind@gmail.com>

Fixed hrev47542 changeset to become sh compatible.

Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>


# d1e057eefb79dbdf2fe3c3ab20e6349109f577ea 21-Jul-2014 Arvind S Raj <sraj.arvind@gmail.com>

Disable building gcc with TLS support since ARM build fails due to undefined references


# e0650f25c3c86e40fdb02a05714b73560d2b2328 20-Jul-2014 Jonathan Schleifer <js@webkeks.org>

Build libsupc++-kernel without TLS


# c90d4051540291162429facf8a1a0a8fb98bd1bc 03-Jul-2014 Oliver Tappe <zooey@hirschkaefer.de>

Disable TLS support on x86_64 explicitly.

* Building gcc-4.8.3 on x86_64 with TLS support fails with an internal
compiler error. Until that problem is fixed, don't use TLS on x86_64,
which (due to libstdc++ compatibility) requires the same for the
host cross compiler.


# 2b103ca8bea2fed01e9399c0ec3ad97ae2dde095 16-Jun-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Enable TLS support in gcc.

Since hrev47198 we have ELF-based TLS support in Haiku. When building
gcc with haikuporter, this is detected by the configure script, but when
cross compiling gcc we need to manually enable it, as no runtime check
can be performed to detect the feature.

This should fix #10938 by avoiding the mix of TLS and non-TLS libstdc++.


# 8c54af563ce823c0e5b029716b2a020896c90ff4 30-Apr-2014 Oliver Tappe <zooey@hirschkaefer.de>

Whitespace cleanup in root and 'build' folder.

* Removed trailing whitespace and empty lines at top of files.


# 574dbabb009af4871e89b303ca20388da2b3f42e 22-Apr-2014 PulkoMandy <pulkomandy@pulkomandy.tk>

Configure the ARM compiler to default to Cortex-A8

Ideally, we would only need to set this in build/jam/board/*, but the
flags set there are not passed to the build of packages. The default is
using some early ARM variant, for which gcc lacks some more atomic
operations and emits calls to helper functions we don't implement.

Setting the default architecture avoids this, as all packages will now
be built to target the Cortex-A8.

Also set the proper VFP version in BeagleBoard config file.

Note this breaks the Verdex and Pi builds, but ARMv7 is what we should
focus on for now. We can try to make older archs work after finishing
the m68k port.


# b8058ea8eeb104adb62e53820192f57a80d42e98 21-Apr-2014 PulkoMandy <pulkomandy@pulkomandy.tk>

Disable multilib for the ARM compiler build.

* This avoids mixup of the soft/hard float libs
* It also means we can use the hard-float libs for targets that supports
it
* Again, we could introduce an arm_softfp compiler for targets that
don't have floating point support, with a different gcc build.


# b3ece9056dd49388bee911aa095d22db604916db 09-Feb-2014 Jérôme Duval <jerome.duval@gmail.com>

configure: --use-gcc-pipe now affects build_cross_tools_gcc4.


# 4f57b13404058b625c7af418b1ca39b05c404a99 05-Feb-2014 Jérôme Duval <jerome.duval@gmail.com>

build_cross_tools_gcc4: enable posix threads.

* build kernel libgcc and libsupc++ with disabled posix threads for all
architectures. We currently change the configuration manually, as gcc
doesn't easily let us reconfigure without a full rebuild.


# 1e93288e656fdcaf4ec315b6f1ae5568bfd4acee 28-Jan-2014 Jérôme Duval <jerome.duval@gmail.com>

build_cross_tools_gcc4: unbreak --use-gcc-graphite.

* added -pipe to CFLAGS, builds are faster and /tmp usage is avoided at the
cost of more memory used.
* replaced ppl by isl as required by gcc 4.8


# 467f4ab3a8c36970ba0e546115fb70f4bf962542 25-Nov-2013 Jeroen Oortwijn <oortwijn@gmail.com>

Fix for whitespace in paths

Signed-off-by: Ingo Weinhold <ingo_weinhold@gmx.de>


# a7e9ce676fb1c4f4ade5e8dfc1b43053c035dbbc 14-Sep-2013 John Scipione <jscipione@gmail.com>

Use uname -s instead of uname -o

...since BSD uname (on OS X at least) doesn't have a -o param, only a -s,
Haiku has both, and both print "Haiku".


# eeb345aa17b6da6f92b5213949ad5064e410b757 14-Sep-2013 John Scipione <jscipione@gmail.com>

Use uname -s instead of uname -o

...since BSD uname (on OS X at least) doesn't have a -o param, only a -s,
Haiku has both, and both print "Haiku".


# f0aee2b4eada98685b09a8b1f504f3a97ac9a18f 28-Aug-2013 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

Enable targets for EFI on binutils.

objcopy needs to know about EFI targets if we want to build EFI Applications.
Also minor whitespace removal.


# 86de8c37b5bc2266be9f61eb8cb07c932c11625d 21-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Use GNU make also for building gcc 2

Should fix the build on {Free,Open}BSD.


# 394c099f62eba6ccbc671d28308c7e36d78d09a6 06-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

build_cross_tools_gcc4: use --with-hybrid-secondary


# 68ccc98930468839bf6b5fd2266a9a13953d13df 04-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Build the cross gcc for the secondary arch as such

Pass --enable-hybrid-secondary to gcc's configure when building it as
a secondary compiler. Doesn't make a difference for building Haiku
itself, but makes it easier to match the Haiku cross devel package with
the compiler when building bootstrap packages with haikuporter.

gcc 4 only ATM.


# f975dc63f1238bdd4876f891b0ba9eaa255f59f7 02-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

build_cross_tools_gcc4: move sysroot dir into install dir

This allows us to sneak in system include and library search dirs in
haikuporter without doing anything outside the cross tools dir.


# c0e8cc1a1368c6cc99ddf1c76f8826cd5a598fd2 25-Jul-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

configure: prepare for hybrid support

The goal is to do hybrid builds in a single jam (instead of calling a
sub-jam to build parts with the secondary tool chain). This changeset
adds support to configure to prepare multiple tool chains.

configure:
* Merge option --build-cross-tools-gcc4 into --build-cross-tools. The
option does now always require a packaging architecture parameter,
i.e. x86_gcc2 for the legacy tool chain.
* Multiple occurrences of the --build-cross-tools and
--cross-tools-prefix options are allowed. The first one specifies the
primary tool chain, the subsequent ones the secondary tool chains.
* All architecture dependent jam variables are now suffixed with the
name of the packaging architecture. The new HAIKU_PACKAGING_ARCHS
contains the packaging architectures for the prepared tool chains. The
first element is for the primary tool chain.
* No longer generate a separate libgccObjects file. Just put the
respective variable into BuildConfig as well.

build_cross_tools[_gcc4]:
* Replace the <haiku output dir> parameter by a <install dir>
parameter. This allows to create different cross-tools directories.
They are simply suffixed by the packaging architecture.

Jamrules:
* For the moment map the variables for the primary tool chain to the
respective suffix-less variables, so that everything still works as
before.

The next step is to actually support the secondary tool chains in the
jam build system. This will require quite a bit more butchering, though.


# 49f8422a0dfa93243c407350a5795fcc6ddcd611 14-Jun-2013 Oliver Tappe <zooey@hirschkaefer.de>

Remove whole sys-include folder when cross-compiler has been built.

* at least for gcc2, we used to leave the 'os' subfolder in there,
which may have caused problems when Haiku's headers have changed
since the last time the compiler was built.
(cherry picked from commit 92bb2fb33e2d0f4aa766be095057fe63ff17bc8e)


# de2188e9647102dd73933c219589481ae3871e01 14-Jun-2013 Oliver Tappe <zooey@hirschkaefer.de>

Fix #7824: failure to build a cross-compiler on Haiku.

* force creation of a cross-compiler for both gcc2 and gcc4 when
building on Haiku (by suffixing the build and host machine with
'_buildhost')
(cherry picked from commit df69e209bbacd07fdfea9d9efcfc8e1c0dfedaa0)

Conflicts:
build/scripts/build_cross_tools_gcc4


# 92bb2fb33e2d0f4aa766be095057fe63ff17bc8e 14-Jun-2013 Oliver Tappe <zooey@hirschkaefer.de>

Remove whole sys-include folder when cross-compiler has been built.

* at least for gcc2, we used to leave the 'os' subfolder in there,
which may have caused problems when Haiku's headers have changed
since the last time the compiler was built.


# df69e209bbacd07fdfea9d9efcfc8e1c0dfedaa0 14-Jun-2013 Oliver Tappe <zooey@hirschkaefer.de>

Fix #7824: failure to build a cross-compiler on Haiku.

* force creation of a cross-compiler for both gcc2 and gcc4 when
building on Haiku (by suffixing the build and host machine with
'_buildhost')


# 30c2352188a17adfe1698a094b25c9ada9a687c9 29-May-2013 Oliver Tappe <zooey@hirschkaefer.de>

Adjust buildscript for gcc4 to configure with a sysroot.


# 7e1f9635967f7a3cc28eadfb4bd0bff110cbff22 11-Apr-2013 Jérôme Duval <jerome.duval@gmail.com>

style clean up


# 575cfdf28af16ec780388587967d800f166ac3eb 11-Apr-2013 Jérôme Duval <jerome.duval@gmail.com>

GCC4 cross tools: fixes the build with --use-gcc-graphite on another machine

* libsupc++ wasn't required, the build failed on x86_64.
* PPL: --disable-maintainer-mode configure option seems not enough to avoid an autoconf launch.
Solved by redefined AUTOCONF AUTOHEADER ACLOCAL AUTOMAKE variables to the noop command "true".


# 341c03f98826b100b0a2073329b5493c79a7f2cc 10-Apr-2013 Jerome Duval <jerome.duval@gmail.com>

GCC4 cross tools: a static libGMP requires linking with the host libstdc++


# e0d1980015ec521a67af5f7bcadd5d4630ddba5a 10-Apr-2013 Jerome Duval <jerome.duval@gmail.com>

GCC4 cross tools: build libGMP before PPL and CLooG

* libGMP is actually a CLooG dependency, we now build it before CLooG
and tell to GCC where to find it when Graphite build is activated.


# 024f78deebe16ae5ed6ffb082645ec34bd9c98f3 09-Apr-2013 Jerome Duval <jerome.duval@gmail.com>

GCC4 cross tools: disable "maintainer mode" on PPL configure.

* PPL: make could run autoconf in certain conditions, thus generating artefacts
in the source tree. Added --disable-maintainer-mode when launching
configure to avoid this situation.
* cleanup: there are no info files in CLooG and PPL.


# 0837d6c650d03deb33b924e34841c57331cc3680 06-Apr-2013 Jerome Duval <jerome.duval@gmail.com>

GCC4 cross tools: builds with ppl and cloog when --use-gcc-graphite is given


# d006487564e9eae1bd065562bbb4c00c9bcd3273 07-Nov-2012 Oliver Tappe <zooey@hirschkaefer.de>

Force POSIX-locale when building the buildtools

* using a non-POSIX locale may break the build (especially makeinfo),
so we explicitly set the locale to POSIX


# 4107ac9cda4e76ce515596afebc11005b6e97534 30-Oct-2012 Jérôme Duval <jerome.duval@gmail.com>

Cleanup of remains of subversion in the build system


# aaeadfcb02fea79141251cd3a9f872d6f47fc244 16-Aug-2012 Alex Smith <alex@alex-smith.me.uk>

Do a separate libgcc build for the kernel as well.

Turns out that libgcc is needed, for some reason building the kernel
with -O0 does not end up referencing libgcc but -O2 does. A separate
build of it is done with -mno-red-zone, same reason as for libsupc++.
Ended up being easy to rebuild with different CFLAGS: previously I'd
tried doing `CFLAGS="-mno-red-zone" make` in the libgcc dir which
didn't override, the correct way is `make CFLAGS="-mno-red-zone"`


# c864ba1a2d8525aeabd6199c01675f70f5abd7bd 16-Aug-2012 Alex Smith <alex@alex-smith.me.uk>

Build a separate libsupc++ for the kernel with correct flags.

Kernel mode code on x86_64 needs to be built with -mno-red-zone as
interrupts would corrupt the red zone if it were in use. However, the
kernel is linked with libsupc++, which was not compiled with
-mno-red-zone. If an interrupt occurred in libsupc++ code the red zone
would get corrupted. This was causing random panics, particularly under
heavy system load. Therefore, on x86_64 a separate build of libsupc++
with -mno-red-zone is now done for the kernel to use. Note: this commit
will require a rerun of configure and rebuild of cross tools.


# 3af8da0ef834b67f74f197291fe581f8076d9750 15-Apr-2012 Jérôme Duval <jerome.duval@gmail.com>

use system zlib when cross building gcc4 to fix #8242

* this add a dependency on package zlib1g-dev for Linux systems.


# 81eb68f28064918f4947fb410dbb23c0c21cb8bd 04-Apr-2012 Alex Smith <alex@alex-smith.me.uk>

Fixed a compilation failure for the x86_64 toolchain.

This appears to be a problem with GCC's build system: it defaults to having
multilib enabled, but if it is explicitly enabled with --enable-multilib,
the build fails.

Signed-off-by: Ingo Weinhold <ingo_weinhold@gmx.de>


# c59b279b7173bcafb8f266aa753b2f9e6c578849 19-Jan-2012 Jérôme Duval <jerome.duval@gmail.com>

Added workarounds and options for gcc 4.6.2

* add -Wno-unused-but-set-variable for gcc 4.6.x with a TODO
* fix warnings about wrong size of pointer cast in ioapic.cpp and AudioBuffer.cpp


# 312e961c5d3c1e1ad7ed99abf47666a822b51f7f 30-Oct-2011 Oliver Tappe <zooey@hirschkaefer.de>

Closing #8063:
* touch all .info files before trying to build the gcc4
buildtools in order to avoid the dependency on makeinfo.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43012 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 901c33fcd07eb6b34ea56b99c93357e9e66e0181 24-May-2011 Michael Lotz <mmlr@mlotz.ch>

Replace the $(...) syntax with backticks instead.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41721 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 266681e27c2c1449277a171394e7db69eb74eaf3 14-Jul-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Nathan Mentley: Build the x86-64 build tools with multilib support.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37522 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2222d0559df303a9846a2fad53741f8b20b14d7c 24-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Introduced new header directory "config", which ATM contains HaikuConfig.h
and types.h. The idea is to provide a basic architecture/compiler
abstraction by defining types and macros that allow the posix/ and os/
headers to be mostly architecture/compiler agnostic.
* Adjusted the posix/ and os/ headers accordingly.
* <SupportDefs.h>: Introduced B_PRI* and B_SCN* macros similar to the PRI*
and SCN* macros defined in <inttypes.h>, just for the BeOS/Haiku [u]int*
types and some POSIX types (e.g. off_t, dev_t, ino_t) that don't have POSIX
macros. Also the B_PRI* and B_SCN* macros are available unconditionally,
unlike the <inttypes.h> macros, which require __STDC_FORMAT_MACROS to be
defined in C++ mode.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34214 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 60d8d8fcc5005cdd8cff9861a803e5fa6a8fd725 23-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added -j<n> option to configure. It is passed to the
build_cross_tools[_gcc4] script which in turn passes it to make. Cores and
hyperthreads are plentiful these days; no need to let most of them idle when
building the cross tools.
* Sorted the configure options alphabetically again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34199 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 91446a14779404bc32099dae90c7fbceb092d2e9 09-Aug-2009 François Revol <revol@free.fr>

Don't know why multilib was disabled in r29035, but we'll likely need it for arm, and m68k as well...
Make it depend on haikuMachine.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32213 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 328029e178152c8eceebd40d14ff80ccf2039970 30-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Alexander von Gluck (kallisti5) to get the PPC build going again
(mostly at least). Also disables -Werror for the binutils, but those should
be fixed eventually.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29804 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a16e2a1c6952c33272a3630e43f199993ecbe74d 27-Jan-2009 Michael Lotz <mmlr@mlotz.ch>

Forgot to update this reference when renaming be/ to os/.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29069 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3bdbdcb23eb12312b07dbe92ef2d263aa722d01a 26-Jan-2009 Michael Lotz <mmlr@mlotz.ch>

The default include paths have been updated from be/ to os/ so copy correspondingly.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29057 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8ffb1d69666791d957bfb1308d21319d7dd8f77e 25-Jan-2009 Michael Lotz <mmlr@mlotz.ch>

Updating config for current GCC4 cross compiler.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29035 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f868be68635cd3b6ed42cae7047b820ecea8f6a6 20-Oct-2008 François Revol <revol@free.fr>

- Have OpenBSD use gmake
- export MAKE to make sure submakes use it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28250 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5ca2f7aa8c4fb64497f8e768d200e2feeb35a987 03-Mar-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

gcc 4.1.2 conveniently saves the version number in a separate file.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20319 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d0097591b0c2becbeb25a4a4f935481f0f26a404 04-Feb-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Added shebang. Should fix bug #956.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20062 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a5b60fa88e94258f97de2fd964cba6b13f471e5f 03-Oct-2006 Oliver Tappe <zooey@hirschkaefer.de>

* reverted changes of revision 18985, as Ingo has pointed out, they were useless.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18994 a95241bf-73f2-0310-859d-f6bbb57e9c96


# be2bd5ef4b2537602e688fd2cb4c5e5add4dce50 01-Oct-2006 Oliver Tappe <zooey@hirschkaefer.de>

* implemented a suggestion of korli: the legacy & gcc4 cross-tools are now built
in separate folders ('cross-tools-legacy' and 'cross-tools-gcc4') and you
can use the new cmdline-switches 'use-cross-tools' and 'use-cross-tools-gcc4'
to switch between those two. Before, you always had to recompile the tools
in order to switch.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18985 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 20ab75e64c8c4113ca0af0e8e5be8b9c9623b923 06-Dec-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Adjusted build_cross_tools_gcc4 and configure to be able to build PPC
build tools as well. The configure option --build-cross-tools-gcc4 has a
new parameter to specify the architecture.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15382 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9743fe8729448b92ae8c3b0c9cca17b8c2b96d7e 05-Dec-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

When building the gcc 4 cross tools we now configure for machine
i586-pc-haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15345 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6724a1930dfdfd0f764f3169410c3d46272d4685 22-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Adjusted build_cross_tools[_gcc4] scripts according to the new directory
layout in the buildtools module.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15083 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 307807f2da674c9d0f312ec72d69a1aeee9fb240 18-Nov-2005 Nathan Whitehorn <nwhitehorn@nowhere.fake>

Moved FreeBSD setup to define a freebsd build platform. GCC4 apparently also requires the use of GNU Make, so told the build_cross_tools script to use 'gmake' instead of 'make' on BSD systems.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15024 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 29ef597dc60457e9133b7b24fac26190157c51a9 18-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added build_cross_tools_gcc4 script which builds gcc 4 and binutils
from the sources. Added respective configure option
--build-cross-tools-gcc4.
* Fixed running "configure --build-cross-tools" from another directory
than the source dir. The parameter to the script was missing and thus
the tools were created in <sources>/generated.
* Removed stdc++ lib header dir ".../debug". One is supposed to include
<debug/...> to get the debug headers.
* The stdc++ lib header dirs are now listed one per line in the
generated BuildConfig. This works around the 512 bytes jam line length
limit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15020 a95241bf-73f2-0310-859d-f6bbb57e9c96