#
a4d27987 |
|
27-Sep-2022 |
Augustin Cavalier <waddlesplash@gmail.com> |
KernelRules: Add the same -fvisibility=hidden logic in KernelStaticLibrary... ...as was already added to the regular (userland) StaticLibrary some time ago. Shaves off double-digit percentages of the file size of e.g. FreeBSD and OpenBSD network drivers.
|
#
7aa55747 |
|
30-Sep-2021 |
Augustin Cavalier <waddlesplash@gmail.com> |
kernel & addons: Build with the non-legacy GCC even on x86_gcc2h. Only one code change: for some reason, GCC chokes on the cr3 functions as macros (throwing errors about invalid registers.) The BSDs have them as inline functions instead, so they are converted to that here. Tested and working. There seems to be about a 10% decrease in CPU time on some compilation benchmarks that I briefly tried. Change-Id: I31666297394d7619f83fca6ff5f933ddd6f07420 Reviewed-on: https://review.haiku-os.org/c/haiku/+/4515 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
cc6b376c |
|
31-Dec-2020 |
PulkoMandy <pulkomandy@pulkomandy.tk> |
KernelLd: the kernel must be rebuilt when its linker script is modified. Change-Id: I4f8bf6757b716f910116509419452cfc4c7f6216 Reviewed-on: https://review.haiku-os.org/c/haiku/+/3580 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
128781e7 |
|
30-Aug-2019 |
Augustin Cavalier <waddlesplash@gmail.com> |
build/jam: Inline HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR where possible. The "exec" tool can only handle one command with environs set at the beginning of the line, so now we set the ADD_BUILD_COMPAT... in this format. This also seems to be a general performance improvement to builds using real shells, too. Change-Id: If4b3117651b5475039d5e8116cd3de398582290a
|
#
df34a271 |
|
22-Nov-2018 |
Augustin Cavalier <waddlesplash@gmail.com> |
build: Do not use regular TARGET_*FLAGS in kernel and bootloader. The generic CCFLAGS are already appended to the HAIKU_KERNEL_*FLAGS and HAIKU_BOOT_*FLAGS, so these were just duplicates. And now that we strip certain flags out of the base ones, this was incorrect (and causes Clang to error in some circumstances.)
|
#
74bfec3b |
|
06-May-2018 |
Jessica Hamilton <jessica.l.hamilton@gmail.com> |
build/jam: whitespace cleanup. Change-Id: I80c9a51417631b1f283923451f5bb530097b74f3
|
#
9e5091d7 |
|
28-Oct-2015 |
Simon South <ssouth@simonsouth.com> |
Build without linker warnings about missing entry symbols. * BootRules: Use -Xlinker option correctly to specify entry point. * KernelRules: Build kernel add-ons as shared objects explicitly. Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
|
#
220d0402 |
|
31-Jul-2014 |
Oliver Tappe <zooey@hirschkaefer.de> |
Use libstdc++, libsupc++ and libgcc from gcc_syslibs. * Instead of faking libstdc++.so from libstdc++.a, use libstdc++.so from the gcc_syslibs build feature for everything except x86_gcc2. * Use libgcc_s.so from the gcc_syslibs build feature for everything but x86_gcc2 (which still carries libgcc as part of libroot.so). * Drop filtering of libgcc objects for libroot, as that is no longer necessary since we're only using libgcc-as-single-object for libroot with x86_gcc2, where the filtered object file doesn't exist. Should the objects that used to be filtered cause any problems as part of libgcc_s.so, we can always filter them as part of the gcc build. * Use libsupc++.so from the gcc_syslibs build feature for everything but x86_gcc2. * Adjust all Jamfiles accordingly. * Deactivate building of faked libstdc++.so for non-x86-gcc2. For x86_gcc2, we still build libstdc++.so from the sources in the Haiku source tree as part of the Haiku build . * Put gcc_syslibs package onto the image, when needed.
|
#
bd04aa37 |
|
15-Jul-2014 |
Oliver Tappe <zooey@hirschkaefer.de> |
Cleanup: Fix missing evaluation of HAIKU_NO_LIBSUPC++. * There's no user of HAIKU_NO_LIBSUPC++ anywhere, so the typo didn't have any effect.
|
#
8c54af56 |
|
30-Apr-2014 |
Oliver Tappe <zooey@hirschkaefer.de> |
Whitespace cleanup in root and 'build' folder. * Removed trailing whitespace and empty lines at top of files.
|
#
39d26e3c |
|
12-Oct-2013 |
François Revol <revol@free.fr> |
Set HAIKU_TARGET_IS_EXECUTABLE in KernelLd as well The kernel also needs to be stripped for m68k. Propagate it to the revisioned binary as well.
|
#
d1246f33 |
|
29-Aug-2013 |
Oliver Tappe <zooey@hirschkaefer.de> |
Drop use of non-existing variable in KernelAddon rule. * TARGET_KERNEL_PIC_FLAGS was probably meant to be TARGET_KERNEL_PIC_CCFLAGS at the time this had been added in 2005. As correcting the name would mean that kernel add-ons would be compiled such that they wouldn't be position independent, dropping the variable makes more sense (which is just a cleanup and doesn't change anything due to that variable being always empty)
|
#
b0944c78 |
|
01-Aug-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
More work towards hybrid support * All packaging architecture dependent variables do now have a respective suffix and are set up for each configured packaging architecture, save for the kernel and boot loader variables, which are still only set up for the primary architecture. For convenience TARGET_PACKAGING_ARCH, TARGET_ARCH, TARGET_LIBSUPC++, and TARGET_LIBSTDC++ are set to the respective values for the primary packaging architecture by default. * Introduce a set of MultiArch* rules to help with building targets for multiple packaging architectures. Generally the respective targets are (additionally) gristed with the packaging architecture. For libraries the additional grist is usually omitted for the primary architecture (e.g. libroot.so and <x86>libroot.so for x86_gcc2/x86 hybrid), so that Jamfiles for targets built only for the primary architecture don't need to be changed. * Add multi-arch build support for all targets needed for the stage 1 cross devel package as well as for libbe (untested).
|
#
d0e6e174 |
|
05-May-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
rule KernelStaticLibrary: Fix comment
|
#
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.
|
#
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.
|
#
e89f127b |
|
19-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
KernelLd rule: opt-out linking against libsupc++ Introduced HAIKU_NO_LIBSUPC++ variable on target to prevent linking against libsupc++.
|
#
abc3c57b |
|
19-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
KernelLd rule: opt-out linking against libsupc++ Introduced HAIKU_NO_LIBSUPC++ variable on target to prevent linking against libsupc++.
|
#
29782747 |
|
22-May-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added rule SetVersionScript to set the version script for a target and adjusted the Link and KernelLd rules to support it. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30825 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
adfe1993 |
|
19-Apr-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Add --no-undefined for kernel add-ons, too. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25071 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
|
#
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
|
#
f7d29d33 |
|
25-Feb-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Don't include the grist in libraries' sonames. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20233 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3f493ef6 |
|
17-Feb-2007 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
Force recreation of *.a archives to avoid build errors caused by stale dependencies after renaming or deleting object files. This will avoid link error like the one that was caused by the recent mesa update. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20148 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c49e0c68 |
|
18-Sep-2006 |
Jérôme Duval <korli@users.berlios.de> |
dropped a useless arg of the KernelAddon rule, hope I don't mess anything git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18879 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
44d56753 |
|
16-Aug-2006 |
Jérôme Duval <korli@users.berlios.de> |
KernelAddon and KernelStaticLibrary don't include kernel, kernel arch, boot platform headers anymore. Fixed the build of most of targets using these rules. Though the build can be still broken, feel free to fix. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18521 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
70418bc5 |
|
08-Aug-2006 |
Jérôme Duval <korli@users.berlios.de> |
KernelAddon rule accepts resources git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18455 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cce6f8d0 |
|
13-Jun-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Changed the kernel build rules, so that the executables can have resources files, too. * Added a temporary icon for the kernel until Stephan comes up with a better one (hint hint!) :-)) * This even fixes bug #648. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17825 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
|
#
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
|
#
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
|
#
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
|
#
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
|
#
220d04022750f40f8bac8f01fa551211e28d04f2 |
|
31-Jul-2014 |
Oliver Tappe <zooey@hirschkaefer.de> |
Use libstdc++, libsupc++ and libgcc from gcc_syslibs. * Instead of faking libstdc++.so from libstdc++.a, use libstdc++.so from the gcc_syslibs build feature for everything except x86_gcc2. * Use libgcc_s.so from the gcc_syslibs build feature for everything but x86_gcc2 (which still carries libgcc as part of libroot.so). * Drop filtering of libgcc objects for libroot, as that is no longer necessary since we're only using libgcc-as-single-object for libroot with x86_gcc2, where the filtered object file doesn't exist. Should the objects that used to be filtered cause any problems as part of libgcc_s.so, we can always filter them as part of the gcc build. * Use libsupc++.so from the gcc_syslibs build feature for everything but x86_gcc2. * Adjust all Jamfiles accordingly. * Deactivate building of faked libstdc++.so for non-x86-gcc2. For x86_gcc2, we still build libstdc++.so from the sources in the Haiku source tree as part of the Haiku build . * Put gcc_syslibs package onto the image, when needed.
|
#
bd04aa3772fea5fc96a4cbe332108305d464a53c |
|
15-Jul-2014 |
Oliver Tappe <zooey@hirschkaefer.de> |
Cleanup: Fix missing evaluation of HAIKU_NO_LIBSUPC++. * There's no user of HAIKU_NO_LIBSUPC++ anywhere, so the typo didn't have any effect.
|
#
8c54af563ce823c0e5b029716b2a020896c90ff4 |
|
30-Apr-2014 |
Oliver Tappe <zooey@hirschkaefer.de> |
Whitespace cleanup in root and 'build' folder. * Removed trailing whitespace and empty lines at top of files.
|
#
39d26e3cdbc48462dc8db95de45970ee16bf2ddf |
|
12-Oct-2013 |
François Revol <revol@free.fr> |
Set HAIKU_TARGET_IS_EXECUTABLE in KernelLd as well The kernel also needs to be stripped for m68k. Propagate it to the revisioned binary as well.
|
#
d1246f33f039518f5c62953007d8fd522ace94e7 |
|
29-Aug-2013 |
Oliver Tappe <zooey@hirschkaefer.de> |
Drop use of non-existing variable in KernelAddon rule. * TARGET_KERNEL_PIC_FLAGS was probably meant to be TARGET_KERNEL_PIC_CCFLAGS at the time this had been added in 2005. As correcting the name would mean that kernel add-ons would be compiled such that they wouldn't be position independent, dropping the variable makes more sense (which is just a cleanup and doesn't change anything due to that variable being always empty)
|
#
b0944c78b074a8110bd98e060415d0e8f38a7f65 |
|
01-Aug-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
More work towards hybrid support * All packaging architecture dependent variables do now have a respective suffix and are set up for each configured packaging architecture, save for the kernel and boot loader variables, which are still only set up for the primary architecture. For convenience TARGET_PACKAGING_ARCH, TARGET_ARCH, TARGET_LIBSUPC++, and TARGET_LIBSTDC++ are set to the respective values for the primary packaging architecture by default. * Introduce a set of MultiArch* rules to help with building targets for multiple packaging architectures. Generally the respective targets are (additionally) gristed with the packaging architecture. For libraries the additional grist is usually omitted for the primary architecture (e.g. libroot.so and <x86>libroot.so for x86_gcc2/x86 hybrid), so that Jamfiles for targets built only for the primary architecture don't need to be changed. * Add multi-arch build support for all targets needed for the stage 1 cross devel package as well as for libbe (untested).
|
#
d0e6e17436620b80da30381387599df3bd5e54d9 |
|
05-May-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
rule KernelStaticLibrary: Fix comment
|
#
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.
|
#
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.
|
#
e89f127b9eeccb4d1fc468e57a6e1cda2ab636ad |
|
19-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
KernelLd rule: opt-out linking against libsupc++ Introduced HAIKU_NO_LIBSUPC++ variable on target to prevent linking against libsupc++.
|
#
abc3c57ba68a10c5754a2dd2bc91a7e378e75f13 |
|
19-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
KernelLd rule: opt-out linking against libsupc++ Introduced HAIKU_NO_LIBSUPC++ variable on target to prevent linking against libsupc++.
|
#
297827477bc348fcf07166b09cb15a28d8c23a74 |
|
22-May-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added rule SetVersionScript to set the version script for a target and adjusted the Link and KernelLd rules to support it. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30825 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
adfe1993eb7aa66fbf1c4ea0a679cf9600d62a47 |
|
19-Apr-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Add --no-undefined for kernel add-ons, too. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25071 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
|
#
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
|
#
f7d29d339b00d2432ee695809c92698ce7886ab0 |
|
25-Feb-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Don't include the grist in libraries' sonames. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20233 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3f493ef624d33f023a714dd6a9ca3d1b6e6b3ef2 |
|
17-Feb-2007 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
Force recreation of *.a archives to avoid build errors caused by stale dependencies after renaming or deleting object files. This will avoid link error like the one that was caused by the recent mesa update. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20148 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c49e0c68b013ebe90a3a48d5e98b5788ba2e6542 |
|
18-Sep-2006 |
Jérôme Duval <korli@users.berlios.de> |
dropped a useless arg of the KernelAddon rule, hope I don't mess anything git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18879 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
44d5675324128d940518aaf7f2096efe9965db3a |
|
16-Aug-2006 |
Jérôme Duval <korli@users.berlios.de> |
KernelAddon and KernelStaticLibrary don't include kernel, kernel arch, boot platform headers anymore. Fixed the build of most of targets using these rules. Though the build can be still broken, feel free to fix. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18521 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
70418bc5bfd09ba9f43664f05e48860a1a227584 |
|
08-Aug-2006 |
Jérôme Duval <korli@users.berlios.de> |
KernelAddon rule accepts resources git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18455 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cce6f8d05f8d5c24974e10e785a191eed32e69c6 |
|
13-Jun-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Changed the kernel build rules, so that the executables can have resources files, too. * Added a temporary icon for the kernel until Stephan comes up with a better one (hint hint!) :-)) * This even fixes bug #648. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17825 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
|
#
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
|
#
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
|
#
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
|
#
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
|