History log of /haiku-fatelf/build/jam/BuildSetup
Revision Date Author Comments
# 058f84c3 19-Jan-2013 Jerome Duval <jerome.duval@gmail.com>

Follow up to hrev45127

* check whether HAIKU_STRIP variable is set
* use AddVariableToScript instead of AddTargetVariableToScript
since $(HAIKU_STRIP) isn't a jam target.


# 5f4df83c 18-Nov-2012 Alex Smith <alex@alex-smith.me.uk>

Fixed ARM build.


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

HPGSTranslator: fix the build

* add missing definition since libpng upgrades
* don't treat warnings as errors


# 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.


# caf06f6e 30-Jul-2012 Matt Madia <mattmadia@gmail.com>

Added 'device' to the library name map. Fixes #8800 per korli.


# 385d69fc 19-Jul-2012 Alex Smith <alex@alex-smith.me.uk>

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.


# 0962132c 10-Jul-2012 Alex Smith <alex@alex-smith.me.uk>

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


# 898b29e3 05-Jul-2012 Alex Smith <alex@alex-smith.me.uk>

Added temporary stack trace function to x86_64.

Will be merged with the x86 one later on. Requires -fno-omit-frame-pointer on
the kernel build flags, GCC defaults to not generating stack frames on x86_64.


# da80a050 02-Jul-2012 Alex Smith <alex@alex-smith.me.uk>

Preparation for merge of x86 and x86_64 kernel sources.

Since x86 and x86_64 share a lot of common code, x86_64 kernel sources/headers
are going to reside under headers/private/kernel/arch/x86 and
src/system/kernel/arch/x86 along with the existing x86 code. This commit
changes the build system to handle this. A new variable, TARGET_KERNEL_ARCH,
has been added. This is the name of the kernel/boot architecture directory
name, set to x86 on both x86 and x86_64. This is now used in all places where
TARGET_ARCH was used to get to kernel arch sources/headers (I've changed
everything necessary as far as I can tell). Kernel won't build for x86_64
at the moment as the sources have not been merged, loader does.


# 6f6d78e8 25-Jun-2012 Alex Smith <alex@alex-smith.me.uk>

Cleaned up ELF64 address handling.

* platform_allocate_elf_region() is removed, it is implemented in platform-
independent code now (ELF*Class::AllocateRegion). For ELF64 it is now
assumed that 64-bit addresses are mapped in the loader's 32-bit address space
as (address - KERNEL_BASE_64BIT + KERNEL_BASE).
* mapped_delta field from preloaded_*_image removed, now handled compile-time
using the ELF*Class::Map method.
* Also link the kernel with -z max-page-size=0x1000, removes the need for
2MB alignment on the data segment (not going to map the kernel with large
pages for the time being).


# cfd1c180 19-Jun-2012 Alex Smith <alex@alex-smith.me.uk>

Add -march=pentium to boot {CC,C++}FLAGS on x86_64, prevents GCC from generating SSE code.


# 8c0e3c95 15-Jun-2012 Alex Smith <alex@alex-smith.me.uk>

Add -mno-red-zone to the kernel CCFLAGS/C++FLAGS.

The red zone is a 128-byte area below the stack pointer specified by the
AMD64 ABI that can be used by leaf functions for their stack frame without
modifying the stack pointer. It is guaranteed not to be modified by signal
handlers. This cannot be used in kernel mode code, as an interrupt handler
could overwrite it, so stop GCC from generating code that uses it.


# 65ad1ba3 26-May-2012 Alex Smith <alex@alex-smith.me.uk>

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.


# 38847644 11-May-2012 François Revol <revol@free.fr>

Include BoardSetup from BuildSetup

* while it seemed to work before, BuildSetup was actually adding includes from the default boot platform, before BoardSetup had a chance of changing it.


# 80a21513 28-Apr-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

BuildSetup: Enable other platforms besides u-boot on arm


# 60f75e90 04-Apr-2012 Oliver Tappe <zooey@hirschkaefer.de>

Merge liblocale.so into libbe.so.

* Make the locale kit a part of libbe.
* Drop the LocaleBackend kludge used from within libbe (and from
other places, too) in order to access system catalog strings.
This is now done via gSystemCatalog, which is provided and initialized
by libbe.
* Drop all references to liblocale.so from all Jamfiles.
* Add legacy symlink liblocale.so in order to keep optional packages
that rely on it in a working state.

TODO: the documentation hasn't been updated.


# eb5f3639 12-Feb-2012 Jerome Duval <jerome.duval@gmail.com>

Fixes some occurrences of 'variable set but not used', disables Werror for problematic items.


# 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


# 17e82349 06-Jan-2012 Michael Lotz <mmlr@mlotz.ch>

Remove coreutils and tcpdump from the DEBUG blacklist.

The DEBUG build for these has been fixed in hrev43636 and hrev43637
respectively.


# 31c110be 28-Dec-2011 Urias McCullough <umccullough@gmail.com>

Remaining subdirs that cannot be compiled with DEBUG=1

Signed-off-by: Michael Lotz <mmlr@mlotz.ch>


# 8ad8d2e5 15-Dec-2011 Oliver Tappe <zooey@hirschkaefer.de>

Activate -Werror for POSIX locale backend and the code using it.


# 34b63b5b 10-Dec-2011 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

Remove libbe_build linking m from earlier commit and add -lm to HOST_LINK_FLAGS on non BeOS compatible platforms.
(HOST_LIBROOT would need more work than just adding m so I went the easy route.)


# 692e9b11 25-Nov-2011 Oliver Tappe <zooey@hirschkaefer.de>

Build fix part 2: active libroot_build.a again:

* uncomment the building of libroot_build.a again
* add function remapper to HOST_STATIC_LIBROOT
* drop TODO about the function remapper not working with the static
libroot

Ingo: please review - I think this should work, but I'm not so sure
where HOST_STATIC_LIBROOT should be in the list of libraries of its
only user (<build>bfs_fuse): where it is now or right at the end?

As it is now, the resulting binary still contains references to
host-libc-implementations of close() & others, which are triggered by
the other libs (like libfuse.so). If I put HOST_STATIC_LIBROOT right at
the end, those references are gone, though. But which is correct?


# 55bc3719 30-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Wrap POSIX FD functions in libroot_build

This makes opening symlinks work universally in the build system tools.
Two mechanisms have been implemented, both of which don't always work.
The first is remapping via preprocessor macros. This fails where equally
named methods are used (e.g. STL fstream::open()). The other is using
hidden functions in the new libroot_build_function_remapper.a that is
linked into everything that is linked against libroot_build.so. This one
fails for functions that are defined inline in headers (Linux/glibc does
that). Together they seem to cover our build system needs ATM.


# b33a1b1c 12-Nov-2011 François Revol <revol@free.fr>

PowerPC platform might not always be OpenFirmware


# 6c6edebc 12-Nov-2011 Travis Geiselbrecht <geist@foobox.com>

[build][OSX] revise the darwin test to darwin10 and darwin11, not a wildcard

As PulkoMandy pointed out on IRC, darwin10 and 11 (10.6 and 10.7) are at least partially 64bit, so
the test only applies there. When darwin12 comes out it'll have to be fixed.


# b2916b0c 12-Nov-2011 Travis Geiselbrecht <geist@foobox.com>

Fix build on OSX Lion, which has apparently bumped the darwin version to darwin11


# cd3e0931 16-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Fix x86_64 BuildConfig issues

* Resolve TODO: HOST_GCC_BASE_FLAGS should not be included in
HOST_LDFLAGS. Enable adding "-fno-strict-aliasing -fno-tree-vrp"
accordingly.
* Fix handling of HOST_PLATFORM_IS_64_BIT and HAIKU_HOST_USE_32BIT: The
former does now state whether the platform is effectively treated as
64 bit platform, i.e. it actually is 64 bit and the 32 bit mode is
not enforced. HAIKU_HOST_USE_32BIT is now only set when the platform
is actually 64 bit, but 32 bit mode is enforced.


# 1c2d7d3a 16-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed x86_64 handling by the build system.

* Map build variables HOST_CPU and HOST_ARCH to x86_64, if it they are
* x86 and
64 bit and define the __x86_64__ C macro instead of __INTEL__ in that
case.
* <OS.h>: Also handle __x86_64__.


# 174240f9 06-Nov-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* move DSO policy changes down a few lines to go under C/C++ flags section
* ensure host isn't darwin as Apple doesn't use binutils


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


# c0ea2063 04-Nov-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* undo r43186
* fix build due to changes in DSO Linking the right way
as per bonefish.
* we may need to check host GCC version here... can't find
when this option was introduced
* fixes #8031


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


# 2d980c7f 03-Nov-2011 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

Reworked the way HAIKU_CCFLAGS, HAIKU_C++FLAGS and their kernel equivalents are set.
The flags given to configure are kept and the build just adds its own flags onto these.
Also the kernel flags are also based on the flags given at configure.
I suspect this will be needed for llvm.



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


# e88ace80 02-Nov-2011 François Revol <revol@free.fr>

Leave a bit more room for the boot drivers tgz archive, but sadly it's not enough.


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


# eab1b0e8 29-Oct-2011 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

BuildSetup wasn't caring about HAIKU_CCFLAGS or HAIKU_C++FLAGS set at configuring time.

A bit out of my comfortzone with, so please tell me if I'm wrong.



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


# fdecfdb3 24-Aug-2011 Matt Madia <mattmadia@gmail.com>

Increase the size of the default raw and default vmware image.


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


# 4cc4f7bb 14-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added KMessage to libroot_build.
* libbe_build: Where possible we directly use the actual Haiku headers and
sources, now. In the headers/build headers we just include the respective
Haiku headers as needed. That still allows overrides where necessary. The
intention is to make it easier to keep the build stuff in sync.
* Fixed a few printf() format and signed/unsigned comparison warnings.


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


# bb7a272f 12-Feb-2011 Jérôme Duval <korli@users.berlios.de>

bumped up default image size to 230MB


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


# 500bb630 21-Jan-2011 Oliver Tappe <zooey@hirschkaefer.de>

* WIP-commit of the first parts of the package kit and the pkgman
(console-)tool


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


# db2b2bd6 02-Nov-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Resolved TODO (gcc 4 .eh_frame support).


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


# 9217a573 31-Oct-2010 François Revol <revol@free.fr>

The 68k bootloader will get fatter with video handling...


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


# 710dac23 27-Oct-2010 François Revol <revol@free.fr>

M68K: Do not force HAIKU_BOOT_PLATFORM and make the floppy image size depend on it. One should use HAIKU_BOOT_PLATFORM={atari_m68k|amiga_m68k} now instead of setting TARGET_BOOT_PLATFORM.
Note we aren't yet at the point where jam can make you a floppy image due to broken vm stuff.
It might be interesting to also switch the extension used on the image, amiga emulators prefer .adf for ex.


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


# cc7d8990 23-Oct-2010 Rene Gollent <anevilyak@gmail.com>

When using gcc 4, disallow use of CFI asm for now. This renders executables
generated by Haiku's build sys usable with our Debugger, pending support
for gcc4's (different) exception handler frame format.



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


# d26fafe9 26-Aug-2010 Axel Dörfler <axeld@pinc-software.de>

* The arp module gives warnings in GCC4, so the typo was actually needed; this
temporarily fixes the build again.


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


# 40b788d4 27-Aug-2010 Axel Dörfler <axeld@pinc-software.de>

* Fixed typo that prevented the datalink_protocols to be compiled with -Werror.
* Enabled -Werror for the protocols.


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


# 34d9bfb0 23-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

Missed this when working on warnings a couple of days ago:
* enable -Werror for print add-ons and wonderbrush translator add-on

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


# eba0c4d6 19-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

* enabled -Werror for all apps

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


# 3605272d 19-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

* turns out src/kits/tracker was low hanging fruit, as it didn't contain any
warnings at all - enabled -Werror for all kits

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


# 1662a364 19-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

* fix the single remaining gcc2-warning in media kit and enable -Werror for it

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


# 269ebc04 19-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

Fix #6373, second try
* make BDADDR_* macros refer to value types instead of addresses
* adjust all interfaces using bdaddr_t* to use (mostly const) refs instead,
which IMHO makes the interface & code clearer
* that got rid of a couple of const incorrectness casts
* some cleanup along the way


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


# 32a2294f 19-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

* revert r38213, as it introduces initialization problems

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


# e0ef6475 17-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

* fix #6373 by switching the BD... macros to take the address of corresponding
constants, which had to be defined in several places in order to be available
in the kernel addons, network protocols and the server/kit.
* enable -Werror for all servers

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


# 8f62243f 17-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

* fix warnings in Keymap preflet about hidden virtual by renaming SetFont()
to SetBaseFont() (and fFont to fBaseFont)
* enabled -Werror for all preflets


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


# 37cebf68 17-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

* fixed all warnings in FileTypes preflet and enabled -Werror

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


# 2655efc3 17-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

Fixes to Notifications preflet
* CID-1501: protect against dynamic_cast potentially returning NULL
* additional style fixes
* fixed all warnings and enabled -Werror

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


# 529fd9af 17-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

Fixed all warnings in Shortcuts preflet and enabled -Werror for it

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


# f0900cb3 29-Jul-2010 Oliver Tappe <zooey@hirschkaefer.de>

* fixed a warning in the opengl preflet and added the current
state of things for all preflets to the EnableWerror
declarations


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


# 19aa183a 29-Jul-2010 Matt Madia <mattmadia@gmail.com>

Increased the size of the default image. Upon first boot, less than 800 KiB was
available for a gcc2hybrid.


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


# 4782f2be 27-Jul-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

* Remove now unneeded (hopefully) timezone data


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


# c090a0fd 26-Jul-2010 Oliver Tappe <zooey@hirschkaefer.de>

* updated ICU build packages with newer builds that try a bit harder to avoid
warnings and incorporate some of the ICU-patches we had in our repo before
we upgraded to 4.4.1
* fixed remaining warnings when building locale kit
* activated EnableWerror for locale kit
* added 'Unicode' license, which is the second license in use by ICU


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


# 266c6cf4 25-Jul-2010 Matt Madia <mattmadia@gmail.com>

Remove useless commented code. No functional change.


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


# 0f75e967 25-Jul-2010 Matt Madia <mattmadia@gmail.com>

Introduced a new variable, HAIKU_INCLUDE_TRADEMARKS. It used to include/exclude
files from HaikuImage and is set when HAIKU_DISTRO_COMPATIBILITY is 'official'
or 'compatible'


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


# 8c28b85e 21-Jul-2010 Oliver Tappe <zooey@hirschkaefer.de>

* one more Werror-related build fix for bluetooth

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


