Commit Graph

84 Commits

Author SHA1 Message Date
Ingo Weinhold
9756b9b4f0 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
2007-02-22 00:59:28 +00:00
Ingo Weinhold
eccc7665b5 Added configure option --use-gcc-pipe to enable building with the gcc
-pipe option.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20066 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-04 14:03:21 +00:00
Axel Dörfler
0fcdce9097 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
2007-01-30 00:47:56 +00:00
Axel Dörfler
c166aa847e 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
2006-12-14 14:54:51 +00:00
Ingo Weinhold
69b1f76d66 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
2006-11-29 18:08:00 +00:00
Jérôme Duval
b06be955a6 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
2006-11-07 23:47:33 +00:00
Axel Dörfler
d2ae268f24 libnetapi.so no longer exists under Haiku.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19021 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-07 16:15:57 +00:00
Marcus Overhagen
34b8a998fc allow overriding TARGET_BOOT_PLATFORM on command line
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18957 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-28 11:55:30 +00:00
Jérôme Duval
48b8e27155 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
2006-08-09 08:13:07 +00:00
Jérôme Duval
72cc02533e 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
2006-08-08 16:33:44 +00:00
Ingo Weinhold
5abaa7ebb1 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
2006-08-03 17:50:19 +00:00
Oliver Tappe
f9b776de3f - 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
2006-06-02 18:00:49 +00:00
François Revol
f146dc9614 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
2006-05-23 09:41:43 +00:00
Jérôme Duval
a64b25838d added libGL.so as haiku library
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17067 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-11 08:27:21 +00:00
Jérôme Duval
1b478a399e 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
2006-02-02 12:50:03 +00:00
Axel Dörfler
f9cf8b6073 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
2006-01-25 23:55:14 +00:00
Axel Dörfler
789b0b7824 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
2006-01-24 16:31:27 +00:00
Ingo Weinhold
957a1b17eb * 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
2005-12-30 21:20:07 +00:00
Axel Dörfler
6f9dddcb72 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
2005-12-28 21:53:13 +00:00
Ingo Weinhold
2a1f9fe07a 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
2005-12-15 13:01:25 +00:00
Waldemar Kornewald
57eab4408b 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
2005-12-13 16:30:16 +00:00
Ingo Weinhold
365eac1bea Support PPC as target architecture.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15383 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-06 22:47:04 +00:00
Nathan Whitehorn
9a05e71e91 Made FreeBSD work with jam.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15025 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-18 17:42:16 +00:00
Nathan Whitehorn
307807f2da Moved FreeBSD setup to define a freebsd build platform. GCC4 apparently also requires the use of GNU Make, so told the build_cross_tools script to use 'gmake' instead of 'make' on BSD systems.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15024 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-18 16:35:32 +00:00
Ingo Weinhold
9469b271e8 Typo that broke the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14914 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-14 14:26:14 +00:00
Ingo Weinhold
c89fc8752d * More consequent handling of libsupc++. configure looks it up now and
provides it via BuildConfig. We link everything against it.
* Temporarily pass --no-undefined to the linker. Should be in the
  compiler specs, but isn't in the gcc 4 I built.
* Define _BEOS_R5_COMPATIBLE_ macro when building with gcc 2. Can be
  used in headers for instance.


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


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14876 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-12 22:58:54 +00:00
Axel Dörfler
d6f43ca72c 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
2005-11-11 15:50:47 +00:00
Ingo Weinhold
155b583ac3 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
2005-11-09 16:17:31 +00:00
Ingo Weinhold
ca9e5772c3 * 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
2005-11-07 16:07:25 +00:00
Ingo Weinhold
42f8a2603e 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
2005-11-01 16:24:29 +00:00
Ingo Weinhold
723a9e90c9 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
2005-11-01 16:18:01 +00:00
Ingo Weinhold
338b8dc301 Merged changes from branch build_system_redesign at revision 14573.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14574 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-29 16:27:43 +00:00