Commit Graph

259 Commits

Author SHA1 Message Date
Matt Madia
d68208fa16 Use double parenthesis for math expressions.
This allows FreeBSD with a pure /bin/sh (not a symlink to /bin/bash) to build
the cross-tools to a dedicated directory, outside of the generated folder.
2013-09-22 13:57:53 -04:00
Ingo Weinhold
86de8c37b5 Use GNU make also for building gcc 2
Should fix the build on {Free,Open}BSD.
2013-08-22 12:32:20 +02:00
Ingo Weinhold
cc91b333be configure: update required legacy compiler version 2013-08-21 16:45:48 +02:00
Ingo Weinhold
483b28e478 Add option --target-arch
On Haiku it allows to specify the target architecture to build for
using one of the installed native compilers.
2013-08-12 17:18:02 +02:00
Ingo Weinhold
68ccc98930 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.
2013-08-04 17:21:20 +02:00
Ingo Weinhold
c0e8cc1a13 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.
2013-07-25 23:52:49 +02:00
Ingo Weinhold
ef57df3d81 configure: remove BeOS support
Likely doesn't work anymore anyway.
2013-07-25 23:52:49 +02:00
Ingo Weinhold
e173a1ec1c Integrate building the HaikuPorts bootstrap packages
* Add configure option --bootstrap which allows specifying the
  haikuporter and HaikuPorts repository paths.
* Add rules for supporting a second repository type. The
  PackageRepository rule is now private and RemotePackageRepository is
  used for remote repositories. The new BootstrapPackageRepository rule
  is for defining a bootstrap repository (there will probably be only
  the HaikuPorts cross repository) whose packages can be built as needed
  via haikuporter.
* Rename DownloadPackage to FetchPackage.
* Define repository HaikuPortsCross.
* HaikuCrossDevel package(s): There are now two sets of packages: A
  "stage1" set with the same content as before and a final set
  additionally containing the libraries libbe, libnetwork, libpackage.
  Those are needed for building the libsolv bootstrap package while for
  building them we need other bootstrap packages (ICU, libz).

This is basically all that's required to build a bootstrap Haiku
completely from sources, with a few caveats:
* There's no ICU bootstrap recipe yet (so one has to cheat and use the
  prebuilt package ATM).
* Probably doesn't work on Haiku yet (tested on Linux only).
* A 32 bit environment must be used (otherwise building the gcc 2
  bootstrap package fails).
* Building with multiple jobs doesn't work yet, since haikuporter uses
  common directories for building different packages and there's no
  explicit serialization yet.
* Haven't tested the resulting image save for booting it. So it probably
  needs a bit more work before it can actually build the final
  HaikuPorts packages.
2013-07-21 04:10:48 +02:00
Ingo Weinhold
fc8967f1a6 Determine HAIKU_CPU and HAIKU_PACKAGING_ARCH in configure
... instead of in BuildSetup.
2013-07-20 01:01:21 +02:00
Oliver Tappe
983aba2983 Adjust configure script to new version of legacy compiler. 2013-07-15 17:32:44 +02:00
Ingo Weinhold
3942ca0d5e configure: fix sha256sum/sha256 checks 2013-07-06 12:19:46 +02:00
Ingo Weinhold
2a5d0aafa6 configure: set new variable HOST_SHA256
sha256sum and sha256 are detected.
2013-07-06 02:17:15 +02:00
Ingo Weinhold
2ebcd86dfe Add configure option --host-only
When specified, the build will be configured for building build host
tools only.
2013-07-03 23:19:00 +02:00
Ingo Weinhold
bc96e8f30c Add more robust generic attribute emulation variant
The new configure option "--use-xattr-ref" enables an xattr assisted
variant of the generic attribute emulation. Instead of using the inode
ID of a node to identify its attribute directory, we use a reasonably
unique random 128 bit number, which we generate and attach as an
attribute to the node. This way, when a node changes its inode ID
(defragmentation?) or the inode ID of a removed node with a left-over
attribute directory is reused, attributes won't get mixed up.

