Commit Graph

265 Commits

Author SHA1 Message Date
Ingo Weinhold
9b0dd52858 Support for adding libraries compiled with the alternative gcc (2 vs.
4). One has to have a (fully configured) "generated" directory for the
alternative gcc and specify it using the new option
"--alternative-gcc-output-dir" when configuring the main build.
Additionally the build variable HAIKU_ADD_ALTERNATIVE_GCC_LIBS has to be
set to "1".

If that has been done, when building the image a sub-jam is invoked that
generates the alternative libs and zips them. The main-jam unzips them
into the correct directory in the image. Note that the JAM build
variable has to be set when using a jam executable not invoked by "jam".

Tested with gcc 2 NetPositive, Pe, and FireFox under gcc 4 Haiku, and
with a few of the standard gcc 4 Haiku apps under gcc 2 Haiku. Seems to
work fine so far.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25536 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-17 23:47:39 +00:00
François Revol
a559f87af8 Remove use of bashisms since we use #!/bin/sh. This should help supporting solaris.
Added sunos to the list of platforms, but it needs more work.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24922 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-12 02:40:10 +00:00
Ingo Weinhold
0da9c20813 Switched the legacy compiler to the i586-pc-haiku 2.95.3-haiku-080323
gcc. You need to reconfigure and rebuild the cross-tools to have this
change take effect.