# eddec292 21-Jul-2010 Oliver Tappe <zooey@hirschkaefer.de>

* applied patch by kaliber that fixes more than 100 warnings - thanks a lot!
Closes #6349

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


# be6c5ba6 19-Jul-2010 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Also add debug_server, input_server and cddb_daemon to the WError list.


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


# 016386c6 18-Jul-2010 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Add midi_server, print_server and registrar to the WError list.


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


# 1e8e2989 09-Jul-2010 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Use -WError also for libdevice and libtranslation


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


# 7bbe3922 09-Jul-2010 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Enable WError for midi, midi2 and print kits (tested with both gcc2 and gcc4)


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


# 38319af8 02-Jul-2010 Matt Madia <mattmadia@gmail.com>

Updated HAIKU_DEFAULT_IMAGE_SIZE to 200 M. For some reason, building it in
Haiku causes the image file to need 193 MB; building it in FreeBSD requires
only 180 MB.


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


# 76a4353b 01-Jul-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

Add a new way of using the locale kit with static accessors instead of global variables. This has the following consequences :
* Applications don't have to declare BCatalog fCatalog themselves, it's now done automatically
* Libs and add-ons can be localized just the same way (except static libraries)
For now this new system is yet disabled as I'm looking for some peer review before going on. To enable it you have to define B_TRANSLATE_USE_NEW_MACROS in each file doing catalog access. This will not stay, I'll update the
other apps to use it.
The linking in jamfiles must be not only with liblocale.so, but also liblocalestub.a. Not sure how to handle this for user-side applications. Libraries are also required to provide a MIME signature to use any catalog.
The locale preflet is updated to the new system (as a test). Othe rapps will follow if everyone is ok with this approach.


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


# 97901ec5 11-May-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

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


# 6b28334a 05-May-2010 Axel Dörfler <axeld@pinc-software.de>

* Fixed PackageInstaller build by adding liblocale.so to the library name map.
* Ordered the map libraries alphabetically.


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


# adfe8719 25-Mar-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Added libdebug.so to the library map.


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


# 26b5ecec 15-Mar-2010 Matt Madia <mattmadia@gmail.com>

Create "anyboot-image" and define build profile rules to utilize it.


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


# 25daf1cf 03-Feb-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

* Build libsupc++.so and libstdc++.so only when they aren't provided by the
compiler. Fixes #5322 (the ones in /boot/develop would be overwritten).
* Simplified the Jamfile building these libraries.


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


# ce891238 20-Jan-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch partially by Samuel Rodríguez Pérez:
* Added amd64-* as supported host gcc machine.
* Added work-around for AMD64 FreeBSD 8: It only has a static libsupc++,
which prevents us from building shared libraries, so we use the shared
libstdc++ instead.


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


# 4f7b2c67 11-Jan-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

* gcc 4 features built-ins for atomic operations. If the macro
B_USE_BUILTIN_ATOMIC_FUNCTIONS is defined most atomic_*() functions are
redefined as macros using the built-ins directly.
* Enabled that feature for the x86 build. Might work on other platforms as
well, but that needs to be tested.

No significant speedup for the -j8 Haiku image build.


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


# 1a837b39 11-Jan-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Tell gcc to produce code for Pentium at least. Doesn't seem to make any
difference performancewise though.


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


# 4eb548a8 11-Jan-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Removed useless assigning of the default values and use a switch for the
architectures.


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


# 3e5498e4 04-Jan-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

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


# 82cbfd35 02-Jan-2010 Oliver Tappe <zooey@hirschkaefer.de>

first stab at fixing #5091:
* let BuildSetup set HAIKU_HOST_IS_BIG_ENDIAN according to HOST_GCC_MACHINE
* minor cleanup in BuildSetup
* when building ICU, set the endianness indicator suffix according to
HAIKU_HOST_IS_BIG_ENDIAN

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


# 1b6f9863 20-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Andreas Färber: Fix mixup of GNU and Sun linker on OpenSolaris.


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


# 0b58d844 20-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* 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


# adf0692b 20-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Removed the DEBUG_PRINTF variable support.
* Simplified the HAIKU_INCLUDE_PATENTED_CODE variable support.


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


# e001389f 19-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Added shared headers to HAIKU_PRIVATE_KERNEL_HEADERS.


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


# 4dc69971 06-Dec-2009 François Revol <revol@free.fr>

Force 64bit for i686-apple-darwin10 (OSX), since it seems to fool everyone about it being still 32bit (well the kernel maybe but not the rest). This makes the build go further along on OSX 10.6.


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


# fc786409 02-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Attempt at allowing to use C++ structures in C only code: We use the
CreateAsmStructOffsetsHeader mechanism to generate a header with macros
defined to the sizes of the structures we're interested in and when compiling
in C mode define the structures as "struct { char bytes[size]; }".
It works in principle, but due to how jam works, one would have to specify the
dependency to the generated header for all sources that include it directly or
indirectly.


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


# ba829ba0 01-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Adjusted gcc2 work-around to renamed file.


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


# 6236ae85 25-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Also include HaikuBuildCompatibility.h on a Haiku host platform and
conditionally define some of the new stuff there. That fixes the build under
a r34172 Haiku, though it also causes some problems that needed working around.
Haven't tested under newer Haiku revisions yet. Will do tomorrow.


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


# 2f1e464a 25-Nov-2009 Axel Dörfler <axeld@pinc-software.de>

* We need to define __STDC_FORMAT_MACROS, and __STDC_LIMIT_MACROS under BeOS
compatible platforms as well, Ingo. This fixes building Haiku under Haiku.


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


# a79e0ef1 25-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Also add __STDC_LIMIT_MACROS to the host defines. It gives us macros like
INT32_MAX.


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


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

Define __STDC_FORMAT_MACROS directly in HOST_DEFINES.


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


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

* 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


# 9d14ecca 15-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Build package and packagefs with -Werror.


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


# e55dd5f8 23-Sep-2009 Stephan Aßmus <superstippi@gmx.de>

* When compiling on Haiku as the host platform, set HOST_LIBSUPC correctly.
This is important when setting up the TARGET_LIB* constants later, in case
the target platform is not "haiku". (i.e. libbe_test).
* Added TODO about HOST_GCC_BASE_FLAGS being wrong for GCC4. I couldn't find
the proper fix, but it is important whan compiling libbe_test on Haiku.
I worked around this by having the constant defined correctly for the
problematic file. See the TODO comment.
* Small cleanups.


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


# b25f8906 19-Sep-2009 Rene Gollent <anevilyak@gmail.com>

Fix build on Haiku. Some tools were missing libstdc++ and beos-compatible build platforms weren't setting the host compat lib dir at all, resulting in the icu build libs not being found.



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


# 1b15449d 19-Sep-2009 François Revol <revol@free.fr>

Due to the ICU merges the default image size is too small now, bump it up!


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


# 10c8ce93 27-Aug-2009 Michael Lotz <mmlr@mlotz.ch>

Globally enabling the ATA stack now so we don't get inconsistent states between
the alpha and non-alpha profiles.


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


# 8e8130d1 21-Aug-2009 Jonas Sundström <jonas@kirilla.com>

Adding routerboard_mipsel platform stubs and linker script.

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


# 67838392 21-Aug-2009 Axel Dörfler <axeld@pinc-software.de>

* 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


# 2c69b5b6 19-Aug-2009 Axel Dörfler <axeld@pinc-software.de>

