Commit Graph

133 Commits

Author SHA1 Message Date
Ingo Weinhold 3e5498e4c9 Patch by Andreas Färber modified by myself:
* Determine HOST_LD and HOST_OBJCOPY in configure.
* Removed Solaris ld work-around in BuildSetup.

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


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34892 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-04 17:50:52 +00:00
Oliver Tappe 82cbfd3573 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
2010-01-02 22:11:08 +00:00
Ingo Weinhold 1b6f98637b 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
2009-12-20 16:46:27 +00:00
Ingo Weinhold 0b58d8440c * Prefixed the INCLUDE_GPL_ADDONS variable by "HAIKU_". configure needs to
be run again or generated/build/BuildConfig needs to be adjusted manually.
* Removed bochs debug hack.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34721 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-20 13:55:45 +00:00
Ingo Weinhold adf0692b51 * 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
2009-12-20 13:40:12 +00:00
Ingo Weinhold e001389fc7 Added shared headers to HAIKU_PRIVATE_KERNEL_HEADERS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34701 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-19 14:23:44 +00:00
François Revol 4dc69971bc 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
2009-12-06 14:22:44 +00:00
Ingo Weinhold fc7864091e 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
2009-12-02 10:56:10 +00:00
Ingo Weinhold ba829ba0f9 Adjusted gcc2 work-around to renamed file.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34418 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-01 17:07:10 +00:00
Ingo Weinhold 6236ae8570 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
2009-11-25 23:48:45 +00:00
Axel Dörfler 2f1e464a8c * 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
2009-11-25 16:33:10 +00:00
Ingo Weinhold a79e0ef1ad 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
2009-11-25 11:58:09 +00:00
Ingo Weinhold bdfce0e900 Define __STDC_FORMAT_MACROS directly in HOST_DEFINES.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34217 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-24 20:19:08 +00:00
Ingo Weinhold a85cf9d793 * configure: Pass gcc's host machine string to the jam build system.
* BuildSetup: Set jam variable HOST_PLATFORM_IS_64_BIT and add host define
  HAIKU_HOST_PLATFORM_64_BIT if the host platform is 64 bit. Removed the
  check from BeOSBuildCompatibility.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34211 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-24 18:57:49 +00:00
Ingo Weinhold 9d14ecca03 Build package and packagefs with -Werror.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34067 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-15 23:22:27 +00:00
Stephan Aßmus e55dd5f8ef * 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
2009-09-23 10:14:07 +00:00
Rene Gollent b25f8906fb 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
2009-09-19 19:52:30 +00:00
François Revol 1b15449d32 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
2009-09-19 11:21:03 +00:00
Michael Lotz 10c8ce934f 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
2009-08-27 20:55:26 +00:00
Jonas Sundström 8e8130d1f0 Adding routerboard_mipsel platform stubs and linker script.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32594 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-22 01:48:18 +00:00
Axel Dörfler 67838392dc * Applied stippi's no-patents patch, but without the ffmpeg part, as that one
is obviously already configured not to use patented code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32577 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 17:20:23 +00:00
Axel Dörfler 2c69b5b6c0 * 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
2009-08-19 14:17:13 +00:00
Axel Dörfler adc5ba48dc * 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
2009-08-18 14:56:59 +00:00
François Revol feb750d331 [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
2009-08-12 16:12:35 +00:00
Axel Dörfler 3f1460bcee * 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
2009-08-12 14:47:46 +00:00
François Revol b0b9925be1 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
2009-08-05 16:00:13 +00:00
François Revol 6f823c251b 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
2009-07-22 17:34:13 +00:00
François Revol 7043bc6852 [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
2009-07-22 17:17:09 +00:00
Oliver Tappe 16d5c24e53 * merged 32bit-wchar_t branches of buildtools and haiku back into
the respective trunk

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31443 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-07 10:30:09 +00:00
Axel Dörfler aa1f661460 * 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
2009-06-21 17:04:32 +00:00
Ingo Weinhold a474455132 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
2009-05-25 01:21:32 +00:00
Ingo Weinhold f604da453f 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
2009-05-24 22:07:06 +00:00
Ingo Weinhold c154b94624 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
2009-05-21 15:04:37 +00:00
Ingo Weinhold 003ebb0e83 * 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
2009-05-20 02:22:36 +00:00
Jonas Sundström 226136446a 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
2009-05-02 19:03:19 +00:00
François Revol dc80fc5244 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
2009-04-28 23:04:39 +00:00
François Revol 357179de85 Use 150kB tgz offset for m68k.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30470 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-27 19:36:26 +00:00
François Revol 4eae7ffa1e 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
2009-04-27 19:28:13 +00:00
Ingo Weinhold 77e84f219a configure does now check the yasm version for target architecture x86, and
sets the HAIKU_YASM build variable, which will be checked in BuildSetup.
Re-running configure or adding the variable manually to
generated/build/BuildConfig is required.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30145 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-13 10:50:17 +00:00
Axel Dörfler 317bd7dda3 * 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
2009-04-03 09:02:44 +00:00
Ingo Weinhold 9a8f8b7b13 Enabled -Werror for userlandfs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29405 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-05 22:06:02 +00:00
Ingo Weinhold 37aefc9c6f * 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
2009-02-23 22:33:09 +00:00
Michael Lotz e2c3dec923 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
2009-02-15 02:34:32 +00:00
Michael Lotz 6eb09230ba * 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
2009-02-01 22:12:55 +00:00
Michael Lotz 374c632c55 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
2009-01-25 19:25:16 +00:00
Michael Lotz 64f7e20f9c 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
2009-01-23 00:40:41 +00:00
François Revol ad06cdd139 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
2009-01-09 20:36:50 +00:00
François Revol 1c532eedf1 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
2008-11-15 03:30:00 +00:00
François Revol c7d3cf5b8a 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
2008-11-07 02:35:46 +00:00
Ingo Weinhold 889903f9dd 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
2008-10-23 21:45:24 +00:00