Note that from now on it is no longer possible to use the native BeOS
compiler to build Haiku. You'll have to build a cross compiler, too. I
haven't tested whether this works at all, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24542 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-23 23:06:23 +00:00
François Revol
1974210f28 Add --include-3rdparty option to enable jam targets from 3rdparty/. It is suggested that 3rd party applications use the <3rdparty> grist to avoid shadowing Haiku stuff. (or what about <3rdparty!vendor> ?)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23736 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-25 14:48:51 +00:00
François Revol
f1b9c086ca Add --enable-multiuser configure option for adventurous people.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23410 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 18:15:55 +00:00
François Revol
8074e217af Build support for m68k.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22690 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-23 23:27:09 +00:00
Ingo Weinhold
0385b0657b Patch by Samuel Rodriguez Perez, slightly modified by myself: New
configure flag "--use-32bit" enabling 32 bit builds with a 64 bit host
compiler.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22046 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-22 22:07:03 +00:00
Ingo Weinhold
da0f9ae040 Added Haiku as host platform supported by the build system ("haiku_host").
Completely untested yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21802 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-02 21:13:56 +00:00
Ingo Weinhold
a66c32dde5 Introduced new configure option --distro-compatibility to specify the
compatibility relation to the official Haiku distribution. "official"
is for the official Haiku distribution itself, "compatible" for Haiku
Compatible (tm) distros, and "default" for all others (the default value
for the option). The build system variable HAIKU_DISTRO_COMPATIBILITY is
defined accordingly, and one of the
HAIKU_DISTRO_COMPATIBILITY_{OFFICIAL,COMPATIBLE,DEFAULT} macros is
defined for source code and rdefs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21177 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-20 17:50:11 +00:00
Ingo Weinhold
6dcd0ccf23 Patch by Morgan Howe (slightly modified): Several changes to support
building on Mac OS X (Darwin). A problem with makebootable remains.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21165 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-18 15:59:04 +00:00
Ingo Weinhold
4f4e5272fc Under Linux it is now possible to emulate the BeOS attribute support via
xattrs. It can be enabled with the configure switch "--use-xattr". Note
that the amount of data stored in attributes may be limited by the used
file system -- e.g. AFAIK ext3 has a limit of one block (usually 4 KB)
for all attributes of a file, which might not suffice. XFS should be
fine, as should ReiserFS 3.6 (or any FS which stores attributes in
hidden files).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20609 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-08 02:19:01 +00:00
Ingo Weinhold
eedc3d0be0 Since configuring an unsuitable cross-compiler has become a FAQ lately,
we do now check whether the target the compiler has been configured for
looks compatible.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20189 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-21 14:08:08 +00:00
François Revol
141e72bede Remove dupped case 6.* for platform checking.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20163 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-19 15:38:58 +00:00
François Revol
5a34a44314 Remove dupped word.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20132 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-15 09:10:31 +00:00
Ingo Weinhold
eccc7665b5 Added configure option --use-gcc-pipe to enable building with the gcc
-pipe option.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20066 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-04 14:03:21 +00:00
Ingo Weinhold
ac5beb17a5 Removed obsolete --floppy option.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20064 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-04 12:56:20 +00:00
Oliver Tappe
6cc8eecf5e * fixed my own stupid bug that did not reliably check for the legacy compiler
version


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19306 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-16 19:52:27 +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
Marcus Overhagen
dad360027a switch back to local system gcc headers, the outcome is similar unuseable
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18873 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-17 13:32:53 +00:00
Marcus Overhagen
274b450ab8 gcc 4 only: modified the previous change to allow fallback to local C++ system headers
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18866 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-16 22:25:49 +00:00
Marcus Overhagen
e3c3c19859 gcc 4 only: when not building the cross compiler, use haiku default C++ headers from source tree (haiku/headers/os/cpp), instead of local system headers
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18865 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-16 21:57:13 +00:00
Oliver Tappe
f7784f57e2 * removed debug output...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18862 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-16 15:43:49 +00:00
Oliver Tappe
af4bf973bb * fixed dependency of build_cross_tools on version of legacy compile, this finally fixes
building of cross-compiler on Linux (as reported by korli, thanks!).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18861 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-16 15:40:36 +00:00
Oliver Tappe
5b0f7b1b1e * added checking of legacy gcc against required version, suggested by Axel
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18736 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-03 17:22:48 +00:00
Stephan Aßmus
1213a0db75 newer versions of ZETA advertise version 6.0
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18645 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-26 14:25:11 +00:00
Ingo Weinhold
6e7c6fe567 Applied patch by mathewblack@ntlworld.com (bug #723) to support spaces
in the path to the Haiku working dir.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18375 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-03 17:57:34 +00:00
Axel Dörfler
db63fe6713 Strangely enough, one of my R5 system's doesn't have a "cc".
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16156 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-30 18:38:23 +00:00
Jérôme Duval
0838a93037 improved set_default_value
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15905 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-11 08:36:21 +00:00
Ingo Weinhold
5d9789688d Remove eabi.o from the libgcc objects. It's in the static libgcc for PPC
(would not be in the dynamic one though).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15442 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-09 14:08:20 +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
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
Nathan Whitehorn
9839134738 Made FreeBSD a valid build platform by setting FreeBSD to define buildplatform=linux.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14976 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-17 00:02:56 +00:00
Ingo Weinhold
c89fc8752d * More consequent handling of libsupc++. configure looks it up now and
provides it via BuildConfig. We link everything against it.
* Temporarily pass --no-undefined to the linker. Should be in the
  compiler specs, but isn't in the gcc 4 I built.
* Define _BEOS_R5_COMPATIBLE_ macro when building with gcc 2. Can be
  used in headers for instance.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14913 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-14 13:47:52 +00:00
Ingo Weinhold
8b5934c975 * Added support for compiling Haiku with GCC 4. The main difference is that
we use the libstdc++ (including it's headers) that comes with the
  compiler.
* Apparently option "-I-" has been deprecated, which is why we now treat the
  include stuff a bit differently.
* Removed avcodec from the Haiku image, since the library wouldn't build with
  gcc 4, and I'm not in the mood to fix that (declaration of an array of an
  incomplete type).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14876 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-12 22:58:54 +00:00
Ingo Weinhold
14998c8bd5 Zeta apparently uses a OS major version >= 6.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14774 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-08 09:29:13 +00:00
Ingo Weinhold
0df3cc9c86 Re-enabled host platform BeOS version detection. Tested only under BeOS R5.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14586 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-31 00:00:27 +00:00
Ingo Weinhold
338b8dc301 Merged changes from branch build_system_redesign at revision 14573.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14574 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-29 16:27:43 +00:00
Axel Dörfler
4cbe4925ea The "configure" script should now be able to detect the Haiku platform as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14104 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-09-02 13:23:51 +00:00
Axel Dörfler
6233964798 Removed host BeOS version recognition: we now always default to target "haiku".
Building our components for use with R5/dano/whatever is now something you need
to want, it's not the default anymore.
Note: you can still build single components for R5 by overriding the target
platform per target, too, for example:
$ TARGET_PLATFORM=r5 jam app_server


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12920 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-01 14:33:46 +00:00
Ingo Weinhold
733fed3a6f CVS -> .svn.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11867 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-17 10:33:36 +00:00
Axel Dörfler
b1e5b60ccf Divided BuildConfig into three files: BuildConfig, Timezones, and libgccObjects.
That makes fine tuning any of them a nicer experience.
You have to rerun ./configure in order to build anything.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11056 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-26 01:34:37 +00:00
Axel Dörfler
6f9587ddeb The build target now defaults to "haiku", not $platform.
Updated the help text with respect to the bochs debug output hack.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10913 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-20 20:09:25 +00:00
Jérôme Duval
d2ab012d92 Fix a bug with timezones defined through Link (hint from Ingo).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10131 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-21 23:22:56 +00:00
Ingo Weinhold
4d5737d0b8 Filter the CVS dir.
BTW, I find this whole thing somehow misplaced and ugly, but I have no
good idea how to do that with Jam.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10058 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-19 23:01:47 +00:00
Jérôme Duval
4c74bde8e5 Added support for timezone files which are parsed at configure time.
This allows jam to know which targets are expected.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10030 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-19 19:24:10 +00:00
Ingo Weinhold
7c8bb86f70 Fixed getting the target parameter.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9690 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-31 23:56:16 +00:00
shatty
a17b9c0c08 improved platform targeting
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9497 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-25 08:44:06 +00:00
shatty
614026d717 first cut target identification
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9385 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-18 01:59:54 +00:00
Axel Dörfler
b45cb282a9 Now sets the variables LIBGCC_OBJECTS and LIBGCC_DIR.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8312 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-05 18:35:35 +00:00
Axel Dörfler
54d94d3929 Replaced double equal symbols with single ones - seems to be more compatible.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7753 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-05 12:31:01 +00:00
beveloper
e91f3ca1a7 Added a new Jamfile rule, called SubIncludeGPL, which can be used to conditionally
include GPL licensed add-ons into the build. As GPL licensed add-ons may not be
used with non GPL compatible applications, this rule normally is not invoked when
building the tree. However, if the user is sure that he only uses GPL compatible
software, he can use the new ./configure option --include-gpl-addons to enable
the including of GPL licensed addons that are integrated by SubIncludeGPL instead
of SubInclude.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6919 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-06 22:39:28 +00:00
Axel Dörfler
1bf10fafcb Fixed the new version identification (now uses -dumpversion instead of --version),
also added a semi-colon to the Jam line defining GCC_RAW_VERSION.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4998 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-12 20:55:52 +00:00
Ingo Weinhold
8c17a26b5c The configure script now sets the variable GCC_RAW_VERSION which is
parsed in Jamrules into a list (`.' and `-' are considered delimiters)
written into GCC_VERSION. E.g. for the GeekGadgets compiler expect
GCC_VERSION to be set to `2 9 beos 000224'. So, GCC_VERSION[1] should
contain the major version, GCC_VERSION[2] the middle one.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4997 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-12 17:47:07 +00:00
Ingo Weinhold
09c5682d91 The platform dependent header dir is explicitly included now. Changed the libgcc.a handling a bit. Re-run configure!
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3178 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-05 22:07:33 +00:00
Ingo Weinhold
7209d830c8 Moved BuildConfig into build/.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2025 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-20 00:43:42 +00:00
beveloper
405439be5c unified Bochs debugging option
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1304 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-30 02:23:36 +00:00
Bruno G. Albuquerque
b1b72e8797 Automatically add the Bochs keyboard hack when --bochs-debug is used in the configure script.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1221 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-28 01:37:00 +00:00
Ingo Weinhold
f2578b0a59 Set the variables in BuildConfig with ?= which allows for overriding them with environment variables.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@277 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-17 16:27:37 +00:00
lillo
2b94bc7ba9 hopefully fixed the bochs debug issue
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@252 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-16 12:39:57 +00:00
lillo
c4786ea6c4 Made bochs e9 hack switchable by configure
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@249 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-15 23:42:06 +00:00
Ingo Weinhold
022fa24472 Added handling of floppy location parameter.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@227 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-14 22:09:44 +00:00
ejakowatz
52a3801208 It is accomplished ...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-09 12:24:59 +00:00