diff --git a/build/jam/KernelRules b/build/jam/KernelRules index b3ac887b8b..abb5a6fc5d 100644 --- a/build/jam/KernelRules +++ b/build/jam/KernelRules @@ -1,7 +1,7 @@ rule SetupKernel { - # Usage SetupKernel : ; + # Usage SetupKernel : : ; # # - Ideally sources, otherwise HDRSEARCH can not be # set for the sources and the sources some header @@ -11,7 +11,9 @@ rule SetupKernel local objects = $(sources:S=$(SUFOBJ)) ; # add private kernel headers - SourceSysHdrs $(sources) : $(TARGET_PRIVATE_KERNEL_HEADERS) ; + if $(3) != false { + SourceSysHdrs $(sources) : $(TARGET_PRIVATE_KERNEL_HEADERS) ; + } local object ; for object in $(objects) { @@ -103,7 +105,7 @@ rule KernelAddon Depends $(target) : $(beginGlue) $(endGlue) ; # compile and link - SetupKernel $(sources) : $(TARGET_KERNEL_PIC_FLAGS) ; + SetupKernel $(sources) : $(TARGET_KERNEL_PIC_FLAGS) : false ; local linkFlags = -nostdlib -Xlinker -soname=\"$(target)\" ; LINKFLAGS on $(target) = [ on $(target) return $(LINKFLAGS) ] $(linkFlags) ; Main $(target) : $(sources) ; @@ -132,7 +134,7 @@ rule KernelStaticLibrary # This is designed to take a set of sources and libraries and create # a file called lib.a - SetupKernel $(2) : $(3) ; + SetupKernel $(2) : $(3) : false ; Library $(1) : $(2) ; } diff --git a/src/add-ons/kernel/bus_managers/config_manager/Jamfile b/src/add-ons/kernel/bus_managers/config_manager/Jamfile index 35efbdf1f5..72ae545e95 100644 --- a/src/add-ons/kernel/bus_managers/config_manager/Jamfile +++ b/src/add-ons/kernel/bus_managers/config_manager/Jamfile @@ -1,5 +1,7 @@ SubDir HAIKU_TOP src add-ons kernel bus_managers config_manager ; +UsePrivateHeaders kernel ; + KernelAddon config_manager : kernel bus_managers : config_manager.c ; diff --git a/src/add-ons/kernel/bus_managers/pci/arch/x86/Jamfile b/src/add-ons/kernel/bus_managers/pci/arch/x86/Jamfile index 8e0cfd8790..24fb9dbf77 100644 --- a/src/add-ons/kernel/bus_managers/pci/arch/x86/Jamfile +++ b/src/add-ons/kernel/bus_managers/pci/arch/x86/Jamfile @@ -2,6 +2,8 @@ SubDir HAIKU_TOP src add-ons kernel bus_managers pci arch x86 ; SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) $(DOTDOT) ] ; +UsePrivateHeaders kernel [ FDirName kernel arch x86 ] ; + KernelStaticLibrary pci_arch_bus_manager : pci_bios.c pci_controller.c diff --git a/src/add-ons/kernel/console/vga_text/Jamfile b/src/add-ons/kernel/console/vga_text/Jamfile index 70c6f7b744..65aff29610 100644 --- a/src/add-ons/kernel/console/vga_text/Jamfile +++ b/src/add-ons/kernel/console/vga_text/Jamfile @@ -1,6 +1,7 @@ SubDir HAIKU_TOP src add-ons kernel console vga_text ; -UsePrivateHeaders kernel ; +UsePrivateHeaders kernel [ FDirName kernel arch $(TARGET_ARCH) ] + [ FDirName kernel boot platform $(HAIKU_BOOT_PLATFORM) ] ; KernelAddon vga_text : kernel console : vga_text.c diff --git a/src/add-ons/kernel/cpu/x86/Jamfile b/src/add-ons/kernel/cpu/x86/Jamfile index 52f6428182..e6d6814a74 100644 --- a/src/add-ons/kernel/cpu/x86/Jamfile +++ b/src/add-ons/kernel/cpu/x86/Jamfile @@ -1,6 +1,6 @@ SubDir HAIKU_TOP src add-ons kernel cpu x86 ; -UsePrivateHeaders kernel ; +UsePrivateHeaders kernel [ FDirName kernel arch $(TARGET_ARCH) ] ; KernelAddon generic_x86 : kernel cpu : generic_x86.cpp diff --git a/src/add-ons/kernel/drivers/bus/usb/Jamfile b/src/add-ons/kernel/drivers/bus/usb/Jamfile index 9775542ea1..f16a36e7fd 100644 --- a/src/add-ons/kernel/drivers/bus/usb/Jamfile +++ b/src/add-ons/kernel/drivers/bus/usb/Jamfile @@ -1,5 +1,7 @@ SubDir HAIKU_TOP src add-ons kernel drivers bus usb ; +UsePrivateHeaders kernel ; + KernelAddon usb_raw : kernel drivers bus usb : usb_raw.cpp ; diff --git a/src/add-ons/kernel/drivers/common/Jamfile b/src/add-ons/kernel/drivers/common/Jamfile index 34b3ac1015..0b704a098f 100644 --- a/src/add-ons/kernel/drivers/common/Jamfile +++ b/src/add-ons/kernel/drivers/common/Jamfile @@ -1,5 +1,7 @@ SubDir HAIKU_TOP src add-ons kernel drivers common ; +UsePrivateHeaders kernel ; + KernelAddon dprintf : kernel drivers dev : dprintf.cpp ; diff --git a/src/add-ons/kernel/drivers/graphics/vesa/Jamfile b/src/add-ons/kernel/drivers/graphics/vesa/Jamfile index aec782c49d..d2ca579327 100644 --- a/src/add-ons/kernel/drivers/graphics/vesa/Jamfile +++ b/src/add-ons/kernel/drivers/graphics/vesa/Jamfile @@ -1,7 +1,6 @@ SubDir HAIKU_TOP src add-ons kernel drivers graphics vesa ; -UsePrivateHeaders graphics ; -UsePrivateHeaders [ FDirName graphics vesa ] ; +UsePrivateHeaders kernel graphics [ FDirName graphics vesa ] ; KernelAddon vesa : kernel drivers bin : device.cpp diff --git a/src/add-ons/kernel/drivers/network/stack/Jamfile b/src/add-ons/kernel/drivers/network/stack/Jamfile index 98d2b95a67..89d7a0fc88 100644 --- a/src/add-ons/kernel/drivers/network/stack/Jamfile +++ b/src/add-ons/kernel/drivers/network/stack/Jamfile @@ -10,7 +10,7 @@ if ( $(TARGET_PLATFORM) != haiku ) { # Unfortunately we get more than we want, namely all POSIX headers. } -UsePrivateHeaders net ; +UsePrivateHeaders kernel net ; # a) Userland stack version: diff --git a/src/add-ons/kernel/drivers/random/Jamfile b/src/add-ons/kernel/drivers/random/Jamfile index e9223181ec..a4abc9bbe5 100644 --- a/src/add-ons/kernel/drivers/random/Jamfile +++ b/src/add-ons/kernel/drivers/random/Jamfile @@ -1,5 +1,8 @@ SubDir HAIKU_TOP src add-ons kernel drivers random ; +UsePrivateHeaders kernel [ FDirName kernel boot platform $(TARGET_BOOT_PLATFORM) ] ; +UseArchHeaders $(TARGET_ARCH) ; + KernelAddon random : kernel drivers dev : driver.c ; diff --git a/src/add-ons/kernel/file_systems/iso9660/Jamfile b/src/add-ons/kernel/file_systems/iso9660/Jamfile index 0ce0891b1d..551dbc7d34 100644 --- a/src/add-ons/kernel/file_systems/iso9660/Jamfile +++ b/src/add-ons/kernel/file_systems/iso9660/Jamfile @@ -9,6 +9,8 @@ oldOPTIM = $(OPTIM) ; SubDirC++Flags -Wall -Wno-multichar -fno-rtti ; } +UsePrivateHeaders kernel ; + KernelAddon iso9660 : kernel file_systems : iso.c iso9660.cpp diff --git a/src/add-ons/kernel/file_systems/iso9660/iso.c b/src/add-ons/kernel/file_systems/iso9660/iso.c index 2e9bf02405..81a2d39a80 100644 --- a/src/add-ons/kernel/file_systems/iso9660/iso.c +++ b/src/add-ons/kernel/file_systems/iso9660/iso.c @@ -15,7 +15,6 @@ #include #include #include -#include #include #include #include @@ -24,6 +23,7 @@ #include #include +#include "lock.h" #include "rock.h" #include "iso.h" diff --git a/src/add-ons/kernel/file_systems/iso9660/iso.h b/src/add-ons/kernel/file_systems/iso9660/iso.h index ebed3b68ca..8ff2c050a0 100644 --- a/src/add-ons/kernel/file_systems/iso9660/iso.h +++ b/src/add-ons/kernel/file_systems/iso9660/iso.h @@ -11,7 +11,7 @@ #include #include #include -#include +#include "lock.h" #include #include diff --git a/src/add-ons/kernel/file_systems/iso9660/kernel_interface.cpp b/src/add-ons/kernel/file_systems/iso9660/kernel_interface.cpp index 4b61fbe563..33c216d260 100644 --- a/src/add-ons/kernel/file_systems/iso9660/kernel_interface.cpp +++ b/src/add-ons/kernel/file_systems/iso9660/kernel_interface.cpp @@ -18,7 +18,6 @@ #include #include #include -#include #include #include @@ -34,6 +33,7 @@ #include +#include "lock.h" #include "iso.h" #include "iso9660.h" diff --git a/src/add-ons/kernel/network/datalink_protocols/arp/Jamfile b/src/add-ons/kernel/network/datalink_protocols/arp/Jamfile index f8fc3f2184..6152c44b60 100644 --- a/src/add-ons/kernel/network/datalink_protocols/arp/Jamfile +++ b/src/add-ons/kernel/network/datalink_protocols/arp/Jamfile @@ -10,7 +10,7 @@ if $(TARGET_PLATFORM) != haiku { # Unfortunately we get more than we want, namely all POSIX headers. } -UsePrivateHeaders net ; +UsePrivateHeaders kernel net ; KernelAddon arp : kernel haiku_network datalink_protocols : arp.cpp diff --git a/src/add-ons/kernel/network/datalink_protocols/ethernet_frame/Jamfile b/src/add-ons/kernel/network/datalink_protocols/ethernet_frame/Jamfile index 6fe947ce89..2c8ddcb6be 100644 --- a/src/add-ons/kernel/network/datalink_protocols/ethernet_frame/Jamfile +++ b/src/add-ons/kernel/network/datalink_protocols/ethernet_frame/Jamfile @@ -10,7 +10,7 @@ if $(TARGET_PLATFORM) != haiku { # Unfortunately we get more than we want, namely all POSIX headers. } -UsePrivateHeaders net ; +UsePrivateHeaders kernel net ; KernelAddon ethernet_frame : kernel haiku_network datalink_protocols : ethernet_frame.cpp diff --git a/src/add-ons/kernel/network/devices/ethernet/Jamfile b/src/add-ons/kernel/network/devices/ethernet/Jamfile index dc8574d04f..6dead58d1e 100644 --- a/src/add-ons/kernel/network/devices/ethernet/Jamfile +++ b/src/add-ons/kernel/network/devices/ethernet/Jamfile @@ -10,7 +10,7 @@ if $(TARGET_PLATFORM) != haiku { # Unfortunately we get more than we want, namely all POSIX headers. } -UsePrivateHeaders net ; +UsePrivateHeaders kernel net ; KernelAddon ethernet : kernel haiku_network devices : ethernet.cpp diff --git a/src/add-ons/kernel/network/protocols/icmp/Jamfile b/src/add-ons/kernel/network/protocols/icmp/Jamfile index c4692ca53f..dcfcdfe034 100644 --- a/src/add-ons/kernel/network/protocols/icmp/Jamfile +++ b/src/add-ons/kernel/network/protocols/icmp/Jamfile @@ -10,7 +10,7 @@ if $(TARGET_PLATFORM) != haiku { # Unfortunately we get more than we want, namely all POSIX headers. } -UsePrivateHeaders net ; +UsePrivateHeaders kernel net ; KernelAddon icmp : kernel haiku_network protocols : icmp.cpp diff --git a/src/add-ons/kernel/network/protocols/ipv4/Jamfile b/src/add-ons/kernel/network/protocols/ipv4/Jamfile index d1b5817988..5aefea469c 100644 --- a/src/add-ons/kernel/network/protocols/ipv4/Jamfile +++ b/src/add-ons/kernel/network/protocols/ipv4/Jamfile @@ -10,7 +10,7 @@ if $(TARGET_PLATFORM) != haiku { # Unfortunately we get more than we want, namely all POSIX headers. } -UsePrivateHeaders net ; +UsePrivateHeaders kernel net ; KernelAddon ipv4 : kernel haiku_network protocols : ipv4.cpp diff --git a/src/add-ons/kernel/network/protocols/tcp/Jamfile b/src/add-ons/kernel/network/protocols/tcp/Jamfile index a6f6010c5a..40f0ba0d53 100644 --- a/src/add-ons/kernel/network/protocols/tcp/Jamfile +++ b/src/add-ons/kernel/network/protocols/tcp/Jamfile @@ -10,7 +10,7 @@ if $(TARGET_PLATFORM) != haiku { # Unfortunately we get more than we want, namely all POSIX headers. } -UsePrivateHeaders net ; +UsePrivateHeaders kernel net ; KernelAddon tcp : kernel haiku_network protocols : tcp.cpp diff --git a/src/add-ons/kernel/network/protocols/udp/Jamfile b/src/add-ons/kernel/network/protocols/udp/Jamfile index 1d4215e224..edf4cc5088 100644 --- a/src/add-ons/kernel/network/protocols/udp/Jamfile +++ b/src/add-ons/kernel/network/protocols/udp/Jamfile @@ -10,7 +10,7 @@ if $(TARGET_PLATFORM) != haiku { # Unfortunately we get more than we want, namely all POSIX headers. } -UsePrivateHeaders net ; +UsePrivateHeaders kernel net ; KernelAddon udp : kernel haiku_network protocols : udp.cpp diff --git a/src/add-ons/kernel/network/stack/Jamfile b/src/add-ons/kernel/network/stack/Jamfile index 34e771304c..10c991e4e6 100644 --- a/src/add-ons/kernel/network/stack/Jamfile +++ b/src/add-ons/kernel/network/stack/Jamfile @@ -11,7 +11,7 @@ if $(TARGET_PLATFORM) != haiku { } -UsePrivateHeaders net ; +UsePrivateHeaders kernel net ; KernelAddon stack : kernel haiku_network : datalink.cpp diff --git a/src/system/boot/loader/Jamfile b/src/system/boot/loader/Jamfile index e39df51df4..d9338eb6a0 100644 --- a/src/system/boot/loader/Jamfile +++ b/src/system/boot/loader/Jamfile @@ -5,9 +5,8 @@ SubDirHdrs $(HAIKU_TOP) src add-ons kernel partitioning_systems apple ; SubDirHdrs $(HAIKU_TOP) src add-ons kernel partitioning_systems intel ; UsePrivateHeaders [ FDirName kernel boot platform $(TARGET_BOOT_PLATFORM) ] ; UsePrivateHeaders [ FDirName kernel disk_device_manager ] ; -UsePrivateHeaders [ FDirName kernel util ] ; -UsePrivateHeaders [ FDirName shared ] ; -UsePrivateHeaders [ FDirName storage ] ; +UsePrivateHeaders [ FDirName kernel util ] [ FDirName kernel arch $(TARGET_ARCH) ] ; +UsePrivateHeaders kernel shared storage ; { local defines = diff --git a/src/system/boot/loader/file_systems/amiga_ffs/Jamfile b/src/system/boot/loader/file_systems/amiga_ffs/Jamfile index 691b48ae52..222c7755b8 100644 --- a/src/system/boot/loader/file_systems/amiga_ffs/Jamfile +++ b/src/system/boot/loader/file_systems/amiga_ffs/Jamfile @@ -2,7 +2,7 @@ SubDir HAIKU_TOP src system boot loader file_systems amiga_ffs ; UsePrivateHeaders [ FDirName kernel boot platform $(TARGET_BOOT_PLATFORM) ] ; UsePrivateHeaders [ FDirName kernel disk_device_manager ] ; -UsePrivateHeaders [ FDirName storage ] ; +UsePrivateHeaders kernel storage ; #SubDirHdrs $(HAIKU_TOP) src add-ons kernel file_systems amiga_ffs ; diff --git a/src/system/boot/loader/file_systems/bfs/Jamfile b/src/system/boot/loader/file_systems/bfs/Jamfile index b45adbbce8..0db7c3ce7d 100644 --- a/src/system/boot/loader/file_systems/bfs/Jamfile +++ b/src/system/boot/loader/file_systems/bfs/Jamfile @@ -2,7 +2,7 @@ SubDir HAIKU_TOP src system boot loader file_systems bfs ; UsePrivateHeaders [ FDirName kernel boot platform $(TARGET_BOOT_PLATFORM) ] ; UsePrivateHeaders [ FDirName kernel disk_device_manager ] ; -UsePrivateHeaders [ FDirName storage ] ; +UsePrivateHeaders kernel storage ; SubDirHdrs $(HAIKU_TOP) src add-ons kernel file_systems bfs ; diff --git a/src/system/boot/loader/file_systems/tarfs/Jamfile b/src/system/boot/loader/file_systems/tarfs/Jamfile index aa8522f4dd..a32516421d 100644 --- a/src/system/boot/loader/file_systems/tarfs/Jamfile +++ b/src/system/boot/loader/file_systems/tarfs/Jamfile @@ -4,7 +4,7 @@ UseHeaders [ FDirName $(HAIKU_TOP) headers libs zlib ] ; UsePrivateHeaders [ FDirName kernel boot platform $(TARGET_BOOT_PLATFORM) ] ; UsePrivateHeaders [ FDirName kernel disk_device_manager ] ; -UsePrivateHeaders shared storage ; +UsePrivateHeaders kernel shared storage ; SubDirSysHdrs $(HAIKU_TOP) headers libs zlib ; SubDirC++Flags -fno-rtti ; diff --git a/src/system/boot/loader/net/Jamfile b/src/system/boot/loader/net/Jamfile index b2f1fdabe0..8555a7d9b3 100644 --- a/src/system/boot/loader/net/Jamfile +++ b/src/system/boot/loader/net/Jamfile @@ -1,10 +1,10 @@ SubDir HAIKU_TOP src system boot loader net ; -UsePrivateHeaders kernel ; +UsePrivateHeaders kernel [ FDirName kernel boot platform $(TARGET_BOOT_PLATFORM) ] ; SubDirC++Flags -fno-rtti ; -KernelStaticLibrary boot_net.a : +KernelStaticLibrary boot_net : ARP.cpp ChainBuffer.cpp Ethernet.cpp diff --git a/src/system/kernel/arch/x86/Jamfile b/src/system/kernel/arch/x86/Jamfile index f095f5af1a..d8c9f3135a 100644 --- a/src/system/kernel/arch/x86/Jamfile +++ b/src/system/kernel/arch/x86/Jamfile @@ -5,6 +5,9 @@ SubDirHdrs [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR) system kernel ] ; SubDirHdrs $(HAIKU_TOP) src add-ons kernel bus_managers ps2 ; SubDirHdrs $(SUBDIR) $(DOTDOT) generic ; +UsePrivateHeaders kernel [ FDirName kernel arch $(TARGET_ARCH) ] + [ FDirName kernel boot platform $(HAIKU_BOOT_PLATFORM) ] ; + SEARCH_SOURCE += [ FDirName $(SUBDIR) $(DOTDOT) generic ] ; KernelStaticLibrary libx86 :