Commit Graph

24 Commits

Author SHA1 Message Date
Alex Smith
c864ba1a2d 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.
2012-08-16 13:57:04 +01:00
Jérôme Duval
3af8da0ef8 use system zlib when cross building gcc4 to fix #8242
* this add a dependency on package zlib1g-dev for Linux systems.
2012-04-15 13:28:50 +02:00
Alex Smith
81eb68f280 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>
2012-04-05 13:15:24 +02:00
Jérôme Duval
c59b279b71 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
2012-01-19 19:44:42 +01:00
Oliver Tappe
312e961c5d 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
2011-10-30 19:39:12 +00:00
Michael Lotz
901c33fcd0 Replace the $(...) syntax with backticks instead.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41721 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-24 21:14:41 +00:00
Ingo Weinhold
266681e27c 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
2010-07-14 23:03:59 +00:00
Ingo Weinhold
2222d0559d * 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
2009-11-24 19:44:07 +00:00
Ingo Weinhold
60d8d8fcc5 * 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
2009-11-23 19:34:55 +00:00
François Revol
91446a1477 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
2009-08-09 15:38:41 +00:00
Ingo Weinhold
328029e178 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
2009-03-30 15:00:10 +00:00
Michael Lotz
a16e2a1c69 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
2009-01-28 02:02:51 +00:00
Michael Lotz
3bdbdcb23e 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
2009-01-26 23:57:59 +00:00
Michael Lotz
8ffb1d6966 Updating config for current GCC4 cross compiler.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29035 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-01-26 05:15:41 +00:00
François Revol
f868be6863 - 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
2008-10-20 19:40:36 +00:00
Ingo Weinhold
5ca2f7aa8c 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
2007-03-04 04:47:55 +00:00
Ingo Weinhold
d0097591b0 Added shebang. Should fix bug #956.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20062 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-04 10:50:11 +00:00
Oliver Tappe
a5b60fa88e * 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
2006-10-03 23:41:59 +00:00
Oliver Tappe
be2bd5ef4b * 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
2006-10-01 18:52:48 +00:00
Ingo Weinhold
20ab75e64c 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
2005-12-06 22:45:11 +00:00
Ingo Weinhold
9743fe8729 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
2005-12-05 15:01:20 +00:00
Ingo Weinhold
6724a1930d 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
2005-11-22 23:34:51 +00:00
Nathan Whitehorn
307807f2da 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
2005-11-18 16:35:32 +00:00
Ingo Weinhold
29ef597dc6 * 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
2005-11-18 14:17:04 +00:00