The old method is still used for symlinks (since on Linux only
priviledged users can write attributes on symlinks), but those usually
only have a rather boring BEOS:TYPE attribute, so mix-ups wouldn't be
that problematic anyway.
2013-06-07 02:27:48 +02:00
Oliver Tappe
dff45dfced Updated version of compiler to match BuildtoolsPM 2013-05-19 21:35:39 +02:00
Ingo Weinhold
25a7b01d15 Merge branch 'master' into package-management
Additional changes:
* Add src/system/kernel/lib/zlib, which builds a kernel version of zlib,
  needed by packagefs.
* BuildFeatures: Add a build feature "gcc2" to allow for easier checks.
* Referenceable.cpp: Include <OS.h> instead of <debugger.h>. The latter
  is not needed and prevents building for the build platform.
* zlib/zutil.h: Fix gcc 2 build. We really should use the external
  package instead.

Conflicts:
	.gitignore
	build/jam/BuildSetup
	build/jam/FileRules
	build/jam/FloppyBootImage
	build/jam/HaikuImage
	build/jam/ImageRules
	build/jam/KernelRules
	build/jam/NetBootArchive
	build/jam/OptionalBuildFeatures
	build/jam/OptionalLibPackages
	build/jam/OptionalPackageDependencies
	build/jam/OptionalPackages
	build/scripts/build_haiku_image
	configure
	data/bin/installoptionalpackage
	data/system/boot/Bootscript
	headers/os/app/Message.h
	headers/os/package/PackageInfo.h
	headers/os/package/PackageInfoAttributes.h
	headers/os/package/PackageInfoSet.h
	headers/os/package/PackageRoster.h
	headers/os/package/PackageVersion.h
	headers/os/package/hpkg/PackageInfoAttributeValue.h
	headers/os/storage/FindDirectory.h
	headers/os/storage/Node.h
	headers/os/support/StringList.h
	headers/private/system/directories.h
	src/add-ons/kernel/drivers/audio/ac97/es1370/Jamfile
	src/add-ons/kernel/file_systems/packagefs/AttributeIndex.cpp
	src/add-ons/kernel/file_systems/packagefs/Jamfile
	src/add-ons/kernel/file_systems/packagefs/Package.cpp
	src/add-ons/kernel/file_systems/packagefs/Package.h
	src/add-ons/kernel/file_systems/packagefs/PackageDomain.cpp
	src/add-ons/kernel/file_systems/packagefs/PackageDomain.h
	src/add-ons/kernel/file_systems/packagefs/PackageFSRoot.cpp
	src/add-ons/kernel/file_systems/packagefs/PackageLinkDirectory.cpp
	src/add-ons/kernel/file_systems/packagefs/PackageLinkDirectory.h
	src/add-ons/kernel/file_systems/packagefs/PackageLinkSymlink.cpp
	src/add-ons/kernel/file_systems/packagefs/PackageLinkSymlink.h
	src/add-ons/kernel/file_systems/packagefs/PackageLinksDirectory.cpp
	src/add-ons/kernel/file_systems/packagefs/PackageNode.h
	src/add-ons/kernel/file_systems/packagefs/ResolvableFamily.cpp
	src/add-ons/kernel/file_systems/packagefs/Version.cpp
	src/add-ons/kernel/file_systems/packagefs/Version.h
	src/add-ons/kernel/file_systems/packagefs/Volume.cpp
	src/add-ons/kernel/file_systems/packagefs/Volume.h
	src/add-ons/kernel/file_systems/packagefs/kernel_interface.cpp
	src/add-ons/kernel/file_systems/userlandfs/shared/driver_settings.c
	src/apps/deskbar/BarApp.cpp
	src/apps/deskbar/BarMenuBar.cpp
	src/apps/deskbar/BarMenuBar.h
	src/apps/deskbar/BarView.cpp
	src/apps/deskbar/BarView.h
	src/apps/deskbar/BarWindow.cpp
	src/apps/deskbar/BarWindow.h
	src/apps/deskbar/DeskbarMenu.cpp
	src/apps/deskbar/DeskbarMenu.h
	src/apps/deskbar/DeskbarUtils.cpp
	src/apps/deskbar/DeskbarUtils.h
	src/apps/deskbar/ExpandoMenuBar.cpp
	src/apps/deskbar/ExpandoMenuBar.h
	src/apps/deskbar/TeamMenu.cpp
	src/apps/processcontroller/ProcessController.cpp
	src/apps/remotedesktop/RemoteDesktop.cpp
	src/bin/bash/config-top.h
	src/bin/finddir.c
	src/bin/package/Jamfile
	src/bin/package/command_add.cpp
	src/bin/package/command_create.cpp
	src/bin/package/command_list.cpp
	src/bin/package_repo/command_list.cpp
	src/bin/pkgman/command_refresh.cpp
	src/build/libbe/support/Jamfile
	src/build/libpackage/Jamfile
	src/build/libroot/Jamfile
	src/build/libroot/fs.cpp
	src/build/libroot/remapped_functions.h
	src/kits/locale/MutableLocaleRoster.cpp
	src/kits/opengl/GLRendererRoster.cpp
	src/kits/package/PackageInfo.cpp
	src/kits/package/PackageInfoSet.cpp
	src/kits/package/PackageRoster.cpp
	src/kits/package/PackageVersion.cpp
	src/kits/package/RepositoryCache.cpp
	src/kits/package/hpkg/PackageWriterImpl.cpp
	src/kits/package/hpkg/ReaderImplBase.cpp
	src/kits/package/hpkg/WriterImplBase.cpp
	src/kits/print/PrintTransport.cpp
	src/kits/print/Printer.cpp
	src/kits/screensaver/ScreenSaverRunner.cpp
	src/kits/support/StringList.cpp
	src/kits/tracker/ContainerWindow.cpp
	src/kits/tracker/DeskWindow.cpp
	src/kits/tracker/PoseView.cpp
	src/libs/print/libprint/Transport.cpp
	src/preferences/printers/AddPrinterDialog.cpp
	src/preferences/screensaver/ScreenSaverWindow.cpp
	src/servers/debug/DebugServer.cpp
	src/servers/input/AddOnManager.cpp
	src/servers/media_addon/MediaAddonServer.cpp
	src/system/boot/Jamfile
	src/system/boot/loader/Jamfile
	src/system/boot/loader/loader.cpp
	src/system/boot/loader/vfs.cpp
	src/system/kernel/fs/vfs.cpp
	src/system/kernel/fs/vfs_boot.cpp
	src/system/libroot/os/find_directory.cpp
	src/system/runtime_loader/runtime_loader.cpp
	src/tools/package/Jamfile