* Made the libbe_test environment basically working under Haiku - to actually
make it work, one would need to use versioning for all libbe symbols. This is
worth an 8k price per file that links against libbe.so, so I didn't want to
commit this as is. An alternative to this solution would be to write a
separate application that is responsible for the app_server's window. Comments
welcome.
* Removed BeOS compatbility of the libbe_test stuff.
* Renamed the libbe_test targets from *haiku* to *test*, ie. libbe_haiku.so is
now called libbe_test.so, haiku_registrar is now test_registrar, etc.
* This also removes BeOS compatibility from tracker/FSUtils.cpp (all BeOS
compatibility should be removed, but I don't want to make Alexandre more work
in his branch, and it's not urgent at all).
* Replaced the former "run" scripts for the test environment with a single
run script (see updated NOTES file).
* Removed the libbe_test target from some applications - this was only to help
developing them under BeOS, and is thus no longer necessary.


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


# adc5ba48 18-Aug-2009 Axel Dörfler <axeld@pinc-software.de>

* Reverted the smaller boot image - it doesn't seem to work for Stefano (gcc4?)
anymore with the small size, and it didn't fix the problem I originally hoped
it would.


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


# feb750d3 12-Aug-2009 François Revol <revol@free.fr>

[ARM]
- consolidate board specific definitions into build/jam/board/*/BoardSetup to avoid duplicating address values everywhere,
- add various addresses, boot script, custom C/C++ flags and SD card definition,
- not sure BoardSetup is included at the best place though,
- replaced board-specific ldscript with passing the loader address directly to LD from BoardSetup,
- added haiku.mmc target which generates an mmc/SD card image with a FAT partition with the files needed to boot for the board, should later be integrated with haiku.image with the BFS partition offset passed to bfs_shell, requires apt:sfdisk,mtools on GNU/Linux,
- added some more rules, one to build a script for the SD image,
- fake a NetBSD loader for now, U-Boot doesn't know haiku, and we'll need a way to pass the tgz image and RAM size, we'll either use standlone way (usual C argv[]) or the NetBSD args,
- style fixes,
- 80 cols, /me pets Ingo.


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


# 3f1460bc 12-Aug-2009 Axel Dörfler <axeld@pinc-software.de>

* Removed the (intel) gart stuff from the floppy image. Not sure why this was
on it. With the other changes already made, we can now use a 1440k boot image
for x86 as well, again.
* If you build a CD, you'll have to take extra care to see whether it still fits
on the floppy or not - space is really tight already.
* Made USB support optional for the CD-ROM. It's turned on, though, since we do
want to support USB-CD-ROMs by default; this is just something you can use
once in case we need to enlarge the boot floppy to 2880k again.


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


# b0b9925b 05-Aug-2009 François Revol <revol@free.fr>

Introduce a new level of portability: boards.
Since we don't support Flattened Device Trees yet (and they don't solve all the issues), we need a place to hole board-specific config, which are different even though we use U-Boot on ARM. Things like cpu & mmu type...
U-Boot doesn't really help us there anyway, it only passes a few board infos (RAM banks & the bill), and optionally other stuff if we fake a linux kernel or netbsd loader, but still not enough. FDT support isn't available for ARM in U-Boot yet either. So for now, and likely for stuff we can't get from FDT, we'll put board-specific config there.
Unlike desktop machines were we want a single kernel per arch, we'd rather have the kernel built for a single board without having to handle detecting mmu type at boot and switching calls like I did on m68k.


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


# 6f823c25 22-Jul-2009 François Revol <revol@free.fr>

Disable -Werror for m68k, arm and mipsel since we aren't really ready for it and we use #warning to mark things to write...


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


# 7043bc68 22-Jul-2009 François Revol <revol@free.fr>

[GSoC] [ARM] Patch by Johannes Wischert.
Add ARM defines to the build system.


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


# 16d5c24e 07-Jul-2009 Oliver Tappe <zooey@hirschkaefer.de>

* 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


# aa1f6614 21-Jun-2009 Axel Dörfler <axeld@pinc-software.de>

* Quick fix for the broken GCC2 build. The guilty one might want to have another
look at this.


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


# a4744551 24-May-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Changed the way the zip archive with the alternative gcc libraries is built.
Now that's done like building the network boot archive, which gives us a lot
more flexibility for defining its contents.


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


# f604da45 24-May-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Eric Petit: Fixed the library path for the build tools on Darwin.


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


# c154b946 21-May-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Added haiku_version_glue.o "glue code" containing the Haiku/ABI version
symbols recently introduced. Until init_term_dyn.o is linked into kernel
add-ons, too, we link with haiku_version_glue.o, so we have those symbols
in kernel add-ons as well.


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


# 003ebb0e 19-May-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Also define the build system variables TARGET_STATIC_{LIBSTDC++,LIBSUPC++}.
* runtime loader:
- Fixed gcc 4 warnings.
- Enabled -Werror.
- Renamed all remaining *.c source files to *.cpp.
- Implemented GNU style ELF symbol versioning support.



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


# 22613644 02-May-2009 Jonas Sundström <jonas@kirilla.com>

Prepare mipsel for jamming. Adding mipsel target case, a simple boot platform and a -fno-pic setting for the kernel.

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


# dc80fc52 28-Apr-2009 François Revol <revol@free.fr>

Pass ATA_STACK from jam now, so one can override it with HAIKU_ATA_STACK=1 in their UserBuildConfig. Probably needs to conditionalize some targets on it too...


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


# 357179de 27-Apr-2009 François Revol <revol@free.fr>

Use 150kB tgz offset for m68k.


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


# 4eae7ffa 27-Apr-2009 François Revol <revol@free.fr>

Use arch specific floppy image size, Atari machines don't know about 2.88kB... plus it still fits in.


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


# 77e84f21 13-Apr-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

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


# 317bd7dd 03-Apr-2009 Axel Dörfler <axeld@pinc-software.de>

* Changed directory structure as suggested on the mailing list.
* Made the TimeZoneView less error prone, and also actually use Haiku code (the
previous check didn't work since it used #if, not #ifdef).
* Also took the liberty to rename our boot loader to haiku_loader, since I had
to update the nasm binary anyway. Updated the assembly sources to nasm 2.0.
* I haven't found where the synth location in the MIDI code is specified,
though.
* Also, NetBootArchive, and FloppyBootImage haven't been updated yet. Will do
so next.
* Some optional packages still put their license to beos/etc/licenses. I didn't
update them yet, as we'll probably do so anyway at some point. Also, I think
we might want to introduce a common/data/licenses instead for those.
* If you encounter any problems, please tell!


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


# 9a8f8b7b 05-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Enabled -Werror for userlandfs.


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


# 37aefc9c 23-Feb-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Moved jam argument processing to new build/jam/CommandLineArguments.
* Check the first argument for "help" as well. If given print a somewhat
helpful text. Consider this my excuse to close ticket #1883. :-)
* Track available and added optional packages and fail, if an optional package
is requested that doesn't exist. Closes ticket #3332.
* Check for duplicate build profile definitions and fail if encountered.
Closes ticket #3333.


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


# e2c3dec9 14-Feb-2009 Michael Lotz <mmlr@mlotz.ch>

Preliminary support for building ISO only Haiku CDs. Not working completely
clean yet. Provides a haiku-cd target and creates a bootable image using mkisofs.


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


# 6eb09230 01-Feb-2009 Michael Lotz <mmlr@mlotz.ch>

* Resolve further warnings on GCC4.
* Enable -Werror on GCC4 builds as well (limited to the same selected targets).


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


# 374c632c 25-Jan-2009 Michael Lotz <mmlr@mlotz.ch>

Rumour has it that we now have Haiku hosts with GCC > 2 as well.

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


# 64f7e20f 22-Jan-2009 Michael Lotz <mmlr@mlotz.ch>

Add -ffreestanding to kernel C/C++ flags. This means that ISO conventions like
the main() signature are not applied and do not generate errors when violated.
Our bootloader has a non-standard main() signature for example, which is of
course fine.


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


# ad06cdd1 09-Jan-2009 François Revol <revol@free.fr>

Move the tgz archive offset to 300k, should fix CD boot again, but it's getting tight.


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


# 1c532eed 14-Nov-2008 François Revol <revol@free.fr>

Make the tgz archive offset in floppy image settable. Set it to 270k for now, until zbeos gets some diet.


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


# c7d3cf5b 06-Nov-2008 François Revol <revol@free.fr>

First attempt at a PPC bootable iso, doesn't work yet.


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


# 889903f9 23-Oct-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

BuildConfig needs to be included before any other rules file. That's why
the wrong Link actions were used (always the no-attributes-support ones
which remove the target first), for instance.


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


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

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


# b4b00ffc 16-Oct-2008 Axel Dörfler <axeld@pinc-software.de>

* Added bfs to the -Werror components.


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


# a96cedf6 14-Oct-2008 Stephan Aßmus <superstippi@gmx.de>

Improve indentation.


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


# b9de80bb 13-Oct-2008 Jérôme Duval <korli@users.berlios.de>

* updated build opengl headers to 7.2
* added opengl to build be api headers
* define USES_BE_API for gen_matypes
this should fix the build for Linux which don't provide GL headers :)


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


# 8443ac68 02-Oct-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* -Wno-multichar was added multiple times. It's now only in the
HAIKU[_KERNEL]_WARNING_CCFLAGS.
* Added -Werror for various parts of the source tree for the gcc 2
build. Feel encouraged to add more.


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


# 1ba29206 01-Oct-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Enforced 80 column limit.


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


# 127456e5 19-Sep-2008 Philippe Houdoin <philippe.houdoin@gmail.com>

Added user-defined image volume label support.
The default label is as previously: Haiku.


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


# cc66988f 12-Aug-2008 François Revol <revol@free.fr>

Bump default image size to 128MB


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


# 4d121ec0 09-Aug-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Andreas Faerber with changes by myself: Work towards Solaris
build platform support.


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


# 0f104a75 26-Jul-2008 François Revol <revol@free.fr>

- Cleanup
- For simplicity we'll force using only insn common to 020 to 060, mostly to avoid unimplemented floating point ops in the kernel.


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


# ba97f782 23-Jul-2008 Maurice Kalinowski <mauricek@nowhere.fake>

julun+mauricek:
* add cygwin specific options.
* Cygwin cannot handle -fPIC option and throws warnings, thus we only use it on non windows platforms for the host tools.
* Windows uses PATH instead of LD_LIBRARY_PATH, so before calling a host tool this environment variable needs to be expanded... Brilliant...
* Using jam on Windows is kind of complicated, as the cygwin included gcc creates executables with a .exe extension. When jam parses dependencies for being up to date it ignores this extension again and tries to rebuild the executables again and again. This hack removes the extension after successful linking. Though jam has a SUFEXE variable for cygwin builds, we cannot use this one directly as crosscompiled targets do not have an extension, it is complicated to use the same jam for both platforms. A more clean attempt would be to check for the extension on each host target depending on the platform. This should be fixed later on.
* Btw. Say hello to Haiku compiling successfully on Windows :) with one patch to be discussed for jam...

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


# 21951f84 15-Jul-2008 Michael Lotz <mmlr@mlotz.ch>

Add -Wno-multichar to the kernel warning flags to avoid useless warnings.

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


# aa385c7c 23-Jun-2008 François Revol <revol@free.fr>

m68k build flags... same as default for now.


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


# bf424219 18-Jun-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Define TARGET_PRIVATE_SYSTEM_HEADERS for target libbe_test.


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


# 07ddcd64 14-May-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* Renamed libnetapi to libbnetapi. Create a symlink in the image.
* Extended R5 compatibility check to also consider calls from
libbnetapi.
* Fixed incorrect R5 compatibility check in BNetEndpoint constructor.


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


# ae28f0ae 14-May-2008 François Revol <revol@free.fr>

- add sunos as possible host
- fix build (at least CodyCam), NETAPI lib is now libnetapi for Haiku...


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


# 6b202f4e 13-May-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* Introduced new header directory headers/private/system which is supposed
to contain headers shared by kernel and userland (mainly libroot).
* Moved quite a few private kernel headers to the new location. Split
several kernel headers into a shared part and one that is still kernel
private. Adjusted all affected Jamfiles and source in the standard x86
build accordingly. The build for other architectures and for test code
may be broken.
* Quite a bit of userland code still includes private kernel headers.
Mostly those are <util/*> headers. The ones that aren't strictly
kernel-only should be moved to some other place (maybe
headers/private/shared/util).


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


# de39891a 19-Apr-2008 Michael Lotz <mmlr@mlotz.ch>

Add the "-fno-tree-vrp" option when building with GCC4. It seems that the
value range propagation optimization results in broken code with the GCC4
version we are currently using. Added TODO to retest/remove this flag when we
update our GCC4 compiler.

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


# aa01c3e7 18-Apr-2008 Michael Lotz <mmlr@mlotz.ch>

Disable strict aliasing on GCCs newer than 2 until we have analyzed and fixed all aliasing issues.

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


# a0a9d225 02-Apr-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Added a new fancy build system feature called "build profiles".
Especially people building various kinds of images with different
settings may want to have a look at the respective section in the
UserBuildConfig.ReadMe.


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


# f8cb3071 02-Apr-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* Replaced the dummy implementations of the <grp.h> and <pwd.h>
functions by ones reading /etc/{group,passwd}.
* Added quasi-standard getpwent_r() and getgrent_r().
* Added _SC_GETGR_R_SIZE_MAX and _SC_GETPW_R_SIZE_MAX sysconf()
constants.
* Moved initgroups() and getgrouplist() definition to grp.cpp. They use
the same backend as the <grp.h> functions.
* Set the permissions of files created by the build system to what they
should be on the image (executables: 755, others: 644). Otherwise only
root could do anything under Haiku.
* Added build system variables HAIKU_ROOT_USER_NAME and
HAIKU_ROOT_USER_REAL_NAME to customize name and real name of Haiku's
root user.
* Added build system rules AddUserToHaikuImage and AddGroupToHaikuImage
for adding additional users and groups (by default only root user and
group and a "users" group are created).
* Adjusted BIND port and coreutils config.h files according to what
features have become available.
* Fixed HAIKU_DOCUMENTATION_OBJECT_DIR definition. Untested, but it used
a wrong variable name before.


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


# 071f9c3a 27-Mar-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Build configurations shouldn't be done in svn controlled files, so I
finally created a solution to avoid that: Header files that contain
configuration settings (and nothing else) go to build/config_headers.
To change settings, create a directory build/user_config_headers (which
is ignored by svn), copy the respective header there and modify it at
your leisure. Currently only tracing_config.h has been moved to the new
location, but more files will follow eventually. It is also recommended
to move optional macro definitions in Jamfile (as for BFS) to a config
header instead; the build system will then automatically rebuild on
changes.


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


# 0ba49c35 22-Mar-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* BuildPlatformMain supports overriding HOST_LIBROOT on the target now,
so one can set it to the static libroot, if desired.
* Generic attribute emulation:
- Added build tool rm_attrs, a simple "rm" replacement, which also
removes the attributes directory for a given file.
- Added build/scripts/rm_attrs shell script, which wraps the
invocation of the rm_attrs tool. If it doesn't exist yet, the
ordinary rm is used.
- The RM jam variable refers to the rm_attrs script now, i.e. whenever
something is removed by the build system, the attributes are removed
too (if the build tool has already been built, that is).
- Removed the shell function attrrmrf() in build_haiku_image. We use
the rm_attrs tool instead, if necessary.


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


# 404a0fea 16-Mar-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Second stab at reorganizing standard/gcc headers. This time it not only
builds on Linux with gcc 2 and 4, but the images do even run. :-) Not
tested on BeOS.

* Removed stddef.h and stdarg.h. They are provided by the compiler.
* Adjusted size_t.h, wchar_t.h, and wchar.h accordingly.
* Made stdio.h avoid gcc 2.95.3's fixincludes hack stdio_va_list
* Added gcc 2.95.3 headers to the repository. They are used instead of
the headers of the gcc 2.95.3's we use to compile Haiku with. Should
avoid build problems with the BeOS native compiler.

For sake of personal recreation you can rebuild the cross gcc 2.95.3,
but the only thing that changed is its header directory
(lib/gcc-lib/.../include), which isn't used anymore. Replacing it with
headers/build/gcc-2.95.3 should have the same effect as rebuilding, BTW.


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


# 9ed64004 01-Mar-2008 François Revol <revol@free.fr>

Rules and targets to build a boot CD iso... use:
jam haiku-boot-cd


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


# 22ec1df3 01-Mar-2008 François Revol <revol@free.fr>

Add rules to create a boot floppy (use jam haiku-boot-floppy), in preparation for CD booting.


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


# 22d7fdd9 19-Jan-2008 Jérôme Duval <korli@users.berlios.de>

fix typo


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


# 9c5a61a9 12-Jan-2008 François Revol <revol@free.fr>

HAIKU_BOOT_PLATFORM was wrong...


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


# 34b3b26b 10-Jan-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Merged branch haiku/branches/developer/bonefish/optimization revision
23139 into trunk, with roughly the following changes (for details svn
log the branch):
* The int 99 syscall handler is now fully in assembly.
* Added a sysenter/sysexit handler and use it on Pentiums that support
it (via commpage).
* Got rid of i386_handle_trap(). A bit of functionality was moved into
the assembly handler which now uses a jump table to call C functions
handling the respective interrupt.
* Some optimizations to get user debugger support code out of the
interrupt handling path.
* Introduced a thread::flags fields which allows to skip handling of
rare events (signals, user debug enabling/disabling) on the
common interrupt handling path.
* Got rid of the explicit iframe stack. The iframes can still be
retrieved by iterating through the stack frames.
* Made the commpage an architecture independent feature. It's used for
the real time data stuff (instead of creating a separate area).
* The x86 CPU modules can now provide processor optimized versions for
common functions (currently memcpy() only). They are used in the
kernel and are provided to the userland via commpage entries.
* Introduced build system feature allowing easy use of C structure
member offsets in assembly code.

Changes after merging:
* Fixed merge conflict in src/system/kernel/arch/x86/arch_debug.cpp
(caused by refactoring and introduction of "call" debugger command).



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


# 851e6dca 30-Oct-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Some of Darwin's C++ runtime seems to live in libstdc++.so, so I moved
it to HOST_LIBSUBC++. Now it should be possible to remove HOST_LIBSTDC++
from the library list for build tools which don't use the STL -- it had
been added due to the Darwin peculiarity in the first place.


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


# 794771dd 25-Oct-2007 François Revol <revol@free.fr>

Suppress useless trigraph warnings triggered by pcihdr.h.


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


# 8074e217 23-Oct-2007 François Revol <revol@free.fr>

Build support for m68k.


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


# 3ee83016 21-Oct-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Added header directories missing for the libbe_test target, since my changes
a while ago that removed the incorrect automatic addition of Haiku header
directories in case of targets other than "haiku". The app server test
environment does now almost build again. The problem left is related to the
recent changes of the accelerant interface. I suppose someone in the knows
should decide if we can simply use our header or if special handling is
needed.


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


# 61ca8e04 24-Aug-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added a common directory for missing system on BeOS systems.
* Added the old fella <stdint.h>.


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


# 0385b065 22-Aug-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

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


# 7e8ac290 12-Aug-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* Prefixed the variables NETWORK_LIBS, NETAPI_LIB, and
SELECT_UNAME_ETC_LIB with TARGET_ and introduced HAIKU_* and HOST_*
counterparts.
* Use HOST_NETWORK_LIBS for building remote_disk_server.
* Also got rid of {R5,BONE,DANO,HAIKU}_COMPATIBLE.


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


# da0f9ae0 02-Aug-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

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


# d96381dd 02-Aug-2007 Jérôme Duval <korli@users.berlios.de>

reverted r21757 which is now fixed by the following
added $(HAIKU_GCC_LIBGCC) to HAIKU_KERNEL_ADDON_END_GLUE_CODE as suggested by Ingo


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


# fe452e51 17-Jul-2007 Axel Dörfler <axeld@pinc-software.de>

Fixed update-image and update-install which were broken after the NetBootArchive changes, courtesy Ingo.


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


# b39c8d37 10-Jul-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* Refactored the image creation rules. There are now generalized rules that
work on arbitrary "containers". The image rules are just
specializations.
* Added rules, a definition file (build/jam/NetBootArchive), and a shell
script for creating a gzipped tar archive containing kernel and modules
required for network booting (the contents may need some fine-tuning).
ATM it can be built via the haiku-netboot-archive pseudo target. It is
generated in the output directory (e.g. "generated").


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


# 4a9059fb 16-Jun-2007 Travis Geiselbrecht <geist@foobox.com>

some make system work to get x86-64 linux compiles working:
-The biggest problem with linking host libraries (libbe_build and libroot_build) was not having the source files compiled with the -fPIC flag. As far as I can tell, we want to do this on all of the other host platforms as well, so hacked the jam files a bit to add it.
Forgive me if I've committed more Jamfile sins.


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


# a66c32dd 20-May-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

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


# 6dcd0ccf 18-May-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

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


# 13246f99 09-May-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Apparently _GNU_SOURCE doesn't imply 64 bit off_t on all glibc
platforms. Funny that it still isn't the default, anyway.


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


# 1ba4119d 04-May-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Get more features on glibc host platforms, among those ISO C 99
definitions (like LLONG_{MIN,MAX}).


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


# 4f4e5272 07-Apr-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

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


# afed18de 06-Apr-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

New build system feature to shorten the turn-around times when working
with image files. E.g.

jam -q update-image libbe.so kernel_x86

will only build libbe.so and the kernel (if necessary) and copy them
onto the already existing Haiku image. The MIME DB will not be
reinstalled, and only those source directories will be copied for which
the AddSourceDirectoryToHaikuImage rule is given a second argument
(e.g. "1"). The image will otherwise remain unchanged.

The "update-vmware-image" and "update-install" work similarly for the
VMWare image and the directory installation respectively. Note that, due
to the way the VMWare image is created (prepending a header to the
standard image), the file itself is fully rebuilt, i.e. changes made
during the emulation will be lost after updating the VMWare image.

The feature requires Haiku's jam. With other jam versions a similar
effect can be reached by accordingly setting the HAIKU_IMAGE_UPDATE_ONLY
and HAIKU_INCLUDE_IN_IMAGE in the UserBuildConfig file.


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


# 2c24a1a9 05-Apr-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

New handy build system feature: It is now possible to pass a command
line to jam that contains build targets and that will be executed by
the build system after building the targets and replacing their
occurrences in the command line by their paths. The keyword indicating
such a command line is "run", targets are marked by a leading ":".
E.g.:

jam -q run ':<build>xres' -l :libtracker.so

This builds the xres tool for the host platform and libtracker.so for
Haiku, and afterwards lists the resources libtracker.so contains. Note,
that this feature requires using Haiku's jam version.

The functionality is implemented by the new RunCommandLine rule, which
can, of course, also be used in the UserBuildConfig.



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


# b8ba8f58 28-Mar-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Added the disk device API to the libbe_haiku.so, so that libtracker.so builds
again for target libbe_test. Added respective syscall stubs and other functions
to libhaikucompat.a.


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


# 9756b9b4 21-Feb-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

A jam invocation without given target (or the "all" target) in the output
directory, the build system root directory, or the "src" directory is
now using the "haiku-image" target instead. The variable
HAIKU_ORIGINAL_JAM_TARGETS is set to the original JAM_TARGETS value, so
that a UserBuildConfig can base its decisions on it.
The feature is only available with Haiku's jam version.


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


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

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


# 0fcdce90 29-Jan-2007 Axel Dörfler <axeld@pinc-software.de>

Added a HAIKU_BASE_CCFLAGS variable that will be added to all CCFLAGS/C++FLAGS that
build Haiku. Uncomment it to define "-pipe" which may speed up your build process
a bit if you have enough memory (it's about 25% faster on a test case over here
with BeOS).


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


# c166aa84 14-Dec-2006 Axel Dörfler <axeld@pinc-software.de>

Added -Wno-multichar to the default kernel GCC flags.


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


# 69b1f76d 29-Nov-2006 Ingo Weinhold <ingo_weinhold@gmx.de>

FreeBSD build platform support. Original patches courtesy of
Samuel Rodriguez Perez, somewhat hacked by myself.


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


# b06be955 07-Nov-2006 Jérôme Duval <korli@users.berlios.de>

added a -Wno-deprecated flag for gcc4 avoiding warnings for deprecated headers


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


# d2ae268f 07-Oct-2006 Axel Dörfler <axeld@pinc-software.de>

libnetapi.so no longer exists under Haiku.


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


# 34b8a998 28-Sep-2006 Marcus Overhagen <marcusoverhagen@gmail.com>

allow overriding TARGET_BOOT_PLATFORM on command line


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


# 48b8e271 09-Aug-2006 Jérôme Duval <korli@users.berlios.de>

improved the library name map for haiku and host keeping the simpler name input_server


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


# 72cc0253 08-Aug-2006 Jérôme Duval <korli@users.berlios.de>

link input addon against /system/servers/input_server on non Haiku targets, map our input_server target to it


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


# 5abaa7eb 03-Aug-2006 Ingo Weinhold <ingo_weinhold@gmx.de>

We do now include HaikuBuildCompatibility.h and link against libhaikucompat.a
automatically for all BeOS compatible target platforms but Haiku. This should
allow more Haiku code to build for BeOS.

Disclaimer: I couldn't really test it, since my BeOS working tree is switched
to my layout branch and under Linux I obviously can't test building for BeOS.
So, if you have complaints, keep them to yourself and just fix the problem.
;-)


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


# f9b776de 02-Jun-2006 Oliver Tappe <zooey@hirschkaefer.de>

- changed HAIKU_TEST_DIR to incorporate the platform and the architecture, such
that tests for different platforms don't mix.



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


# f146dc96 23-May-2006 François Revol <revol@free.fr>

allow compiling of things using find_directory on ZETA, so I can test Terminal


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


# a64b2583 11-Apr-2006 Jérôme Duval <korli@users.berlios.de>

added libGL.so as haiku library


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


# 1b478a39 01-Feb-2006 Jérôme Duval <korli@users.berlios.de>

fixed network libs definition for haiku platform
it could be wrong in some cases


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


# f9cf8b60 25-Jan-2006 Axel Dörfler <axeld@pinc-software.de>

Added __HAIKU__ for target libbe_test.
Fixed FreeBSD host platform define.


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


# 789b0b78 24-Jan-2006 Axel Dörfler <axeld@pinc-software.de>

Applied patch from Alexander U. Deynichenko: $HOST_PLATFORM should change
HOST_DEFINES, not TARGET_DEFINES.


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


# 957a1b17 30-Dec-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* Introduced new build system variables
{HAIKU,HOST,TARGET}_KERNEL_PIC_{CC,LINK}FLAGS which define the
compiler/linker flags specifying the kind of position independence
the kernel shall have. For x86 we had and still have -fno-pic, but the
PPC kernel has -fPIE (position independent executable) now, as we
need to relocate it.
* The boot loader relocates the kernel now. Mostly copied the relocation
code from the kernel ELF loader. Almost completely rewrote the PPC
specific relocation code, though. It's more correct and more complete now
(some things are still missing though).
* Added boot platform awareness to the kernel. Moved the generic
Open Firmware code (openfirmware.c/h) from the boot loader to the kernel.
* The kernel PPC serial debug output is sent to the console for the time
being.
* The PPC boot loader counts the CPUs now and allocates the kernel stacks
(made OF device iteration a bit more flexible on the way -- the search
can be restricted to subtree). Furthermore we really enter the kernel...
(Yay! :-) ... and crash in the first dprintf() (in the atomic_set()
called by acquire_spinlock()). kprintf() works, though.



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


# 6f9dddcb 28-Dec-2005 Axel Dörfler <axeld@pinc-software.de>

libgame.so can now be compiled again in the test environment (libbe_test).


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


# 2a1f9fe0 15-Dec-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Rewrote KernelAddon. We were using Addon before, with the undesired side
effect that we were linking not only against the complete glue code, but
also against libroot.so. Now we explicitly link against
crtbegin.o/crtend.o only.


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


# 57eab440 13-Dec-2005 Waldemar Kornewald <wkornew@nowhere.fake>

Now we use the legacy headers when building our compatibility libraries. Fixed BuildSetup to use root instead of libroot.so because arp would not build otherwise. Command-line apps now don't build for R5, anymore. I hope nothing is broken.


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


# 365eac1b 06-Dec-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Support PPC as target architecture.


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


# 9a05e71e 18-Nov-2005 Nathan Whitehorn <nwhitehorn@nowhere.fake>

Made FreeBSD work with jam.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15025 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


# 9469b271 14-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Typo that broke the build.


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


# c89fc875 14-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* 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


# ec068e96 13-Nov-2005 Axel Dörfler <axeld@pinc-software.de>

No longer needed.


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


# 8b5934c9 12-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* 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


# d6f43ca7 11-Nov-2005 Axel Dörfler <axeld@pinc-software.de>

Looks like Dano headers aren't perfect. I hope this solution is at least a tiny
bit like Ingo would have done it :)


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


# 155b583a 09-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed unit tests build for platforms libbe_test and r5. Only randomly tested
a few whether they actually work.
New pseudo target "unittests", which builds all unit tests for the currently
set TARGET_PLATFORM. They are placed in generated/tests/<platform>/unittests.


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


# ca9e5772 07-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* Reintroduced third LinkAgainst parameter <mapLibs>, defaulting to true.
Library names are now mapped for all targets but "host" (not only for
"haiku") -- added one more level of indirection to achieve that.
(TARGET_LIBRARY_NAME_MAP -> *_LIBRARY_NAME_MAP_*).
* Renamed build/HaikuBuildCompatibility.h to BeOSBuildCompatibility.h
(auto-included when compiling something that uses the Be API for platform
"host" on anon-BeOS platform), and introduced build/HaikuBuildCompatibility.h,
which can be included when compiling something that can be built for both,
Haiku and BeOS compatible platforms.
* Introduced libhaikucompat.a, a library that adds a few functions existing
under Haiku, but not under BeOS.
* New rule AddSubDirSupportedPlatforms.
* Renamed libopenbeos.so to libbe_haiku.so.
* Introduced new target platform "libbe_test", which is basically equivalent
to a BeOS compatible host platform target, with the exception, that instead
of the host platform's libbe.so a special build of Haiku's libbe.so
(libbe_haiku.so (formerly known as libopenbeos.so)) is used. Furthermore
Haiku's public app, interface, storage, and support kit headers are used
when compiling. This replaces the less nice way in which the test app server
and applications for this test environment were built.
When building for platform "libbe_test", the library name "be" is
autotranslated to "libbe_haiku.so". Thus most applications don't need
special fiddling when them building them for the app server test environment;
usually an "AddSubDirSupportedPlatforms libbe_test ;" will suffice.
* Reduced the dependencies of <syscalls.h> and fixed problems caused by this
(e.g. source files not including the needed headers directly).



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


# 42f8a260 01-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed last commit. Now we define HAIKU_TARGET_PLATFORM_* macros correctly
depending on the TARGET_PLATFORM.


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


# 723a9e90 01-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

We define a preprocessor macro HAIKU_TARGET_PLATFORM_{BEOS,BONE,DANO,HAIKU,LINUX} for identifying the platform something is built for.


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


# 338b8dc3 29-Oct-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

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


# 5f4df83cbdc3be3a9e3a3cc5831478877bc1186a 18-Nov-2012 Alex Smith <alex@alex-smith.me.uk>

Fixed ARM build.


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

HPGSTranslator: fix the build

* add missing definition since libpng upgrades
* don't treat warnings as errors


# 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.


# caf06f6e0603c94aefe0374ad54dcd86df110dab 30-Jul-2012 Matt Madia <mattmadia@gmail.com>

Added 'device' to the library name map. Fixes #8800 per korli.


# 385d69fc0177827257822eec1274f4286bc6600d 19-Jul-2012 Alex Smith <alex@alex-smith.me.uk>

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.


# 0962132cc60f7f93c696c16776f50ee66e4c65f7 10-Jul-2012 Alex Smith <alex@alex-smith.me.uk>

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


# 898b29e3628ba9252c527e6296b88cf71d37b863 05-Jul-2012 Alex Smith <alex@alex-smith.me.uk>

Added temporary stack trace function to x86_64.

Will be merged with the x86 one later on. Requires -fno-omit-frame-pointer on
the kernel build flags, GCC defaults to not generating stack frames on x86_64.


# da80a0500c33176998887bcae22828d9e997477f 02-Jul-2012 Alex Smith <alex@alex-smith.me.uk>

Preparation for merge of x86 and x86_64 kernel sources.

Since x86 and x86_64 share a lot of common code, x86_64 kernel sources/headers
are going to reside under headers/private/kernel/arch/x86 and
src/system/kernel/arch/x86 along with the existing x86 code. This commit
changes the build system to handle this. A new variable, TARGET_KERNEL_ARCH,
has been added. This is the name of the kernel/boot architecture directory
name, set to x86 on both x86 and x86_64. This is now used in all places where
TARGET_ARCH was used to get to kernel arch sources/headers (I've changed
everything necessary as far as I can tell). Kernel won't build for x86_64
at the moment as the sources have not been merged, loader does.


# 6f6d78e877c1a485d98de60395854a6d6de61c0d 25-Jun-2012 Alex Smith <alex@alex-smith.me.uk>

Cleaned up ELF64 address handling.

* platform_allocate_elf_region() is removed, it is implemented in platform-
independent code now (ELF*Class::AllocateRegion). For ELF64 it is now
assumed that 64-bit addresses are mapped in the loader's 32-bit address space
as (address - KERNEL_BASE_64BIT + KERNEL_BASE).
* mapped_delta field from preloaded_*_image removed, now handled compile-time
using the ELF*Class::Map method.
* Also link the kernel with -z max-page-size=0x1000, removes the need for
2MB alignment on the data segment (not going to map the kernel with large
pages for the time being).


# cfd1c1802f3c3250f96a14db3c65eed4667f09db 19-Jun-2012 Alex Smith <alex@alex-smith.me.uk>

Add -march=pentium to boot {CC,C++}FLAGS on x86_64, prevents GCC from generating SSE code.


# 8c0e3c951a108d09b85b57dea3f793dc4eed24d5 15-Jun-2012 Alex Smith <alex@alex-smith.me.uk>

Add -mno-red-zone to the kernel CCFLAGS/C++FLAGS.

The red zone is a 128-byte area below the stack pointer specified by the
AMD64 ABI that can be used by leaf functions for their stack frame without
modifying the stack pointer. It is guaranteed not to be modified by signal
handlers. This cannot be used in kernel mode code, as an interrupt handler
could overwrite it, so stop GCC from generating code that uses it.


# 65ad1ba320d945c9626f471c4fb0972ae49440b5 26-May-2012 Alex Smith <alex@alex-smith.me.uk>

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.


# 388476449241fb0a6c6494b1833e314a2363cd13 11-May-2012 François Revol <revol@free.fr>

Include BoardSetup from BuildSetup

* while it seemed to work before, BuildSetup was actually adding includes from the default boot platform, before BoardSetup had a chance of changing it.


# 80a215135a78c28cc02c6ab5ece2d8551c56f2cb 28-Apr-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

BuildSetup: Enable other platforms besides u-boot on arm


# 60f75e901ce3063c63441ac644dd0e55a17d5d09 04-Apr-2012 Oliver Tappe <zooey@hirschkaefer.de>

Merge liblocale.so into libbe.so.

* Make the locale kit a part of libbe.
* Drop the LocaleBackend kludge used from within libbe (and from
other places, too) in order to access system catalog strings.
This is now done via gSystemCatalog, which is provided and initialized
by libbe.
* Drop all references to liblocale.so from all Jamfiles.
* Add legacy symlink liblocale.so in order to keep optional packages
that rely on it in a working state.

TODO: the documentation hasn't been updated.


# eb5f36397841abfc740031fde56ca5e4dee9fdd3 12-Feb-2012 Jerome Duval <jerome.duval@gmail.com>

Fixes some occurrences of 'variable set but not used', disables Werror for problematic items.


# 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


# 17e82349a7dd58e6b09773ce081f7099d5615969 06-Jan-2012 Michael Lotz <mmlr@mlotz.ch>

Remove coreutils and tcpdump from the DEBUG blacklist.

The DEBUG build for these has been fixed in hrev43636 and hrev43637
respectively.


# 31c110be6eb8cad06da28299622f013059dac75c 28-Dec-2011 Urias McCullough <umccullough@gmail.com>

Remaining subdirs that cannot be compiled with DEBUG=1

Signed-off-by: Michael Lotz <mmlr@mlotz.ch>


# 8ad8d2e5d2d3ae81652486268ad8bf4f8d11c000 15-Dec-2011 Oliver Tappe <zooey@hirschkaefer.de>

Activate -Werror for POSIX locale backend and the code using it.


# 34b63b5b9daa0796faf1a53b3f9594bc025f2cc4 10-Dec-2011 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

Remove libbe_build linking m from earlier commit and add -lm to HOST_LINK_FLAGS on non BeOS compatible platforms.
(HOST_LIBROOT would need more work than just adding m so I went the easy route.)


# 692e9b11e41277d5d5f75e1ab282468f8e7d2cdd 25-Nov-2011 Oliver Tappe <zooey@hirschkaefer.de>

Build fix part 2: active libroot_build.a again:

* uncomment the building of libroot_build.a again
* add function remapper to HOST_STATIC_LIBROOT
* drop TODO about the function remapper not working with the static
libroot

Ingo: please review - I think this should work, but I'm not so sure
where HOST_STATIC_LIBROOT should be in the list of libraries of its
only user (<build>bfs_fuse): where it is now or right at the end?

As it is now, the resulting binary still contains references to
host-libc-implementations of close() & others, which are triggered by
the other libs (like libfuse.so). If I put HOST_STATIC_LIBROOT right at
the end, those references are gone, though. But which is correct?


# 55bc371993f0588118e3c684e18eae5b6e4a6e22 30-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Wrap POSIX FD functions in libroot_build

This makes opening symlinks work universally in the build system tools.
Two mechanisms have been implemented, both of which don't always work.
The first is remapping via preprocessor macros. This fails where equally
named methods are used (e.g. STL fstream::open()). The other is using
hidden functions in the new libroot_build_function_remapper.a that is
linked into everything that is linked against libroot_build.so. This one
fails for functions that are defined inline in headers (Linux/glibc does
that). Together they seem to cover our build system needs ATM.


# b33a1b1c5f9f5d625c3cdc7289efbac4974d360f 12-Nov-2011 François Revol <revol@free.fr>

PowerPC platform might not always be OpenFirmware


# 6c6edebce81308058689db33b14c82ec87566158 12-Nov-2011 Travis Geiselbrecht <geist@foobox.com>

[build][OSX] revise the darwin test to darwin10 and darwin11, not a wildcard

As PulkoMandy pointed out on IRC, darwin10 and 11 (10.6 and 10.7) are at least partially 64bit, so
the test only applies there. When darwin12 comes out it'll have to be fixed.


# b2916b0c6eaaa2e6e1b8efd3849eafca45718ed4 12-Nov-2011 Travis Geiselbrecht <geist@foobox.com>

Fix build on OSX Lion, which has apparently bumped the darwin version to darwin11


# cd3e09313359bff5c6752a322818f73991a5b5e0 16-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Fix x86_64 BuildConfig issues

* Resolve TODO: HOST_GCC_BASE_FLAGS should not be included in
HOST_LDFLAGS. Enable adding "-fno-strict-aliasing -fno-tree-vrp"
accordingly.
* Fix handling of HOST_PLATFORM_IS_64_BIT and HAIKU_HOST_USE_32BIT: The
former does now state whether the platform is effectively treated as
64 bit platform, i.e. it actually is 64 bit and the 32 bit mode is
not enforced. HAIKU_HOST_USE_32BIT is now only set when the platform
is actually 64 bit, but 32 bit mode is enforced.


# 1c2d7d3a86c79828aff76b35b2dd4085c72bfb2f 16-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed x86_64 handling by the build system.

* Map build variables HOST_CPU and HOST_ARCH to x86_64, if it they are
* x86 and
64 bit and define the __x86_64__ C macro instead of __INTEL__ in that
case.
* <OS.h>: Also handle __x86_64__.


# 174240f9be1581efbe64d83bc3c4658c1d185362 06-Nov-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* move DSO policy changes down a few lines to go under C/C++ flags section
* ensure host isn't darwin as Apple doesn't use binutils


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


# c0ea2063b7e341348b50fba7ecfe18c19f1ddcc2 04-Nov-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* undo r43186
* fix build due to changes in DSO Linking the right way
as per bonefish.
* we may need to check host GCC version here... can't find
when this option was introduced
* fixes #8031


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


# 2d980c7f9da5fd36809c981507e3c62245100460 03-Nov-2011 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

Reworked the way HAIKU_CCFLAGS, HAIKU_C++FLAGS and their kernel equivalents are set.
The flags given to configure are kept and the build just adds its own flags onto these.
Also the kernel flags are also based on the flags given at configure.
I suspect this will be needed for llvm.



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


# e88ace80821c27c5d8757b3edd626f3976bf05da 02-Nov-2011 François Revol <revol@free.fr>

Leave a bit more room for the boot drivers tgz archive, but sadly it's not enough.


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


# eab1b0e87e6cbaf1d3fdc6104b54597d27648896 29-Oct-2011 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

BuildSetup wasn't caring about HAIKU_CCFLAGS or HAIKU_C++FLAGS set at configuring time.

A bit out of my comfortzone with, so please tell me if I'm wrong.



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


# fdecfdb35c43042531ab1722ba068cc69798a157 24-Aug-2011 Matt Madia <mattmadia@gmail.com>

Increase the size of the default raw and default vmware image.


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


# 4cc4f7bb1845789f95d5ebc68cbb0b859e72f6ff 14-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added KMessage to libroot_build.
* libbe_build: Where possible we directly use the actual Haiku headers and
sources, now. In the headers/build headers we just include the respective
Haiku headers as needed. That still allows overrides where necessary. The
intention is to make it easier to keep the build stuff in sync.
* Fixed a few printf() format and signed/unsigned comparison warnings.


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


# bb7a272f4a94bd5da9e37f4a63d02053346731df 12-Feb-2011 Jérôme Duval <korli@users.berlios.de>

bumped up default image size to 230MB


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


# 500bb6305c339017d7d7302dc1f63ac90443f267 21-Jan-2011 Oliver Tappe <zooey@hirschkaefer.de>

* WIP-commit of the first parts of the package kit and the pkgman
(console-)tool


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


# db2b2bd629e6684e40d6cb3a95ab977d793c3035 02-Nov-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Resolved TODO (gcc 4 .eh_frame support).


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


# 9217a573f8a7e42e5b65c0c43197a8862cb26081 31-Oct-2010 François Revol <revol@free.fr>

The 68k bootloader will get fatter with video handling...


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


# 710dac2313c46704bb8ccd2512838cce82a7a1ef 27-Oct-2010 François Revol <revol@free.fr>

M68K: Do not force HAIKU_BOOT_PLATFORM and make the floppy image size depend on it. One should use HAIKU_BOOT_PLATFORM={atari_m68k|amiga_m68k} now instead of setting TARGET_BOOT_PLATFORM.
Note we aren't yet at the point where jam can make you a floppy image due to broken vm stuff.
It might be interesting to also switch the extension used on the image, amiga emulators prefer .adf for ex.


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


# cc7d899023c58d4238c8ad48aefb56ba5281be23 23-Oct-2010 Rene Gollent <anevilyak@gmail.com>

When using gcc 4, disallow use of CFI asm for now. This renders executables
generated by Haiku's build sys usable with our Debugger, pending support
for gcc4's (different) exception handler frame format.



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


# d26fafe96bbde3f6faefc85439a035c8a81fa31a 26-Aug-2010 Axel Dörfler <axeld@pinc-software.de>

* The arp module gives warnings in GCC4, so the typo was actually needed; this
temporarily fixes the build again.


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


# 40b788d449975fe30edfc6adceb543422f53ada3 27-Aug-2010 Axel Dörfler <axeld@pinc-software.de>

* Fixed typo that prevented the datalink_protocols to be compiled with -Werror.
* Enabled -Werror for the protocols.


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


# 34d9bfb077e6ca40cc502b594546aec251c8510a 23-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

Missed this when working on warnings a couple of days ago:
* enable -Werror for print add-ons and wonderbrush translator add-on

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


# eba0c4d6d7416e3844d904df6aab27092f92adb3 19-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

* enabled -Werror for all apps

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


# 3605272d0f5468479ac2e7e3ad87b79a041e35ba 19-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

* turns out src/kits/tracker was low hanging fruit, as it didn't contain any
warnings at all - enabled -Werror for all kits

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


# 1662a36480c4c8f168be3b1938515a5f90fb3b58 19-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

* fix the single remaining gcc2-warning in media kit and enable -Werror for it

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


# 269ebc04b9082e0081f3660bd727d9a6bc4a683d 19-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

Fix #6373, second try
* make BDADDR_* macros refer to value types instead of addresses
* adjust all interfaces using bdaddr_t* to use (mostly const) refs instead,
which IMHO makes the interface & code clearer
* that got rid of a couple of const incorrectness casts
* some cleanup along the way


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


# 32a2294fdc40a8ef9e3360aa85d0b7efb0c930b9 19-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

* revert r38213, as it introduces initialization problems

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


# e0ef64750f3169cd634bb2f7a001e22488b05231 17-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

* fix #6373 by switching the BD... macros to take the address of corresponding
constants, which had to be defined in several places in order to be available
in the kernel addons, network protocols and the server/kit.
* enable -Werror for all servers

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


# 8f62243f372b69918512816a43173b5456c764b9 17-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

* fix warnings in Keymap preflet about hidden virtual by renaming SetFont()
to SetBaseFont() (and fFont to fBaseFont)
* enabled -Werror for all preflets


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


# 37cebf6883e52061e1c31f263eacdd2d04078e4e 17-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

* fixed all warnings in FileTypes preflet and enabled -Werror

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


# 2655efc3958f7e000e1a5b3c66c2fb9b469f03ac 17-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

Fixes to Notifications preflet
* CID-1501: protect against dynamic_cast potentially returning NULL
* additional style fixes
* fixed all warnings and enabled -Werror

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


# 529fd9af5da4e9a664a34db1b60c5e816c4e4799 17-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

Fixed all warnings in Shortcuts preflet and enabled -Werror for it

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


# f0900cb3eada54d4a1227ad700562feb354e0e7f 29-Jul-2010 Oliver Tappe <zooey@hirschkaefer.de>

* fixed a warning in the opengl preflet and added the current
state of things for all preflets to the EnableWerror
declarations


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


# 19aa183a5dd0e530669457a07f66fd5222fb002b 29-Jul-2010 Matt Madia <mattmadia@gmail.com>

Increased the size of the default image. Upon first boot, less than 800 KiB was
available for a gcc2hybrid.


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


# 4782f2be6c8c82d41e4525afebb71812aee16e4c 27-Jul-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

* Remove now unneeded (hopefully) timezone data


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


# c090a0fd840440a924c08cc9bc6c256d16635a7a 26-Jul-2010 Oliver Tappe <zooey@hirschkaefer.de>

* updated ICU build packages with newer builds that try a bit harder to avoid
warnings and incorporate some of the ICU-patches we had in our repo before
we upgraded to 4.4.1
* fixed remaining warnings when building locale kit
* activated EnableWerror for locale kit
* added 'Unicode' license, which is the second license in use by ICU


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


# 266c6cf46455ca899e7b7432146d2f4ac7491e39 25-Jul-2010 Matt Madia <mattmadia@gmail.com>

Remove useless commented code. No functional change.


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


# 0f75e967c86e8d354ad1a06eea57a46afa9a6a4c 25-Jul-2010 Matt Madia <mattmadia@gmail.com>

Introduced a new variable, HAIKU_INCLUDE_TRADEMARKS. It used to include/exclude
files from HaikuImage and is set when HAIKU_DISTRO_COMPATIBILITY is 'official'
or 'compatible'


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


# 8c28b85ef3f99bc43ad623f52bf4643b92623040 21-Jul-2010 Oliver Tappe <zooey@hirschkaefer.de>

* one more Werror-related build fix for bluetooth

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


# eddec292d5dd8251a00851880e16e6a5c07c1e3f 21-Jul-2010 Oliver Tappe <zooey@hirschkaefer.de>

* applied patch by kaliber that fixes more than 100 warnings - thanks a lot!
Closes #6349

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


# be6c5ba6a7bfd94957d7c5d305d996e5f96a180c 19-Jul-2010 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Also add debug_server, input_server and cddb_daemon to the WError list.


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


# 016386c6d18a91b68fc2deca5945fa635e80048b 18-Jul-2010 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Add midi_server, print_server and registrar to the WError list.


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


# 1e8e2989d67f1d6ac3f11e8e78e3568e1b75e794 09-Jul-2010 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Use -WError also for libdevice and libtranslation


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


# 7bbe3922f8f60c0c6cd2de69669dd9f81d728f04 09-Jul-2010 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Enable WError for midi, midi2 and print kits (tested with both gcc2 and gcc4)


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


# 38319af892499d033969bb527995a4653d64dd1e 02-Jul-2010 Matt Madia <mattmadia@gmail.com>

Updated HAIKU_DEFAULT_IMAGE_SIZE to 200 M. For some reason, building it in
Haiku causes the image file to need 193 MB; building it in FreeBSD requires
only 180 MB.


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


# 76a4353b79418ab1d9050821a5578bef0d40df0c 01-Jul-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

Add a new way of using the locale kit with static accessors instead of global variables. This has the following consequences :
* Applications don't have to declare BCatalog fCatalog themselves, it's now done automatically
* Libs and add-ons can be localized just the same way (except static libraries)
For now this new system is yet disabled as I'm looking for some peer review before going on. To enable it you have to define B_TRANSLATE_USE_NEW_MACROS in each file doing catalog access. This will not stay, I'll update the
other apps to use it.
The linking in jamfiles must be not only with liblocale.so, but also liblocalestub.a. Not sure how to handle this for user-side applications. Libraries are also required to provide a MIME signature to use any catalog.
The locale preflet is updated to the new system (as a test). Othe rapps will follow if everyone is ok with this approach.


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


# 97901ec593ec4dd50ac115c1c35a6d72f6e489a5 11-May-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

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


# 6b28334ae8886e1f3534a8d289a645b2852d4898 05-May-2010 Axel Dörfler <axeld@pinc-software.de>

* Fixed PackageInstaller build by adding liblocale.so to the library name map.
* Ordered the map libraries alphabetically.


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


# adfe871902055d8b6e4638f749fc2f36467ebdcd 25-Mar-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Added libdebug.so to the library map.


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


# 26b5ececca97f8adcb30fbb21727070d6a70acff 15-Mar-2010 Matt Madia <mattmadia@gmail.com>

Create "anyboot-image" and define build profile rules to utilize it.


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


# 25daf1cf1e5f1872aa50cd0a0ec5ef959a0d4a0e 03-Feb-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

* Build libsupc++.so and libstdc++.so only when they aren't provided by the
compiler. Fixes #5322 (the ones in /boot/develop would be overwritten).
* Simplified the Jamfile building these libraries.


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


# ce89123828b772b371f920c248748628c051d75c 20-Jan-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch partially by Samuel Rodríguez Pérez:
* Added amd64-* as supported host gcc machine.
* Added work-around for AMD64 FreeBSD 8: It only has a static libsupc++,
which prevents us from building shared libraries, so we use the shared
libstdc++ instead.


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


# 4f7b2c67b0b92af7644c62775430133a2a969631 11-Jan-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

* gcc 4 features built-ins for atomic operations. If the macro
B_USE_BUILTIN_ATOMIC_FUNCTIONS is defined most atomic_*() functions are
redefined as macros using the built-ins directly.
* Enabled that feature for the x86 build. Might work on other platforms as
well, but that needs to be tested.

No significant speedup for the -j8 Haiku image build.


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


# 1a837b39106d608ae74f49bf5e67b62399e9a3cd 11-Jan-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Tell gcc to produce code for Pentium at least. Doesn't seem to make any
difference performancewise though.


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


# 4eb548a8aeb5aae0f8dd1ba21de0499b421c8a48 11-Jan-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Removed useless assigning of the default values and use a switch for the
architectures.


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


# 3e5498e4c94ca459ddb87344e26f749750bfdb03 04-Jan-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

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


# 82cbfd3573769eae988d63fd31c7e645a10a1ffb 02-Jan-2010 Oliver Tappe <zooey@hirschkaefer.de>

first stab at fixing #5091:
* let BuildSetup set HAIKU_HOST_IS_BIG_ENDIAN according to HOST_GCC_MACHINE
* minor cleanup in BuildSetup
* when building ICU, set the endianness indicator suffix according to
HAIKU_HOST_IS_BIG_ENDIAN

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


# 1b6f98637b5cbfb4108f16517f1c9549b7282e72 20-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Andreas Färber: Fix mixup of GNU and Sun linker on OpenSolaris.


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


# 0b58d8440cdd5ffb87ff7ec5e8938818a68ec261 20-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* 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


# adf0692b5176fabaeb35796ffddb05bcd686302b 20-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Removed the DEBUG_PRINTF variable support.
* Simplified the HAIKU_INCLUDE_PATENTED_CODE variable support.


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


# e001389fc70748696718745993969781c0483af2 19-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Added shared headers to HAIKU_PRIVATE_KERNEL_HEADERS.


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


# 4dc69971bc53e4f4a1f770d505966ac315ac05f8 06-Dec-2009 François Revol <revol@free.fr>

Force 64bit for i686-apple-darwin10 (OSX), since it seems to fool everyone about it being still 32bit (well the kernel maybe but not the rest). This makes the build go further along on OSX 10.6.


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


# fc7864091e2463c0e446f8b3954df4d29e9465af 02-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Attempt at allowing to use C++ structures in C only code: We use the
CreateAsmStructOffsetsHeader mechanism to generate a header with macros
defined to the sizes of the structures we're interested in and when compiling
in C mode define the structures as "struct { char bytes[size]; }".
It works in principle, but due to how jam works, one would have to specify the
dependency to the generated header for all sources that include it directly or
indirectly.


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


# ba829ba0f904ac74f5985e604bb133496d8853d7 01-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Adjusted gcc2 work-around to renamed file.


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


# 6236ae85702a77a03b8baca3f40eb684fdf9cfc2 25-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Also include HaikuBuildCompatibility.h on a Haiku host platform and
conditionally define some of the new stuff there. That fixes the build under
a r34172 Haiku, though it also causes some problems that needed working around.
Haven't tested under newer Haiku revisions yet. Will do tomorrow.


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


# 2f1e464a8c6cca20b7cead1ea7d55f44b54df3f5 25-Nov-2009 Axel Dörfler <axeld@pinc-software.de>

* We need to define __STDC_FORMAT_MACROS, and __STDC_LIMIT_MACROS under BeOS
compatible platforms as well, Ingo. This fixes building Haiku under Haiku.


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


# a79e0ef1ad3d400d76d865c341a9f03521121143 25-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Also add __STDC_LIMIT_MACROS to the host defines. It gives us macros like
INT32_MAX.


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


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

Define __STDC_FORMAT_MACROS directly in HOST_DEFINES.


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


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

* 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


# 9d14ecca03d3a599e063bfe597e116c789e16db9 15-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Build package and packagefs with -Werror.


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


# e55dd5f8ef27965bc989a5a8f11ff387c44e9231 23-Sep-2009 Stephan Aßmus <superstippi@gmx.de>

* When compiling on Haiku as the host platform, set HOST_LIBSUPC correctly.
This is important when setting up the TARGET_LIB* constants later, in case
the target platform is not "haiku". (i.e. libbe_test).
* Added TODO about HOST_GCC_BASE_FLAGS being wrong for GCC4. I couldn't find
the proper fix, but it is important whan compiling libbe_test on Haiku.
I worked around this by having the constant defined correctly for the
problematic file. See the TODO comment.
* Small cleanups.


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


# b25f8906fbbc5f1501ba22fad6520e156c53ef23 19-Sep-2009 Rene Gollent <anevilyak@gmail.com>

Fix build on Haiku. Some tools were missing libstdc++ and beos-compatible build platforms weren't setting the host compat lib dir at all, resulting in the icu build libs not being found.



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


# 1b15449d320585c3fc3d521672319a34f0729253 19-Sep-2009 François Revol <revol@free.fr>

Due to the ICU merges the default image size is too small now, bump it up!


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


# 10c8ce934fbc23a475f9857fb371f9a04f2639e8 27-Aug-2009 Michael Lotz <mmlr@mlotz.ch>

Globally enabling the ATA stack now so we don't get inconsistent states between
the alpha and non-alpha profiles.


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


# 8e8130d1f0ec706a252ab5f255982ad91e955950 21-Aug-2009 Jonas Sundström <jonas@kirilla.com>

Adding routerboard_mipsel platform stubs and linker script.

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


# 67838392dcea5e9a2ee3a4d30754c32fb9b0274c 21-Aug-2009 Axel Dörfler <axeld@pinc-software.de>

* 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


# 2c69b5b6c0e7b481a0c43366a1942a6055cbb864 19-Aug-2009 Axel Dörfler <axeld@pinc-software.de>

* Made the libbe_test environment basically working under Haiku - to actually
make it work, one would need to use versioning for all libbe symbols. This is
worth an 8k price per file that links against libbe.so, so I didn't want to
commit this as is. An alternative to this solution would be to write a
separate application that is responsible for the app_server's window. Comments
welcome.
* Removed BeOS compatbility of the libbe_test stuff.
* Renamed the libbe_test targets from *haiku* to *test*, ie. libbe_haiku.so is
now called libbe_test.so, haiku_registrar is now test_registrar, etc.
* This also removes BeOS compatibility from tracker/FSUtils.cpp (all BeOS
compatibility should be removed, but I don't want to make Alexandre more work
in his branch, and it's not urgent at all).
* Replaced the former "run" scripts for the test environment with a single
run script (see updated NOTES file).
* Removed the libbe_test target from some applications - this was only to help
developing them under BeOS, and is thus no longer necessary.


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


# adc5ba48dcbde91502a3e60a17f5dd9855ee34ef 18-Aug-2009 Axel Dörfler <axeld@pinc-software.de>

* Reverted the smaller boot image - it doesn't seem to work for Stefano (gcc4?)
anymore with the small size, and it didn't fix the problem I originally hoped
it would.


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


# feb750d3311808b62ca2e2f135f4a05a3608716e 12-Aug-2009 François Revol <revol@free.fr>

[ARM]
- consolidate board specific definitions into build/jam/board/*/BoardSetup to avoid duplicating address values everywhere,
- add various addresses, boot script, custom C/C++ flags and SD card definition,
- not sure BoardSetup is included at the best place though,
- replaced board-specific ldscript with passing the loader address directly to LD from BoardSetup,
- added haiku.mmc target which generates an mmc/SD card image with a FAT partition with the files needed to boot for the board, should later be integrated with haiku.image with the BFS partition offset passed to bfs_shell, requires apt:sfdisk,mtools on GNU/Linux,
- added some more rules, one to build a script for the SD image,
- fake a NetBSD loader for now, U-Boot doesn't know haiku, and we'll need a way to pass the tgz image and RAM size, we'll either use standlone way (usual C argv[]) or the NetBSD args,
- style fixes,
- 80 cols, /me pets Ingo.


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


# 3f1460bceee87a897676c1f370d4211dd8f73e8e 12-Aug-2009 Axel Dörfler <axeld@pinc-software.de>

* Removed the (intel) gart stuff from the floppy image. Not sure why this was
on it. With the other changes already made, we can now use a 1440k boot image
for x86 as well, again.
* If you build a CD, you'll have to take extra care to see whether it still fits
on the floppy or not - space is really tight already.
* Made USB support optional for the CD-ROM. It's turned on, though, since we do
want to support USB-CD-ROMs by default; this is just something you can use
once in case we need to enlarge the boot floppy to 2880k again.


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


# b0b9925be1be2bccc9d2ae1def0b424c99b0426c 05-Aug-2009 François Revol <revol@free.fr>

Introduce a new level of portability: boards.
Since we don't support Flattened Device Trees yet (and they don't solve all the issues), we need a place to hole board-specific config, which are different even though we use U-Boot on ARM. Things like cpu & mmu type...
U-Boot doesn't really help us there anyway, it only passes a few board infos (RAM banks & the bill), and optionally other stuff if we fake a linux kernel or netbsd loader, but still not enough. FDT support isn't available for ARM in U-Boot yet either. So for now, and likely for stuff we can't get from FDT, we'll put board-specific config there.
Unlike desktop machines were we want a single kernel per arch, we'd rather have the kernel built for a single board without having to handle detecting mmu type at boot and switching calls like I did on m68k.


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