2013-05-05 15:03:26 +02:00
Oliver Tappe
e25f5f75e8 Update required version of legacy compiler in configure 2013-04-26 16:28:07 +02:00
Oliver Tappe
5c01289f68 Adjust configure script to changed compiler version 2013-04-21 23:22:19 +02:00
Jerome Duval
0837d6c650 GCC4 cross tools: builds with ppl and cloog when --use-gcc-graphite is given 2013-04-06 14:32:12 +02:00
Jerome Duval
ed38d2efcc Forgot to add the usage for --use-gcc-graphite 2013-04-06 14:07:24 +02:00
Jerome Duval
748c10f222 Added a configure option to activate Graphite compilations flags
* check if GCC actually supports Graphite flags when the option
  --use-gcc-graphite is used
2013-04-06 13:58:46 +02:00
Matt Madia
35f3908149 Use strip provided by the cross-tools.
This allows a 32-bit host to successfully build x86_64.
2013-01-04 12:42:26 +00:00
Alex Smith
11c9f9a1d6 Merge branch 'master' into x86_64
Conflicts:
	build/jam/FloppyBootImage
	build/jam/OptionalBuildFeatures
	build/jam/OptionalPackages
	headers/private/shared/cpu_type.h
	src/bin/ps.c
	src/bin/sysinfo.cpp
	src/kits/tracker/PoseView.cpp
	src/preferences/appearance/DecorSettingsView.cpp
	src/preferences/virtualmemory/Settings.cpp
	src/servers/input/AddOnManager.cpp
	src/servers/input/InputServer.cpp
	src/servers/input/InputServerMethod.cpp
	src/system/boot/Jamfile
	src/system/boot/platform/raspberrypi_arm/mmu.cpp
	src/system/boot/platform/u-boot/arch/arm/Jamfile
	src/system/kernel/arch/x86/arch_cpu.cpp
	src/system/kernel/arch/x86/arch_thread.cpp
	src/system/kernel/cache/block_cache.cpp
	src/system/kernel/vm/VMAnonymousCache.cpp
2012-11-18 14:02:07 +00:00
Joseph R. Prostko
54295d081f Updated configure script due to GCC2 update
* The GCC2 buildtool sources were updated, so change the date
* A new GCC2 optional package will be added later today
+alpha 4 (build will break otherwise)
2012-10-31 23:33:20 -04:00
Joseph R. Prostko
4fa936c1dd Update required legacy GCC version 2012-10-12 21:13:52 -04:00
Alex Smith
4591ebc99a Fixes for building Haiku x86_64 from itself. 2012-08-18 19:57:46 +01:00
Alex Smith
aaeadfcb02 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"`
2012-08-16 17:38:01 +01:00
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
Alex Smith
b77772725c Changed x86_64 toolchain target to x86_64-unknown-haiku. 2012-08-01 11:46:44 +01:00
Alex Smith
bd16f0dd82 Fixed configure for legacy buildtools.
The elfedit tool doesn't exist with the old binutils, so configure was
failing when it tried to get the path to it. Only try to search for it
if building GCC 4.
2012-07-30 08:25:16 +01:00
Alex Smith
0efc5e72dc Merge branch 'master' into x86_64 2012-07-28 16:29:41 +01:00
Alex Smith
0d47dc5dd2 Fixed incorrect variable name in generated BuildConfig. 2012-07-28 16:26:07 +01:00
Alex Smith
385d69fc01 Made it possible to build kernel modules for x86_64.
Added the necessary build flags for modules, and added a module (dpc)
to the floppy image for x86_64 builds for testing purposes. The module
gets loaded correctly and its code runs without issue. Only non-trivial
addition is the different method for generating kernel.so, this is
explained in the kernel Jamfile.
2012-07-19 17:53:46 +01:00
Alex Smith
98614a9658 Merge branch 'master' into x86_64 2012-07-12 11:33:39 +01:00
Alex Smith
97f5a0bd35 Fixed case-sensitive filesystem check. 2012-07-11 17:41:52 +01:00
Alex Smith
fc644104ac Merge branch 'master' into x86_64 2012-07-11 12:24:47 +01:00
Alex Smith
0962132cc6 Fixed Mac OS X 10.7 as a build platform (for GCC 4).
* Use gcc and g++ rather than cc and c++, as the latter now point to
  clang with recent Xcode versions and compilation of the host tools
  fail for various reasons with it.
* Replace the case-sensitive filesystem check with a more basic one,
  as diskutil no longer supports the behaviour of getting info for the
  volume that any path is on.
* Updated ReadMe with a correct list of prerequisites for OS X.
* GCC 2 builds are still broken due to a strange error that only
  occurs with a GCC 2 built on OS X 10.7
2012-07-10 19:33:39 +01:00
Alex Smith
65ad1ba320 Made it possible to build the bootloader when targetting x86_64.
* x86_64 is using the existing *_ia32 boot platforms.
* Special flags are required when compiling the loader to get GCC to compile
  32-bit code. This adds a new set of rules for compiling boot code rather
  than using the kernel rules, which compile using the necessary flags.