# 6f823c251bc76468635456d845ef60720e7cf266 22-Jul-2009 François Revol <revol@free.fr>

Disable -Werror for m68k, arm and mipsel since we aren't really ready for it and we use #warning to mark things to write...


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


# 7043bc68527055dbdd5c536ebea8c6af3083f526 22-Jul-2009 François Revol <revol@free.fr>

[GSoC] [ARM] Patch by Johannes Wischert.
Add ARM defines to the build system.


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


# 16d5c24e533eb14b7b8a99ee9f3ec9ba66335b1e 07-Jul-2009 Oliver Tappe <zooey@hirschkaefer.de>

* 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


# aa1f661460034468d1406e4286574a200e0c6b24 21-Jun-2009 Axel Dörfler <axeld@pinc-software.de>

* Quick fix for the broken GCC2 build. The guilty one might want to have another
look at this.


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


# a474455132437ce7d22ff9f7e3457dc291abbf66 24-May-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Changed the way the zip archive with the alternative gcc libraries is built.
Now that's done like building the network boot archive, which gives us a lot
more flexibility for defining its contents.


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


# f604da453fce086b5f7d4b4afee3cf09402a656d 24-May-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Eric Petit: Fixed the library path for the build tools on Darwin.


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


# c154b94624d37e53245540edfcdc6625e906987f 21-May-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Added haiku_version_glue.o "glue code" containing the Haiku/ABI version
symbols recently introduced. Until init_term_dyn.o is linked into kernel
add-ons, too, we link with haiku_version_glue.o, so we have those symbols
in kernel add-ons as well.


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