* Some x86_64 private headers have been stubbed by #include'ing the x86
  versions. These will be replaced later.
2012-05-26 21:47:27 +01:00
John Scipione
19d28b2205 Fix configure script to correctly detect case-sensitive file system 2012-03-05 23:13:13 -05:00
John Scipione
5e4d3774eb Change m86k to m68k in configure script. Fixes ticket #8239. 2011-12-15 01:22:04 -05:00
Oliver Tappe
c51014771d Adjust required legacy gcc version. 2011-11-22 19:00:22 +01:00
Ingo Weinhold
19ae20e67e Merge branch 'master' into pm-flat
Conflicts:
	build/jam/HaikuImage
	build/jam/OptionalBuildFeatures
	build/jam/OptionalPackages
	build/jam/UserBuildConfig.sample
	data/bin/installoptionalpackage
	src/apps/deskbar/DeskbarMenu.cpp
	src/servers/debug/DebugServer.cpp
	src/system/kernel/fs/vfs.cpp
2011-11-05 17:00:01 +01:00
Ingo Weinhold
bd291de302 Remove yasm check. Looks like I had accidentally (?) disabled the
version already.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43165 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-03 14:27:39 +00:00
Ingo Weinhold
b55bd1da25 configure: Update required gcc 2 version 2011-07-17 17:09:23 +02:00
Oliver Tappe
3dfd9cb95c Flat commit of all changes from package-management branch in svn 2011-07-17 16:54:06 +02:00
Ingo Weinhold
25dc253d6a * Merged weak-symbols branch.
* Fixed trivial merge conflict in src/system/libroot/posix/locale/nl_langinfo.cpp
* Fixed gcc 2 compilation of src/system/glue/init_term_dyn.c.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39571 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-11-22 13:06:36 +00:00
Oliver Tappe
9a00115643 Last part of #3298:
* applied patch by VinDuv that adds a Perl-based implementation of readlink,
  which is needed on Mac OX X, as that doesn't have any of the other fallbacks
  - thanks!
IIRC, other people have managed to configure without this on Mac OS X, but
I suppose no harm can be done by providing this as last resort.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38454 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-30 16:17:36 +00:00
Axel Dörfler
f9bb7404fa * Updated the GCC2 package to version -100818. This will soon be needed to be
able to build Haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38376 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-26 14:31:52 +00:00
Oliver Tappe
c3bcd1ce7c * remove references to timezone files, as those no longer exist
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37776 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-27 19:30:02 +00:00
Oliver Tappe
7a5c50f900 * updated optional package for gcc2 to gcc-2.95.3-x86-gcc2-2010-07-12
(a version that correctly deals with utf-8 chars in wide character literals)
* adjusted required gcc2 version in configure

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37483 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-12 19:32:24 +00:00
Ingo Weinhold
97901ec593 Patch by Nathan Mentley:
* Added a few header files in headers/posix/arch that'll allow for an x86_64
  haiku target to be compiled. fenv.h is src/lib/msun/amd64/fenv.h from
  freebsd.
* configure: Added support for x86_64 arch when running
  build_cross_tools_gcc4.