# 003ebb0e834b8bc6dd69524cc5ffd4860b0466c4 19-May-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Also define the build system variables TARGET_STATIC_{LIBSTDC++,LIBSUPC++}.
* runtime loader:
- Fixed gcc 4 warnings.
- Enabled -Werror.
- Renamed all remaining *.c source files to *.cpp.
- Implemented GNU style ELF symbol versioning support.



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


# 226136446a0a436b34a160a6def44a7b78708493 02-May-2009 Jonas Sundström <jonas@kirilla.com>

Prepare mipsel for jamming. Adding mipsel target case, a simple boot platform and a -fno-pic setting for the kernel.

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


# dc80fc524437a88ef31afef26b0bd506cf3474a4 28-Apr-2009 François Revol <revol@free.fr>

Pass ATA_STACK from jam now, so one can override it with HAIKU_ATA_STACK=1 in their UserBuildConfig. Probably needs to conditionalize some targets on it too...


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


# 357179de85e0185c49298aae73038b31f6822488 27-Apr-2009 François Revol <revol@free.fr>

Use 150kB tgz offset for m68k.


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


# 4eae7ffa1ed8a33dce32d351c57658968f70b0f5 27-Apr-2009 François Revol <revol@free.fr>

Use arch specific floppy image size, Atari machines don't know about 2.88kB... plus it still fits in.


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


# 77e84f219a28bcb45d9287a756e312c1d19e6623 13-Apr-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

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


# 317bd7dda3eb26d4d24ba5b0a831461119f70d34 03-Apr-2009 Axel Dörfler <axeld@pinc-software.de>

* Changed directory structure as suggested on the mailing list.
* Made the TimeZoneView less error prone, and also actually use Haiku code (the
previous check didn't work since it used #if, not #ifdef).
* Also took the liberty to rename our boot loader to haiku_loader, since I had
to update the nasm binary anyway. Updated the assembly sources to nasm 2.0.
* I haven't found where the synth location in the MIDI code is specified,
though.
* Also, NetBootArchive, and FloppyBootImage haven't been updated yet. Will do
so next.
* Some optional packages still put their license to beos/etc/licenses. I didn't
update them yet, as we'll probably do so anyway at some point. Also, I think
we might want to introduce a common/data/licenses instead for those.
* If you encounter any problems, please tell!


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


# 9a8f8b7b138c9b0fb63f9503162a95bc695b112c 05-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Enabled -Werror for userlandfs.


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


# 37aefc9c6f6dc3456d74dbccc3a606e30192baf4 23-Feb-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Moved jam argument processing to new build/jam/CommandLineArguments.
* Check the first argument for "help" as well. If given print a somewhat
helpful text. Consider this my excuse to close ticket #1883. :-)
* Track available and added optional packages and fail, if an optional package
is requested that doesn't exist. Closes ticket #3332.
* Check for duplicate build profile definitions and fail if encountered.
Closes ticket #3333.


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


# e2c3dec9239e1035449f39f3747a4039a9cdc38c 14-Feb-2009 Michael Lotz <mmlr@mlotz.ch>

Preliminary support for building ISO only Haiku CDs. Not working completely
clean yet. Provides a haiku-cd target and creates a bootable image using mkisofs.


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


# 6eb09230bae52bcdf045e1f1920b67205c29adc8 01-Feb-2009 Michael Lotz <mmlr@mlotz.ch>

* Resolve further warnings on GCC4.
* Enable -Werror on GCC4 builds as well (limited to the same selected targets).


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


# 374c632c555507d99a32686d56d1ddc30cd7432d 25-Jan-2009 Michael Lotz <mmlr@mlotz.ch>

Rumour has it that we now have Haiku hosts with GCC > 2 as well.

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


# 64f7e20f9ce9c068586e0ed2995d7c8717d373ac 22-Jan-2009 Michael Lotz <mmlr@mlotz.ch>

Add -ffreestanding to kernel C/C++ flags. This means that ISO conventions like
the main() signature are not applied and do not generate errors when violated.
Our bootloader has a non-standard main() signature for example, which is of
course fine.


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


# ad06cdd1396c8d7fda28832c3fd33963c6c06d5b 09-Jan-2009 François Revol <revol@free.fr>

Move the tgz archive offset to 300k, should fix CD boot again, but it's getting tight.


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


# 1c532eedf1f8919ce625ee33d6c8ceaf7fea836f 14-Nov-2008 François Revol <revol@free.fr>

Make the tgz archive offset in floppy image settable. Set it to 270k for now, until zbeos gets some diet.


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


# c7d3cf5b8aef81654f2e3416034302bb63b3232c 06-Nov-2008 François Revol <revol@free.fr>

First attempt at a PPC bootable iso, doesn't work yet.


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


# 889903f9ddd32ff7a953b3093b6e9bb4ebe2fd65 23-Oct-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

BuildConfig needs to be included before any other rules file. That's why
the wrong Link actions were used (always the no-attributes-support ones
which remove the target first), for instance.


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


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

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


# b4b00ffcea0ca9f38379cab6a1fc5756d6a01d1e 16-Oct-2008 Axel Dörfler <axeld@pinc-software.de>

* Added bfs to the -Werror components.


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


# a96cedf6ef7069d5b8a59fcc1a29066f8f96906c 14-Oct-2008 Stephan Aßmus <superstippi@gmx.de>

Improve indentation.


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


# b9de80bbb8444f9d3154300123f8cb04766de81f 13-Oct-2008 Jérôme Duval <korli@users.berlios.de>

* updated build opengl headers to 7.2
* added opengl to build be api headers
* define USES_BE_API for gen_matypes
this should fix the build for Linux which don't provide GL headers :)


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


# 8443ac689e2e4a17ae5f3810a93a5d6bc4c09e38 02-Oct-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* -Wno-multichar was added multiple times. It's now only in the
HAIKU[_KERNEL]_WARNING_CCFLAGS.
* Added -Werror for various parts of the source tree for the gcc 2
build. Feel encouraged to add more.


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


# 1ba29206b0e8b552341887ba0b334ab4bfc25d1d 01-Oct-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Enforced 80 column limit.


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


# 127456e5b57da8bdb9827e143a8064001628414f 19-Sep-2008 Philippe Houdoin <philippe.houdoin@gmail.com>

Added user-defined image volume label support.
The default label is as previously: Haiku.


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


# cc66988f36e924bf46a45d1e8b901fbd99debdaa 12-Aug-2008 François Revol <revol@free.fr>

Bump default image size to 128MB


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


# 4d121ec0678890dc6c2b19bdf11a7b9e02785462 09-Aug-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Andreas Faerber with changes by myself: Work towards Solaris
build platform support.


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


# 0f104a754b0c1249fff1c19235fd9d133c99e1f1 26-Jul-2008 François Revol <revol@free.fr>

- Cleanup
- For simplicity we'll force using only insn common to 020 to 060, mostly to avoid unimplemented floating point ops in the kernel.


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


# ba97f78287a4050f033a22729ee124d096b7effc 23-Jul-2008 Maurice Kalinowski <mauricek@nowhere.fake>

julun+mauricek:
* add cygwin specific options.
* Cygwin cannot handle -fPIC option and throws warnings, thus we only use it on non windows platforms for the host tools.
* Windows uses PATH instead of LD_LIBRARY_PATH, so before calling a host tool this environment variable needs to be expanded... Brilliant...
* Using jam on Windows is kind of complicated, as the cygwin included gcc creates executables with a .exe extension. When jam parses dependencies for being up to date it ignores this extension again and tries to rebuild the executables again and again. This hack removes the extension after successful linking. Though jam has a SUFEXE variable for cygwin builds, we cannot use this one directly as crosscompiled targets do not have an extension, it is complicated to use the same jam for both platforms. A more clean attempt would be to check for the extension on each host target depending on the platform. This should be fixed later on.
* Btw. Say hello to Haiku compiling successfully on Windows :) with one patch to be discussed for jam...

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