* config[_build]/HaikuConfig.h, BuildSetup: Added x86_64 recognition.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36794 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-11 19:40:06 +00:00
Ingo Weinhold
51355c1037 Axel changed the HAIKU_ADD_ALTERNATIVE_GCC_LIBS semantics. Init to 0.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36385 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-20 19:27:58 +00:00
Ingo Weinhold
138f5fb42a Just check which's return value -- no need for test and output capturing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36384 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-20 19:01:53 +00:00
Ingo Weinhold
b6c7c42861 Burn the witches.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36383 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-20 18:55:04 +00:00
Ingo Weinhold
089cfbf774 Updated required legacy gcc version.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36381 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-20 18:19:37 +00:00
Matt Madia
b29b48b116 A further refinement to support realpath when available.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36364 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-20 03:16:36 +00:00
Matt Madia
b4b6d83c5a Reworks 36361 to not assume that greadlink is installed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36363 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-20 02:36:56 +00:00
Matt Madia
7fe2e06cfd Replaced '&> /dev/null' with '> /dev/null 2>&1'.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36362 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-20 02:18:54 +00:00
François Revol
ff3c7b9645 Use greadlink when found, as the BSD readlink has no clue about the -e option.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36361 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-19 23:41:59 +00:00
Ingo Weinhold
3f9f9f9aee * Resolve symlinks to the standard libraries as suggested by Andreas Faerber.
Fixes #5744.
* Removed commented obsolete code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36355 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-19 16:29:23 +00:00
Ingo Weinhold
76fa0be374 Patch by Matt Madia:
* Renamed DownloadFile to DownloadLocatedFile.
* Pulled a generalized rule DownloadFile out of DownloadOptionalPackage.
* Added InstallSourceArchive rule which can be used in OptionalPackages to
  add sources for installed packages to the image.
* Added configure option --include-sources to enable including the sources
  for third party software in the image.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35617 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-25 16:13:22 +00:00
Ingo Weinhold
ab2540c49c 80 columns limit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35401 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-03 21:23:52 +00:00
Ingo Weinhold
7986925f9f Use the same names for the HAIKU_[HOST_]USE_32BIT and HAIKU_[HOST_]USE_XATTR
variables in the script and in generated BuildConfig file. Otherwise the
--update option wouldn't correctly pick it up.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35400 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-03 21:21:39 +00:00
Ingo Weinhold
ffe8b20cda Clear HAIKU_SHARED_LIBSTDC++ and HAIKU_SHARED_LIBSUPC++ when the compiler
doesn't know them. Not sure why that was commented out -- only this way the
build system knows that the libs aren't available. Fixes the non-Haiku build.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35397 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-03 20:37:23 +00:00
Ingo Weinhold
441945d568 Whitespace cleanup. Someone should check his editor settings. :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35005 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-11 02:55:41 +00:00
François Revol
c505b2765b Patch by Matt Madia: detect host sfdisk in configure for ARM, including the FreeBSD port.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34940 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-07 22:08:12 +00:00
Oliver Tappe
7c4641d0af * added --update option to configure which will re-run the last invocation
(--update must be given as first option, but can be followed by others)
* added simple perl scripts that is used by configure to convert BuildSetup
  from jam to shell format



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34896 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-04 19:36:58 +00:00
Ingo Weinhold
3e5498e4c9 Patch by Andreas Färber modified by myself:
* Determine HOST_LD and HOST_OBJCOPY in configure.
* Removed Solaris ld work-around in BuildSetup.

The change requires configure to be re-run. Alternatively HOST_{LD,OBJCOPY}
can be added to generated/build/BuildConfig.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34892 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-04 17:50:52 +00:00
François Revol
55d267a46d Make configure dump its invocation arguments to the BuildConfig file to allow for easier rerun later, as I'm getting tired to figure each of them each time someone adds some config variable...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34867 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-03 03:05:12 +00:00
Ingo Weinhold
0b58d8440c * Prefixed the INCLUDE_GPL_ADDONS variable by "HAIKU_". configure needs to
be run again or generated/build/BuildConfig needs to be adjusted manually.
* Removed bochs debug hack.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34721 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-20 13:55:45 +00:00
Ingo Weinhold
a85cf9d793 * configure: Pass gcc's host machine string to the jam build system.
* BuildSetup: Set jam variable HOST_PLATFORM_IS_64_BIT and add host define
  HAIKU_HOST_PLATFORM_64_BIT if the host platform is 64 bit. Removed the
  check from BeOSBuildCompatibility.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34211 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-24 18:57:49 +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