# 21951f84dcd1b543f892b4d824ab91525c49c423 15-Jul-2008 Michael Lotz <mmlr@mlotz.ch>

Add -Wno-multichar to the kernel warning flags to avoid useless warnings.

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


# aa385c7cb2ebfa3aa8e6467832e109f752b507a5 23-Jun-2008 François Revol <revol@free.fr>

m68k build flags... same as default for now.


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


# bf4242194b63b732d8a34f33199d51dd3533a678 18-Jun-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Define TARGET_PRIVATE_SYSTEM_HEADERS for target libbe_test.


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


# 07ddcd64cfef3d135917011878bc7c2cb027b397 14-May-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* Renamed libnetapi to libbnetapi. Create a symlink in the image.
* Extended R5 compatibility check to also consider calls from
libbnetapi.
* Fixed incorrect R5 compatibility check in BNetEndpoint constructor.


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


# ae28f0aebdd080888714a4cdd4698e120b049381 14-May-2008 François Revol <revol@free.fr>

- add sunos as possible host
- fix build (at least CodyCam), NETAPI lib is now libnetapi for Haiku...


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


# 6b202f4e3da73d4c131355fcd82b792d153f84f6 13-May-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* Introduced new header directory headers/private/system which is supposed
to contain headers shared by kernel and userland (mainly libroot).
* Moved quite a few private kernel headers to the new location. Split
several kernel headers into a shared part and one that is still kernel
private. Adjusted all affected Jamfiles and source in the standard x86
build accordingly. The build for other architectures and for test code
may be broken.
* Quite a bit of userland code still includes private kernel headers.
Mostly those are <util/*> headers. The ones that aren't strictly
kernel-only should be moved to some other place (maybe
headers/private/shared/util).


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


# de39891a3ccf1245eb430018d4281ff381fcc9aa 19-Apr-2008 Michael Lotz <mmlr@mlotz.ch>

Add the "-fno-tree-vrp" option when building with GCC4. It seems that the
value range propagation optimization results in broken code with the GCC4
version we are currently using. Added TODO to retest/remove this flag when we
update our GCC4 compiler.

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


# aa01c3e72e2115d0caa4999e5b2e762544db7bf2 18-Apr-2008 Michael Lotz <mmlr@mlotz.ch>

Disable strict aliasing on GCCs newer than 2 until we have analyzed and fixed all aliasing issues.

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


# a0a9d225d3e48f81429a769b8c0ed5c961bf1516 02-Apr-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Added a new fancy build system feature called "build profiles".
Especially people building various kinds of images with different
settings may want to have a look at the respective section in the
UserBuildConfig.ReadMe.


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


# f8cb30712e09e13b6eeb08f225810875aea1e6f8 02-Apr-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* Replaced the dummy implementations of the <grp.h> and <pwd.h>
functions by ones reading /etc/{group,passwd}.
* Added quasi-standard getpwent_r() and getgrent_r().
* Added _SC_GETGR_R_SIZE_MAX and _SC_GETPW_R_SIZE_MAX sysconf()
constants.
* Moved initgroups() and getgrouplist() definition to grp.cpp. They use
the same backend as the <grp.h> functions.
* Set the permissions of files created by the build system to what they
should be on the image (executables: 755, others: 644). Otherwise only
root could do anything under Haiku.
* Added build system variables HAIKU_ROOT_USER_NAME and
HAIKU_ROOT_USER_REAL_NAME to customize name and real name of Haiku's
root user.
* Added build system rules AddUserToHaikuImage and AddGroupToHaikuImage
for adding additional users and groups (by default only root user and
group and a "users" group are created).
* Adjusted BIND port and coreutils config.h files according to what
features have become available.
* Fixed HAIKU_DOCUMENTATION_OBJECT_DIR definition. Untested, but it used
a wrong variable name before.


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


# 071f9c3aa2c2215feaa56a8ff59557dd00b27f37 27-Mar-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Build configurations shouldn't be done in svn controlled files, so I
finally created a solution to avoid that: Header files that contain
configuration settings (and nothing else) go to build/config_headers.
To change settings, create a directory build/user_config_headers (which
is ignored by svn), copy the respective header there and modify it at
your leisure. Currently only tracing_config.h has been moved to the new
location, but more files will follow eventually. It is also recommended
to move optional macro definitions in Jamfile (as for BFS) to a config
header instead; the build system will then automatically rebuild on
changes.


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


# 0ba49c35b3ad2588217c45e3aa02144c7b2124f0 22-Mar-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* BuildPlatformMain supports overriding HOST_LIBROOT on the target now,
so one can set it to the static libroot, if desired.
* Generic attribute emulation:
- Added build tool rm_attrs, a simple "rm" replacement, which also
removes the attributes directory for a given file.
- Added build/scripts/rm_attrs shell script, which wraps the
invocation of the rm_attrs tool. If it doesn't exist yet, the
ordinary rm is used.
- The RM jam variable refers to the rm_attrs script now, i.e. whenever
something is removed by the build system, the attributes are removed
too (if the build tool has already been built, that is).
- Removed the shell function attrrmrf() in build_haiku_image. We use
the rm_attrs tool instead, if necessary.


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


# 404a0fea4653b894fabf4d5fee8e73df7bf84e75 16-Mar-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Second stab at reorganizing standard/gcc headers. This time it not only
builds on Linux with gcc 2 and 4, but the images do even run. :-) Not
tested on BeOS.

* Removed stddef.h and stdarg.h. They are provided by the compiler.
* Adjusted size_t.h, wchar_t.h, and wchar.h accordingly.
* Made stdio.h avoid gcc 2.95.3's fixincludes hack stdio_va_list
* Added gcc 2.95.3 headers to the repository. They are used instead of
the headers of the gcc 2.95.3's we use to compile Haiku with. Should
avoid build problems with the BeOS native compiler.

For sake of personal recreation you can rebuild the cross gcc 2.95.3,
but the only thing that changed is its header directory
(lib/gcc-lib/.../include), which isn't used anymore. Replacing it with
headers/build/gcc-2.95.3 should have the same effect as rebuilding, BTW.


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


# 9ed64004cc51a220be8c9d1860aab494d56db063 01-Mar-2008 François Revol <revol@free.fr>

Rules and targets to build a boot CD iso... use:
jam haiku-boot-cd


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


# 22ec1df3f0bbe72c63303d1df4ca0977c0d17782 01-Mar-2008 François Revol <revol@free.fr>

Add rules to create a boot floppy (use jam haiku-boot-floppy), in preparation for CD booting.


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


# 22d7fdd958d1ffa36231c41e53647a32307c37ff 19-Jan-2008 Jérôme Duval <korli@users.berlios.de>

fix typo


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


# 9c5a61a998852cc92b0797a07675e19b3c29da68 12-Jan-2008 François Revol <revol@free.fr>

HAIKU_BOOT_PLATFORM was wrong...


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


# 34b3b26b3b8c46ba46ddde037b10dd173f4936d6 10-Jan-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Merged branch haiku/branches/developer/bonefish/optimization revision
23139 into trunk, with roughly the following changes (for details svn
log the branch):
* The int 99 syscall handler is now fully in assembly.
* Added a sysenter/sysexit handler and use it on Pentiums that support
it (via commpage).
* Got rid of i386_handle_trap(). A bit of functionality was moved into
the assembly handler which now uses a jump table to call C functions
handling the respective interrupt.
* Some optimizations to get user debugger support code out of the
interrupt handling path.
* Introduced a thread::flags fields which allows to skip handling of
rare events (signals, user debug enabling/disabling) on the
common interrupt handling path.
* Got rid of the explicit iframe stack. The iframes can still be
retrieved by iterating through the stack frames.
* Made the commpage an architecture independent feature. It's used for
the real time data stuff (instead of creating a separate area).
* The x86 CPU modules can now provide processor optimized versions for
common functions (currently memcpy() only). They are used in the
kernel and are provided to the userland via commpage entries.
* Introduced build system feature allowing easy use of C structure
member offsets in assembly code.

Changes after merging:
* Fixed merge conflict in src/system/kernel/arch/x86/arch_debug.cpp
(caused by refactoring and introduction of "call" debugger command).



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


# 851e6dca97b76dbb5f37eaea0364019f8fbea4f1 30-Oct-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Some of Darwin's C++ runtime seems to live in libstdc++.so, so I moved
it to HOST_LIBSUBC++. Now it should be possible to remove HOST_LIBSTDC++
from the library list for build tools which don't use the STL -- it had
been added due to the Darwin peculiarity in the first place.


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


# 794771ddff47ea26046e1e4028121bfacfffc8b4 25-Oct-2007 François Revol <revol@free.fr>

Suppress useless trigraph warnings triggered by pcihdr.h.


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


# 8074e217af8741e75e962b7dbf43030d15f191cd 23-Oct-2007 François Revol <revol@free.fr>

Build support for m68k.


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


# 3ee83016eda202de762c9d1e3b465e8eb53c905d 21-Oct-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Added header directories missing for the libbe_test target, since my changes
a while ago that removed the incorrect automatic addition of Haiku header
directories in case of targets other than "haiku". The app server test
environment does now almost build again. The problem left is related to the
recent changes of the accelerant interface. I suppose someone in the knows
should decide if we can simply use our header or if special handling is
needed.


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


# 61ca8e04bbfe9a6ad891db0fd12e133dacb99360 24-Aug-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added a common directory for missing system on BeOS systems.
* Added the old fella <stdint.h>.


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


# 0385b0657b9c255b849c6e6031cd258e041a17ac 22-Aug-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

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


# 7e8ac2903b840f54bd891019fac17f2e28cbbc0c 12-Aug-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* Prefixed the variables NETWORK_LIBS, NETAPI_LIB, and
SELECT_UNAME_ETC_LIB with TARGET_ and introduced HAIKU_* and HOST_*
counterparts.
* Use HOST_NETWORK_LIBS for building remote_disk_server.
* Also got rid of {R5,BONE,DANO,HAIKU}_COMPATIBLE.


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


# da0f9ae040921d1af3cdbac209bdf16fe80f95b3 02-Aug-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

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


# d96381dd5d784bc17f799cc7e3030274128967cf 02-Aug-2007 Jérôme Duval <korli@users.berlios.de>

reverted r21757 which is now fixed by the following
added $(HAIKU_GCC_LIBGCC) to HAIKU_KERNEL_ADDON_END_GLUE_CODE as suggested by Ingo


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


# fe452e51f0e4da39118791a5d98851c008f77fab 17-Jul-2007 Axel Dörfler <axeld@pinc-software.de>

Fixed update-image and update-install which were broken after the NetBootArchive changes, courtesy Ingo.


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


# b39c8d3711299d7ff89bbb725ad5ce6036d5c4db 10-Jul-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* Refactored the image creation rules. There are now generalized rules that
work on arbitrary "containers". The image rules are just
specializations.
* Added rules, a definition file (build/jam/NetBootArchive), and a shell
script for creating a gzipped tar archive containing kernel and modules
required for network booting (the contents may need some fine-tuning).
ATM it can be built via the haiku-netboot-archive pseudo target. It is
generated in the output directory (e.g. "generated").


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


# 4a9059fb38fc8568f94b6eb2635ded2fee19ee45 16-Jun-2007 Travis Geiselbrecht <geist@foobox.com>

some make system work to get x86-64 linux compiles working:
-The biggest problem with linking host libraries (libbe_build and libroot_build) was not having the source files compiled with the -fPIC flag. As far as I can tell, we want to do this on all of the other host platforms as well, so hacked the jam files a bit to add it.
Forgive me if I've committed more Jamfile sins.


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


# a66c32dde54a61f6b5a3be37728cda8e36341ea8 20-May-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

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


# 6dcd0ccf238263a3e5eb2e2a44e2ed0da1617a42 18-May-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

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


# 13246f99ab8c618ec6d544112dadaa728c8eb32f 09-May-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Apparently _GNU_SOURCE doesn't imply 64 bit off_t on all glibc
platforms. Funny that it still isn't the default, anyway.


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


# 1ba4119ddaa5838cb2a091d7d80969392ed38722 04-May-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Get more features on glibc host platforms, among those ISO C 99
definitions (like LLONG_{MIN,MAX}).


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


# 4f4e5272fc99dc6b2c6004c2c4f5dcff565ff6a4 07-Apr-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

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


# afed18de795463c525d4cc3b890db77c4991e4a2 06-Apr-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

New build system feature to shorten the turn-around times when working
with image files. E.g.

jam -q update-image libbe.so kernel_x86

will only build libbe.so and the kernel (if necessary) and copy them
onto the already existing Haiku image. The MIME DB will not be
reinstalled, and only those source directories will be copied for which
the AddSourceDirectoryToHaikuImage rule is given a second argument
(e.g. "1"). The image will otherwise remain unchanged.

The "update-vmware-image" and "update-install" work similarly for the
VMWare image and the directory installation respectively. Note that, due
to the way the VMWare image is created (prepending a header to the
standard image), the file itself is fully rebuilt, i.e. changes made
during the emulation will be lost after updating the VMWare image.

The feature requires Haiku's jam. With other jam versions a similar
effect can be reached by accordingly setting the HAIKU_IMAGE_UPDATE_ONLY
and HAIKU_INCLUDE_IN_IMAGE in the UserBuildConfig file.


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


# 2c24a1a9f609984ecde4c3525521518ecdf50146 05-Apr-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

New handy build system feature: It is now possible to pass a command
line to jam that contains build targets and that will be executed by
the build system after building the targets and replacing their
occurrences in the command line by their paths. The keyword indicating
such a command line is "run", targets are marked by a leading ":".
E.g.:

jam -q run ':<build>xres' -l :libtracker.so

This builds the xres tool for the host platform and libtracker.so for
Haiku, and afterwards lists the resources libtracker.so contains. Note,
that this feature requires using Haiku's jam version.

The functionality is implemented by the new RunCommandLine rule, which
can, of course, also be used in the UserBuildConfig.



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


# b8ba8f58d7c5424d1726c310aac3d805b7f7cc53 28-Mar-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Added the disk device API to the libbe_haiku.so, so that libtracker.so builds
again for target libbe_test. Added respective syscall stubs and other functions
to libhaikucompat.a.


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


# 9756b9b4f03f4c3c5e258bf8bb7558063f48d981 21-Feb-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

A jam invocation without given target (or the "all" target) in the output
directory, the build system root directory, or the "src" directory is
now using the "haiku-image" target instead. The variable
HAIKU_ORIGINAL_JAM_TARGETS is set to the original JAM_TARGETS value, so
that a UserBuildConfig can base its decisions on it.
The feature is only available with Haiku's jam version.


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


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

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


# 0fcdce909752da039c867042c5955d5bf54523f3 29-Jan-2007 Axel Dörfler <axeld@pinc-software.de>

Added a HAIKU_BASE_CCFLAGS variable that will be added to all CCFLAGS/C++FLAGS that
build Haiku. Uncomment it to define "-pipe" which may speed up your build process
a bit if you have enough memory (it's about 25% faster on a test case over here
with BeOS).


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


# c166aa847e95f45df54d72c645120f9bbc6e1e5e 14-Dec-2006 Axel Dörfler <axeld@pinc-software.de>

Added -Wno-multichar to the default kernel GCC flags.


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


# 69b1f76d66e7870cd9a0be8c4cf13b945dfad743 29-Nov-2006 Ingo Weinhold <ingo_weinhold@gmx.de>

FreeBSD build platform support. Original patches courtesy of
Samuel Rodriguez Perez, somewhat hacked by myself.


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


# b06be955a61aefaadc5d54f53bc277faaa992d82 07-Nov-2006 Jérôme Duval <korli@users.berlios.de>

added a -Wno-deprecated flag for gcc4 avoiding warnings for deprecated headers


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


# d2ae268f24f75d50043b525ef34b0f2328502f0a 07-Oct-2006 Axel Dörfler <axeld@pinc-software.de>

libnetapi.so no longer exists under Haiku.


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


# 34b8a998fc67cd041dc02e3d152ae487345de766 28-Sep-2006 Marcus Overhagen <marcusoverhagen@gmail.com>

allow overriding TARGET_BOOT_PLATFORM on command line


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


# 48b8e2715554bffd36caa08bf7912d1c2a68c64e 09-Aug-2006 Jérôme Duval <korli@users.berlios.de>

improved the library name map for haiku and host keeping the simpler name input_server


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


# 72cc02533eb283d56af8fdbcf2694a9f1cdf5473 08-Aug-2006 Jérôme Duval <korli@users.berlios.de>

link input addon against /system/servers/input_server on non Haiku targets, map our input_server target to it


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


# 5abaa7ebb1d09e12d10db20cde5d47edac2cfb2a 03-Aug-2006 Ingo Weinhold <ingo_weinhold@gmx.de>

We do now include HaikuBuildCompatibility.h and link against libhaikucompat.a
automatically for all BeOS compatible target platforms but Haiku. This should
allow more Haiku code to build for BeOS.

Disclaimer: I couldn't really test it, since my BeOS working tree is switched
to my layout branch and under Linux I obviously can't test building for BeOS.
So, if you have complaints, keep them to yourself and just fix the problem.
;-)


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


# f9b776de3f9a88999f05bc30df6e86f4499472f5 02-Jun-2006 Oliver Tappe <zooey@hirschkaefer.de>

- changed HAIKU_TEST_DIR to incorporate the platform and the architecture, such
that tests for different platforms don't mix.



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


# f146dc96146f774e2b03ae767050660f1f0cd567 23-May-2006 François Revol <revol@free.fr>

allow compiling of things using find_directory on ZETA, so I can test Terminal


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


# a64b25838dea2517d287a920c679d5bbbe00cc71 11-Apr-2006 Jérôme Duval <korli@users.berlios.de>

added libGL.so as haiku library


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


# 1b478a399e7be8e6f634f318cb1b3e64e3f4ba91 01-Feb-2006 Jérôme Duval <korli@users.berlios.de>

fixed network libs definition for haiku platform
it could be wrong in some cases


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


# f9cf8b6073a7db65617055126121766327152dfd 25-Jan-2006 Axel Dörfler <axeld@pinc-software.de>

Added __HAIKU__ for target libbe_test.
Fixed FreeBSD host platform define.


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


# 789b0b782438a981b8c7f0874481111b7962c10f 24-Jan-2006 Axel Dörfler <axeld@pinc-software.de>

Applied patch from Alexander U. Deynichenko: $HOST_PLATFORM should change
HOST_DEFINES, not TARGET_DEFINES.


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


# 957a1b17eb9d13d6dbf164145e82997e16742549 30-Dec-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* Introduced new build system variables
{HAIKU,HOST,TARGET}_KERNEL_PIC_{CC,LINK}FLAGS which define the
compiler/linker flags specifying the kind of position independence
the kernel shall have. For x86 we had and still have -fno-pic, but the
PPC kernel has -fPIE (position independent executable) now, as we
need to relocate it.
* The boot loader relocates the kernel now. Mostly copied the relocation
code from the kernel ELF loader. Almost completely rewrote the PPC
specific relocation code, though. It's more correct and more complete now
(some things are still missing though).
* Added boot platform awareness to the kernel. Moved the generic
Open Firmware code (openfirmware.c/h) from the boot loader to the kernel.
* The kernel PPC serial debug output is sent to the console for the time
being.
* The PPC boot loader counts the CPUs now and allocates the kernel stacks
(made OF device iteration a bit more flexible on the way -- the search
can be restricted to subtree). Furthermore we really enter the kernel...
(Yay! :-) ... and crash in the first dprintf() (in the atomic_set()
called by acquire_spinlock()). kprintf() works, though.



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


# 6f9dddcb72da81b6e56b30a3d063816095a66432 28-Dec-2005 Axel Dörfler <axeld@pinc-software.de>

libgame.so can now be compiled again in the test environment (libbe_test).


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


# 2a1f9fe07a0a16e35fbe344103767c9da37665bb 15-Dec-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Rewrote KernelAddon. We were using Addon before, with the undesired side
effect that we were linking not only against the complete glue code, but
also against libroot.so. Now we explicitly link against
crtbegin.o/crtend.o only.


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


# 57eab4408bc999d23e870cf1566b9a47ba5d01e1 13-Dec-2005 Waldemar Kornewald <wkornew@nowhere.fake>

Now we use the legacy headers when building our compatibility libraries. Fixed BuildSetup to use root instead of libroot.so because arp would not build otherwise. Command-line apps now don't build for R5, anymore. I hope nothing is broken.


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


# 365eac1beaed1212b2cf71769954e83bf02a7f3f 06-Dec-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Support PPC as target architecture.


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


# 9a05e71e91495009df5460373615123b3c8c77bc 18-Nov-2005 Nathan Whitehorn <nwhitehorn@nowhere.fake>

Made FreeBSD work with jam.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15025 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


# 9469b271e8313f65e5963e9b8b3911f783c25bb7 14-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Typo that broke the build.


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


# c89fc8752d05038ff640b5e738e8c1c8faea2bb8 14-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* 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


# ec068e96bb8cb975a8a61b02f166a19d1864ca16 13-Nov-2005 Axel Dörfler <axeld@pinc-software.de>

No longer needed.


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


# 8b5934c975d7c3eb1c19f396dbe2a150df4f086a 12-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* 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


# d6f43ca72cffb143a1e520692d44b1c8b698508e 11-Nov-2005 Axel Dörfler <axeld@pinc-software.de>

Looks like Dano headers aren't perfect. I hope this solution is at least a tiny
bit like Ingo would have done it :)


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


# 155b583ac369749fdfae25f419056389ec7eb16e 09-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed unit tests build for platforms libbe_test and r5. Only randomly tested
a few whether they actually work.
New pseudo target "unittests", which builds all unit tests for the currently
set TARGET_PLATFORM. They are placed in generated/tests/<platform>/unittests.


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


# ca9e5772c3fa971474035b57ee9226ccc429ebc9 07-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* Reintroduced third LinkAgainst parameter <mapLibs>, defaulting to true.
Library names are now mapped for all targets but "host" (not only for
"haiku") -- added one more level of indirection to achieve that.
(TARGET_LIBRARY_NAME_MAP -> *_LIBRARY_NAME_MAP_*).
* Renamed build/HaikuBuildCompatibility.h to BeOSBuildCompatibility.h
(auto-included when compiling something that uses the Be API for platform
"host" on anon-BeOS platform), and introduced build/HaikuBuildCompatibility.h,
which can be included when compiling something that can be built for both,
Haiku and BeOS compatible platforms.
* Introduced libhaikucompat.a, a library that adds a few functions existing
under Haiku, but not under BeOS.
* New rule AddSubDirSupportedPlatforms.
* Renamed libopenbeos.so to libbe_haiku.so.
* Introduced new target platform "libbe_test", which is basically equivalent
to a BeOS compatible host platform target, with the exception, that instead
of the host platform's libbe.so a special build of Haiku's libbe.so
(libbe_haiku.so (formerly known as libopenbeos.so)) is used. Furthermore
Haiku's public app, interface, storage, and support kit headers are used
when compiling. This replaces the less nice way in which the test app server
and applications for this test environment were built.
When building for platform "libbe_test", the library name "be" is
autotranslated to "libbe_haiku.so". Thus most applications don't need
special fiddling when them building them for the app server test environment;
usually an "AddSubDirSupportedPlatforms libbe_test ;" will suffice.
* Reduced the dependencies of <syscalls.h> and fixed problems caused by this
(e.g. source files not including the needed headers directly).



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


# 42f8a2603eae06ca7a93a31b8fe32b97a39cd4bc 01-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed last commit. Now we define HAIKU_TARGET_PLATFORM_* macros correctly
depending on the TARGET_PLATFORM.


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


# 723a9e90c9fbecd66e5e19ec6d7c3b6ff1353494 01-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

We define a preprocessor macro HAIKU_TARGET_PLATFORM_{BEOS,BONE,DANO,HAIKU,LINUX} for identifying the platform something is built for.


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


# 338b8dc301721b1f472e8297a898d4eaa2f2ee3a 29-Oct-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

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