Axel Dörfler
3578c56a15 * Moved timezone and keymap source files to the correct place in the repository.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33984 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-10 13:48:56 +00:00
Michael Pfeiffer
0651c859cf In OS X 10.6 diskutil returns an error for ".". Now pass the absolute path of the current working directory.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32922 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-03 16:25:23 +00:00
Axel Dörfler
67838392dc * Applied stippi's no-patents patch, but without the ffmpeg part, as that one
is obviously already configured not to use patented code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32577 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 17:20:23 +00:00
Oliver Tappe
16d5c24e53 * merged 32bit-wchar_t branches of buildtools and haiku back into
the respective trunk

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31443 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-07 10:30:09 +00:00
François Revol
23eb9a9e82 Set default ARFLAGS to cru instead of ru. No functionnal change, but it should suppress a warning about ar needing to create the archive.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31314 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-29 11:01:46 +00:00
Michael Lotz
3ecc528774 On Darwin/Mac OS X use diskutil to determine if the volume we configure on is a
case-sensitive one. If not, print out a message and a link to the guide that
describes how to set one up.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30913 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-30 00:38:43 +00:00
François Revol
a21fdd20f1 This check doesn't work when used inside linux32... just remove it. Use linux32 ./configure --use-32bit
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30779 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-17 02:44:44 +00:00
Jérôme Duval
161ad3558d added other target architectures (m68k, arm, mipsel).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30246 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-18 18:37:07 +00:00
Ingo Weinhold
92696166d0 * Removed debug output accidentally committed.
* Also allow yasm 0.7.{0,1} -- they have been reported to successfully build
  at least.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30152 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-14 00:07:31 +00:00
Ingo Weinhold
77e84f219a configure does now check the yasm version for target architecture x86, and
sets the HAIKU_YASM build variable, which will be checked in BuildSetup.
Re-running configure or adding the variable manually to
generated/build/BuildConfig is required.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30145 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-13 10:50:17 +00:00
Jonas Sundström
3e62a75547 humble mips beginnings
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30139 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-12 21:17:18 +00:00
Ingo Weinhold
292e63bf9f * Applied (slighly modified) patch by Matt Madia: When the
--alternative-gcc-output-dir configure option has been specified,
  HAIKU_ADD_ALTERNATIVE_GCC_LIBS is set by default. One has to explicitely
  unset it in UserBuildConfig to avoid building the alternative gcc libs.
* Adjusted documentation accordingly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29607 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-19 12:06:15 +00:00
Ingo Weinhold
5abd9a464d Whitespace cleanup and variable renaming for consistency. No functional
change.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29315 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-02-24 14:20:24 +00:00
Ingo Weinhold
308c212c31 Patch by Matt Madia: Added automatic detection of 32 or 64 bit mode.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29314 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-02-24 14:14:40 +00:00
Michael Lotz
4a9f6b4a06 Add support for the arm target as well. Not that we'd support it in any way yet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29142 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-02-06 23:09:47 +00:00
Ingo Weinhold
64f6da317c Patch by Matt Madia (slightly modified): Extended the usage text by some
info regarding non-default output directories.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29128 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-02-03 01:08:40 +00:00
Michael Lotz
1421048866 Check the presence of the C++ header dir. The native and cross GCC4 do have
different directory layouts and this way we can still use a native compiler
as a cross compiler since we don't make the decision based on whether we are
cross compiling or not.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29082 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-01-28 22:24:13 +00:00
Michael Lotz
55751274e7 Fix C++ header location.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29076 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-01-28 16:53:01 +00:00
Michael Lotz
28b5bc7576 The include-fixed directory is a normal default include dir on GCC4.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29070 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-01-28 02:08:39 +00:00
Ingo Weinhold
83d554a7a4 Require new GCC version.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28327 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-25 14:19:21 +00:00
François Revol
ff1beff8d1 Add OpenBSD to the list of supported build platforms.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28251 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-20 19:44:06 +00:00
Maurice Kalinowski
e688a433ca julun+mauricek:
* add Cygwin to the list of supported platforms

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26583 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-23 21:38:49 +00:00
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