diff --git a/Jamfile b/Jamfile index 52a143e670..395586a57d 100644 --- a/Jamfile +++ b/Jamfile @@ -4,7 +4,12 @@ NotFile doc_files ; Depends files : doc_files ; # Prepare the optional build features before parsing the Jamfile tree. -include [ FDirName $(HAIKU_BUILD_RULES_DIR) BuildFeatures ] ; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + include [ FDirName $(HAIKU_BUILD_RULES_DIR) BuildFeatures ] ; + } +} # Include packages that are required by all images. if ! $(HAIKU_BOOTSTRAP_BUILD) { diff --git a/Jamrules b/Jamrules index accfe49a2f..4ce01e8ddc 100644 --- a/Jamrules +++ b/Jamrules @@ -29,42 +29,8 @@ if ! $(buildConfig) { LOCATE on BuildConfig = $(HAIKU_BUILD_OUTPUT_DIR) ; include BuildConfig ; -# Set simplified variables for primary architecture. +# set HAIKU_PACKAGING_ARCH, the primary packaging architecture HAIKU_PACKAGING_ARCH = $(HAIKU_PACKAGING_ARCHS[1]) ; -local variable ; -for variable in - HAIKU_GCC_RAW_VERSION - HAIKU_GCC_MACHINE - HAIKU_GCC_LIB_DIR - HAIKU_GCC_HEADERS_DIR - HAIKU_GCC_LIBGCC - HAIKU_GCC_LIBGCC_OBJECTS - HAIKU_CPU - HAIKU_STATIC_LIBSTDC++ - HAIKU_SHARED_LIBSTDC++ - HAIKU_STATIC_LIBSUPC++ - HAIKU_SHARED_LIBSUPC++ - HAIKU_C++_HEADERS_DIR - HAIKU_KERNEL_LIBGCC - HAIKU_KERNEL_LIBSUPC++ - HAIKU_BOOT_LIBGCC - HAIKU_BOOT_LIBSUPC++ - HAIKU_AR - HAIKU_CC - HAIKU_LD - HAIKU_OBJCOPY - HAIKU_RANLIB - HAIKU_ELFEDIT - HAIKU_STRIP - HAIKU_CPPFLAGS - HAIKU_CCFLAGS - HAIKU_C++FLAGS - HAIKU_LDFLAGS - HAIKU_ARFLAGS - HAIKU_UNARFLAGS - HAIKU_USE_GCC_GRAPHITE { - $(variable) = $($(variable)_$(HAIKU_PACKAGING_ARCH)) ; -} # The build setup and rules are neatly organized in several files. Include # them now. Start with the side-effect-less rules, since they are the most @@ -73,6 +39,7 @@ for variable in # optional user-defined UserBuildConfig is included thereafter. include [ FDirName $(HAIKU_BUILD_RULES_DIR) HelperRules ] ; include [ FDirName $(HAIKU_BUILD_RULES_DIR) MathRules ] ; +include [ FDirName $(HAIKU_BUILD_RULES_DIR) ArchitectureRules ] ; include [ FDirName $(HAIKU_BUILD_RULES_DIR) BeOSRules ] ; include [ FDirName $(HAIKU_BUILD_RULES_DIR) LocaleRules ] ; include [ FDirName $(HAIKU_BUILD_RULES_DIR) CommandLineArguments ] ; diff --git a/build/jam/ArchitectureRules b/build/jam/ArchitectureRules new file mode 100644 index 0000000000..29282c246f --- /dev/null +++ b/build/jam/ArchitectureRules @@ -0,0 +1,777 @@ +rule ArchitectureSetup architecture +{ + # ArchitectureSetup ; + # + # Initializes all global packaging architecture dependent variables for the + # given packaging architecture. Also sets HAIKU_ARCH (to the primary + # architecture), if this is the first invocation of the rule, and adds + # the architecture to HAIKU_ARCHS, if not yet contained. + + # analyze GCC version + local gccVersion + = [ FAnalyzeGCCVersion HAIKU_GCC_RAW_VERSION_$(architecture) ] ; + HAIKU_GCC_VERSION_$(architecture) = $(gccVersion) ; + + # enable GCC -pipe option, if requested + local gccBaseFlags ; + if $(HAIKU_USE_GCC_PIPE) = 1 { + gccBaseFlags = -pipe ; + } + + # disable strict aliasing on anything newer than gcc 2 as it may lead to + # unexpected results. also disable the tree-vrp (value range propagation) + # optimization for now as with the current gcc4 version we are using this + # results in some broken code. + # TODO: remove the -fno-strict-aliasing option when all code has been + # analyzed/fixed with regard to aliasing. + # TODO: retest/remove the -fno-tree-vrp option as soon as we have updated + # our gcc4 compiler. See this discussion on some issues: + # http://www.freelists.org/post/haiku-development/hrev45320-Yet-another-nonobvious-effect-of-ftreevrp-optimization + if $(gccVersion[1]) >= 3 { + gccBaseFlags += -fno-strict-aliasing -fno-tree-vrp ; + } + + # disable array bounds warnings on gcc 4.6 or newer since they trigger + # too many false positives. Coverity does a better job of this kind of + # analysis anyways. + if $(gccVersion[1]) >= 4 { + gccBaseFlags += -Wno-array-bounds ; + } + + # activating graphite optimizations + if $(HAIKU_USE_GCC_GRAPHITE_$(architecture)) = 1 { + gccBaseFlags += -floop-interchange -ftree-loop-distribution + -floop-strip-mine -floop-block ; + } + HAIKU_GCC_BASE_FLAGS_$(architecture) = $(gccBaseFlags) ; + + # override gcc 2.95.3's header directory -- strictly necessary only when + # using the BeOS native compiler (since its headers are incompatible), but + # it doesn't harm for the cross-compiler either. + if $(gccVersion[1]) = 2 { + HAIKU_GCC_HEADERS_DIR_$(architecture) + = [ FDirName $(HAIKU_TOP) headers build gcc-2.95.3 ] ; + } + + # initial state for flags etc. + HAIKU_C++_$(architecture) ?= $(HAIKU_CC_$(architecture)) ; + HAIKU_LINK_$(architecture) = $(HAIKU_CC_$(architecture)) ; + HAIKU_LINKFLAGS_$(architecture) = $(gccBaseFlags) ; + + HAIKU_HDRS_$(architecture) = [ FStandardHeaders $(architecture) ] ; + HAIKU_CCFLAGS_$(architecture) += $(gccBaseFlags) -nostdinc ; + HAIKU_C++FLAGS_$(architecture) += $(gccBaseFlags) -nostdinc ; + + local cpu = $(HAIKU_CPU_$(architecture)) ; + switch $(cpu) { + case ppc : + HAIKU_DEFINES_$(architecture) += __POWERPC__ ; + + case arm : + HAIKU_DEFINES_$(architecture) += __ARM__ ; + + case x86 : + HAIKU_DEFINES_$(architecture) += __INTEL__ ; + + case m68k : + HAIKU_DEFINES_$(architecture) += __M68K__ ; + + case mipsel : + HAIKU_DEFINES_$(architecture) += __MIPSEL__ ; + + case * : + Exit "Currently unsupported target CPU:" $(cpu) ; + } + + # strip is required + if ! $(HAIKU_STRIP_$(architecture)) { + Exit "HAIKU_STRIP_$(architecture) not set. Please re-run configure." ; + } + + HAIKU_ARCH_$(architecture) = $(cpu) ; + HAIKU_ARCH ?= $(cpu) ; + # Set only, if not set yet. This way HAIKU_ARCH is set to the primary + # architecture. + if ! $(cpu) in $(HAIKU_ARCHS) { + HAIKU_ARCHS += $(cpu) ; + } + HAIKU_DEFINES_$(architecture) += ARCH_$(cpu) ; + + # directories + HAIKU_ARCH_OBJECT_DIR_$(architecture) + = [ FDirName $(HAIKU_OBJECT_BASE_DIR) $(architecture) ] ; + HAIKU_COMMON_DEBUG_OBJECT_DIR_$(architecture) + = [ FDirName $(HAIKU_ARCH_OBJECT_DIR_$(architecture)) common ] ; + HAIKU_DEBUG_0_OBJECT_DIR_$(architecture) + = [ FDirName $(HAIKU_ARCH_OBJECT_DIR_$(architecture)) release ] ; + + local level ; + for level in $(HAIKU_DEBUG_LEVELS[2-]) { + HAIKU_DEBUG_$(level)_OBJECT_DIR_$(architecture) + = [ FDirName $(HAIKU_ARCH_OBJECT_DIR_$(architecture)) + debug_$(level) ] ; + } + + # set variables for gcc header options + SetIncludePropertiesVariables HAIKU : _$(architecture) ; + + # assembler flags + HAIKU_ASFLAGS_$(architecture) = ; + + # C/C++ flags + if $(gccVersion[1]) >= 4 { + HAIKU_C++FLAGS_$(architecture) += -Wno-deprecated ; + } + + switch $(cpu) { + case x86* : + # Enable use of the gcc built-in atomic functions instead of + # atomic_*(). The former are inlined and have thus less overhead. + # They are not available with gcc 2, but the header will take care + # of that. + HAIKU_DEFINES_$(architecture) += B_USE_BUILTIN_ATOMIC_FUNCTIONS ; + } + + # warning flags + HAIKU_WARNING_CCFLAGS_$(architecture) + = -Wall -Wno-trigraphs -Wmissing-prototypes + -Wpointer-arith -Wcast-align -Wsign-compare -Wno-multichar ; + HAIKU_WARNING_C++FLAGS_$(architecture) = -Wall -Wno-trigraphs + -Wno-ctor-dtor-privacy -Woverloaded-virtual -Wpointer-arith -Wcast-align + -Wsign-compare -Wno-multichar ; + + # debug flags + local debugFlags = -ggdb ; + + # debug 0: suppress asserts + HAIKU_DEBUG_0_CCFLAGS_$(architecture) = [ FDefines NDEBUG=$(NDEBUG) ] ; + HAIKU_DEBUG_0_C++FLAGS_$(architecture) = [ FDefines NDEBUG=$(NDEBUG) ] ; + + local level ; + for level in $(HAIKU_DEBUG_LEVELS[2-]) { + local flags = $(debugFlags) [ FDefines DEBUG=$(level) ] ; + HAIKU_DEBUG_$(level)_CCFLAGS_$(architecture) = $(flags) ; + HAIKU_DEBUG_$(level)_C++FLAGS_$(architecture) = $(flags) ; + } + + if $(gccVersion[1]) >= 3 { + # TODO: Temporary work-around. Should be defined in the compiler specs + HAIKU_LINKFLAGS_$(architecture) += -Xlinker --no-undefined ; + } else { + HAIKU_DEFINES_$(architecture) += _BEOS_R5_COMPATIBLE_ ; + } + + # private shared kernel/libroot headers + HAIKU_PRIVATE_SYSTEM_HEADERS_$(architecture) + = [ PrivateHeaders $(DOT) system system/arch/$(cpu) ] ; + + # Add some grist to the libgcc objects + HAIKU_GCC_LIBGCC_OBJECTS_$(architecture) + = $(HAIKU_GCC_LIBGCC_OBJECTS_$(architecture):G=libgcc!$(architecture)) ; + + # the C++ standard library + HAIKU_BUILD_SHARED_LIBSTDC++_$(architecture) = ; + if $(HAIKU_SHARED_LIBSTDC++_$(architecture)) { + HAIKU_LIBSTDC++_$(architecture) + = $(HAIKU_SHARED_LIBSTDC++_$(architecture)) ; + } else { + # no shared library available with the compiler -- build it + if $(gccVersion[1]) = 2 { + HAIKU_LIBSTDC++_$(architecture) = libstdc++.r4.so ; + } else { + HAIKU_LIBSTDC++_$(architecture) = <$(architecture)>libstdc++.so ; + } + HAIKU_SHARED_LIBSTDC++_$(architecture) + = $(HAIKU_LIBSTDC++_$(architecture)) ; + HAIKU_BUILD_SHARED_LIBSTDC++_$(architecture) = 1 ; + } + + # the C++ support (runtime) library + HAIKU_BUILD_SHARED_LIBSUPC++_$(architecture) = ; + if $(HAIKU_SHARED_LIBSUPC++_$(architecture)) { + HAIKU_LIBSUPC++_$(architecture) + = $(HAIKU_SHARED_LIBSUPC++_$(architecture)) ; + } else { + # no shared library available with the compiler -- build it for gcc 4 + if $(gccVersion[1]) != 2 { + HAIKU_SHARED_LIBSUPC++_$(architecture) + = <$(architecture)>libsupc++.so ; + HAIKU_BUILD_SHARED_LIBSUPC++_$(architecture) = 1 ; + } + + HAIKU_LIBSUPC++_$(architecture) + = $(HAIKU_SHARED_LIBSUPC++_$(architecture)) ; + } + + # library and executable glue code + local commonGlueCode = + init_term_dyn.o + crti.o + crtn.o + ; + HAIKU_LIBRARY_BEGIN_GLUE_CODE_$(architecture) = + crti.o + <$(architecture)>crtbegin.o + init_term_dyn.o + ; + HAIKU_LIBRARY_END_GLUE_CODE_$(architecture) = + <$(architecture)>crtend.o + crtn.o + ; + HAIKU_EXECUTABLE_BEGIN_GLUE_CODE_$(architecture) = + crti.o + <$(architecture)>crtbegin.o + start_dyn.o + init_term_dyn.o + ; + HAIKU_EXECUTABLE_END_GLUE_CODE_$(architecture) + = $(HAIKU_LIBRARY_END_GLUE_CODE_$(architecture)) ; + + SEARCH on <$(architecture)>crtbegin.o <$(architecture)>crtend.o + = $(HAIKU_GCC_LIB_DIR_$(architecture)) ; + + # init library name map + local i ; + for i in be bnetapi debug device game GL locale mail media midi midi2 + network opengl package root screensaver textencoding tracker + translation z { + HAIKU_LIBRARY_NAME_MAP_$(architecture)_$(i) = lib$(i).so ; + } + HAIKU_LIBRARY_NAME_MAP_$(architecture)_libstdc++ + = $(HAIKU_LIBSTDC++_$(architecture)) ; + HAIKU_LIBRARY_NAME_MAP_$(architecture)_libsupc++ + = $(HAIKU_LIBSUPC++_$(architecture)) ; + HAIKU_LIBRARY_NAME_MAP_$(architecture)_input_server + = input_server ; + HAIKU_LIBRARY_NAME_MAP_$(architecture)_localestub + = <$(architecture)>liblocalestub.a ; +} + + +rule KernelArchitectureSetup architecture +{ + # KernelArchitectureSetup ; + # + # Initializes the global kernel and boot loader related variables. Those + # don't have a packaging architecture suffix, since they are only set for + # the primary packaging architecture. is the primary + # packaging architecture (supplied for convenience). + + HAIKU_KERNEL_ARCH = $(HAIKU_ARCH) ; + + local gccVersion = $(HAIKU_GCC_VERSION_$(architecture)) ; + local cpu = $(HAIKU_CPU_$(architecture)) ; + + switch $(cpu) { + case ppc : + HAIKU_BOOT_PLATFORM ?= openfirmware ; + HAIKU_BOOT_FLOPPY_IMAGE_SIZE = 1440 ; # in kB + # offset in floppy image (>= sizeof(haiku_loader)) + HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET = 192 ; # in kB - unused yet + + case arm : + HAIKU_BOOT_PLATFORM ?= u-boot ; + HAIKU_BOOT_BOARD ?= verdex ; + HAIKU_BOOT_FLOPPY_IMAGE_SIZE = 1440 ; + # in kB (there is not really a floppy on the gumstix ;) ) + # offset in floppy image (>= sizeof(haiku_loader)) + HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET = 192 ; # in kB - unused yet + + case x86 : + HAIKU_BOOT_PLATFORM = bios_ia32 ; + HAIKU_BOOT_FLOPPY_IMAGE_SIZE = 2880 ; # in kB + # offset in floppy image (>= sizeof(haiku_loader)) + HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET = 300 ; # in kB + + # yasm is required for target arch x86 + if ! $(HAIKU_YASM) { + Exit "HAIKU_YASM not set. Please re-run configure." ; + } + + case x86_64 : + # x86_64 completely shares the x86 bootloader. + HAIKU_BOOT_PLATFORM = bios_ia32 ; + HAIKU_BOOT_FLOPPY_IMAGE_SIZE = 2880 ; # in kB + # offset in floppy image (>= sizeof(haiku_loader)) + HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET = 300 ; # in kB + + # x86_64 kernel source is under arch/x86. + HAIKU_KERNEL_ARCH = x86 ; + + # yasm is required for target arch x86_64 + if ! $(HAIKU_YASM) { + Exit "HAIKU_YASM not set. Please re-run configure." ; + } + + case m68k : + HAIKU_BOOT_PLATFORM ?= atari_m68k ; + switch $(HAIKU_BOOT_PLATFORM) { + case atari_m68k : + { + HAIKU_BOOT_FLOPPY_IMAGE_SIZE = 1440 ; # in kB + } + case amiga_m68k : + { + # for now we have trouble reading from double-sided images + HAIKU_BOOT_FLOPPY_IMAGE_SIZE = 880 ; # in kB + } + } + # offset in floppy image (>= sizeof(haiku_loader)) + HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET = 260 ; # in kB + + case mipsel : + # RouterBOARD firmware (ELF image over TFTP) + HAIKU_BOOT_PLATFORM = routerboard_mipsel ; + # offset in floppy image (>= sizeof(haiku_loader)) + HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET = 192 ; # in kB + + case * : + Exit "Currently unsupported target CPU:" $(cpu) ; + } + + # Include embedded board-specific file. + if $(HAIKU_BOOT_BOARD) { + include [ FDirName $(HAIKU_BUILD_RULES_DIR) board $(HAIKU_BOOT_BOARD) + BoardSetup ] ; + } + + # private kernel headers to be used when compiling kernel code + HAIKU_PRIVATE_KERNEL_HEADERS = + [ PrivateHeaders $(DOT) kernel libroot shared + kernel/boot/platform/$(HAIKU_BOOT_PLATFORM) ] + [ ArchHeaders $(HAIKU_KERNEL_ARCH) ] + [ FDirName $(HAIKU_COMMON_DEBUG_OBJECT_DIR_$(architecture)) system + kernel ] + $(HAIKU_PRIVATE_SYSTEM_HEADERS_$(architecture)) + ; + + # C/C++ flags + local gccBaseFlags = $(HAIKU_GCC_BASE_FLAGS_$(architecture)) + -finline -fno-builtin ; + + if $(gccVersion[1]) >= 4 { + gccBaseFlags += -ffreestanding ; + } + + local g++BaseFlags = $(gccBaseFlags) -fno-exceptions ; + + if $(gccVersion[1]) >= 3 { + g++BaseFlags += -fno-use-cxa-atexit ; + } + + HAIKU_KERNEL_CCFLAGS = $(HAIKU_CCFLAGS_$(architecture)) $(gccBaseFlags) ; + HAIKU_KERNEL_C++FLAGS = $(HAIKU_C++FLAGS_$(architecture)) $(g++BaseFlags) ; + HAIKU_BOOT_CCFLAGS = $(HAIKU_CCFLAGS_$(architecture)) $(gccBaseFlags) ; + HAIKU_BOOT_C++FLAGS = $(HAIKU_C++FLAGS_$(architecture)) $(g++BaseFlags) ; + HAIKU_BOOT_LINKFLAGS = ; + + HAIKU_KERNEL_PIC_CCFLAGS = -fno-pic ; + HAIKU_KERNEL_PIC_LINKFLAGS = ; + HAIKU_KERNEL_ADDON_LINKFLAGS = ; + + switch $(cpu) { + case ppc : + # Build a position independent PPC kernel. We need to be able to + # relocate the kernel, since the virtual address space layout at + # boot time is not fixed. + HAIKU_KERNEL_PIC_CCFLAGS = -fPIE ; + HAIKU_KERNEL_PIC_LINKFLAGS = -shared -fPIE ; + + case m68k : + # We don't want to have to handle emulating missing FPU opcodes for + # 040 and 060 in the kernel. + HAIKU_KERNEL_CCFLAGS += -m68020-60 ; + HAIKU_KERNEL_C++FLAGS += -m68020-60 ; + + case x86 : + HAIKU_KERNEL_CCFLAGS += -march=pentium ; + HAIKU_KERNEL_C++FLAGS += -march=pentium ; + + case x86_64 : + # Kernel lives in the top 2GB of the address space, use kernel code + # model. + HAIKU_KERNEL_PIC_CCFLAGS += -mcmodel=kernel ; + + # Disable the red zone, which cannot be used in kernel code due to + # interrupts, and always enable the frame pointer so stack traces + # are correct. + HAIKU_KERNEL_CCFLAGS += -mno-red-zone -fno-omit-frame-pointer ; + HAIKU_KERNEL_C++FLAGS += -mno-red-zone -fno-omit-frame-pointer ; + HAIKU_KERNEL_PIC_LINKFLAGS += -z max-page-size=0x1000 ; + HAIKU_KERNEL_ADDON_LINKFLAGS += -z max-page-size=0x1000 ; + + # Bootloader is 32-bit. + HAIKU_BOOT_LINKFLAGS += -m elf_i386_haiku ; + HAIKU_BOOT_CCFLAGS += -m32 -march=pentium ; + HAIKU_BOOT_C++FLAGS += -m32 -march=pentium ; + } + + # warning flags + HAIKU_KERNEL_WARNING_CCFLAGS = -Wall -Wno-trigraphs -Wmissing-prototypes + -Wno-multichar ; + HAIKU_KERNEL_WARNING_C++FLAGS = -Wall -Wno-trigraphs -Wno-multichar ; + + # debug flags + local level ; + for level in $(HAIKU_DEBUG_LEVELS) { + local flags = $(HAIKU_DEBUG_FLAGS) [ FDefines DEBUG=$(level) ] ; + HAIKU_KERNEL_DEBUG_$(level)_CCFLAGS + = $(HAIKU_DEBUG_$(level)_CCFLAGS_$(architecture)) ; + HAIKU_KERNEL_DEBUG_$(level)_C++FLAGS + = $(HAIKU_DEBUG_$(level)_C++FLAGS_$(architecture)) ; + } + + # defines + HAIKU_KERNEL_DEFINES += _KERNEL_MODE ; + + HAIKU_DEFINES_$(architecture) + += BOOT_ARCHIVE_IMAGE_OFFSET=$(HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET) ; + # TODO: That doesn't need to be a general define. It's just needed for + # compiling (part of) the boot loader. + + # kernel add-on glue code + HAIKU_KERNEL_ADDON_BEGIN_GLUE_CODE = <$(architecture)>crtbegin.o + haiku_version_glue.o ; + HAIKU_KERNEL_ADDON_END_GLUE_CODE + = $(HAIKU_GCC_LIBGCC_$(architecture)) <$(architecture)>crtend.o ; +} + + +rule ArchitectureSetupWarnings architecture +{ + # ArchitectureSetupWarnings ; + # + # Sets up compiler warnings and error flags for various subdirectories for + # the given packaging architecture. + + local cpu = $(HAIKU_CPU_$(architecture)) ; + switch $(cpu) { + case arm : + return ; + # we use #warning as placeholders for things to write... + case m68k : + return ; + # we use #warning as placeholders for things to write... + case mipsel : + return ; + # we use #warning as placeholders for things to write... + } + + + # enable -Werror for certain parts of the source tree + HAIKU_WERRORFLAGS = ; + local gccVersion = $(HAIKU_GCC_VERSION_$(architecture)) ; + if $(gccVersion[1]) >= 4 { + # -Wuninitialized gives too many false positives. + HAIKU_WERRORFLAGS = -Wno-error=uninitialized ; + + # TODO: remove the -Wno-unused-but-set-variable option + HAIKU_WERRORFLAGS += -Wno-unused-but-set-variable ; + } + + HAIKU_WERROR_ARCH = $(architecture) ; + + rule EnableWerror dirTokens : scope { + AppendToConfigVar TARGET_WARNING_CCFLAGS_$(HAIKU_WERROR_ARCH) + : HAIKU_TOP $(dirTokens) + : -Werror $(HAIKU_WERRORFLAGS) : $(scope) ; + AppendToConfigVar TARGET_WARNING_C++FLAGS_$(HAIKU_WERROR_ARCH) + : HAIKU_TOP $(dirTokens) + : -Werror $(HAIKU_WERRORFLAGS) : $(scope) ; + } + + # Work-around for GCC 2 problem -- despite -Wno-multichar it reports + # multichar warnings in headers/private/kernel/debugger_keymaps.h included + # by src/system/kernel/arch/x86/arch_debug_console.cpp. + if $(gccVersion[1]) = 2 { + local file = arch_debug_console.o ; + TARGET_WARNING_C++FLAGS_$(architecture) on $(file) + = [ on $(file) return $(TARGET_WARNING_C++FLAGS_$(architecture)) ] ; + } + + EnableWerror src add-ons accelerants 3dfx ; + EnableWerror src add-ons accelerants ati ; + EnableWerror src add-ons accelerants common ; + EnableWerror src add-ons accelerants et6x00 ; +# EnableWerror src add-ons accelerants intel_extreme ; +# EnableWerror src add-ons accelerants matrox ; + EnableWerror src add-ons accelerants neomagic ; +# EnableWerror src add-ons accelerants nvidia ; + EnableWerror src add-ons accelerants nvidia_gpgpu ; +# EnableWerror src add-ons accelerants radeon ; +# EnableWerror src add-ons accelerants radeon_hd ; + EnableWerror src add-ons accelerants s3 ; + EnableWerror src add-ons accelerants skeleton ; + EnableWerror src add-ons accelerants vesa ; + EnableWerror src add-ons accelerants via ; + EnableWerror src add-ons accelerants vmware ; + EnableWerror src add-ons bluetooth ; + EnableWerror src add-ons decorators ; + EnableWerror src add-ons disk_systems ; + EnableWerror src add-ons input_server devices ; +# EnableWerror src add-ons input_server filters ; +# EnableWerror src add-ons input_server methods ; + EnableWerror src add-ons kernel bluetooth ; +# EnableWerror src add-ons kernel bus_managers acpi ; + EnableWerror src add-ons kernel bus_managers agp_gart ; + EnableWerror src add-ons kernel bus_managers ata ; + EnableWerror src add-ons kernel bus_managers config_manager ; +# EnableWerror src add-ons kernel bus_managers firewire ; + EnableWerror src add-ons kernel bus_managers isa ; + EnableWerror src add-ons kernel bus_managers pci ; +# EnableWerror src add-ons kernel bus_managers ps2 ; # gcc2 + EnableWerror src add-ons kernel bus_managers scsi ; + EnableWerror src add-ons kernel bus_managers usb ; + EnableWerror src add-ons kernel busses agp_gart ; + EnableWerror src add-ons kernel busses ata ; + EnableWerror src add-ons kernel busses scsi ; + EnableWerror src add-ons kernel busses usb ; + EnableWerror src add-ons kernel console ; + EnableWerror src add-ons kernel cpu ; +# EnableWerror src add-ons kernel debugger ; # gcc2 +# EnableWerror src add-ons kernel drivers audio ; + EnableWerror src add-ons kernel drivers bluetooth ; + EnableWerror src add-ons kernel drivers bus ; + EnableWerror src add-ons kernel drivers common ; + EnableWerror src add-ons kernel drivers disk ; + EnableWerror src add-ons kernel drivers dvb ; +# EnableWerror src add-ons kernel drivers graphics ; +# EnableWerror src add-ons kernel drivers input ; + EnableWerror src add-ons kernel drivers joystick ; + EnableWerror src add-ons kernel drivers midi ; + EnableWerror src add-ons kernel drivers misc ; +# EnableWerror src add-ons kernel drivers network ; + EnableWerror src add-ons kernel drivers ports ; +# EnableWerror src add-ons kernel drivers power ; + EnableWerror src add-ons kernel drivers printer ; + EnableWerror src add-ons kernel drivers random ; + EnableWerror src add-ons kernel drivers tty ; + EnableWerror src add-ons kernel drivers video ; + EnableWerror src add-ons kernel file_systems bfs ; + EnableWerror src add-ons kernel file_systems cdda ; +# EnableWerror src add-ons kernel file_systems ext2 ; +# EnableWerror src add-ons kernel file_systems fat ; +# EnableWerror src add-ons kernel file_systems googlefs ; + EnableWerror src add-ons kernel file_systems iso9660 ; + EnableWerror src add-ons kernel file_systems layers ; + EnableWerror src add-ons kernel file_systems netfs ; + EnableWerror src add-ons kernel file_systems nfs ; + EnableWerror src add-ons kernel file_systems nfs4 ; +# EnableWerror src add-ons kernel file_systems ntfs ; + EnableWerror src add-ons kernel file_systems packagefs ; + EnableWerror src add-ons kernel file_systems ramfs ; +# EnableWerror src add-ons kernel file_systems reiserfs ; + EnableWerror src add-ons kernel file_systems udf ; + EnableWerror src add-ons kernel file_systems userlandfs ; + EnableWerror src add-ons kernel generic ; +# EnableWerror src add-ons kernel network datalink_protocols ; + EnableWerror src add-ons kernel network devices ; + EnableWerror src add-ons kernel network dns_resolver ; + EnableWerror src add-ons kernel network notifications ; + EnableWerror src add-ons kernel network ppp ; + EnableWerror src add-ons kernel network protocols ; +# EnableWerror src add-ons kernel network stack ; + EnableWerror src add-ons kernel partitioning_systems ; + EnableWerror src add-ons locale ; + EnableWerror src add-ons mail_daemon ; + EnableWerror src add-ons media media-add-ons demultiplexer ; + EnableWerror src add-ons media media-add-ons dvb ; + EnableWerror src add-ons media media-add-ons esound_sink ; + EnableWerror src add-ons media media-add-ons finepix_webcam ; + EnableWerror src add-ons media media-add-ons firewire_dv ; + EnableWerror src add-ons media media-add-ons legacy ; + EnableWerror src add-ons media media-add-ons mixer ; + EnableWerror src add-ons media media-add-ons multi_audio ; + EnableWerror src add-ons media media-add-ons opensound ; + EnableWerror src add-ons media media-add-ons radeon ; + EnableWerror src add-ons media media-add-ons reader ; + EnableWerror src add-ons media media-add-ons tone_producer_demo ; + EnableWerror src add-ons media media-add-ons usb_vision ; +# EnableWerror src add-ons media media-add-ons usb_webcam ; + EnableWerror src add-ons media media-add-ons video_mixer ; +# EnableWerror src add-ons media media-add-ons video_producer_demo ; + EnableWerror src add-ons media media-add-ons videowindow ; + EnableWerror src add-ons media media-add-ons writer ; + EnableWerror src add-ons media plugins ac3_decoder ; + EnableWerror src add-ons media plugins aiff_reader ; + EnableWerror src add-ons media plugins ape_reader ; +# EnableWerror src add-ons media plugins asf_reader ; + EnableWerror src add-ons media plugins au_reader ; +# EnableWerror src add-ons media plugins avi_reader ; +# EnableWerror src add-ons media plugins ffmpeg ; +# EnableWerror src add-ons media plugins matroska ; +# EnableWerror src add-ons media plugins mov_reader ; + EnableWerror src add-ons media plugins mp3_decoder ; +# EnableWerror src add-ons media plugins mp3_reader ; + EnableWerror src add-ons media plugins mp4_reader ; + EnableWerror src add-ons media plugins musepack ; +# EnableWerror src add-ons media plugins ogg ; +# EnableWerror src add-ons media plugins raw_decoder ; +# EnableWerror src add-ons media plugins speex ; + EnableWerror src add-ons media plugins theora ; + EnableWerror src add-ons media plugins vorbis ; +# EnableWerror src add-ons media plugins wav_reader ; + EnableWerror src add-ons media plugins xvid_decoder ; + EnableWerror src add-ons opengl ; + EnableWerror src add-ons print ; + EnableWerror src add-ons screen_savers ; + EnableWerror src add-ons tracker ; + EnableWerror src add-ons translators bmp ; +# EnableWerror src add-ons translators exr ; + EnableWerror src add-ons translators gif ; +# EnableWerror src add-ons translators hpgs ; + EnableWerror src add-ons translators hvif ; + EnableWerror src add-ons translators ico ; +# EnableWerror src add-ons translators jpeg ; # gcc2 + EnableWerror src add-ons translators jpeg2000 ; + EnableWerror src add-ons translators pcx ; +# EnableWerror src add-ons translators png ; # gcc2 + EnableWerror src add-ons translators ppm ; + EnableWerror src add-ons translators raw ; + EnableWerror src add-ons translators rtf ; + EnableWerror src add-ons translators sgi ; + EnableWerror src add-ons translators shared ; +# EnableWerror src add-ons translators stxt ; + EnableWerror src add-ons translators tga ; + EnableWerror src add-ons translators tiff ; +# EnableWerror src add-ons translators wonderbrush ; + EnableWerror src add-ons print ; + EnableWerror src bin package ; + EnableWerror src apps ; + EnableWerror src kits ; + EnableWerror src preferences ; + EnableWerror src servers ; + EnableWerror src system kernel ; + EnableWerror src system libroot add-ons ; + EnableWerror src system libroot posix locale ; + EnableWerror src system libroot posix wchar ; + EnableWerror src system runtime_loader ; +} + + +rule MultiArchIfPrimary ifValue : elseValue +{ + # MultiArchIfPrimary : ; + # + # Returns one of the two given values depending on whether + # TARGET_PACKAGING_ARCH is currently set to the primary packaging + # architecture. + + if $(TARGET_PACKAGING_ARCH) = $(TARGET_PACKAGING_ARCHS[1]) { + return $(ifValue) ; + } + return $(elseValue) ; +} + + +rule MultiArchConditionalGristFiles files : primaryGrist : secondaryGrist +{ + # MultiArchConditionalGristFiles : + # : ; + # + # Returns with their grist set to either or + # depending on whether TARGET_PACKAGING_ARCH is currently + # set to the primary packaging architecture. + + local grist = [ MultiArchIfPrimary $(primaryGrist) : $(secondaryGrist) ] ; + return $(files:G=$(grist:E=)) ; +} + + +rule MultiArchDefaultGristFiles files : gristPrefix +{ + # MultiArchDefaultGristFiles : ; + # + # Convenient shorthand for MultiArchConditionalGristFiles for the common + # case that for a secondary packaging architecture the packaging + # architecture name shall be appended to the grist while it shall be omitted + # for the primary packaging architecture. IOW, if TARGET_PACKAGING_ARCH is + # currently set to the primary packaging architecture are returned + # with their grist set to , otherwise are returned with + # their grist set to ! ( being the name of the + # packaging architecture) respectively (if is empty). + + local secondaryGrist = $(gristPrefix)!$(TARGET_PACKAGING_ARCH) ; + secondaryGrist ?= $(TARGET_PACKAGING_ARCH) ; + + return [ MultiArchConditionalGristFiles $(files) : $(gristPrefix) : + $(secondaryGrist) ] ; +} + + +rule MultiArchSubDirSetup architectures +{ + # MultiArchSubDirSetup ; + # + # For each of the given packaging architectures that are + # in the packaging architectures configured for the build (or all configured + # packaging architectures, if is empty) an object is + # prepared that can be used for an "on ... { ... }" block to set up subdir + # variables for the respective packaging architecture. Most notably + # TARGET_PACKAGING_ARCH, TARGET_ARCH, TARGET_LIBSUPC++, and TARGET_LIBSTDC++ + # are set to the values for the respective packaging architecture. The + # per-subdir variables SOURCE_GRIST, LOCATE_TARGET, LOCATE_SOURCE, + # SEARCH_SOURCE, *_LOCATE_TARGET, are reset. All SUBDIR* and config + # variables are set to the values they had when this rule was invoked. + + local result ; + architectures ?= $(TARGET_PACKAGING_ARCHS) ; + local architecture ; + for architecture in $(architectures) { + if ! $(architecture) in $(TARGET_PACKAGING_ARCHS) { + continue ; + } + + local architectureObject = $(architecture:G=) ; + result += $(architectureObject) ; + + # Set the variables that default to the values of the respective + # variables for the primary architecture. + TARGET_PACKAGING_ARCH on $(architectureObject) = $(architecture) ; + + local var ; + for var in TARGET_ARCH TARGET_LIBSUPC++ TARGET_LIBSTDC++ { + $(var) on $(architectureObject) = $($(var)_$(architecture)) ; + } + + # Clone the current config variable values and the variables SubDir + # resets. + for var in $(AUTO_SET_UP_CONFIG_VARIABLES) SUBDIR$(SUBDIRRESET) { + $(var) on $(architectureObject) = $($(var)) ; + } + + # adjust SOURCE_GRIST + SOURCE_GRIST on $(architectureObject) + = $(SOURCE_GRIST:E=)!$(architecture) ; + + # Adjust the subdir's object dirs that are architecture dependent. To + # avoid duplicating the code from SetupObjectsDir, we call it. Since it + # sets global variables, we set these variables on our object, call + # SetupObjectsDir in an "on" block, and grab the new variable values. + local hostTarget = HOST TARGET ; + local objectDirVars = + COMMON_ARCH COMMON_DEBUG DEBUG_$(HAIKU_DEBUG_LEVELS) + ; + objectDirVars = + COMMON_PLATFORM_LOCATE_TARGET + $(hostTarget)_$(objectDirVars)_LOCATE_TARGET + LOCATE_TARGET + LOCATE_SOURCE + SEARCH_SOURCE + ; + + for var in $(objectDirVars) { + $(var) on $(architectureObject) = ; + } + + on $(architectureObject) { + SetupObjectsDir ; + + for var in $(objectDirVars) { + $(var) on $(architectureObject) = $($(var)) ; + } + } + } + + return $(result) ; +} diff --git a/build/jam/BeOSRules b/build/jam/BeOSRules index c210679074..17d3715fb7 100644 --- a/build/jam/BeOSRules +++ b/build/jam/BeOSRules @@ -232,9 +232,11 @@ rule ResComp cc = $(HOST_CC) ; localIncludesOption = $(HOST_LOCAL_INCLUDES_OPTION) ; } else { - defines += $(TARGET_DEFINES) ; - cc = $(TARGET_CC) ; - localIncludesOption = $(TARGET_LOCAL_INCLUDES_OPTION) ; + defines += $(TARGET_DEFINES_$(TARGET_PACKAGING_ARCH)) + $(TARGET_DEFINES) ; + cc = $(TARGET_CC_$(TARGET_PACKAGING_ARCH)) ; + localIncludesOption + = $(TARGET_LOCAL_INCLUDES_OPTION_$(TARGET_PACKAGING_ARCH)) ; } } diff --git a/build/jam/BootRules b/build/jam/BootRules index fde7d54313..de5f677844 100644 --- a/build/jam/BootRules +++ b/build/jam/BootRules @@ -24,8 +24,9 @@ rule SetupBoot ASFLAGS on $(object) = $(TARGET_BOOT_CCFLAGS) ; # override warning flags - TARGET_WARNING_CCFLAGS on $(object) = $(TARGET_KERNEL_WARNING_CCFLAGS) ; - TARGET_WARNING_C++FLAGS on $(object) + TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH) on $(object) + = $(TARGET_KERNEL_WARNING_CCFLAGS) ; + TARGET_WARNING_C++FLAGS_$(TARGET_PACKAGING_ARCH) on $(object) = $(TARGET_KERNEL_WARNING_C++FLAGS) ; } } @@ -40,7 +41,7 @@ rule BootLd { # BootLd : : : ; - LINK on $(1) = $(TARGET_LD) ; + LINK on $(1) = $(TARGET_LD_$(TARGET_PACKAGING_ARCH)) ; LINKFLAGS on $(1) = $(4) ; if $(3) { LINKFLAGS on $(1) += --script=$(3) ; } @@ -125,5 +126,5 @@ actions BootStaticLibraryObjects # Force recreation of the archive to avoid build errors caused by # stale dependencies after renaming or deleting object files. $(RM) "$(1)" - $(HAIKU_AR) -r "$(1)" "$(2)" ; + $(HAIKU_AR_$(TARGET_PACKAGING_ARCH)) -r "$(1)" "$(2)" ; } diff --git a/build/jam/BuildFeatures b/build/jam/BuildFeatures index 4bc1a8f18b..9dcd93ef8b 100644 --- a/build/jam/BuildFeatures +++ b/build/jam/BuildFeatures @@ -4,10 +4,13 @@ # for an optional package. -# Add the target architecture as a build feature. -EnableBuildFeatures $(HAIKU_ARCH) ; +local architecture = $(TARGET_PACKAGING_ARCH) ; -if $(HAIKU_GCC_VERSION[1]) = 2 { + +# Add the target architecture as a build feature. +EnableBuildFeatures $(TARGET_ARCH_$(architecture)) ; + +if $(TARGET_GCC_VERSION_$(architecture)[1]) = 2 { EnableBuildFeatures gcc2 ; } @@ -122,7 +125,7 @@ if ! 1 { # LLVM if $(TARGET_ARCH) = x86 { - if $(HAIKU_GCC_VERSION[1]) >= 4 { + if $(TARGET_GCC_VERSION_$(architecture)[1]) >= 4 { HAIKU_LLVM_FILE = llvm-3.2-x86-gcc4-2012-12-21.zip ; local zipFile = [ DownloadFile $(HAIKU_LLVM_FILE) : $(baseURL)/$(HAIKU_LLVM_FILE) ] ; @@ -395,11 +398,13 @@ if $(TARGET_ARCH) = x86 { if $(HAIKU_BUILD_FEATURE_WEBKIT) { if $(TARGET_ARCH) != x86 && $(TARGET_ARCH) != x86_64 { Echo "WebKit support not available on $(TARGET_ARCH)" ; - } else if $(HAIKU_GCC_VERSION[1]) < 4 { + } else if $(TARGET_GCC_VERSION_$(architecture)[1]) < 4 { if ! $(isHybridBuild) { - Echo "WebKit support not available on gcc $(HAIKU_GCC_VERSION[1])" ; + Echo "WebKit support not available on gcc" + "$(TARGET_GCC_VERSION_$(architecture)[1])" ; } else { - Echo "WebKit to be utilized by gcc4 inside $(HAIKU_ALTERNATIVE_GCC_OUTPUT_DIR)" ; + Echo "WebKit to be utilized by gcc4 inside" + "$(HAIKU_ALTERNATIVE_GCC_OUTPUT_DIR)" ; } } else { local zipFile = [ DownloadFile $(HAIKU_WEBKIT_FILE) diff --git a/build/jam/BuildSetup b/build/jam/BuildSetup index 3ba10a1ae9..aee1b1918e 100644 --- a/build/jam/BuildSetup +++ b/build/jam/BuildSetup @@ -97,401 +97,61 @@ HAIKU_CONFIG_HEADERS = [ FDirName $(HAIKU_TOP) build user_config_headers ] [ FDirName $(HAIKU_TOP) build config_headers ] ; -#pragma mark - +# object directories common to all architectures +HAIKU_OBJECT_BASE_DIR = [ FDirName $(HAIKU_OBJECT_DIR) haiku ] ; +HAIKU_COMMON_ARCH_OBJECT_DIR = [ FDirName $(HAIKU_OBJECT_BASE_DIR) common ] ; -# haiku target platform settings -# analyze GCC version +#pragma mark - haiku target platform settings + + +local architecture ; +for architecture in $(HAIKU_PACKAGING_ARCHS) { + ArchitectureSetup $(architecture) ; +} + +# TODO: Might not be needed anymore. if $(HAIKU_HOST_BUILD_ONLY) = 1 { HAIKU_GCC_VERSION = 0 0 0 ; -} else { - HAIKU_GCC_VERSION = [ FAnalyzeGCCVersion HAIKU_GCC_RAW_VERSION ] ; } -# enable GCC -pipe option, if requested -if $(HAIKU_USE_GCC_PIPE) = 1 { - HAIKU_GCC_BASE_FLAGS = -pipe ; +if $(HAIKU_PACKAGING_ARCH) { + KernelArchitectureSetup $(HAIKU_PACKAGING_ARCH) ; } -# disable strict aliasing on anything newer than gcc 2 as it may lead to -# unexpected results. also disable the tree-vrp (value range propagation) -# optimization for now as with the current gcc4 version we are using this -# results in some broken code. -# TODO: remove the -fno-strict-aliasing option when all code has been -# analyzed/fixed with regard to aliasing. -# TODO: retest/remove the -fno-tree-vrp option as soon as we have updated our -# gcc4 compiler. See this discussion on some issues: -# http://www.freelists.org/post/haiku-development/hrev45320-Yet-another-nonobvious-effect-of-ftreevrp-optimization -if $(HAIKU_GCC_VERSION[1]) >= 3 { - HAIKU_GCC_BASE_FLAGS += -fno-strict-aliasing -fno-tree-vrp ; -} - -# disable array bounds warnings on gcc 4.6 or newer since they trigger -# too many false positives. Coverity does a better job of this kind of analysis -# anyways. -if $(HAIKU_GCC_VERSION[1]) >= 4 { - HAIKU_GCC_BASE_FLAGS += -Wno-array-bounds ; -} - -# activating graphite optimizations -if $(HAIKU_USE_GCC_GRAPHITE) = 1 { - HAIKU_GCC_BASE_FLAGS += -floop-interchange -ftree-loop-distribution - -floop-strip-mine -floop-block ; -} - -if $(HOST_GCC_VERSION[1]) >= 3 { - HOST_GCC_BASE_FLAGS += -fno-strict-aliasing -fno-tree-vrp ; -} - -# override gcc 2.95.3's header directory -- strictly necessary only when using -# the BeOS native compiler (since its headers are incompatible), but it doesn't -# harm for the cross-compiler either. -if $(HAIKU_GCC_VERSION[1]) = 2 { - HAIKU_GCC_HEADERS_DIR = [ FDirName $(HAIKU_TOP) headers build gcc-2.95.3 ] ; -} - -# initial state for flags etc. -HAIKU_C++ ?= $(HAIKU_CC) ; -HAIKU_LINK = $(HAIKU_CC) ; -HAIKU_LINKFLAGS = $(HAIKU_GCC_BASE_FLAGS) ; -HAIKU_BOOT_LINKFLAGS = ; - -HAIKU_HDRS = [ FStandardHeaders ] ; -HAIKU_KERNEL_CCFLAGS = $(HAIKU_CCFLAGS) $(HAIKU_GCC_BASE_FLAGS) ; -HAIKU_KERNEL_C++FLAGS = $(HAIKU_C++FLAGS) $(HAIKU_GCC_BASE_FLAGS) ; -HAIKU_BOOT_CCFLAGS = $(HAIKU_CCFLAGS) $(HAIKU_GCC_BASE_FLAGS) ; -HAIKU_BOOT_C++FLAGS = $(HAIKU_C++FLAGS) $(HAIKU_GCC_BASE_FLAGS) ; -HAIKU_CCFLAGS += $(HAIKU_GCC_BASE_FLAGS) -nostdinc ; -HAIKU_C++FLAGS += $(HAIKU_GCC_BASE_FLAGS) -nostdinc ; HAIKU_DEFINES = __HAIKU__ ; -HAIKU_NO_WERROR ?= 0 ; +HAIKU_LIBSUPC++ = $(HAIKU_LIBSUPC++_$(HAIKU_PACKAGING_ARCH)) ; +HAIKU_LIBSTDC++ = $(HAIKU_LIBSTDC++_$(HAIKU_PACKAGING_ARCH)) ; + # distro compatibility level defines HAIKU_DISTRO_COMPATIBILITY ?= "default" ; switch $(HAIKU_DISTRO_COMPATIBILITY) { - case official : { + case official : HAIKU_DEFINES += HAIKU_DISTRO_COMPATIBILITY_OFFICIAL ; HAIKU_INCLUDE_TRADEMARKS = "" ; - } - case compatible : { + case compatible : HAIKU_DEFINES += HAIKU_DISTRO_COMPATIBILITY_COMPATIBLE ; HAIKU_INCLUDE_TRADEMARKS = "" ; - } - case "default" : { + case "default" : HAIKU_DEFINES += HAIKU_DISTRO_COMPATIBILITY_DEFAULT ; HAIKU_INCLUDE_TRADEMARKS = ; - } - case * : Exit "Invalid value for HAIKU_DISTRO_COMPATIBILITY:" - $(HAIKU_DISTRO_COMPATIBILITY) ; -} - -# determine the endianness of the host -switch $(HOST_GCC_MACHINE) { - case amd64-* : HAIKU_HOST_IS_BIG_ENDIAN = 0 ; - case i?86-* : HAIKU_HOST_IS_BIG_ENDIAN = 0 ; - case powerpc-* : HAIKU_HOST_IS_BIG_ENDIAN = 1 ; - case x86_64-* : HAIKU_HOST_IS_BIG_ENDIAN = 0 ; - - # the following are rather unlikely as hosts ... - case arm-* : HAIKU_HOST_IS_BIG_ENDIAN = 0 ; - case m68k-* : HAIKU_HOST_IS_BIG_ENDIAN = 1 ; - case mipsel-* : HAIKU_HOST_IS_BIG_ENDIAN = 0 ; - case * : Exit "Unsupported gcc host machine:" $(HOST_GCC_MACHINE) ; -} - -switch $(HAIKU_CPU) { - case ppc : - { - HAIKU_DEFINES += __POWERPC__ ; - HAIKU_BOOT_PLATFORM ?= openfirmware ; - HAIKU_BOOT_FLOPPY_IMAGE_SIZE = 1440 ; # in kB - # offset in floppy image (>= sizeof(haiku_loader)) - HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET = 192 ; # in kB - unused yet - } - case arm : - { - HAIKU_DEFINES += __ARM__ ; - HAIKU_BOOT_PLATFORM ?= u-boot ; - HAIKU_BOOT_BOARD ?= verdex ; - HAIKU_BOOT_FLOPPY_IMAGE_SIZE = 1440 ; - # in kB (there is not really a floppy on the gumstix ;) ) - # offset in floppy image (>= sizeof(haiku_loader)) - HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET = 192 ; # in kB - unused yet - HAIKU_NO_WERROR = 1 ; - # we use #warning as placeholders for things to write... - } - case x86 : - { - HAIKU_DEFINES += __INTEL__ ; - HAIKU_BOOT_PLATFORM = bios_ia32 ; - HAIKU_BOOT_FLOPPY_IMAGE_SIZE = 2880 ; # in kB - # offset in floppy image (>= sizeof(haiku_loader)) - HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET = 300 ; # in kB - - # yasm is required for target arch x86 - if ! $(HAIKU_YASM) { - Exit "HAIKU_YASM not set. Please re-run configure." ; - } - } - case x86_64 : - { - # x86_64 completely shares the x86 bootloader. - HAIKU_BOOT_PLATFORM = bios_ia32 ; - HAIKU_BOOT_FLOPPY_IMAGE_SIZE = 2880 ; # in kB - # offset in floppy image (>= sizeof(haiku_loader)) - HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET = 300 ; # in kB - - # x86_64 kernel source is under arch/x86. - HAIKU_KERNEL_ARCH = x86 ; - - # yasm is required for target arch x86_64 - if ! $(HAIKU_YASM) { - Exit "HAIKU_YASM not set. Please re-run configure." ; - } - } - case m68k : - { - HAIKU_DEFINES += __M68K__ ; - HAIKU_BOOT_PLATFORM ?= atari_m68k ; - switch $(HAIKU_BOOT_PLATFORM) { - case atari_m68k : - { - HAIKU_BOOT_FLOPPY_IMAGE_SIZE = 1440 ; # in kB - } - case amiga_m68k : - { - # for now we have trouble reading from double-sided images - HAIKU_BOOT_FLOPPY_IMAGE_SIZE = 880 ; # in kB - } - } - # offset in floppy image (>= sizeof(haiku_loader)) - HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET = 260 ; # in kB - HAIKU_NO_WERROR = 1 ; - # we use #warning as placeholders for things to write... - } - case mipsel : - { - HAIKU_DEFINES += __MIPSEL__ ; - # RouterBOARD firmware (ELF image over TFTP) - HAIKU_BOOT_PLATFORM = routerboard_mipsel ; - # offset in floppy image (>= sizeof(haiku_loader)) - HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET = 192 ; # in kB - HAIKU_NO_WERROR = 1 ; - # we use #warning as placeholders for things to write... - } case * : - Exit "Currently unsupported target CPU:" $(HAIKU_CPU) ; + Exit "Invalid value for HAIKU_DISTRO_COMPATIBILITY:" + $(HAIKU_DISTRO_COMPATIBILITY) ; } -# strip is required -if ! $(HAIKU_STRIP) { - Exit "HAIKU_STRIP not set. Please re-run configure." ; -} - -# Include embedded board-specific file. -if $(HAIKU_BOOT_BOARD) { - include [ FDirName $(HAIKU_BUILD_RULES_DIR) board $(HAIKU_BOOT_BOARD) - BoardSetup ] ; -} - -HAIKU_ARCH ?= $(HAIKU_CPU) ; -HAIKU_ARCH_MACRO_DEFINE = ARCH_$(HAIKU_ARCH) ; -HAIKU_DEFINES += $(HAIKU_ARCH_MACRO_DEFINE) ; -HAIKU_DEFINES += BOOT_ARCHIVE_IMAGE_OFFSET=$(HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET) ; -HAIKU_KERNEL_ARCH ?= $(HAIKU_ARCH) ; -HAIKU_ATA_STACK ?= 1 ; - -# directories -HAIKU_OBJECT_BASE_DIR = [ FDirName $(HAIKU_OBJECT_DIR) haiku ] ; -HAIKU_COMMON_ARCH_OBJECT_DIR = [ FDirName $(HAIKU_OBJECT_BASE_DIR) common ] ; -HAIKU_ARCH_OBJECT_DIR = [ FDirName $(HAIKU_OBJECT_BASE_DIR) $(HAIKU_ARCH) ] ; -HAIKU_COMMON_DEBUG_OBJECT_DIR = [ FDirName $(HAIKU_ARCH_OBJECT_DIR) common ] ; -HAIKU_DEBUG_0_OBJECT_DIR = [ FDirName $(HAIKU_ARCH_OBJECT_DIR) release ] ; - -local level ; -for level in $(HAIKU_DEBUG_LEVELS[2-]) { - HAIKU_DEBUG_$(level)_OBJECT_DIR - = [ FDirName $(HAIKU_ARCH_OBJECT_DIR) debug_$(level) ] ; -} - -# set variables for gcc header options -SetIncludePropertiesVariables HAIKU ; - -# assembler flags -HAIKU_ASFLAGS = ; - -# C/C++ flags -HAIKU_KERNEL_CCFLAGS += -finline -fno-builtin ; -HAIKU_KERNEL_C++FLAGS += -finline -fno-builtin -fno-exceptions ; -HAIKU_KERNEL_DEFINES += _KERNEL_MODE ; -HAIKU_BOOT_CCFLAGS += -finline -fno-builtin ; -HAIKU_BOOT_C++FLAGS += -finline -fno-builtin -fno-exceptions ; - -if $(HAIKU_GCC_VERSION[1]) >= 3 { - HAIKU_BOOT_C++FLAGS += -fno-use-cxa-atexit ; - HAIKU_KERNEL_C++FLAGS += -fno-use-cxa-atexit ; -} - -if $(HAIKU_GCC_VERSION[1]) >= 4 { - HAIKU_C++FLAGS += -Wno-deprecated ; - - HAIKU_KERNEL_CCFLAGS += -ffreestanding ; - HAIKU_KERNEL_C++FLAGS += -ffreestanding ; - HAIKU_BOOT_CCFLAGS += -ffreestanding ; - HAIKU_BOOT_C++FLAGS += -ffreestanding ; -} - -HAIKU_KERNEL_PIC_CCFLAGS = -fno-pic ; -HAIKU_KERNEL_PIC_LINKFLAGS = ; -HAIKU_KERNEL_ADDON_LINKFLAGS = ; - -switch $(HAIKU_ARCH) { - case ppc : - { - # Build a position independent PPC kernel. We need to be able to - # relocate the kernel, since the virtual address space layout at boot - # time is not fixed. - HAIKU_KERNEL_PIC_CCFLAGS = -fPIE ; - HAIKU_KERNEL_PIC_LINKFLAGS = -shared -fPIE ; - } - - case m68k : - { - # We don't want to have to handle emulating missing FPU opcodes for 040 - # and 060 in the kernel. - HAIKU_KERNEL_CCFLAGS += -m68020-60 ; - HAIKU_KERNEL_C++FLAGS += -m68020-60 ; - } - case x86 : - { - HAIKU_CCFLAGS += -march=pentium ; - HAIKU_C++FLAGS += -march=pentium ; - HAIKU_KERNEL_CCFLAGS += -march=pentium ; - HAIKU_KERNEL_C++FLAGS += -march=pentium ; - - # Enable use of the gcc built-in atomic functions instead of atomic_*(). - # The former are inlined and have thus less overhead. They are not - # available with gcc 2, but the header will take care of that. - HAIKU_DEFINES += B_USE_BUILTIN_ATOMIC_FUNCTIONS ; - } - case x86_64 : - { - # Kernel lives in the top 2GB of the address space, use kernel code - # model. - HAIKU_KERNEL_PIC_CCFLAGS += -mcmodel=kernel ; - - # Disable the red zone, which cannot be used in kernel code due to - # interrupts, and always enable the frame pointer so stack traces are - # correct. - HAIKU_KERNEL_CCFLAGS += -mno-red-zone -fno-omit-frame-pointer ; - HAIKU_KERNEL_C++FLAGS += -mno-red-zone -fno-omit-frame-pointer ; - HAIKU_KERNEL_PIC_LINKFLAGS += -z max-page-size=0x1000 ; - HAIKU_KERNEL_ADDON_LINKFLAGS += -z max-page-size=0x1000 ; - - # Bootloader is 32-bit. - HAIKU_BOOT_LINKFLAGS += -m elf_i386_haiku ; - HAIKU_BOOT_CCFLAGS += -m32 -march=pentium ; - HAIKU_BOOT_C++FLAGS += -m32 -march=pentium ; - - # Enable use of the gcc built-in atomic functions instead of atomic_*(). - # The former are inlined and have thus less overhead. - HAIKU_DEFINES += B_USE_BUILTIN_ATOMIC_FUNCTIONS ; - } -} - -# If the environment variable HAIKU_INCLUDE_PATENTED_CODE is defined, we -# define an equally named macro to the variable value. Some components use the -# macro to allow compilation of code known to implemented patented ideas and/or -# techniques, for example the Freetype bytecode hinter or sub-pixel rendering -# as well as some problematic media codecs. +# If the environment variable HAIKU_INCLUDE_PATENTED_CODE is defined, we define +# an equally named macro to the variable value. Some components use the macro +# to allow compilation of code known to implemented patented ideas and/or +# techniques, for example the Freetype bytecode hinter or sub-pixel rendering as +# well as some problematic media codecs. if $(HAIKU_INCLUDE_PATENTED_CODE) { HAIKU_DEFINES += HAIKU_INCLUDE_PATENTED_CODE=$(HAIKU_INCLUDE_PATENTED_CODE) ; } -# warning flags -HAIKU_WARNING_CCFLAGS = -Wall -Wno-trigraphs -Wmissing-prototypes - -Wpointer-arith -Wcast-align -Wsign-compare -Wno-multichar ; -HAIKU_WARNING_C++FLAGS = -Wall -Wno-trigraphs -Wno-ctor-dtor-privacy - -Woverloaded-virtual -Wpointer-arith -Wcast-align -Wsign-compare - -Wno-multichar ; - -HAIKU_KERNEL_WARNING_CCFLAGS = -Wall -Wno-trigraphs -Wmissing-prototypes - -Wno-multichar ; -HAIKU_KERNEL_WARNING_C++FLAGS = -Wall -Wno-trigraphs -Wno-multichar ; - -# debug flags -HAIKU_DEBUG_FLAGS ?= -ggdb ; - -# debug 0: suppress asserts -HAIKU_DEBUG_0_CCFLAGS = [ FDefines NDEBUG=$(NDEBUG) ] ; -HAIKU_DEBUG_0_C++FLAGS = [ FDefines NDEBUG=$(NDEBUG) ] ; - -HAIKU_KERNEL_DEBUG_0_CCFLAGS = [ FDefines NDEBUG=$(NDEBUG) ] ; -HAIKU_KERNEL_DEBUG_0_C++FLAGS = [ FDefines NDEBUG=$(NDEBUG) ] ; - -local level ; -for level in $(HAIKU_DEBUG_LEVELS[2-]) { - local flags = $(HAIKU_DEBUG_FLAGS) [ FDefines DEBUG=$(level) ] ; - HAIKU_DEBUG_$(level)_CCFLAGS = $(flags) ; - HAIKU_DEBUG_$(level)_C++FLAGS = $(flags) ; - HAIKU_KERNEL_DEBUG_$(level)_CCFLAGS = $(flags) ; - HAIKU_KERNEL_DEBUG_$(level)_C++FLAGS = $(flags) ; -} - -if $(HAIKU_GCC_VERSION[1]) >= 3 { - # TODO: Temporary work-around. Should be defined in the compiler specs - HAIKU_LINKFLAGS += -Xlinker --no-undefined ; -} else { - HAIKU_DEFINES += _BEOS_R5_COMPATIBLE_ ; -} - -# private shared kernel/libroot headers -HAIKU_PRIVATE_SYSTEM_HEADERS = - [ PrivateHeaders $(DOT) system system/arch/$(HAIKU_ARCH) ] -; - -# private kernel headers to be used when compiling kernel code -HAIKU_PRIVATE_KERNEL_HEADERS = - [ PrivateHeaders $(DOT) kernel libroot shared - kernel/boot/platform/$(HAIKU_BOOT_PLATFORM) ] - [ ArchHeaders $(HAIKU_KERNEL_ARCH) ] - [ FDirName $(HAIKU_COMMON_DEBUG_OBJECT_DIR) system kernel ] - $(HAIKU_PRIVATE_SYSTEM_HEADERS) -; - -# Add some grist to the libgcc objects -HAIKU_GCC_LIBGCC_OBJECTS = $(HAIKU_GCC_LIBGCC_OBJECTS:G=libgcc) ; - -# the C++ standard library -HAIKU_BUILD_SHARED_LIBSTDC++ = ; -if $(HAIKU_SHARED_LIBSTDC++) { - HAIKU_LIBSTDC++ = $(HAIKU_SHARED_LIBSTDC++) ; -} else { - # no shared library available with the compiler -- build it - if $(HAIKU_GCC_VERSION[1]) = 2 { - HAIKU_LIBSTDC++ = libstdc++.r4.so ; - } else { - HAIKU_LIBSTDC++ = libstdc++.so ; - } - HAIKU_SHARED_LIBSTDC++ = $(HAIKU_LIBSTDC++) ; - HAIKU_BUILD_SHARED_LIBSTDC++ = 1 ; -} - -# the C++ support (runtime) library -HAIKU_BUILD_SHARED_LIBSUPC++ = ; -if $(HAIKU_SHARED_LIBSUPC++) { - HAIKU_LIBSUPC++ = $(HAIKU_SHARED_LIBSUPC++) ; -} else { - # no shared library available with the compiler -- build it for gcc 4 - if $(HAIKU_GCC_VERSION[1]) != 2 { - HAIKU_SHARED_LIBSUPC++ = libsupc++.so ; - HAIKU_BUILD_SHARED_LIBSUPC++ = 1 ; - } - - HAIKU_LIBSUPC++ = $(HAIKU_SHARED_LIBSUPC++) ; -} - +HAIKU_ATA_STACK ?= 1 ; # network libraries HAIKU_NETWORK_LIBS = network ; @@ -499,38 +159,6 @@ HAIKU_NETAPI_LIB = bnetapi ; HAIKU_SELECT_UNAME_ETC_LIB = ; # libroot, against which we link anyway -# locale libraries -HAIKU_LOCALE_LIBS = liblocalestub.a ; - - -# library and executable glue code -local commonGlueCode = - init_term_dyn.o - crti.o - crtn.o -; -HAIKU_LIBRARY_BEGIN_GLUE_CODE = - crti.o - crtbegin.o - init_term_dyn.o -; -HAIKU_LIBRARY_END_GLUE_CODE = - crtend.o - crtn.o -; -HAIKU_EXECUTABLE_BEGIN_GLUE_CODE = - crti.o - crtbegin.o - start_dyn.o - init_term_dyn.o -; -HAIKU_EXECUTABLE_END_GLUE_CODE = $(HAIKU_LIBRARY_END_GLUE_CODE) ; -HAIKU_KERNEL_ADDON_BEGIN_GLUE_CODE = crtbegin.o - haiku_version_glue.o ; -HAIKU_KERNEL_ADDON_END_GLUE_CODE = $(HAIKU_GCC_LIBGCC) crtend.o ; - -SEARCH on crtbegin.o crtend.o = $(HAIKU_GCC_LIB_DIR) ; - HAIKU_EXECUTABLE_MIME_TYPE = "application/x-vnd.Be-elfexecutable" ; # TODO: The version stuff should probably go into a separate file and be made @@ -545,24 +173,24 @@ if ! $(HAIKU_BUILD_VERSION) { # an unknown build. HAIKU_BUILD_DESCRIPTION ?= "Unknown Build" ; -# init library name map -{ - local i ; - for i in be bnetapi debug device game GL locale mail media midi midi2 - network opengl package root screensaver textencoding tracker - translation z { - HAIKU_LIBRARY_NAME_MAP_$(i) = lib$(i).so ; - } - HAIKU_LIBRARY_NAME_MAP_libstdc++ = $(HAIKU_LIBSTDC++) ; - HAIKU_LIBRARY_NAME_MAP_libsupc++ = $(HAIKU_LIBSUPC++) ; - HAIKU_LIBRARY_NAME_MAP_input_server = input_server ; + +#pragma mark - host platform settings + + +# determine the endianness of the host +switch $(HOST_GCC_MACHINE) { + case amd64-* : HAIKU_HOST_IS_BIG_ENDIAN = 0 ; + case i?86-* : HAIKU_HOST_IS_BIG_ENDIAN = 0 ; + case powerpc-* : HAIKU_HOST_IS_BIG_ENDIAN = 1 ; + case x86_64-* : HAIKU_HOST_IS_BIG_ENDIAN = 0 ; + + # the following are rather unlikely as hosts ... + case arm-* : HAIKU_HOST_IS_BIG_ENDIAN = 0 ; + case m68k-* : HAIKU_HOST_IS_BIG_ENDIAN = 1 ; + case mipsel-* : HAIKU_HOST_IS_BIG_ENDIAN = 0 ; + case * : Exit "Unsupported gcc host machine:" $(HOST_GCC_MACHINE) ; } - -#pragma mark - - -# host platform settings - # analyze the host gcc machine spec to find out about 64-bitness HOST_PLATFORM_IS_64_BIT = ; switch $(HOST_GCC_MACHINE) { @@ -645,13 +273,23 @@ if $(HOST_CPU) = x86 && $(HOST_PLATFORM_IS_64_BIT) { } HOST_ARCH ?= $(HOST_CPU) ; -HOST_ARCH_MACRO_DEFINE = ARCH_$(HOST_CPU) ; +HOST_ARCHS = $(HOST_ARCH) ; +# analyze GCC version +HOST_GCC_VERSION = [ FAnalyzeGCCVersion HOST_GCC_RAW_VERSION ] ; + +# set packaging architecture +HOST_PACKAGING_ARCH ?= $(HOST_CPU) ; +if $(HOST_PACKAGING_ARCH) = x86 && $(HOST_GCC_VERSION[1]) = 2 { + HOST_PACKAGING_ARCH = x86_gcc2 ; +} +HOST_PACKAGING_ARCHS = $(HOST_PACKAGING_ARCH) ; # directories HOST_OBJECT_BASE_DIR = [ FDirName $(HAIKU_OBJECT_DIR) $(HOST_PLATFORM) ] ; HOST_COMMON_ARCH_OBJECT_DIR = [ FDirName $(HOST_OBJECT_BASE_DIR) common ] ; -HOST_ARCH_OBJECT_DIR = [ FDirName $(HOST_OBJECT_BASE_DIR) $(HOST_ARCH) ] ; +HOST_ARCH_OBJECT_DIR + = [ FDirName $(HOST_OBJECT_BASE_DIR) $(HOST_PACKAGING_ARCH) ] ; HOST_COMMON_DEBUG_OBJECT_DIR = [ FDirName $(HOST_ARCH_OBJECT_DIR) common ] ; HOST_DEBUG_0_OBJECT_DIR = [ FDirName $(HOST_ARCH_OBJECT_DIR) release ] ; @@ -661,9 +299,6 @@ for level in $(HAIKU_DEBUG_LEVELS[2-]) { = [ FDirName $(HOST_ARCH_OBJECT_DIR) debug_$(level) ] ; } -# analyze GCC version -HOST_GCC_VERSION = [ FAnalyzeGCCVersion HOST_GCC_RAW_VERSION ] ; - # set variables for gcc header options SetIncludePropertiesVariables HOST ; @@ -679,6 +314,10 @@ if $(HOST_PLATFORM) != cygwin { HOST_PIC_C++FLAGS += -fPIC ; } +if $(HOST_GCC_VERSION[1]) >= 3 { + HOST_GCC_BASE_FLAGS += -fno-strict-aliasing -fno-tree-vrp ; +} + HOST_KERNEL_CCFLAGS += $(HOST_GCC_BASE_FLAGS) -finline -fno-builtin -D_KERNEL_MODE ; HOST_KERNEL_C++FLAGS += $(HOST_GCC_BASE_FLAGS) -finline -fno-builtin @@ -718,13 +357,14 @@ HOST_KERNEL_WARNING_CCFLAGS = -Wall -Wno-trigraphs -Wmissing-prototypes ; HOST_KERNEL_WARNING_C++FLAGS = -Wall -Wno-trigraphs ; # debug flags +local hostDebugFlags ; switch $(HOST_PLATFORM) { - case haiku : HOST_DEBUG_FLAGS ?= -ggdb ; - case haiku_host : HOST_DEBUG_FLAGS ?= -ggdb ; - case linux : HOST_DEBUG_FLAGS ?= -ggdb ; - case freebsd : HOST_DEBUG_FLAGS ?= -ggdb ; - case darwin : HOST_DEBUG_FLAGS ?= -ggdb ; - case * : HOST_DEBUG_FLAGS ?= -g ; + case haiku : hostDebugFlags ?= -ggdb ; + case haiku_host : hostDebugFlags ?= -ggdb ; + case linux : hostDebugFlags ?= -ggdb ; + case freebsd : hostDebugFlags ?= -ggdb ; + case darwin : hostDebugFlags ?= -ggdb ; + case * : hostDebugFlags ?= -g ; } # debug 0: suppress asserts @@ -736,7 +376,7 @@ HOST_KERNEL_DEBUG_0_C++FLAGS = [ FDefines NDEBUG=$(NDEBUG) ] ; local level ; for level in $(HAIKU_DEBUG_LEVELS[2-]) { - local flags = $(HOST_DEBUG_FLAGS) [ FDefines DEBUG=$(level) ] ; + local flags = $(hostDebugFlags) [ FDefines DEBUG=$(level) ] ; HOST_DEBUG_$(level)_CCFLAGS = $(flags) ; HOST_DEBUG_$(level)_C++FLAGS = $(flags) ; HOST_KERNEL_DEBUG_$(level)_CCFLAGS = $(flags) ; @@ -760,7 +400,7 @@ if $(HOST_PLATFORM_BEOS_COMPATIBLE) CP = copyattr --data ; } -HOST_DEFINES += $(HOST_ARCH_MACRO_DEFINE) ; +HOST_DEFINES += ARCH_$(HOST_CPU) ; HOST_DEFINES += _NO_INLINE_ASM ; # for builds of tools in the current environment @@ -948,9 +588,8 @@ if ! $(HOST_PLATFORM_BEOS_COMPATIBLE) { } -#pragma mark - +#pragma mark - target platform settings -# target platform settings # check the target platform compatibility SetPlatformCompatibilityFlagVariables TARGET_PLATFORM : TARGET : target ; @@ -964,46 +603,59 @@ if $(TARGET_PLATFORM) != haiku { } # Set TARGET_* variables either from HAIKU_* or HOST_* depending on the -# specified TARGET_PLATFORM. +# specified TARGET_PLATFORM. Some variables are package architecture dependent +# and their name gets a respective suffix. A few variables exist both with and +# without suffix. The latter is either equivalent to the variable with the +# primary architecture suffix (e.g. TARGET_ARCH) or is (additionally) applicable +# for all architectures (e.g. TARGET_DEFINES). local buildVars = - ARCH CPU GCC_VERSION KERNEL_ARCH + ARCH ARCHS KERNEL_ARCH PACKAGING_ARCH PACKAGING_ARCHS - AR CC C++ LD OBJCOPY RANLIB ELFEDIT - - INCLUDES_SEPARATOR LOCAL_INCLUDES_OPTION SYSTEM_INCLUDES_OPTION - - HDRS CPPFLAGS CCFLAGS C++FLAGS LDFLAGS LINK LINKFLAGS DEFINES - ARFLAGS UNARFLAGS + DEFINES KERNEL_DEFINES KERNEL_CCFLAGS KERNEL_C++FLAGS KERNEL_PIC_CCFLAGS KERNEL_PIC_LINKFLAGS KERNEL_ADDON_LINKFLAGS BOOT_CCFLAGS BOOT_C++FLAGS BOOT_LINKFLAGS - WARNING_CCFLAGS WARNING_C++FLAGS KERNEL_WARNING_CCFLAGS KERNEL_WARNING_C++FLAGS - DEBUG_FLAGS - - DEBUG_$(HAIKU_DEBUG_LEVELS)_CCFLAGS DEBUG_$(HAIKU_DEBUG_LEVELS)_C++FLAGS - KERNEL_DEBUG_$(HAIKU_DEBUG_LEVELS)_CCFLAGS KERNEL_DEBUG_$(HAIKU_DEBUG_LEVELS)_C++FLAGS PRIVATE_KERNEL_HEADERS - PRIVATE_SYSTEM_HEADERS LIBSTDC++ LIBSUPC++ - STATIC_LIBSTDC++ STATIC_LIBSUPC++ NETWORK_LIBS NETAPI_LIB SELECT_UNAME_ETC_LIB - ARCH_MACRO_DEFINE EXECUTABLE_MIME_TYPE + EXECUTABLE_MIME_TYPE - OBJECT_BASE_DIR COMMON_ARCH_OBJECT_DIR COMMON_DEBUG_OBJECT_DIR + OBJECT_BASE_DIR COMMON_ARCH_OBJECT_DIR + ; + +local archDependentBuildVars = + ARCH CPU GCC_VERSION + + AR CC C++ ELFEDIT LD OBJCOPY RANLIB STRIP + + ARFLAGS ASFLAGS UNARFLAGS CPPFLAGS CCFLAGS C++FLAGS HDRS LDFLAGS + LINK LINKFLAGS + + WARNING_CCFLAGS WARNING_C++FLAGS + + DEBUG_$(HAIKU_DEBUG_LEVELS)_CCFLAGS DEBUG_$(HAIKU_DEBUG_LEVELS)_C++FLAGS + + INCLUDES_SEPARATOR LOCAL_INCLUDES_OPTION SYSTEM_INCLUDES_OPTION + + PRIVATE_SYSTEM_HEADERS + + LIBSTDC++ LIBSUPC++ + + ARCH_OBJECT_DIR COMMON_DEBUG_OBJECT_DIR DEBUG_$(HAIKU_DEBUG_LEVELS)_OBJECT_DIR -; + ; if $(TARGET_PLATFORM) = haiku { local var ; @@ -1011,31 +663,37 @@ if $(TARGET_PLATFORM) = haiku { TARGET_$(var) = $(HAIKU_$(var)) ; } - TARGET_GCC_LIB_DIR = $(HAIKU_GCC_LIB_DIR) ; - TARGET_GCC_HEADERS_DIR = $(HAIKU_GCC_HEADERS_DIR) ; - TARGET_GCC_LIBGCC = $(HAIKU_GCC_LIBGCC) ; - TARGET_GCC_LIBGCC_OBJECTS = $(HAIKU_GCC_LIBGCC_OBJECTS) ; + for var in $(archDependentBuildVars)_$(TARGET_PACKAGING_ARCHS) { + TARGET_$(var) = $(HAIKU_$(var)) ; + } - TARGET_KERNEL_LIBGCC = $(HAIKU_KERNEL_LIBGCC) ; - TARGET_KERNEL_LIBSUPC++ = $(HAIKU_KERNEL_LIBSUPC++) ; - TARGET_BOOT_LIBGCC = $(HAIKU_BOOT_LIBGCC) ; - TARGET_BOOT_LIBSUPC++ = $(HAIKU_BOOT_LIBSUPC++) ; + TARGET_KERNEL_LIBGCC + = $(HAIKU_KERNEL_LIBGCC_$(TARGET_PACKAGING_ARCH)) ; + TARGET_KERNEL_LIBSUPC++ + = $(HAIKU_KERNEL_LIBSUPC++_$(TARGET_PACKAGING_ARCH)) ; + TARGET_BOOT_LIBGCC + = $(HAIKU_BOOT_LIBGCC_$(TARGET_PACKAGING_ARCH)) ; + TARGET_BOOT_LIBSUPC++ + = $(HAIKU_BOOT_LIBSUPC++_$(TARGET_PACKAGING_ARCH)) ; TARGET_BOOT_PLATFORM ?= $(HAIKU_BOOT_PLATFORM) ; TARGET_BOOT_BOARD ?= $(HAIKU_BOOT_BOARD) ; - TARGET_LIBRARY_NAME_MAP = HAIKU_LIBRARY_NAME_MAP ; - + local architecture ; + for architecture in $(TARGET_PACKAGING_ARCHS) { + TARGET_DEFINES_$(architecture) = $(HAIKU_DEFINES_$(architecture)) ; + TARGET_LIBRARY_NAME_MAP_$(architecture) + = HAIKU_LIBRARY_NAME_MAP_$(architecture) ; + } } else { local var ; for var in $(buildVars) { TARGET_$(var) = $(HOST_$(var)) ; } - TARGET_GCC_LIB_DIR = ; - TARGET_GCC_HEADERS_DIR = ; - TARGET_GCC_LIBGCC = ; - TARGET_GCC_LIBGCC_OBJECTS = ; + for var in $(archDependentBuildVars) { + TARGET_$(var)_$(TARGET_PACKAGING_ARCH) = $(HOST_$(var)) ; + } TARGET_KERNEL_LIBGCC = ; TARGET_KERNEL_LIBSUPC++ = ; @@ -1045,7 +703,10 @@ if $(TARGET_PLATFORM) = haiku { TARGET_BOOT_PLATFORM = ; TARGET_BOOT_BOARD = ; - TARGET_LIBRARY_NAME_MAP = HOST_LIBRARY_NAME_MAP ; + TARGET_DEFINES_$(TARGET_PACKAGING_ARCH) = ; + # all flags are in TARGET_DEFINES + + TARGET_LIBRARY_NAME_MAP_$(TARGET_PACKAGING_ARCH) = HOST_LIBRARY_NAME_MAP ; } # define macro, for identifying the platform @@ -1095,8 +756,8 @@ if ! $(TARGET_PLATFORM_HAIKU_COMPATIBLE) && $(TARGET_PLATFORM_BEOS_COMPATIBLE) { # headers and flags local compatibilityHeader = -include [ FDirName $(HAIKU_TOP) headers build HaikuBuildCompatibility.h ] ; - TARGET_CCFLAGS += $(compatibilityHeader) ; - TARGET_C++FLAGS += $(compatibilityHeader) ; + TARGET_CCFLAGS_$(TARGET_PACKAGING_ARCH) += $(compatibilityHeader) ; + TARGET_C++FLAGS_$(TARGET_PACKAGING_ARCH) += $(compatibilityHeader) ; # compatibility library TARGET_HAIKU_COMPATIBILITY_LIBS = libhaikucompat.a ; @@ -1106,13 +767,13 @@ if ! $(TARGET_PLATFORM_HAIKU_COMPATIBLE) && $(TARGET_PLATFORM_BEOS_COMPATIBLE) { if $(TARGET_PLATFORM) = libbe_test { # headers and flags - TARGET_HDRS += + TARGET_HDRS_$(TARGET_PACKAGING_ARCH) += [ PublicHeaders $(DOT) app drivers game interface kernel locale storage support ] [ PrivateHeaders $(DOT) ] ; TARGET_DEFINES += __HAIKU__ ; - TARGET_PRIVATE_SYSTEM_HEADERS = + TARGET_PRIVATE_SYSTEM_HEADERS_$(TARGET_PACKAGING_ARCH) = [ PrivateHeaders $(DOT) system system/arch/$(TARGET_ARCH) ] ; # directories @@ -1120,28 +781,30 @@ if $(TARGET_PLATFORM) = libbe_test { = [ FDirName $(HAIKU_OBJECT_DIR) $(TARGET_PLATFORM) ] ; TARGET_COMMON_ARCH_OBJECT_DIR = [ FDirName $(TARGET_OBJECT_BASE_DIR) common ] ; - TARGET_ARCH_OBJECT_DIR + TARGET_ARCH_OBJECT_DIR_$(TARGET_PACKAGING_ARCH) = [ FDirName $(TARGET_OBJECT_BASE_DIR) $(TARGET_ARCH) ] ; - TARGET_COMMON_DEBUG_OBJECT_DIR - = [ FDirName $(TARGET_ARCH_OBJECT_DIR) common ] ; - TARGET_DEBUG_0_OBJECT_DIR - = [ FDirName $(TARGET_ARCH_OBJECT_DIR) release ] ; + TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH) + = [ FDirName $(TARGET_ARCH_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) + common ] ; + TARGET_DEBUG_0_OBJECT_DIR_$(TARGET_PACKAGING_ARCH) + = [ FDirName $(TARGET_ARCH_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) + release ] ; local level ; for level in $(HAIKU_DEBUG_LEVELS[2-]) { - TARGET_DEBUG_$(level)_OBJECT_DIR - = [ FDirName $(TARGET_ARCH_OBJECT_DIR) debug_$(level) ] ; + TARGET_DEBUG_$(level)_OBJECT_DIR_$(TARGET_PACKAGING_ARCH) + = [ FDirName $(TARGET_ARCH_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) + debug_$(level) ] ; } # library name map - TARGET_LIBRARY_NAME_MAP = LIBBE_LIBRARY_NAME_MAP ; + TARGET_LIBRARY_NAME_MAP_$(TARGET_PACKAGING_ARCH) = LIBBE_LIBRARY_NAME_MAP ; LIBBE_LIBRARY_NAME_MAP_be = libbe_test.so ; } -#pragma mark - +#pragma mark - common stuff -# common stuff # start with a clean state CCFLAGS = ; @@ -1154,13 +817,6 @@ CC = bad-cc ; C++ = bad-c++ ; LINK = bad-link ; -# Allow compiling unit tests on Zeta. Instead of fixing the PostMessage() -# issues, they deprecated that nice function. This will enable it again: -C++FLAGS += -D_ZETA_USING_DEPRECATED_API_=1 ; -# Same for buggy find_directory threadsafety fixes -C++FLAGS += -D_ZETA_TS_FIND_DIR_=1 ; - # TODO: Doesn't really belong here. - # Defaults for warnings, optimization, and debugging. # @@ -1201,14 +857,18 @@ HAIKU_APP_TEST_DIR ?= [ FDirName $(HAIKU_TEST_DIR) apps ] ; HAIKU_APP_TEST_LIB_DIR ?= [ FDirName $(HAIKU_APP_TEST_DIR) lib ] ; HAIKU_TMP_DIR ?= [ FDirName $(HAIKU_OUTPUT_DIR) tmp ] ; -HAIKU_PACKAGING_BASE_DIR = [ FDirName $(TARGET_OBJECT_BASE_DIR) - $(HAIKU_PACKAGING_ARCH) packaging ] ; -HAIKU_PACKAGES_DIR = [ FDirName $(HAIKU_PACKAGING_BASE_DIR) - packages ] ; -HAIKU_PACKAGES_BUILD_DIR = [ FDirName $(HAIKU_PACKAGING_BASE_DIR) - packages_build ] ; -HAIKU_PACKAGE_REPOSITORIES_DIR = [ FDirName $(HAIKU_PACKAGING_BASE_DIR) - repositories ] ; +local architecture ; +for architecture in $(HAIKU_PACKAGING_ARCHS) { + local baseDir + = [ FDirName $(TARGET_OBJECT_BASE_DIR) $(architecture) packaging ] ; + HAIKU_PACKAGES_DIR_$(architecture) = [ FDirName $(baseDir) packages ] ; + HAIKU_PACKAGES_BUILD_DIR_$(architecture) + = [ FDirName $(baseDir) packages_build ] ; + HAIKU_PACKAGE_REPOSITORIES_DIR_$(architecture) + = [ FDirName $(baseDir) repositories ] ; +} + + HAIKU_PACKAGE_INFOS_DIR = [ FDirName $(HAIKU_TOP) src data package_infos ] ; @@ -1225,197 +885,20 @@ SUBDIRRULES += SetupObjectsDir ; # with imported sources. AUTO_SET_UP_CONFIG_VARIABLES += HOST_WARNING_CCFLAGS HOST_WARNING_C++FLAGS - TARGET_WARNING_CCFLAGS TARGET_WARNING_C++FLAGS + TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCHS) + TARGET_WARNING_C++FLAGS_$(TARGET_PACKAGING_ARCHS) + ; - # also add PLATFORM and SUPPORTED_PLATFORMS - PLATFORM SUPPORTED_PLATFORMS -; +# also add PLATFORM and SUPPORTED_PLATFORMS +AUTO_SET_UP_CONFIG_VARIABLES += PLATFORM SUPPORTED_PLATFORMS ; -# enable -Werror for certain parts of the source tree -HAIKU_WERRORFLAGS = ; -if $(HAIKU_GCC_VERSION[1]) >= 4 { - # -Wuninitialized gives too many false positives. - HAIKU_WERRORFLAGS = -Wno-error=uninitialized ; - - # TODO: remove the -Wno-unused-but-set-variable option - HAIKU_WERRORFLAGS += -Wno-unused-but-set-variable ; +# set up warnings +local architecture ; +for architecture in $(TARGET_PACKAGING_ARCHS) { + ArchitectureSetupWarnings $(architecture) ; } -rule EnableWerror dirTokens : scope { - AppendToConfigVar CCFLAGS : HAIKU_TOP $(dirTokens) - : -Werror $(HAIKU_WERRORFLAGS) : $(scope) ; - AppendToConfigVar C++FLAGS : HAIKU_TOP $(dirTokens) - : -Werror $(HAIKU_WERRORFLAGS) : $(scope) ; -} - -# Work-around for GCC 2 problem -- despite -Wno-multichar it reports -# multichar warnings in headers/private/kernel/debugger_keymaps.h included by -# src/system/kernel/arch/x86/arch_debug_console.cpp. -if $(HAIKU_GCC_VERSION[1]) = 2 { - local file = arch_debug_console.o ; - C++FLAGS on $(file) = [ on $(file) return $(C++FLAGS) ] ; -} - -if $(HAIKU_NO_WERROR) != 1 { - EnableWerror src add-ons accelerants 3dfx ; - EnableWerror src add-ons accelerants ati ; - EnableWerror src add-ons accelerants common ; - EnableWerror src add-ons accelerants et6x00 ; -# EnableWerror src add-ons accelerants intel_extreme ; -# EnableWerror src add-ons accelerants matrox ; - EnableWerror src add-ons accelerants neomagic ; -# EnableWerror src add-ons accelerants nvidia ; - EnableWerror src add-ons accelerants nvidia_gpgpu ; -# EnableWerror src add-ons accelerants radeon ; -# EnableWerror src add-ons accelerants radeon_hd ; - EnableWerror src add-ons accelerants s3 ; - EnableWerror src add-ons accelerants skeleton ; - EnableWerror src add-ons accelerants vesa ; - EnableWerror src add-ons accelerants via ; - EnableWerror src add-ons accelerants vmware ; - EnableWerror src add-ons bluetooth ; - EnableWerror src add-ons decorators ; - EnableWerror src add-ons disk_systems ; - EnableWerror src add-ons input_server devices ; -# EnableWerror src add-ons input_server filters ; -# EnableWerror src add-ons input_server methods ; - EnableWerror src add-ons kernel bluetooth ; -# EnableWerror src add-ons kernel bus_managers acpi ; - EnableWerror src add-ons kernel bus_managers agp_gart ; - EnableWerror src add-ons kernel bus_managers ata ; - EnableWerror src add-ons kernel bus_managers config_manager ; -# EnableWerror src add-ons kernel bus_managers firewire ; - EnableWerror src add-ons kernel bus_managers isa ; - EnableWerror src add-ons kernel bus_managers pci ; -# EnableWerror src add-ons kernel bus_managers ps2 ; # gcc2 - EnableWerror src add-ons kernel bus_managers scsi ; - EnableWerror src add-ons kernel bus_managers usb ; - EnableWerror src add-ons kernel busses agp_gart ; - EnableWerror src add-ons kernel busses ata ; - EnableWerror src add-ons kernel busses scsi ; - EnableWerror src add-ons kernel busses usb ; - EnableWerror src add-ons kernel console ; - EnableWerror src add-ons kernel cpu ; -# EnableWerror src add-ons kernel debugger ; # gcc2 -# EnableWerror src add-ons kernel drivers audio ; - EnableWerror src add-ons kernel drivers bluetooth ; - EnableWerror src add-ons kernel drivers bus ; - EnableWerror src add-ons kernel drivers common ; - EnableWerror src add-ons kernel drivers disk ; - EnableWerror src add-ons kernel drivers dvb ; -# EnableWerror src add-ons kernel drivers graphics ; -# EnableWerror src add-ons kernel drivers input ; - EnableWerror src add-ons kernel drivers joystick ; - EnableWerror src add-ons kernel drivers midi ; - EnableWerror src add-ons kernel drivers misc ; -# EnableWerror src add-ons kernel drivers network ; - EnableWerror src add-ons kernel drivers ports ; -# EnableWerror src add-ons kernel drivers power ; - EnableWerror src add-ons kernel drivers printer ; - EnableWerror src add-ons kernel drivers random ; - EnableWerror src add-ons kernel drivers tty ; - EnableWerror src add-ons kernel drivers video ; - EnableWerror src add-ons kernel file_systems bfs ; - EnableWerror src add-ons kernel file_systems cdda ; -# EnableWerror src add-ons kernel file_systems ext2 ; -# EnableWerror src add-ons kernel file_systems fat ; -# EnableWerror src add-ons kernel file_systems googlefs ; - EnableWerror src add-ons kernel file_systems iso9660 ; - EnableWerror src add-ons kernel file_systems layers ; - EnableWerror src add-ons kernel file_systems netfs ; - EnableWerror src add-ons kernel file_systems nfs ; - EnableWerror src add-ons kernel file_systems nfs4 ; -# EnableWerror src add-ons kernel file_systems ntfs ; - EnableWerror src add-ons kernel file_systems packagefs ; - EnableWerror src add-ons kernel file_systems ramfs ; -# EnableWerror src add-ons kernel file_systems reiserfs ; - EnableWerror src add-ons kernel file_systems udf ; - EnableWerror src add-ons kernel file_systems userlandfs ; - EnableWerror src add-ons kernel generic ; -# EnableWerror src add-ons kernel network datalink_protocols ; - EnableWerror src add-ons kernel network devices ; - EnableWerror src add-ons kernel network dns_resolver ; - EnableWerror src add-ons kernel network notifications ; - EnableWerror src add-ons kernel network ppp ; - EnableWerror src add-ons kernel network protocols ; -# EnableWerror src add-ons kernel network stack ; - EnableWerror src add-ons kernel partitioning_systems ; - EnableWerror src add-ons locale ; - EnableWerror src add-ons mail_daemon ; - EnableWerror src add-ons media media-add-ons demultiplexer ; - EnableWerror src add-ons media media-add-ons dvb ; - EnableWerror src add-ons media media-add-ons esound_sink ; - EnableWerror src add-ons media media-add-ons finepix_webcam ; - EnableWerror src add-ons media media-add-ons firewire_dv ; - EnableWerror src add-ons media media-add-ons legacy ; - EnableWerror src add-ons media media-add-ons mixer ; - EnableWerror src add-ons media media-add-ons multi_audio ; - EnableWerror src add-ons media media-add-ons opensound ; - EnableWerror src add-ons media media-add-ons radeon ; - EnableWerror src add-ons media media-add-ons reader ; - EnableWerror src add-ons media media-add-ons tone_producer_demo ; - EnableWerror src add-ons media media-add-ons usb_vision ; -# EnableWerror src add-ons media media-add-ons usb_webcam ; - EnableWerror src add-ons media media-add-ons video_mixer ; -# EnableWerror src add-ons media media-add-ons video_producer_demo ; - EnableWerror src add-ons media media-add-ons videowindow ; - EnableWerror src add-ons media media-add-ons writer ; - EnableWerror src add-ons media plugins ac3_decoder ; - EnableWerror src add-ons media plugins aiff_reader ; - EnableWerror src add-ons media plugins ape_reader ; -# EnableWerror src add-ons media plugins asf_reader ; - EnableWerror src add-ons media plugins au_reader ; -# EnableWerror src add-ons media plugins avi_reader ; -# EnableWerror src add-ons media plugins ffmpeg ; -# EnableWerror src add-ons media plugins matroska ; -# EnableWerror src add-ons media plugins mov_reader ; - EnableWerror src add-ons media plugins mp3_decoder ; -# EnableWerror src add-ons media plugins mp3_reader ; - EnableWerror src add-ons media plugins mp4_reader ; - EnableWerror src add-ons media plugins musepack ; -# EnableWerror src add-ons media plugins ogg ; -# EnableWerror src add-ons media plugins raw_decoder ; -# EnableWerror src add-ons media plugins speex ; - EnableWerror src add-ons media plugins theora ; - EnableWerror src add-ons media plugins vorbis ; -# EnableWerror src add-ons media plugins wav_reader ; - EnableWerror src add-ons media plugins xvid_decoder ; - EnableWerror src add-ons opengl ; - EnableWerror src add-ons print ; - EnableWerror src add-ons screen_savers ; - EnableWerror src add-ons tracker ; - EnableWerror src add-ons translators bmp ; -# EnableWerror src add-ons translators exr ; - EnableWerror src add-ons translators gif ; -# EnableWerror src add-ons translators hpgs ; - EnableWerror src add-ons translators hvif ; - EnableWerror src add-ons translators ico ; -# EnableWerror src add-ons translators jpeg ; # gcc2 - EnableWerror src add-ons translators jpeg2000 ; - EnableWerror src add-ons translators pcx ; -# EnableWerror src add-ons translators png ; # gcc2 - EnableWerror src add-ons translators ppm ; - EnableWerror src add-ons translators raw ; - EnableWerror src add-ons translators rtf ; - EnableWerror src add-ons translators sgi ; - EnableWerror src add-ons translators shared ; -# EnableWerror src add-ons translators stxt ; - EnableWerror src add-ons translators tga ; - EnableWerror src add-ons translators tiff ; -# EnableWerror src add-ons translators wonderbrush ; - EnableWerror src add-ons print ; - EnableWerror src bin package ; - EnableWerror src apps ; - EnableWerror src kits ; - EnableWerror src preferences ; - EnableWerror src servers ; - EnableWerror src system kernel ; - EnableWerror src system libroot add-ons ; - EnableWerror src system libroot posix locale ; - EnableWerror src system libroot posix wchar ; - EnableWerror src system runtime_loader ; -} # The following directories cannot currently be compiled with DEBUG=1 SetConfigVar DEBUG : HAIKU_TOP src add-ons disk_systems bfs : 0 : local ; diff --git a/build/jam/FileRules b/build/jam/FileRules index 2a0012c68e..0285d300bb 100644 --- a/build/jam/FileRules +++ b/build/jam/FileRules @@ -203,7 +203,8 @@ rule UnarchiveObjects actions UnarchiveObjects { - ( cd $(1[1]:D) && $(TARGET_AR) $(TARGET_UNARFLAGS) "$(2)" $(1:BS) ) + ( cd $(1[1]:D) && $(TARGET_AR_$(TARGET_PACKAGING_ARCH)) \ + $(TARGET_UNARFLAGS_$(TARGET_PACKAGING_ARCH)) "$(2)" $(1:BS) ) } diff --git a/build/jam/HaikuPackages b/build/jam/HaikuPackages index ab6668d176..572138207d 100644 --- a/build/jam/HaikuPackages +++ b/build/jam/HaikuPackages @@ -1,7 +1,6 @@ # The packages we build. Each is defined in its own file in the packages/ # subdirectory. local packages = - HaikuCrossDevel HaikuDevel HaikuLoader HaikuUserguide @@ -15,11 +14,26 @@ if $(HAIKU_BOOTSTRAP_BUILD) { packages += Haiku ; } +local archDependentPackages = + HaikuCrossDevel + ; + packages = $(packages:G=package-rules) ; -SEARCH on $(packages) = [ FDirName $(HAIKU_BUILD_RULES_DIR) packages ] ; +archDependentPackages = $(archDependentPackages:G=package-rules) ; +SEARCH on $(packages) $(archDependentPackages) + = [ FDirName $(HAIKU_BUILD_RULES_DIR) packages ] ; local package ; for package in $(packages) { include $(package) ; } + +for package in $(archDependentPackages) { + local architectureObject ; + for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + include $(package) ; + } + } +} diff --git a/build/jam/HeadersRules b/build/jam/HeadersRules index da07f9e4fa..bad637f052 100644 --- a/build/jam/HeadersRules +++ b/build/jam/HeadersRules @@ -71,11 +71,13 @@ rule ObjectSysHdrs [ FSysIncludes $(sysHeaders) : $(HOST_SYSTEM_INCLUDES_OPTION) ] ; } else { + local architecture = $(TARGET_PACKAGING_ARCH) ; fileHeaders = - [ FIncludes $(HDRS) : $(TARGET_LOCAL_INCLUDES_OPTION) ] - $(TARGET_INCLUDES_SEPARATOR) + [ FIncludes $(HDRS) + : $(TARGET_LOCAL_INCLUDES_OPTION_$(architecture)) ] + $(TARGET_INCLUDES_SEPARATOR_$(architecture)) [ FSysIncludes $(sysHeaders) - : $(TARGET_SYSTEM_INCLUDES_OPTION) ] ; + : $(TARGET_SYSTEM_INCLUDES_OPTION_$(architecture)) ] ; } ASHDRS on $(file) = $(fileHeaders) ; @@ -408,7 +410,8 @@ rule UsePrivateKernelHeaders rule UsePrivateSystemHeaders { - UseHeaders $(TARGET_PRIVATE_SYSTEM_HEADERS) : true ; + UseHeaders $(TARGET_PRIVATE_SYSTEM_HEADERS_$(TARGET_PACKAGING_ARCH)) + : true ; } @@ -440,7 +443,7 @@ rule FStandardOSHeaders } -rule FStandardHeaders +rule FStandardHeaders architecture { local osIncludes = add-ons add-ons/file_system add-ons/graphics add-ons/input_server add-ons/registrar @@ -453,14 +456,14 @@ rule FStandardHeaders # The C++ headers. If specified, we use the compiler headers, otherwise # the ones that come with our libstdc++. - if $(HAIKU_C++_HEADERS_DIR) { - headers += $(HAIKU_C++_HEADERS_DIR) ; + if $(HAIKU_C++_HEADERS_DIR_$(architecture)) { + headers += $(HAIKU_C++_HEADERS_DIR_$(architecture)) ; } else { headers += [ FDirName $(HAIKU_TOP) headers cpp ] ; } # GCC headers - headers += $(HAIKU_GCC_HEADERS_DIR) ; + headers += $(HAIKU_GCC_HEADERS_DIR_$(architecture)) ; # Use headers directory, to allow to do things like include headers += [ FDirName $(HAIKU_TOP) headers ] ; diff --git a/build/jam/HelperRules b/build/jam/HelperRules index 5cce26dc7d..4939bbbfef 100644 --- a/build/jam/HelperRules +++ b/build/jam/HelperRules @@ -267,19 +267,19 @@ rule FAnalyzeGCCVersion return $(version) ; } -rule SetIncludePropertiesVariables +rule SetIncludePropertiesVariables prefix : suffix { - # SetIncludePropertiesVariables ; + # SetIncludePropertiesVariables : ; # - local prefix = $(1) ; - if $($(prefix)_GCC_VERSION[1]) < 4 { - $(prefix)_INCLUDES_SEPARATOR = -I- ; - $(prefix)_LOCAL_INCLUDES_OPTION = -I ; - $(prefix)_SYSTEM_INCLUDES_OPTION = -I ; + suffix = $(suffix:E=) ; + if $($(prefix)_GCC_VERSION$(suffix)[1]) < 4 { + $(prefix)_INCLUDES_SEPARATOR$(suffix) = -I- ; + $(prefix)_LOCAL_INCLUDES_OPTION$(suffix) = -I ; + $(prefix)_SYSTEM_INCLUDES_OPTION$(suffix) = -I ; } else { - $(prefix)_INCLUDES_SEPARATOR = ; - $(prefix)_LOCAL_INCLUDES_OPTION = "-iquote " ; - $(prefix)_SYSTEM_INCLUDES_OPTION = "-I " ; + $(prefix)_INCLUDES_SEPARATOR$(suffix) = ; + $(prefix)_LOCAL_INCLUDES_OPTION$(suffix) = "-iquote " ; + $(prefix)_SYSTEM_INCLUDES_OPTION$(suffix) = "-I " ; } } diff --git a/build/jam/KernelRules b/build/jam/KernelRules index f56f157436..21f9d94cbe 100644 --- a/build/jam/KernelRules +++ b/build/jam/KernelRules @@ -23,8 +23,9 @@ rule SetupKernel ObjectDefines $(object) : $(TARGET_KERNEL_DEFINES) ; # override warning flags - TARGET_WARNING_CCFLAGS on $(object) = $(TARGET_KERNEL_WARNING_CCFLAGS) ; - TARGET_WARNING_C++FLAGS on $(object) + TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH) on $(object) + = $(TARGET_KERNEL_WARNING_CCFLAGS) ; + TARGET_WARNING_C++FLAGS_$(TARGET_PACKAGING_ARCH) on $(object) = $(TARGET_KERNEL_WARNING_C++FLAGS) ; } } @@ -39,7 +40,7 @@ rule KernelLd { # KernelLd : : : ; - LINK on $(1) = $(TARGET_LD) ; + LINK on $(1) = $(TARGET_LD_$(TARGET_PACKAGING_ARCH)) ; LINKFLAGS on $(1) = $(4) ; if $(3) { LINKFLAGS on $(1) += --script=$(3) ; } @@ -92,7 +93,7 @@ actions KernelSo1 $(HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR) $(2[1]) --data $(2[2]) $(1) && - $(HAIKU_ELFEDIT) --output-type dyn $(1) + $(HAIKU_ELFEDIT_$(TARGET_PACKAGING_ARCH)) --output-type dyn $(1) } rule KernelAddon @@ -187,5 +188,5 @@ actions KernelStaticLibraryObjects # Force recreation of the archive to avoid build errors caused by # stale dependencies after renaming or deleting object files. $(RM) "$(1)" - $(HAIKU_AR) -r "$(1)" "$(2)" ; + $(HAIKU_AR_$(TARGET_PACKAGING_ARCH)) -r "$(1)" "$(2)" ; } diff --git a/build/jam/LocaleRules b/build/jam/LocaleRules index 7bd875d4eb..cc305b5abd 100644 --- a/build/jam/LocaleRules +++ b/build/jam/LocaleRules @@ -32,13 +32,17 @@ rule ExtractCatalogEntries target : sources : signature : regexp localIncludesOption = $(HOST_LOCAL_INCLUDES_OPTION) ; systemIncludesOption = $(HOST_SYSTEM_INCLUDES_OPTION) ; } else { - sysHeaders += $(TARGET_HDRS) ; - defines += $(TARGET_DEFINES) ; - cc = $(TARGET_CC) ; - - includesSeparator = $(TARGET_INCLUDES_SEPARATOR) ; - localIncludesOption = $(TARGET_LOCAL_INCLUDES_OPTION) ; - systemIncludesOption = $(TARGET_SYSTEM_INCLUDES_OPTION) ; + sysHeaders += $(TARGET_HDRS_$(TARGET_PACKAGING_ARCH)) ; + defines += $(TARGET_DEFINES_$(TARGET_PACKAGING_ARCH)) + $(TARGET_DEFINES) ; + cc = $(TARGET_CC_$(TARGET_PACKAGING_ARCH)) ; + + includesSeparator + = $(TARGET_INCLUDES_SEPARATOR_$(TARGET_PACKAGING_ARCH)) ; + localIncludesOption + = $(TARGET_LOCAL_INCLUDES_OPTION_$(TARGET_PACKAGING_ARCH)) ; + systemIncludesOption + = $(TARGET_SYSTEM_INCLUDES_OPTION_$(TARGET_PACKAGING_ARCH)) ; } } diff --git a/build/jam/MainBuildRules b/build/jam/MainBuildRules index e650f9abd2..82ec60010e 100644 --- a/build/jam/MainBuildRules +++ b/build/jam/MainBuildRules @@ -9,15 +9,10 @@ rule AddSharedObjectGlueCode on $(1) { platform = $(PLATFORM) ; if $(platform) = haiku { - local stdLibs = libroot.so ; - local beginGlue ; - local endGlue ; - if $(2) = true { - beginGlue += $(HAIKU_EXECUTABLE_BEGIN_GLUE_CODE) ; - endGlue += $(HAIKU_EXECUTABLE_END_GLUE_CODE) ; - } else { - beginGlue += $(HAIKU_LIBRARY_BEGIN_GLUE_CODE) ; - endGlue += $(HAIKU_LIBRARY_END_GLUE_CODE) ; + local stdLibs = [ MultiArchDefaultGristFiles libroot.so ] ; + local type = EXECUTABLE ; + if $(2) != true { + type = LIBRARY ; # special case for libroot: don't link it against itself if $(DONT_LINK_AGAINST_LIBROOT) { @@ -25,6 +20,11 @@ rule AddSharedObjectGlueCode } } + local beginGlue + = $(HAIKU_$(type)_BEGIN_GLUE_CODE_$(TARGET_PACKAGING_ARCH)) ; + local endGlue + = $(HAIKU_$(type)_END_GLUE_CODE_$(TARGET_PACKAGING_ARCH)) ; + LINK_BEGIN_GLUE on $(1) = $(beginGlue) ; LINK_END_GLUE on $(1) = $(endGlue) ; @@ -199,9 +199,9 @@ rule Ld LINK on $(target) = $(HOST_LD) ; LINKFLAGS on $(target) = $(HOST_LDFLAGS) $(LINKFLAGS) $(linkerFlags) ; } else { - LINK on $(target) = $(TARGET_LD) ; - LINKFLAGS on $(target) = $(TARGET_LDFLAGS) $(LINKFLAGS) - $(linkerFlags) ; + LINK on $(target) = $(TARGET_LD_$(TARGET_PACKAGING_ARCH)) ; + LINKFLAGS on $(target) = $(TARGET_LDFLAGS_$(TARGET_PACKAGING_ARCH)) + $(LINKFLAGS) $(linkerFlags) ; } NEEDLIBS on $(target) = $(NEEDLIBS) ; @@ -265,8 +265,9 @@ rule CreateAsmStructOffsetsHeader header : source } } else { - sysHeaders += $(TARGET_HDRS) ; - defines += $(TARGET_DEFINES) ; + sysHeaders += $(TARGET_HDRS_$(TARGET_PACKAGING_ARCH)) ; + defines += $(TARGET_DEFINES_$(TARGET_PACKAGING_ARCH)) + $(TARGET_DEFINES) ; } # optimization flags @@ -299,18 +300,22 @@ rule CreateAsmStructOffsetsHeader header : source } else { # warning flags if $(WARNINGS) != 0 { - flags += $(TARGET_WARNING_C++FLAGS) ; + flags += $(TARGET_WARNING_C++FLAGS_$(TARGET_PACKAGING_ARCH)) ; } # debug and other flags - flags += $(TARGET_C++FLAGS) $(TARGET_DEBUG_$(DEBUG)_C++FLAGS) + flags += $(TARGET_C++FLAGS_$(TARGET_PACKAGING_ARCH)) + $(TARGET_DEBUG_$(DEBUG)_C++FLAGS_$(TARGET_PACKAGING_ARCH)) $(SUBDIRC++FLAGS) $(C++FLAGS) ; - C++ on $(header) = $(TARGET_C++) ; + C++ on $(header) = $(TARGET_C++_$(TARGET_PACKAGING_ARCH)) ; - includesSeparator = $(TARGET_INCLUDES_SEPARATOR) ; - localIncludesOption = $(TARGET_LOCAL_INCLUDES_OPTION) ; - systemIncludesOption = $(TARGET_SYSTEM_INCLUDES_OPTION) ; + includesSeparator + = $(TARGET_INCLUDES_SEPARATOR_$(TARGET_PACKAGING_ARCH)) ; + localIncludesOption + = $(TARGET_LOCAL_INCLUDES_OPTION_$(TARGET_PACKAGING_ARCH)) ; + systemIncludesOption + = $(TARGET_SYSTEM_INCLUDES_OPTION_$(TARGET_PACKAGING_ARCH)) ; } } @@ -318,6 +323,7 @@ rule CreateAsmStructOffsetsHeader header : source # for non-PODs. Since we're using the same compiler for the whole kernel and # don't do virtual inheritence, that works well enough. flags += -Wno-invalid-offsetof ; + # TODO: Rather get rid of the respective offsetof() instances. # locate object, search for source, and set on target variables @@ -366,8 +372,9 @@ rule MergeObjectFromObjects LINK on $(1) = $(HOST_LD) ; LINKFLAGS on $(target) = $(HOST_LDFLAGS) ; } else { - LINK on $(1) = $(TARGET_LD) ; - LINKFLAGS on $(target) = $(TARGET_LDFLAGS) ; + LINK on $(1) = $(TARGET_LD_$(TARGET_PACKAGING_ARCH)) ; + LINKFLAGS on $(target) + = $(TARGET_LDFLAGS_$(TARGET_PACKAGING_ARCH)) ; } } @@ -469,12 +476,12 @@ rule LinkAgainst on $(target) { # map libraries, if desired and target platform is Haiku - if $(PLATFORM) != host && $(mapLibs) = true - && $(TARGET_LIBRARY_NAME_MAP) { + local map = $(TARGET_LIBRARY_NAME_MAP_$(TARGET_PACKAGING_ARCH)) ; + if $(PLATFORM) != host && $(mapLibs) = true && $(map) { local mappedLibs ; for i in $(libs) { - local mapped = $($(TARGET_LIBRARY_NAME_MAP)_$(i)) ; + local mapped = $($(map)_$(i)) ; mapped ?= $(i) ; mappedLibs += $(mapped) ; } diff --git a/build/jam/MiscRules b/build/jam/MiscRules index 64ffffd8da..68f9cbab6b 100644 --- a/build/jam/MiscRules +++ b/build/jam/MiscRules @@ -10,15 +10,21 @@ rule SetupObjectsDir if $(relPath) = . { relPath = ; } - COMMON_PLATFORM_LOCATE_TARGET = - [ FDirName $(HAIKU_COMMON_PLATFORM_OBJECT_DIR) $(relPath) ] ; + + COMMON_PLATFORM_LOCATE_TARGET + = [ FDirName $(HAIKU_COMMON_PLATFORM_OBJECT_DIR) $(relPath) ] ; + HOST_COMMON_ARCH_LOCATE_TARGET + = [ FDirName $(HOST_COMMON_ARCH_OBJECT_DIR) $(relPath) ] ; + TARGET_COMMON_ARCH_LOCATE_TARGET + = [ FDirName $(TARGET_COMMON_ARCH_OBJECT_DIR) $(relPath) ] ; local var ; - for var in COMMON_ARCH COMMON_DEBUG DEBUG_$(HAIKU_DEBUG_LEVELS) { + for var in COMMON_DEBUG DEBUG_$(HAIKU_DEBUG_LEVELS) { HOST_$(var)_LOCATE_TARGET = [ FDirName $(HOST_$(var)_OBJECT_DIR) $(relPath) ] ; TARGET_$(var)_LOCATE_TARGET - = [ FDirName $(TARGET_$(var)_OBJECT_DIR) $(relPath) ] ; + = [ FDirName $(TARGET_$(var)_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) + $(relPath) ] ; } LOCATE_TARGET = $(COMMON_PLATFORM_LOCATE_TARGET) ; @@ -71,58 +77,62 @@ rule SubIncludeGPL # pragma mark - MakeLocate variants -rule MakeLocateCommonPlatform +rule MakeLocateCommonPlatform files : subdir { # The file is shared between all target platforms. - MakeLocate $(1) : $(COMMON_PLATFORM_LOCATE_TARGET) ; + MakeLocate $(files) + : [ FDirName $(COMMON_PLATFORM_LOCATE_TARGET) $(subdir) ] ; } -rule MakeLocatePlatform +rule MakeLocatePlatform files : subdir { # The file is specific for the target platform, but # architecture independent. Usually the right rule for generated # sources, though sometimes sources can be architecture specific. - local files = $(1) ; local file ; for file in $(files) { + local directory ; if [ on $(file) return $(PLATFORM) ] = host { - MakeLocate $(file) : $(HOST_COMMON_ARCH_LOCATE_TARGET) ; + directory = $(HOST_COMMON_ARCH_LOCATE_TARGET) ; } else { - MakeLocate $(file) : $(TARGET_COMMON_ARCH_LOCATE_TARGET) ; + directory = $(TARGET_COMMON_ARCH_LOCATE_TARGET) ; } + MakeLocate $(file) : [ FDirName $(directory) $(subdir) ] ; } } -rule MakeLocateArch +rule MakeLocateArch files : subdir { # The file is platform+architecture specific, but is debug # level independent. This is usually the right rule for generated # architecture specific data or source files. - local files = $(1) ; local file ; for file in $(files) { + local directory ; if [ on $(file) return $(PLATFORM) ] = host { - MakeLocate $(file) : $(HOST_COMMON_DEBUG_LOCATE_TARGET) ; + directory = $(HOST_COMMON_DEBUG_LOCATE_TARGET) ; } else { - MakeLocate $(file) : $(TARGET_COMMON_DEBUG_LOCATE_TARGET) ; + directory = $(TARGET_COMMON_DEBUG_LOCATE_TARGET) ; } + MakeLocate $(file) : [ FDirName $(directory) $(subdir) ] ; } } -rule MakeLocateDebug +rule MakeLocateDebug files : subdir { # The file is platform+architecture+debug level specific. # That's what should be used for compiled code. - local files = $(1) ; local file ; for file in $(files) { + local directory ; on $(file) { if $(PLATFORM) = host { - MakeLocate $(file) : $(HOST_DEBUG_$(DEBUG)_LOCATE_TARGET) ; + directory = $(HOST_DEBUG_$(DEBUG)_LOCATE_TARGET) ; } else { - MakeLocate $(file) : $(TARGET_DEBUG_$(DEBUG)_LOCATE_TARGET) ; + directory = $(TARGET_DEBUG_$(DEBUG)_LOCATE_TARGET) ; } } + MakeLocate $(file) : [ FDirName $(directory) $(subdir) ] ; } } diff --git a/build/jam/OptionalPackages b/build/jam/OptionalPackages index 157e148f68..3578fa7f8e 100644 --- a/build/jam/OptionalPackages +++ b/build/jam/OptionalPackages @@ -48,7 +48,7 @@ if [ IsOptionalHaikuImagePackageAdded BeOSCompatibility ] { if $(TARGET_ARCH) != x86 { Echo "No optional package BeOSCompatibility available for" "$(TARGET_ARCH)" ; - } else if $(HAIKU_GCC_VERSION[1]) >= 4 { + } else if $(TARGET_GCC_VERSION_$(TARGET_PACKAGING_ARCH)[1]) >= 4 { Echo "No optional package BeOSCompatibility available for gcc4" ; } else { Echo "Warning: Adding BeOS compatibility symlinks. This will go away." @@ -83,9 +83,9 @@ if [ IsOptionalHaikuImagePackageAdded Bluetooth ] { # AddSymlinkToHaikuImage home config settings deskbar menu Preferences # : /boot/system/preferences/Bluetooth ; # if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ] -# && $(HAIKU_GCC_VERSION[1]) in 2 4 { +# && $(TARGET_GCC_VERSION_$(TARGET_PACKAGING_ARCH)[1]) in 2 4 { # local arch = $(TARGET_ARCH) ; -# local abi = gcc$(HAIKU_GCC_VERSION[1]) ; +# local abi = gcc$(TARGET_GCC_VERSION_$(TARGET_PACKAGING_ARCH)[1]) ; # AddSymlinkToHaikuImage system develop lib # : /system/lib libbluetooth.so ; # } @@ -201,7 +201,7 @@ if [ IsOptionalHaikuImagePackageAdded NetFS ] { if [ IsOptionalHaikuImagePackageAdded UserlandFS ] { # TODO: Make this an actual package! # local arch = $(TARGET_ARCH) ; -# local abi = gcc$(HAIKU_GCC_VERSION[1]) ; +# local abi = gcc$(TARGET_GCC_VERSION_$(TARGET_PACKAGING_ARCH)[1]) ; # # # kernel module # AddFilesToHaikuImage system add-ons kernel file_systems @@ -220,9 +220,9 @@ if [ IsOptionalHaikuImagePackageAdded UserlandFS ] { # # # development goodies # if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ] { -# if ! ( $(HAIKU_GCC_VERSION[1]) in 2 4 ) { +# if ! ( $(TARGET_GCC_VERSION_$(TARGET_PACKAGING_ARCH)[1]) in 2 4 ) { # Exit "Optional package UserlandFS: Unsupported GCC version:" -# $(HAIKU_GCC_VERSION[1]) ; +# $(TARGET_GCC_VERSION_$(TARGET_PACKAGING_ARCH)[1]) ; # } # # # library symlinks @@ -255,9 +255,9 @@ if [ IsOptionalHaikuImagePackageAdded WebPositive ] { # TODO: Make this an actual package! # if $(TARGET_ARCH) != x86 && $(TARGET_ARCH) != x86_64 { # Echo "No optional package WebPositive available for $(TARGET_ARCH)" ; -# } else if $(HAIKU_GCC_VERSION[1]) < 4 { +# } else if $(TARGET_GCC_VERSION_$(TARGET_PACKAGING_ARCH)[1]) < 4 { # Echo "No optional package WebPositive available for gcc2" ; -# } else if $(HAIKU_GCC_VERSION[1]) >= 4 { +# } else if $(TARGET_GCC_VERSION_$(TARGET_PACKAGING_ARCH)[1]) >= 4 { # # TODO: Either we build a separate package for WebPositive or we # # incorporate it in haiku.hpkg. # AddFilesToHaikuHybridImage apps : WebPositive ; diff --git a/build/jam/OverriddenJamRules b/build/jam/OverriddenJamRules index 117a88ec34..00548e559e 100644 --- a/build/jam/OverriddenJamRules +++ b/build/jam/OverriddenJamRules @@ -22,8 +22,8 @@ rule Link LINK on $(1) = $(HOST_LINK) ; LINKFLAGS on $(1) = $(HOST_LINKFLAGS) [ on $(1) return $(LINKFLAGS) ] ; } else { - LINK on $(1) = $(TARGET_LINK) ; - LINKFLAGS on $(1) = $(TARGET_LINKFLAGS) + LINK on $(1) = $(TARGET_LINK_$(TARGET_PACKAGING_ARCH)) ; + LINKFLAGS on $(1) = $(TARGET_LINKFLAGS_$(TARGET_PACKAGING_ARCH)) [ on $(1) return $(LINKFLAGS) ] ; } @@ -106,8 +106,9 @@ rule Object } } else { - sysHeaders += $(TARGET_HDRS) ; - defines += $(TARGET_DEFINES) ; + sysHeaders += $(TARGET_HDRS_$(TARGET_PACKAGING_ARCH)) ; + defines += $(TARGET_DEFINES_$(TARGET_PACKAGING_ARCH)) + $(TARGET_DEFINES) ; } } @@ -194,13 +195,17 @@ rule As systemIncludesOption = $(HOST_SYSTEM_INCLUDES_OPTION) ; } else { - flags = [ on $(1) return $(TARGET_ASFLAGS) $(ASFLAGS) ] ; + flags = [ on $(1) return $(TARGET_ASFLAGS_$(architecture)) + $(ASFLAGS) ] ; - CC on $(1) = $(TARGET_CC) ; + CC on $(1) = $(TARGET_CC_$(TARGET_PACKAGING_ARCH)) ; - includesSeparator = $(TARGET_INCLUDES_SEPARATOR) ; - localIncludesOption = $(TARGET_LOCAL_INCLUDES_OPTION) ; - systemIncludesOption = $(TARGET_SYSTEM_INCLUDES_OPTION) ; + includesSeparator + = $(TARGET_INCLUDES_SEPARATOR_$(TARGET_PACKAGING_ARCH)) ; + localIncludesOption + = $(TARGET_LOCAL_INCLUDES_OPTION_$(TARGET_PACKAGING_ARCH)) ; + systemIncludesOption + = $(TARGET_SYSTEM_INCLUDES_OPTION_$(TARGET_PACKAGING_ARCH)) ; } Depends $(<) : $(>) ; @@ -294,18 +299,22 @@ rule Cc } else { # warning flags if $(WARNINGS) != 0 { - flags += $(TARGET_WARNING_CCFLAGS) ; + flags += $(TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH)) ; } # debug and other flags - flags += $(TARGET_CCFLAGS) $(TARGET_DEBUG_$(DEBUG)_CCFLAGS) + flags += $(TARGET_CCFLAGS_$(TARGET_PACKAGING_ARCH)) + $(TARGET_DEBUG_$(DEBUG)_CCFLAGS_$(TARGET_PACKAGING_ARCH)) $(SUBDIRCCFLAGS) $(CCFLAGS) ; - CC on $(1) = $(TARGET_CC) ; + CC on $(1) = $(TARGET_CC_$(TARGET_PACKAGING_ARCH)) ; - includesSeparator = $(TARGET_INCLUDES_SEPARATOR) ; - localIncludesOption = $(TARGET_LOCAL_INCLUDES_OPTION) ; - systemIncludesOption = $(TARGET_SYSTEM_INCLUDES_OPTION) ; + includesSeparator + = $(TARGET_INCLUDES_SEPARATOR_$(TARGET_PACKAGING_ARCH)) ; + localIncludesOption + = $(TARGET_LOCAL_INCLUDES_OPTION_$(TARGET_PACKAGING_ARCH)) ; + systemIncludesOption + = $(TARGET_SYSTEM_INCLUDES_OPTION_$(TARGET_PACKAGING_ARCH)) ; } CCFLAGS on $(<) = $(flags) ; @@ -361,18 +370,22 @@ rule C++ } else { # warning flags if $(WARNINGS) != 0 { - flags += $(TARGET_WARNING_C++FLAGS) ; + flags += $(TARGET_WARNING_C++FLAGS_$(TARGET_PACKAGING_ARCH)) ; } # debug and other flags - flags += $(TARGET_C++FLAGS) $(TARGET_DEBUG_$(DEBUG)_C++FLAGS) + flags += $(TARGET_C++FLAGS_$(TARGET_PACKAGING_ARCH)) + $(TARGET_DEBUG_$(DEBUG)_C++FLAGS_$(TARGET_PACKAGING_ARCH)) $(SUBDIRC++FLAGS) $(C++FLAGS) ; - C++ on $(1) = $(TARGET_C++) ; + C++ on $(1) = $(TARGET_C++_$(TARGET_PACKAGING_ARCH)) ; - includesSeparator = $(TARGET_INCLUDES_SEPARATOR) ; - localIncludesOption = $(TARGET_LOCAL_INCLUDES_OPTION) ; - systemIncludesOption = $(TARGET_SYSTEM_INCLUDES_OPTION) ; + includesSeparator + = $(TARGET_INCLUDES_SEPARATOR_$(TARGET_PACKAGING_ARCH)) ; + localIncludesOption + = $(TARGET_LOCAL_INCLUDES_OPTION_$(TARGET_PACKAGING_ARCH)) ; + systemIncludesOption + = $(TARGET_SYSTEM_INCLUDES_OPTION_$(TARGET_PACKAGING_ARCH)) ; } C++FLAGS on $(<) = $(flags) ; @@ -424,8 +437,9 @@ rule LibraryFromObjects AR on $(_l) = $(HOST_AR) $(HOST_ARFLAGS) ; RANLIB on $(_l) = $(HOST_RANLIB) ; } else { - AR on $(_l) = $(TARGET_AR) $(TARGET_ARFLAGS) ; - RANLIB on $(_l) = $(TARGET_RANLIB) ; + AR on $(_l) = $(TARGET_AR_$(TARGET_PACKAGING_ARCH)) + $(TARGET_ARFLAGS_$(TARGET_PACKAGING_ARCH)) ; + RANLIB on $(_l) = $(TARGET_RANLIB_$(TARGET_PACKAGING_ARCH)) ; } # library depends on its member objects @@ -660,11 +674,13 @@ rule ObjectHdrs [ FSysIncludes $(SYSHDRS) : $(HOST_SYSTEM_INCLUDES_OPTION) ] ; } else { + local architecture = $(TARGET_PACKAGING_ARCH) ; fileHeaders = - [ FIncludes $(localHeaders) : $(TARGET_LOCAL_INCLUDES_OPTION) ] - $(TARGET_INCLUDES_SEPARATOR) + [ FIncludes $(localHeaders) + : $(TARGET_LOCAL_INCLUDES_OPTION_$(architecture)) ] + $(TARGET_INCLUDES_SEPARATOR_$(architecture)) [ FSysIncludes $(SYSHDRS) - : $(TARGET_SYSTEM_INCLUDES_OPTION) ] ; + : $(TARGET_SYSTEM_INCLUDES_OPTION_$(architecture)) ] ; } ASHDRS on $(file) = $(fileHeaders) ; diff --git a/build/jam/PackageRules b/build/jam/PackageRules index 563ae3e0d5..83ac072592 100644 --- a/build/jam/PackageRules +++ b/build/jam/PackageRules @@ -29,17 +29,17 @@ rule HaikuPackage package } -rule PreprocessPackageInfo source : directory +rule PreprocessPackageInfo source : directory : architecture { source = $(source:G=package-info-source) ; SEARCH on $(source) += - [ FDirName $(HAIKU_PACKAGE_INFOS_DIR) $(HAIKU_PACKAGING_ARCH) ] + [ FDirName $(HAIKU_PACKAGE_INFOS_DIR) $(architecture) ] [ FDirName $(HAIKU_PACKAGE_INFOS_DIR) any ] [ FDirName $(HAIKU_PACKAGE_INFOS_DIR) generic ] ; local target = $(source:BSG=package-info)-package-info ; - local defines = HAIKU_PACKAGING_ARCH=$(HAIKU_PACKAGING_ARCH) ; + local defines = HAIKU_PACKAGING_ARCH=$(architecture) ; if $(HAIKU_BOOTSTRAP_BUILD) { defines += HAIKU_BOOTSTRAP_BUILD ; target = $(target)-bootstrap ; @@ -64,14 +64,17 @@ actions PreprocessPackageInfo1 rule BuildHaikuPackage package : packageInfo { + local architecture = $(HAIKU_PACKAGING_ARCH) ; local grist = [ FHaikuPackageGrist $(package) ] ; - local tempDir = [ FDirName $(HAIKU_PACKAGES_BUILD_DIR) $(grist) ] ; + local tempDir + = [ FDirName $(HAIKU_PACKAGES_BUILD_DIR_$(architecture)) $(grist) ] ; local scriptDir = [ FDirName $(tempDir) scripts ] ; # build the package info and locate the package - packageInfo = [ PreprocessPackageInfo $(packageInfo) : $(tempDir) ] ; - MakeLocate $(package) : $(HAIKU_PACKAGES_DIR) ; + packageInfo = [ PreprocessPackageInfo $(packageInfo) : $(tempDir) + : $(architecture) ] ; + MakeLocate $(package) : $(HAIKU_PACKAGES_DIR_$(architecture)) ; Depends $(package) : $(packageInfo) ; # prepare the script that initializes the shell variables @@ -89,7 +92,7 @@ rule BuildHaikuPackage package : packageInfo : [ on $(package) return $(HAIKU_PACKAGE_COMPRESSION_LEVEL) ] ; AddVariableToScript $(script) : updateOnly : [ on $(package) return $(HAIKU_CONTAINER_UPDATE_ONLY) ] ; - AddVariableToScript $(script) : cc : $(TARGET_CC) ; + AddVariableToScript $(script) : cc : $(TARGET_CC_$(architecture)) ; AddTargetVariableToScript $(script) : addattr ; AddTargetVariableToScript $(script) : copyattr ; AddTargetVariableToScript $(script) : mime_db : mimeDB ; diff --git a/build/jam/RepositoryRules b/build/jam/RepositoryRules index 80a4e84021..1bebe6cdbc 100644 --- a/build/jam/RepositoryRules +++ b/build/jam/RepositoryRules @@ -78,7 +78,7 @@ rule AddRepositoryPackages repository : architecture : packages : sourcePackages rule PackageRepository repository : architecture : anyPackages : packages : sourcePackages : debugInfoPackages { - if $(architecture) != $(HAIKU_PACKAGING_ARCH) { + if $(architecture) != $(HAIKU_PACKAGING_ARCHS[1]) { return ; } @@ -136,19 +136,20 @@ rule RemotePackageRepository repository : architecture : repositoryUrl # build package list file local packageListFile = $(repository:G=repository-package-list)-packages ; - MakeLocate $(packageListFile) : $(HAIKU_PACKAGE_REPOSITORIES_DIR) ; + local repositoriesDir = $(HAIKU_PACKAGE_REPOSITORIES_DIR_$(architecture)) ; + MakeLocate $(packageListFile) : $(repositoriesDir) ; GeneratedRepositoryPackageList $(packageListFile) : $(repository) ; # build package list checksum file local packagesChecksumFile = $(repository:G=repository-package-checksum)-checksum ; - MakeLocate $(packagesChecksumFile) : $(HAIKU_PACKAGE_REPOSITORIES_DIR) ; + MakeLocate $(packagesChecksumFile) : $(repositoriesDir) ; Depends $(packagesChecksumFile) : $(packageListFile) ; ChecksumFileSHA256 $(packagesChecksumFile) : $(packageListFile) ; # download repository info file local repositoryInfo = $(repository:G=repository-info)-info ; - MakeLocate $(repositoryInfo) : $(HAIKU_PACKAGE_REPOSITORIES_DIR) ; + MakeLocate $(repositoryInfo) : $(repositoriesDir) ; local repoUrl = [ on $(repository) return $(HAIKU_REPOSITORY_URL) ] ; DownloadLocatedFile $(repositoryInfo) : "$(repoUrl)/`cat $source`/repo.info" @@ -156,7 +157,7 @@ rule RemotePackageRepository repository : architecture : repositoryUrl # download repository file local repositoryFile = $(repository:G=repository-cache) ; - MakeLocate $(repositoryFile) : $(HAIKU_PACKAGE_REPOSITORIES_DIR) ; + MakeLocate $(repositoryFile) : $(repositoriesDir) ; local repoUrl = [ on $(repository) return $(HAIKU_REPOSITORY_URL) ] ; DownloadLocatedFile $(repositoryFile) : "$(repoUrl)/`cat $source`/repo" @@ -164,7 +165,7 @@ rule RemotePackageRepository repository : architecture : repositoryUrl # build repository config file local repositoryConfig = $(repository:G=repository-config)-config ; - MakeLocate $(repositoryConfig) : $(HAIKU_PACKAGE_REPOSITORIES_DIR) ; + MakeLocate $(repositoryConfig) : $(repositoriesDir) ; RepositoryConfig $(repositoryConfig) : $(repositoryInfo) : $(packagesChecksumFile) : $(repository) ; @@ -314,9 +315,10 @@ OUTPUT_DIRECTORY="$(HAIKU_REPOSITORY_BUILD_DIRECTORY)" EOF # If we have cross tools, add the cross tools directory. - gcc=$(HAIKU_CC) + gcc=$(HAIKU_CC_$(HAIKU_PACKAGING_ARCH)) if [[ "$gcc" = /* ]]; then - if [ `basename $gcc` = $(HAIKU_GCC_MACHINE)-gcc ]; then + if [ `basename $gcc` = \ + $(HAIKU_GCC_MACHINE_$(HAIKU_PACKAGING_ARCH))-gcc ]; then dir=`dirname $gcc` dir=`dirname $dir` echo CROSS_TOOLS="$dir" >> $(1) @@ -344,17 +346,18 @@ rule BootstrapPackageRepository repository : architecture return ; } HAIKU_REPOSITORY_HAIKU_CROSS_DEVEL_PACKAGE on $(stage1PackageTargets) - = haiku_cross_devel_sysroot_stage1_$(HAIKU_PACKAGING_ARCH).hpkg ; + = haiku_cross_devel_sysroot_stage1_$(architecture).hpkg ; # add stage 2 packages local stage2PackageTargets = [ AddRepositoryPackages $(repository) : $(architecture) : $(packagesStage2) : $(sourcePackages) : $(debugInfoPackages) ] ; HAIKU_REPOSITORY_HAIKU_CROSS_DEVEL_PACKAGE on $(stage2PackageTargets) - = haiku_cross_devel_sysroot_$(HAIKU_PACKAGING_ARCH).hpkg ; + = haiku_cross_devel_sysroot_$(architecture).hpkg ; # prepare the config file for the HaikuPorts cross build - local outputDir = [ FDirName $(HAIKU_PACKAGE_REPOSITORIES_DIR) + local outputDir = [ FDirName + $(HAIKU_PACKAGE_REPOSITORIES_DIR_$(architecture)) $(repository:G=)-build ] ; local configFile = haikuports.conf ; configFile = $(configFile:G=repository-config-$(repository:G=)) ; @@ -362,6 +365,7 @@ rule BootstrapPackageRepository repository : architecture NoUpdate $(configFile) ; Depends $(configFile) : package mimeset mime_db ; HAIKU_REPOSITORY_BUILD_DIRECTORY on $(configFile) = $(outputDir) ; + HAIKU_PACKAGING_ARCH on $(configFile) = $(architecture) ; BuildBootstrapRepositoryConfig $(configFile) : package mimeset mime_db ; diff --git a/build/jam/UserBuildConfig.ReadMe b/build/jam/UserBuildConfig.ReadMe index e51cb7963b..f57f0d1824 100644 --- a/build/jam/UserBuildConfig.ReadMe +++ b/build/jam/UserBuildConfig.ReadMe @@ -20,7 +20,7 @@ Exit You must NOT copy UserBuildConfig.ReadMe directly but use parts of it! ; # CCFLAGS C++FLAGS DEBUG DEFINES HDRS LINKFLAGS OPTIM OPTIMIZE SYSHDRS # WARNINGS # HOST_WARNING_CCFLAGS HOST_WARNING_C++FLAGS -# TARGET_WARNING_CCFLAGS TARGET_WARNING_C++FLAGS +# TARGET_WARNING_CCFLAGS_ TARGET_WARNING_C++FLAGS_ # PLATFORM SUPPORTED_PLATFORMS # # The following examples would work analogously for any of these variables. diff --git a/build/jam/board/beagle/BoardSetup b/build/jam/board/beagle/BoardSetup index 72439f14f6..8932a1050c 100644 --- a/build/jam/board/beagle/BoardSetup +++ b/build/jam/board/beagle/BoardSetup @@ -64,7 +64,7 @@ HAIKU_BOARD_SDIMAGE_FILES = HAIKU_KERNEL_CCFLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ; HAIKU_KERNEL_C++FLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ; -HAIKU_CCFLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ; -HAIKU_C++FLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ; - - +HAIKU_CCFLAGS_$(HAIKU_PACKAGING_ARCH) + += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ; +HAIKU_C++FLAGS_$(HAIKU_PACKAGING_ARCH) + += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ; diff --git a/build/jam/board/neo_freerunner/BoardSetup b/build/jam/board/neo_freerunner/BoardSetup index c3e99fd905..502f5103f4 100644 --- a/build/jam/board/neo_freerunner/BoardSetup +++ b/build/jam/board/neo_freerunner/BoardSetup @@ -71,15 +71,15 @@ HAIKU_BOARD_SDIMAGE_FILES = HAIKU_KERNEL_CCFLAGS += -mcpu=arm920t ; HAIKU_KERNEL_C++FLAGS += -mcpu=arm920t ; -HAIKU_CCFLAGS += -mcpu=arm920t ; -HAIKU_C++FLAGS += -mcpu=arm920t ; +HAIKU_CCFLAGS_$(HAIKU_PACKAGING_ARCH) += -mcpu=arm920t ; +HAIKU_C++FLAGS_$(HAIKU_PACKAGING_ARCH) += -mcpu=arm920t ; # Workaround for ld using 32k for alignment despite forcing it in the config... # should definitely not be needed! HAIKU_KERNEL_LINKFLAGS += -Wl,-z -Wl,max-page-size=0x1000 -Wl,-z -Wl,common-page-size=0x1000 ; -HAIKU_LINKFLAGS += +HAIKU_LINKFLAGS_$(HAIKU_PACKAGING_ARCH) += -Wl,-z -Wl,max-page-size=0x1000 -Wl,-z -Wl,common-page-size=0x1000 ; diff --git a/build/jam/board/overo/BoardSetup b/build/jam/board/overo/BoardSetup index a5290554cc..0eedb01ca3 100644 --- a/build/jam/board/overo/BoardSetup +++ b/build/jam/board/overo/BoardSetup @@ -60,7 +60,7 @@ HAIKU_BOARD_SDIMAGE_FILES = HAIKU_KERNEL_CCFLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ; HAIKU_KERNEL_C++FLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ; -HAIKU_CCFLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ; -HAIKU_C++FLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ; - - +HAIKU_CCFLAGS_$(HAIKU_PACKAGING_ARCH) + += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ; +HAIKU_C++FLAGS_$(HAIKU_PACKAGING_ARCH) + += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ; diff --git a/build/jam/board/raspberry_pi/BoardSetup b/build/jam/board/raspberry_pi/BoardSetup index ef568f2b09..46a6683281 100644 --- a/build/jam/board/raspberry_pi/BoardSetup +++ b/build/jam/board/raspberry_pi/BoardSetup @@ -48,15 +48,15 @@ HAIKU_BOARD_SDIMAGE_SIZE = 256 ; HAIKU_KERNEL_CCFLAGS += -mtune=arm1176jzf-s ; HAIKU_KERNEL_C++FLAGS += -mtune=arm1176jzf-s ; -HAIKU_CCFLAGS += -mtune=arm1176jzf-s ; -HAIKU_C++FLAGS += -mtune=arm1176jzf-s ; +HAIKU_CCFLAGS_$(HAIKU_PACKAGING_ARCH) += -mtune=arm1176jzf-s ; +HAIKU_C++FLAGS_$(HAIKU_PACKAGING_ARCH) += -mtune=arm1176jzf-s ; # Workaround for ld using 32k for alignment despite forcing it in the config... # should definitely not be needed! HAIKU_KERNEL_LINKFLAGS += -Wl,-z -Wl,max-page-size=0x1000 -Wl,-z -Wl,common-page-size=0x1000 ; -HAIKU_LINKFLAGS += +HAIKU_LINKFLAGS_$(HAIKU_PACKAGING_ARCH) += -Wl,-z -Wl,max-page-size=0x1000 -Wl,-z -Wl,common-page-size=0x1000 ; diff --git a/build/jam/board/sam460ex/BoardSetup b/build/jam/board/sam460ex/BoardSetup index 1f0b3369b0..d5f7798de0 100644 --- a/build/jam/board/sam460ex/BoardSetup +++ b/build/jam/board/sam460ex/BoardSetup @@ -34,6 +34,5 @@ HAIKU_KERNEL_PIC_CCFLAGS += -mcpu=440fp -mtune=440fp ; HAIKU_KERNEL_PIC_C++FLAGS += -mcpu=440fp -mtune=440fp ; HAIKU_KERNEL_CCFLAGS += -mcpu=440fp -mtune=440fp ; HAIKU_KERNEL_C++FLAGS += -mcpu=440fp -mtune=440fp ; -HAIKU_CCFLAGS += -mcpu=440fp -mtune=440fp ; -HAIKU_C++FLAGS += -mcpu=440fp -mtune=440fp ; - +HAIKU_CCFLAGS_$(HAIKU_PACKAGING_ARCH) += -mcpu=440fp -mtune=440fp ; +HAIKU_C++FLAGS_$(HAIKU_PACKAGING_ARCH) += -mcpu=440fp -mtune=440fp ; diff --git a/build/jam/board/verdex/BoardSetup b/build/jam/board/verdex/BoardSetup index 4d56beefbb..274c97defb 100644 --- a/build/jam/board/verdex/BoardSetup +++ b/build/jam/board/verdex/BoardSetup @@ -70,15 +70,14 @@ HAIKU_BOARD_SDIMAGE_FILES = HAIKU_KERNEL_CCFLAGS += -mcpu=xscale ; HAIKU_KERNEL_C++FLAGS += -mcpu=xscale ; -HAIKU_CCFLAGS += -mcpu=xscale ; -HAIKU_C++FLAGS += -mcpu=xscale ; +HAIKU_CCFLAGS_$(HAIKU_PACKAGING_ARCH) += -mcpu=xscale ; +HAIKU_C++FLAGS_$(HAIKU_PACKAGING_ARCH) += -mcpu=xscale ; # Workaround for ld using 32k for alignment despite forcing it in the config... # should definitely not be needed! HAIKU_KERNEL_LINKFLAGS += -Wl,-z -Wl,max-page-size=0x1000 -Wl,-z -Wl,common-page-size=0x1000 ; -HAIKU_LINKFLAGS += +HAIKU_LINKFLAGS_$(HAIKU_PACKAGING_ARCH) += -Wl,-z -Wl,max-page-size=0x1000 -Wl,-z -Wl,common-page-size=0x1000 ; - diff --git a/build/jam/images/HaikuImage b/build/jam/images/HaikuImage index 8fe70b27db..30b5e3b527 100644 --- a/build/jam/images/HaikuImage +++ b/build/jam/images/HaikuImage @@ -73,7 +73,8 @@ SYSTEM_LIBS = [ FFilterByBuildFeatures libroot.so libscreensaver.so libtextencoding.so libtiff.so libtracker.so libtranslation.so - $(HAIKU_SHARED_LIBSTDC++) $(HAIKU_SHARED_LIBSUPC++) + $(HAIKU_SHARED_LIBSTDC++_$(HAIKU_PACKAGING_ARCH)) + $(HAIKU_SHARED_LIBSUPC++_$(HAIKU_PACKAGING_ARCH)) ] ; PRIVATE_SYSTEM_LIBS = [ FFilterByBuildFeatures libalm.so diff --git a/build/jam/images/HaikuImageBootstrap b/build/jam/images/HaikuImageBootstrap index 996afceb24..df22436b11 100644 --- a/build/jam/images/HaikuImageBootstrap +++ b/build/jam/images/HaikuImageBootstrap @@ -69,7 +69,8 @@ SYSTEM_LIBS = [ FFilterByBuildFeatures libroot.so libscreensaver.so libtextencoding.so libtracker.so libtranslation.so - $(HAIKU_SHARED_LIBSTDC++) $(HAIKU_SHARED_LIBSUPC++) + $(HAIKU_SHARED_LIBSTDC++_$(HAIKU_PACKAGING_ARCH)) + $(HAIKU_SHARED_LIBSUPC++_$(HAIKU_PACKAGING_ARCH)) ] ; PRIVATE_SYSTEM_LIBS = [ FFilterByBuildFeatures libalm.so diff --git a/build/jam/packages/Haiku b/build/jam/packages/Haiku index 3f533cbf9b..5128ffcee4 100644 --- a/build/jam/packages/Haiku +++ b/build/jam/packages/Haiku @@ -1,3 +1,6 @@ +local architecture = $(HAIKU_PACKAGING_ARCHS[1]) ; + + local haikuPackage = haiku.hpkg ; HaikuPackage $(haikuPackage) ; @@ -89,7 +92,7 @@ AddLibrariesToPackage lib : $(SYSTEM_LIBS) $(PRIVATE_SYSTEM_LIBS) ; # libnetwork.so replaces quite a few libraries SYSTEM_LIBS_LIBNETWORK_ALIASES = libsocket.so libbind.so libnet.so ; -if $(HAIKU_GCC_VERSION[1]) = 2 { +if $(HAIKU_GCC_VERSION_$(architecture)[1]) = 2 { local lib ; for lib in $(SYSTEM_LIBS_LIBNETWORK_ALIASES) { AddSymlinkToPackage lib : libnetwork.so : $(lib) ; diff --git a/build/jam/packages/HaikuBootstrap b/build/jam/packages/HaikuBootstrap index 771692eb8b..38cf1d39ed 100644 --- a/build/jam/packages/HaikuBootstrap +++ b/build/jam/packages/HaikuBootstrap @@ -1,3 +1,6 @@ +local architecture = $(HAIKU_PACKAGING_ARCHS[1]) ; + + local haikuPackage = haiku.hpkg ; HaikuPackage $(haikuPackage) ; @@ -88,7 +91,7 @@ AddLibrariesToPackage lib : $(SYSTEM_LIBS) $(PRIVATE_SYSTEM_LIBS) ; # libnetwork.so replaces quite a few libraries SYSTEM_LIBS_LIBNETWORK_ALIASES = libsocket.so libbind.so libnet.so ; -if $(HAIKU_GCC_VERSION[1]) = 2 { +if $(HAIKU_GCC_VERSION_$(architecture)[1]) = 2 { local lib ; for lib in $(SYSTEM_LIBS_LIBNETWORK_ALIASES) { AddSymlinkToPackage lib : libnetwork.so : $(lib) ; diff --git a/build/jam/packages/HaikuCrossDevel b/build/jam/packages/HaikuCrossDevel index d99380702a..ba2099fcdb 100644 --- a/build/jam/packages/HaikuCrossDevel +++ b/build/jam/packages/HaikuCrossDevel @@ -4,44 +4,54 @@ # The main use of this package is to provide HaikuPorter with a development # environment for a cross-build Haiku platform. +local architecture = $(TARGET_PACKAGING_ARCH) ; +local isPrimaryArchitecture = [ MultiArchIfPrimary 1 : ] ; + + local additionalLibraries_stage1 ; -local additionalLibraries = libbe.so libnetwork.so libpackage.so ; +local additionalLibraries + = [ MultiArchDefaultGristFiles libbe.so libnetwork.so libpackage.so ] ; local stage ; for stage in _stage1 "" { # first create the actual cross development package local haikuCrossDevelSysrootPackage - = haiku_cross_devel_sysroot$(stage)_$(HAIKU_PACKAGING_ARCH).hpkg ; + = haiku_cross_devel_sysroot$(stage)_$(architecture).hpkg ; HaikuPackage $(haikuCrossDevelSysrootPackage) ; local developCrossLibDirTokens = develop lib ; # glue code AddFilesToPackage $(developCrossLibDirTokens) : - crti.o - crtn.o - init_term_dyn.o - start_dyn.o - haiku_version_glue.o - ; + crti.o + crtn.o + init_term_dyn.o + start_dyn.o + haiku_version_glue.o + ; # kernel - AddFilesToPackage $(developCrossLibDirTokens) : kernel.so : _KERNEL_ ; + if $(isPrimaryArchitecture) { + AddFilesToPackage $(developCrossLibDirTokens) : kernel.so : _KERNEL_ ; + } # libraries AddLibrariesToPackage $(developCrossLibDirTokens) : - libbsd.so - libroot.so - $(HAIKU_SHARED_LIBSTDC++) $(HAIKU_SHARED_LIBSUPC++) + [ MultiArchDefaultGristFiles libbsd.so ] + [ MultiArchDefaultGristFiles libroot.so : revisioned ] + $(HAIKU_SHARED_LIBSTDC++_$(architecture)) + $(HAIKU_SHARED_LIBSUPC++_$(architecture)) $(additionalLibraries$(stage)) - ; + ; # static libraries - AddFilesToPackage $(developCrossLibDirTokens) : liblocalestub.a ; + AddFilesToPackage $(developCrossLibDirTokens) + : <$(architecture)>liblocalestub.a ; # the POSIX error code mapper library - AddFilesToPackage $(developCrossLibDirTokens) : libposix_error_mapper.a ; + AddFilesToPackage $(developCrossLibDirTokens) + : [ MultiArchDefaultGristFiles libposix_error_mapper.a ] ; # headers local developCrossHeadersDirTokens = develop headers ; @@ -58,7 +68,7 @@ for stage in _stage1 "" { } # cpp headers - if $(HAIKU_GCC_VERSION[1]) = 2 { + if $(HAIKU_GCC_VERSION_$(architecture)[1]) = 2 { # GCC 2 only -- for GCC 4 they come with the DevelopmentBase package CopyDirectoryToPackage $(developCrossHeadersDirTokens) c++ : [ FDirName $(HAIKU_TOP) headers cpp ] : 2.95.3 ; @@ -73,7 +83,7 @@ for stage in _stage1 "" { # it when needed. local haikuCrossDevelPackage - = haiku_cross_devel$(stage)_$(HAIKU_PACKAGING_ARCH).hpkg ; + = haiku_cross_devel$(stage)_$(architecture).hpkg ; HaikuPackage $(haikuCrossDevelPackage) ; # add the wrapped package diff --git a/build/jam/packages/HaikuDevel b/build/jam/packages/HaikuDevel index 478d17135a..52e2bfe14f 100644 --- a/build/jam/packages/HaikuDevel +++ b/build/jam/packages/HaikuDevel @@ -1,3 +1,6 @@ +local architecture = $(HAIKU_PACKAGING_ARCHS[1]) ; + + local haikuDevelPackage = haiku_devel.hpkg ; HaikuPackage $(haikuDevelPackage) ; @@ -6,12 +9,12 @@ local developDirTokens = develop ; # glue code AddFilesToPackage $(developDirTokens) lib : - crti.o - crtn.o - init_term_dyn.o - start_dyn.o - haiku_version_glue.o -; + crti.o + crtn.o + init_term_dyn.o + start_dyn.o + haiku_version_glue.o + ; # kernel AddFilesToPackage $(developDirTokens) lib : kernel.so : _KERNEL_ ; @@ -33,7 +36,7 @@ for lib in $(SYSTEM_LIBS) $(developmentLibs) { } # static libraries -AddFilesToPackage $(developDirTokens) lib : liblocalestub.a ; +AddFilesToPackage $(developDirTokens) lib : <$(architecture)>liblocalestub.a ; # the POSIX error code mapper library AddFilesToPackage $(developDirTokens) lib : libposix_error_mapper.a ; @@ -73,7 +76,7 @@ if ! $(HAIKU_BOOTSTRAP_BUILD) { } # cpp headers -if $(HAIKU_GCC_VERSION[1]) = 2 { +if $(HAIKU_GCC_VERSION_$(architecture)[1]) = 2 { # GCC 2 only -- for GCC 4 they come with the DevelopmentBase package CopyDirectoryToPackage $(developDirTokens) headers c++ : [ FDirName $(HAIKU_TOP) headers cpp ] : 2.95.3 ; diff --git a/src/add-ons/disk_systems/bfs/Jamfile b/src/add-ons/disk_systems/bfs/Jamfile index f59ff553bd..9540539e83 100644 --- a/src/add-ons/disk_systems/bfs/Jamfile +++ b/src/add-ons/disk_systems/bfs/Jamfile @@ -13,7 +13,7 @@ Addon bfs : bfs_disk_system.cpp - : be $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSUPC++) libshared.a + : be localestub $(TARGET_LIBSUPC++) libshared.a ; DoCatalogs bfs : diff --git a/src/add-ons/disk_systems/intel/Jamfile b/src/add-ons/disk_systems/intel/Jamfile index 182225ce87..99a6f9d037 100644 --- a/src/add-ons/disk_systems/intel/Jamfile +++ b/src/add-ons/disk_systems/intel/Jamfile @@ -23,7 +23,7 @@ Addon intel : # kernel sources PartitionMap.cpp - : be libshared.a $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSUPC++) + : be libshared.a localestub $(TARGET_LIBSUPC++) ; DoCatalogs intel : diff --git a/src/add-ons/disk_systems/ntfs/Jamfile b/src/add-ons/disk_systems/ntfs/Jamfile index 4abdcfbb85..9dc3ab3d21 100644 --- a/src/add-ons/disk_systems/ntfs/Jamfile +++ b/src/add-ons/disk_systems/ntfs/Jamfile @@ -11,7 +11,7 @@ Addon ntfs : NTFSAddOn.cpp InitializeParameterEditor.cpp - : be $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSUPC++) libshared.a + : be localestub $(TARGET_LIBSUPC++) libshared.a ; DoCatalogs ntfs : diff --git a/src/add-ons/input_server/devices/keyboard/Jamfile b/src/add-ons/input_server/devices/keyboard/Jamfile index 0f199cb41d..d0a21bdb93 100644 --- a/src/add-ons/input_server/devices/keyboard/Jamfile +++ b/src/add-ons/input_server/devices/keyboard/Jamfile @@ -14,7 +14,7 @@ Addon keyboard : TeamMonitorWindow.cpp TeamListItem.cpp - : input_server be libshared.a $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSUPC++) ; + : input_server be libshared.a localestub $(TARGET_LIBSUPC++) ; DoCatalogs keyboard : x-vnd.Haiku-KeyboardInputServerDevice diff --git a/src/add-ons/input_server/methods/canna/lib/Jamfile b/src/add-ons/input_server/methods/canna/lib/Jamfile index c81e4ad418..1b14facafa 100644 --- a/src/add-ons/input_server/methods/canna/lib/Jamfile +++ b/src/add-ons/input_server/methods/canna/lib/Jamfile @@ -3,8 +3,9 @@ SubDir HAIKU_TOP src add-ons input_server methods canna lib ; SetSubDirSupportedPlatformsBeOSCompatible ; # filter warnings we don't want here -TARGET_WARNING_CCFLAGS = [ FFilter $(TARGET_WARNING_CCFLAGS) - : -Wmissing-prototypes ] ; +TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH) + = [ FFilter $(TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH)) + : -Wmissing-prototypes ] ; SubDirCcFlags -x c++ -ansi -trigraphs -funsigned-char -funsigned-bitfields -w -Wno-multichar -Wno-ctor-dtor-privacy -pedantic -Wno-long-long -Woverloaded-virtual -D_BUILDING_CANNALIB -D_WCHAR_T ; diff --git a/src/add-ons/input_server/methods/canna/rk/Jamfile b/src/add-ons/input_server/methods/canna/rk/Jamfile index 504a097f98..b08adcf105 100644 --- a/src/add-ons/input_server/methods/canna/rk/Jamfile +++ b/src/add-ons/input_server/methods/canna/rk/Jamfile @@ -3,8 +3,9 @@ SubDir HAIKU_TOP src add-ons input_server methods canna rk ; SetSubDirSupportedPlatformsBeOSCompatible ; # filter warnings we don't want here -TARGET_WARNING_CCFLAGS = [ FFilter $(TARGET_WARNING_CCFLAGS) - : -Wmissing-prototypes ] ; +TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH) + = [ FFilter $(TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH)) + : -Wmissing-prototypes ] ; SubDirCcFlags -x c++ -ansi -trigraphs -funsigned-char -funsigned-bitfields -w -Wno-multichar -Wno-ctor-dtor-privacy -pedantic -Wno-long-long -Woverloaded-virtual -D_BUILDING_CANNALIB -D_WCHAR_T ; diff --git a/src/add-ons/kernel/bus_managers/pci/Jamfile b/src/add-ons/kernel/bus_managers/pci/Jamfile index c4ea478e92..2e3e1f4bf3 100644 --- a/src/add-ons/kernel/bus_managers/pci/Jamfile +++ b/src/add-ons/kernel/bus_managers/pci/Jamfile @@ -17,7 +17,8 @@ KernelAddon pci : # pci_info.cpp currently needs pcihdr.h so we make its path available and adds dependency ObjectHdrs [ FGristFiles pci_info$(SUFOBJ) ] - : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR) apps devices ] ; + : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) apps + devices ] ; Includes [ FGristFiles pci_info.cpp ] : pcihdr.h ; SubInclude HAIKU_TOP src add-ons kernel bus_managers pci arch diff --git a/src/add-ons/kernel/drivers/network/3com/dev/mii/Jamfile b/src/add-ons/kernel/drivers/network/3com/dev/mii/Jamfile index fc6c16e028..a68d82f21f 100644 --- a/src/add-ons/kernel/drivers/network/3com/dev/mii/Jamfile +++ b/src/add-ons/kernel/drivers/network/3com/dev/mii/Jamfile @@ -17,7 +17,7 @@ KernelStaticLibrary 3com_mii.a ; ObjectHdrs [ FGristFiles bmtphy$(SUFOBJ) ukphy$(SUFOBJ) ] - : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR) libs compat - freebsd_network ] ; + : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) libs + compat freebsd_network ] ; Includes [ FGristFiles bmtphy.c ukphy.c ] : miidevs.h ; diff --git a/src/add-ons/kernel/drivers/network/3com/dev/xl/Jamfile b/src/add-ons/kernel/drivers/network/3com/dev/xl/Jamfile index 91aab0c9a8..ba110e7f01 100644 --- a/src/add-ons/kernel/drivers/network/3com/dev/xl/Jamfile +++ b/src/add-ons/kernel/drivers/network/3com/dev/xl/Jamfile @@ -16,7 +16,7 @@ KernelAddon 3com : ; ObjectHdrs [ FGristFiles xlphy$(SUFOBJ) ] - : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR) libs compat - freebsd_network ] ; + : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) libs + compat freebsd_network ] ; Includes [ FGristFiles xlphy.c ] : miidevs.h ; diff --git a/src/add-ons/kernel/drivers/network/attansic_l1/dev/mii/Jamfile b/src/add-ons/kernel/drivers/network/attansic_l1/dev/mii/Jamfile index bfa0feb0fe..f704fd1d3c 100644 --- a/src/add-ons/kernel/drivers/network/attansic_l1/dev/mii/Jamfile +++ b/src/add-ons/kernel/drivers/network/attansic_l1/dev/mii/Jamfile @@ -14,7 +14,7 @@ KernelStaticLibrary atl1_mii.a ; ObjectHdrs [ FGristFiles atphy$(SUFOBJ) ] - : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR) libs compat - freebsd_network ] ; + : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) libs + compat freebsd_network ] ; Includes [ FGristFiles atphy.c ] : miidevs.h ; diff --git a/src/add-ons/kernel/drivers/network/broadcom440x/dev/mii/Jamfile b/src/add-ons/kernel/drivers/network/broadcom440x/dev/mii/Jamfile index 5d7d9b646f..97ed86e740 100644 --- a/src/add-ons/kernel/drivers/network/broadcom440x/dev/mii/Jamfile +++ b/src/add-ons/kernel/drivers/network/broadcom440x/dev/mii/Jamfile @@ -14,5 +14,6 @@ KernelStaticLibrary broadcom440x_mii.a ; ObjectHdrs [ FGristFiles bmtphy$(SUFOBJ) ] - : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR) libs compat freebsd_network ] ; + : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) libs + compat freebsd_network ] ; Includes [ FGristFiles bmtphy.c ] : miidevs.h ; \ No newline at end of file diff --git a/src/add-ons/kernel/drivers/network/broadcom570x/dev/bge/Jamfile b/src/add-ons/kernel/drivers/network/broadcom570x/dev/bge/Jamfile index 879a3c449f..ac4f0ad1f1 100644 --- a/src/add-ons/kernel/drivers/network/broadcom570x/dev/bge/Jamfile +++ b/src/add-ons/kernel/drivers/network/broadcom570x/dev/bge/Jamfile @@ -16,5 +16,6 @@ KernelAddon broadcom570x : ; ObjectHdrs [ FGristFiles if_bge$(SUFOBJ) ] - : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR) libs compat freebsd_network ] ; + : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) libs + compat freebsd_network ] ; Includes [ FGristFiles if_bge.c ] : miidevs.h ; diff --git a/src/add-ons/kernel/drivers/network/broadcom570x/dev/mii/Jamfile b/src/add-ons/kernel/drivers/network/broadcom570x/dev/mii/Jamfile index e05edf1cf0..f748c17141 100644 --- a/src/add-ons/kernel/drivers/network/broadcom570x/dev/mii/Jamfile +++ b/src/add-ons/kernel/drivers/network/broadcom570x/dev/mii/Jamfile @@ -16,5 +16,6 @@ KernelStaticLibrary broadcom570x_mii.a ; ObjectHdrs [ FGristFiles brgphy$(SUFOBJ) ] - : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR) libs compat freebsd_network ] ; + : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) libs + compat freebsd_network ] ; Includes [ FGristFiles brgphy.c ] : miidevs.h ; diff --git a/src/add-ons/kernel/drivers/network/dec21xxx/dev/dc/Jamfile b/src/add-ons/kernel/drivers/network/dec21xxx/dev/dc/Jamfile index d10426a06d..20504bd9ed 100644 --- a/src/add-ons/kernel/drivers/network/dec21xxx/dev/dc/Jamfile +++ b/src/add-ons/kernel/drivers/network/dec21xxx/dev/dc/Jamfile @@ -18,6 +18,7 @@ KernelAddon dec21xxx : ; ObjectHdrs [ FGristFiles dcphy$(SUFOBJ) pnphy$(SUFOBJ) ] - : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR) libs compat freebsd_network ] ; + : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) libs + compat freebsd_network ] ; Includes [ FGristFiles dcphy.c pnphy.c ] : miidevs.h ; diff --git a/src/add-ons/kernel/drivers/network/dec21xxx/dev/de/Jamfile b/src/add-ons/kernel/drivers/network/dec21xxx/dev/de/Jamfile index a5f1330164..95f28521c3 100644 --- a/src/add-ons/kernel/drivers/network/dec21xxx/dev/de/Jamfile +++ b/src/add-ons/kernel/drivers/network/dec21xxx/dev/de/Jamfile @@ -15,4 +15,5 @@ KernelStaticLibrary dec21xxx_de.a ; ObjectHdrs [ FGristFiles if_de$(SUFOBJ) ] - : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR) libs compat freebsd_network ] ; + : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) libs + compat freebsd_network ] ; diff --git a/src/add-ons/kernel/drivers/network/dec21xxx/dev/mii/Jamfile b/src/add-ons/kernel/drivers/network/dec21xxx/dev/mii/Jamfile index b1c84942a8..84b7131b37 100644 --- a/src/add-ons/kernel/drivers/network/dec21xxx/dev/mii/Jamfile +++ b/src/add-ons/kernel/drivers/network/dec21xxx/dev/mii/Jamfile @@ -18,6 +18,7 @@ KernelStaticLibrary dec21xxx_mii.a ; ObjectHdrs [ FGristFiles acphy$(SUFOBJ) amphy$(SUFOBJ) ukphy$(SUFOBJ) ] - : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR) libs compat freebsd_network ] ; + : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) libs + compat freebsd_network ] ; Includes [ FGristFiles acphy.c amphy.c amphy.c ] : miidevs.h ; diff --git a/src/add-ons/kernel/drivers/network/ipro100/dev/fxp/Jamfile b/src/add-ons/kernel/drivers/network/ipro100/dev/fxp/Jamfile index df573cb434..7900525bf0 100644 --- a/src/add-ons/kernel/drivers/network/ipro100/dev/fxp/Jamfile +++ b/src/add-ons/kernel/drivers/network/ipro100/dev/fxp/Jamfile @@ -16,5 +16,6 @@ KernelAddon ipro100 : ; ObjectHdrs [ FGristFiles inphy$(SUFOBJ) ] - : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR) libs compat freebsd_network ] ; + : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) libs + compat freebsd_network ] ; Includes [ FGristFiles inphy.c ] : miidevs.h ; diff --git a/src/add-ons/kernel/drivers/network/jmicron2x0/dev/mii/Jamfile b/src/add-ons/kernel/drivers/network/jmicron2x0/dev/mii/Jamfile index 80b3ccb1bd..842cc68cee 100644 --- a/src/add-ons/kernel/drivers/network/jmicron2x0/dev/mii/Jamfile +++ b/src/add-ons/kernel/drivers/network/jmicron2x0/dev/mii/Jamfile @@ -14,5 +14,6 @@ KernelStaticLibrary jmicron2x0_mii.a ; ObjectHdrs [ FGristFiles jmphy$(SUFOBJ) ] - : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR) libs compat freebsd_network ] ; + : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) libs + compat freebsd_network ] ; Includes [ FGristFiles jmphy.c ] : miidevs.h ; diff --git a/src/add-ons/kernel/drivers/network/marvell_yukon/dev/mii/Jamfile b/src/add-ons/kernel/drivers/network/marvell_yukon/dev/mii/Jamfile index 1f0a4a7bee..5f9d3f5d42 100644 --- a/src/add-ons/kernel/drivers/network/marvell_yukon/dev/mii/Jamfile +++ b/src/add-ons/kernel/drivers/network/marvell_yukon/dev/mii/Jamfile @@ -16,5 +16,6 @@ KernelStaticLibrary marvell_yukon_mii.a ; ObjectHdrs [ FGristFiles e1000phy$(SUFOBJ) ] - : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR) libs compat freebsd_network ] ; + : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) libs + compat freebsd_network ] ; Includes [ FGristFiles e1000phy.c ] : miidevs.h ; diff --git a/src/add-ons/kernel/drivers/network/nforce/dev/mii/Jamfile b/src/add-ons/kernel/drivers/network/nforce/dev/mii/Jamfile index 73bbf2ae80..ab18fbad60 100644 --- a/src/add-ons/kernel/drivers/network/nforce/dev/mii/Jamfile +++ b/src/add-ons/kernel/drivers/network/nforce/dev/mii/Jamfile @@ -16,5 +16,6 @@ KernelStaticLibrary nforce_mii.a ; ObjectHdrs [ FGristFiles ciphy$(SUFOBJ) ] - : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR) libs compat freebsd_network ] ; + : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) libs + compat freebsd_network ] ; Includes [ FGristFiles ciphy.c ] : miidevs.h ; diff --git a/src/add-ons/kernel/drivers/network/pegasus/Jamfile b/src/add-ons/kernel/drivers/network/pegasus/Jamfile index 2ebd460849..ba022920f9 100644 --- a/src/add-ons/kernel/drivers/network/pegasus/Jamfile +++ b/src/add-ons/kernel/drivers/network/pegasus/Jamfile @@ -15,5 +15,6 @@ KernelAddon pegasus : # driver.c currently needs usbdevs.h so we make its path available and adds dependency ObjectHdrs [ FGristFiles driver$(SUFOBJ) if_aue$(SUFOBJ) ] - : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR) apps devices ] ; + : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) apps + devices ] ; Includes [ FGristFiles driver.c if_aue.c ] : usbdevs.h ; diff --git a/src/add-ons/kernel/drivers/network/rdc/dev/mii/Jamfile b/src/add-ons/kernel/drivers/network/rdc/dev/mii/Jamfile index c9ee04f23e..ebbbf7434d 100644 --- a/src/add-ons/kernel/drivers/network/rdc/dev/mii/Jamfile +++ b/src/add-ons/kernel/drivers/network/rdc/dev/mii/Jamfile @@ -14,5 +14,6 @@ KernelStaticLibrary rdc_mii.a ; ObjectHdrs [ FGristFiles rdcphy$(SUFOBJ) ] - : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR) libs compat freebsd_network ] ; + : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) libs + compat freebsd_network ] ; Includes [ FGristFiles rdcphy.c ] : miidevs.h ; diff --git a/src/add-ons/kernel/drivers/network/rtl8139/dev/mii/Jamfile b/src/add-ons/kernel/drivers/network/rtl8139/dev/mii/Jamfile index 63d7644920..d5cca5ff8d 100644 --- a/src/add-ons/kernel/drivers/network/rtl8139/dev/mii/Jamfile +++ b/src/add-ons/kernel/drivers/network/rtl8139/dev/mii/Jamfile @@ -13,6 +13,7 @@ KernelStaticLibrary rtl8139_mii.a : rlphy.c ; -ObjectHdrs [ FGristFiles rlphy$(SUFOBJ) ] : [ FDirName - $(TARGET_COMMON_DEBUG_OBJECT_DIR) libs compat freebsd_network ] ; +ObjectHdrs [ FGristFiles rlphy$(SUFOBJ) ] + : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) libs + compat freebsd_network ] ; Includes [ FGristFiles rlphy.c ] : miidevs.h ; diff --git a/src/add-ons/kernel/drivers/network/rtl81xx/dev/mii/Jamfile b/src/add-ons/kernel/drivers/network/rtl81xx/dev/mii/Jamfile index 9e2e4babf8..831c716c76 100644 --- a/src/add-ons/kernel/drivers/network/rtl81xx/dev/mii/Jamfile +++ b/src/add-ons/kernel/drivers/network/rtl81xx/dev/mii/Jamfile @@ -17,7 +17,8 @@ KernelStaticLibrary rtl81xx_mii.a : SEARCH on [ FGristFiles rlphy.c ] = [ FDirName $(HAIKU_TOP) src add-ons kernel drivers network rtl8139 dev mii ] ; -ObjectHdrs [ FGristFiles rgephy$(SUFOBJ) rlphy$(SUFOBJ) ] : [ FDirName - $(TARGET_COMMON_DEBUG_OBJECT_DIR) libs compat freebsd_network ] ; +ObjectHdrs [ FGristFiles rgephy$(SUFOBJ) rlphy$(SUFOBJ) ] + : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) libs + compat freebsd_network ] ; Includes [ FGristFiles rgephy.c rlphy.c ] : miidevs.h ; diff --git a/src/add-ons/kernel/drivers/network/syskonnect/dev/mii/Jamfile b/src/add-ons/kernel/drivers/network/syskonnect/dev/mii/Jamfile index 97ac691520..a8725cc1de 100644 --- a/src/add-ons/kernel/drivers/network/syskonnect/dev/mii/Jamfile +++ b/src/add-ons/kernel/drivers/network/syskonnect/dev/mii/Jamfile @@ -17,6 +17,7 @@ KernelStaticLibrary syskonnect_mii.a ; ObjectHdrs [ FGristFiles e1000phy$(SUFOBJ) ukphy$(SUFOBJ) xmphy$(SUFOBJ) ] - : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR) libs compat freebsd_network ] ; + : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) libs + compat freebsd_network ] ; Includes [ FGristFiles e1000phy.c ukphy.c xmphy.c ] : miidevs.h ; diff --git a/src/add-ons/kernel/drivers/network/via_rhine/dev/mii/Jamfile b/src/add-ons/kernel/drivers/network/via_rhine/dev/mii/Jamfile index 523901a739..86abc49e70 100644 --- a/src/add-ons/kernel/drivers/network/via_rhine/dev/mii/Jamfile +++ b/src/add-ons/kernel/drivers/network/via_rhine/dev/mii/Jamfile @@ -16,6 +16,7 @@ KernelStaticLibrary via_rhine_mii.a ; ObjectHdrs [ FGristFiles ciphy$(SUFOBJ) ukphy$(SUFOBJ) ] - : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR) libs compat freebsd_network ] ; + : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) libs + compat freebsd_network ] ; Includes [ FGristFiles ciphy.c ukphy.c ] : miidevs.h ; diff --git a/src/add-ons/kernel/drivers/network/vt612x/dev/mii/Jamfile b/src/add-ons/kernel/drivers/network/vt612x/dev/mii/Jamfile index 10df624495..394fa38ff7 100644 --- a/src/add-ons/kernel/drivers/network/vt612x/dev/mii/Jamfile +++ b/src/add-ons/kernel/drivers/network/vt612x/dev/mii/Jamfile @@ -16,6 +16,7 @@ KernelStaticLibrary vt612x_mii.a ; ObjectHdrs [ FGristFiles ciphy$(SUFOBJ) ukphy$(SUFOBJ) ] - : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR) libs compat freebsd_network ] ; + : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) libs + compat freebsd_network ] ; Includes [ FGristFiles ciphy.c ukphy.c ] : miidevs.h ; diff --git a/src/add-ons/kernel/file_systems/bindfs/Jamfile b/src/add-ons/kernel/file_systems/bindfs/Jamfile index 4e6892d178..351bf9dbef 100644 --- a/src/add-ons/kernel/file_systems/bindfs/Jamfile +++ b/src/add-ons/kernel/file_systems/bindfs/Jamfile @@ -16,7 +16,7 @@ HAIKU_BIND_FS_SOURCES = KernelAddon bindfs : $(HAIKU_BIND_FS_SOURCES) - : $(HAIKU_KERNEL_LIBSUPC++) + : $(TARGET_KERNEL_LIBSUPC++) ; diff --git a/src/add-ons/kernel/file_systems/packagefs/Jamfile b/src/add-ons/kernel/file_systems/packagefs/Jamfile index 5102cd4be9..d03b2a8236 100644 --- a/src/add-ons/kernel/file_systems/packagefs/Jamfile +++ b/src/add-ons/kernel/file_systems/packagefs/Jamfile @@ -123,7 +123,7 @@ KernelAddon packagefs $(HAIKU_PACKAGE_FS_PACKAGE_READER_SOURCES_V1) $(libSharedSources) - : $(HAIKU_STATIC_LIBSUPC++) kernel_libz.a + : $(TARGET_KERNEL_LIBSUPC++) kernel_libz.a ; diff --git a/src/add-ons/kernel/file_systems/ramfs/Jamfile b/src/add-ons/kernel/file_systems/ramfs/Jamfile index 5e04563c3a..5e02b489d9 100644 --- a/src/add-ons/kernel/file_systems/ramfs/Jamfile +++ b/src/add-ons/kernel/file_systems/ramfs/Jamfile @@ -45,5 +45,5 @@ KernelAddon ramfs SymLink.cpp Volume.cpp - : $(HAIKU_KERNEL_LIBSUPC++) + : $(TARGET_KERNEL_LIBSUPC++) ; diff --git a/src/add-ons/kernel/file_systems/reiserfs/Jamfile b/src/add-ons/kernel/file_systems/reiserfs/Jamfile index b28d32fc07..67b1552ffd 100644 --- a/src/add-ons/kernel/file_systems/reiserfs/Jamfile +++ b/src/add-ons/kernel/file_systems/reiserfs/Jamfile @@ -28,5 +28,5 @@ KernelAddon reiserfs VNode.cpp Volume.cpp - : $(HAIKU_KERNEL_LIBSUPC++) + : $(TARGET_KERNEL_LIBSUPC++) ; diff --git a/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/Jamfile b/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/Jamfile index 7c842e7f73..c44b4b8a07 100644 --- a/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/Jamfile +++ b/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/Jamfile @@ -41,5 +41,5 @@ KernelAddon userlandfs UserlandFS.cpp Volume.cpp - : $(HAIKU_KERNEL_LIBSUPC++) + : $(TARGET_KERNEL_LIBSUPC++) ; diff --git a/src/add-ons/mail_daemon/inbound_filters/match_header/Jamfile b/src/add-ons/mail_daemon/inbound_filters/match_header/Jamfile index 98e4c72cf5..347ee33f3c 100644 --- a/src/add-ons/mail_daemon/inbound_filters/match_header/Jamfile +++ b/src/add-ons/mail_daemon/inbound_filters/match_header/Jamfile @@ -13,7 +13,7 @@ Addon MatchHeader RuleFilter.cpp StringMatcher.cpp : - be libmail.so $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) + be libmail.so $(TARGET_LIBSUPC++) localestub ; DoCatalogs MatchHeader diff --git a/src/add-ons/mail_daemon/inbound_filters/notifier/Jamfile b/src/add-ons/mail_daemon/inbound_filters/notifier/Jamfile index ffef889ef7..68f2349888 100644 --- a/src/add-ons/mail_daemon/inbound_filters/notifier/Jamfile +++ b/src/add-ons/mail_daemon/inbound_filters/notifier/Jamfile @@ -11,7 +11,7 @@ Addon NewMailNotification : filter.cpp ConfigView.cpp : - be libmail.so $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSUPC++) + be libmail.so localestub $(TARGET_LIBSUPC++) ; DoCatalogs NewMailNotification : diff --git a/src/add-ons/mail_daemon/inbound_filters/spam_filter/Jamfile b/src/add-ons/mail_daemon/inbound_filters/spam_filter/Jamfile index e3a5250900..e471ac764d 100644 --- a/src/add-ons/mail_daemon/inbound_filters/spam_filter/Jamfile +++ b/src/add-ons/mail_daemon/inbound_filters/spam_filter/Jamfile @@ -12,7 +12,7 @@ Addon SpamFilter : SpamFilterConfig.cpp SpamFilter.cpp : - be libmail.so $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSUPC++) + be libmail.so localestub $(TARGET_LIBSUPC++) ; DoCatalogs SpamFilter diff --git a/src/add-ons/mail_daemon/inbound_protocols/imap/Jamfile b/src/add-ons/mail_daemon/inbound_protocols/imap/Jamfile index 526fffc628..5781724f4c 100644 --- a/src/add-ons/mail_daemon/inbound_protocols/imap/Jamfile +++ b/src/add-ons/mail_daemon/inbound_protocols/imap/Jamfile @@ -42,7 +42,7 @@ Addon IMAP : $(sources) : - be libmail.so $(HAIKU_LOCALE_LIBS) $(TARGET_NETWORK_LIBS) libalm.so + be libmail.so localestub $(TARGET_NETWORK_LIBS) libalm.so libshared.a $(TARGET_LIBSUPC++) $(TARGET_LIBSTDC++) ; diff --git a/src/add-ons/mail_daemon/inbound_protocols/pop3/Jamfile b/src/add-ons/mail_daemon/inbound_protocols/pop3/Jamfile index 6c020d28db..130a4b7f7a 100644 --- a/src/add-ons/mail_daemon/inbound_protocols/pop3/Jamfile +++ b/src/add-ons/mail_daemon/inbound_protocols/pop3/Jamfile @@ -33,7 +33,7 @@ AddResources POP3 : POP3.rdef ; Addon POP3 : $(sources) - : be libbnetapi.so libmail.so $(HAIKU_LOCALE_LIBS) + : be libbnetapi.so libmail.so localestub [ BuildFeatureAttribute openssl : libraries ] $(TARGET_LIBSUPC++) $(TARGET_NETWORK_LIBS) ; diff --git a/src/add-ons/mail_daemon/outbound_filters/fortune/Jamfile b/src/add-ons/mail_daemon/outbound_filters/fortune/Jamfile index 5ece11f81c..c672ec2857 100644 --- a/src/add-ons/mail_daemon/outbound_filters/fortune/Jamfile +++ b/src/add-ons/mail_daemon/outbound_filters/fortune/Jamfile @@ -12,7 +12,7 @@ Addon Fortune : ConfigView.cpp filter.cpp : - be libmail.so $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSUPC++) + be libmail.so localestub $(TARGET_LIBSUPC++) ; DoCatalogs Fortune : diff --git a/src/add-ons/mail_daemon/outbound_protocols/smtp/Jamfile b/src/add-ons/mail_daemon/outbound_protocols/smtp/Jamfile index 41f742f6ab..a1b9c26f3a 100644 --- a/src/add-ons/mail_daemon/outbound_protocols/smtp/Jamfile +++ b/src/add-ons/mail_daemon/outbound_protocols/smtp/Jamfile @@ -30,7 +30,7 @@ AddResources SMTP : SMTP.rdef ; Addon SMTP : $(sources) : be libmail.so $(TARGET_NETWORK_LIBS) $(TARGET_LIBSTDC++) - $(HAIKU_LOCALE_LIBS) [ BuildFeatureAttribute openssl : libraries ] + localestub [ BuildFeatureAttribute openssl : libraries ] ; DoCatalogs SMTP : diff --git a/src/add-ons/media/media-add-ons/mixer/Jamfile b/src/add-ons/media/media-add-ons/mixer/Jamfile index 94df20c1ee..dee9631fd7 100644 --- a/src/add-ons/media/media-add-ons/mixer/Jamfile +++ b/src/add-ons/media/media-add-ons/mixer/Jamfile @@ -15,7 +15,7 @@ Addon mixer.media_addon : MixerSettings.cpp MixerUtils.cpp Resampler.cpp - : be media $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) + : be media $(TARGET_LIBSUPC++) localestub ; DoCatalogs mixer.media_addon diff --git a/src/add-ons/media/media-add-ons/multi_audio/Jamfile b/src/add-ons/media/media-add-ons/multi_audio/Jamfile index 65b8bc1d3a..a04fa165a4 100644 --- a/src/add-ons/media/media-add-ons/multi_audio/Jamfile +++ b/src/add-ons/media/media-add-ons/multi_audio/Jamfile @@ -17,7 +17,7 @@ Addon hmulti_audio.media_addon : MultiAudioUtility.cpp Resampler.cpp TimeComputer.cpp - : be media $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) + : be media $(TARGET_LIBSUPC++) localestub ; DoCatalogs hmulti_audio.media_addon diff --git a/src/add-ons/screen_savers/butterfly/Jamfile b/src/add-ons/screen_savers/butterfly/Jamfile index aa86f7a729..ef1ea4d569 100644 --- a/src/add-ons/screen_savers/butterfly/Jamfile +++ b/src/add-ons/screen_savers/butterfly/Jamfile @@ -7,7 +7,7 @@ AddResources Butterfly : Butterfly.rdef ; ScreenSaver Butterfly : Butterfly.cpp - : be screensaver $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSUPC++) + : be screensaver localestub $(TARGET_LIBSUPC++) ; DoCatalogs Butterfly : diff --git a/src/add-ons/screen_savers/debugnow/Jamfile b/src/add-ons/screen_savers/debugnow/Jamfile index ddbe66c555..e5f3004e5e 100644 --- a/src/add-ons/screen_savers/debugnow/Jamfile +++ b/src/add-ons/screen_savers/debugnow/Jamfile @@ -9,7 +9,7 @@ AddResources DebugNow : DebugNow.rdef ; ScreenSaver DebugNow : DebugNow.cpp : - be libscreensaver.so $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSUPC++) + be libscreensaver.so localestub $(TARGET_LIBSUPC++) ; DoCatalogs DebugNow : diff --git a/src/add-ons/screen_savers/flurry/Jamfile b/src/add-ons/screen_savers/flurry/Jamfile index 7248fa1812..73a52b2701 100644 --- a/src/add-ons/screen_savers/flurry/Jamfile +++ b/src/add-ons/screen_savers/flurry/Jamfile @@ -21,7 +21,7 @@ Includes [ FGristFiles $(sources) ] : ScreenSaver Flurry : $(sources) : - be screensaver GL libshared.a $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSUPC++) + be screensaver GL libshared.a localestub $(TARGET_LIBSUPC++) [ BuildFeatureAttribute glu : library ] ; diff --git a/src/add-ons/screen_savers/glife/Jamfile b/src/add-ons/screen_savers/glife/Jamfile index 4bb4f9079f..e2f374d138 100644 --- a/src/add-ons/screen_savers/glife/Jamfile +++ b/src/add-ons/screen_savers/glife/Jamfile @@ -25,7 +25,7 @@ AddResources GLife : GLife.rdef ; ScreenSaver GLife : $(sources) : - be screensaver GL $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSUPC++) + be screensaver GL localestub $(TARGET_LIBSUPC++) [ BuildFeatureAttribute glu : library ] ; diff --git a/src/add-ons/screen_savers/gravity/Jamfile b/src/add-ons/screen_savers/gravity/Jamfile index ff680d18f0..9364d76ca9 100644 --- a/src/add-ons/screen_savers/gravity/Jamfile +++ b/src/add-ons/screen_savers/gravity/Jamfile @@ -3,7 +3,7 @@ UseBuildFeatureHeaders glu ; UseBuildFeatureHeaders mesa ; # For GCC2 -if $(HAIKU_GCC_VERSION[1]) < 3 { +if $(TARGET_GCC_VERSION_$(TARGET_PACKAGING_ARCH)[1]) < 3 { SubDirC++Flags --no-warnings ; } @@ -28,7 +28,7 @@ Includes [ FGristFiles $(sources) ] : ScreenSaver Gravity : $(sources) : - be screensaver GL $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSTDC++) + be screensaver GL localestub $(TARGET_LIBSTDC++) [ BuildFeatureAttribute glu : library ] ; diff --git a/src/add-ons/screen_savers/haiku/Jamfile b/src/add-ons/screen_savers/haiku/Jamfile index bc60b0bb0e..3ee172e0bb 100644 --- a/src/add-ons/screen_savers/haiku/Jamfile +++ b/src/add-ons/screen_savers/haiku/Jamfile @@ -9,7 +9,7 @@ AddResources Haiku : ScreenSaver.rdef ; Addon Haiku : ScreenSaver.cpp - : be screensaver $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSUPC++) + : be screensaver localestub $(TARGET_LIBSUPC++) ; DoCatalogs Haiku : diff --git a/src/add-ons/screen_savers/icons/Jamfile b/src/add-ons/screen_savers/icons/Jamfile index b0287610de..887ce9790d 100644 --- a/src/add-ons/screen_savers/icons/Jamfile +++ b/src/add-ons/screen_savers/icons/Jamfile @@ -7,7 +7,7 @@ AddResources Icons : Icons.rdef ; ScreenSaver Icons : IconDisplay.cpp IconsSaver.cpp : - be libscreensaver.so $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSUPC++) + be libscreensaver.so localestub $(TARGET_LIBSUPC++) ; DoCatalogs Icons : diff --git a/src/add-ons/screen_savers/ifs/Jamfile b/src/add-ons/screen_savers/ifs/Jamfile index 18b613f175..72a6816d10 100644 --- a/src/add-ons/screen_savers/ifs/Jamfile +++ b/src/add-ons/screen_savers/ifs/Jamfile @@ -8,7 +8,7 @@ ScreenSaver IFS : IFS.cpp IFSSaver.cpp - : be libscreensaver.so $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSUPC++) + : be libscreensaver.so localestub $(TARGET_LIBSUPC++) ; DoCatalogs IFS : diff --git a/src/add-ons/screen_savers/leaves/Jamfile b/src/add-ons/screen_savers/leaves/Jamfile index 2c87a6375c..3ce6e228fd 100644 --- a/src/add-ons/screen_savers/leaves/Jamfile +++ b/src/add-ons/screen_savers/leaves/Jamfile @@ -4,7 +4,7 @@ AddResources Leaves : Leaves.rdef ; ScreenSaver Leaves : Leaves.cpp : - be screensaver $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) + be screensaver $(TARGET_LIBSUPC++) localestub ; DoCatalogs Leaves : diff --git a/src/add-ons/screen_savers/message/Jamfile b/src/add-ons/screen_savers/message/Jamfile index f69a1d3f2d..c97a6895ae 100644 --- a/src/add-ons/screen_savers/message/Jamfile +++ b/src/add-ons/screen_savers/message/Jamfile @@ -11,7 +11,7 @@ AddResources Message : Message.rdef ; ScreenSaver Message : Message.cpp : - be libscreensaver.so $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSUPC++) ; + be libscreensaver.so localestub $(TARGET_LIBSUPC++) ; DoCatalogs Message : x-vnd.Haiku-MessageScreensaver diff --git a/src/add-ons/screen_savers/simpleclock/Jamfile b/src/add-ons/screen_savers/simpleclock/Jamfile index 8948149157..63bf2220c2 100644 --- a/src/add-ons/screen_savers/simpleclock/Jamfile +++ b/src/add-ons/screen_savers/simpleclock/Jamfile @@ -7,7 +7,7 @@ AddResources Message : SimpleClock.rdef ; ScreenSaver SimpleClock : SimpleClock.cpp - : be libscreensaver.so $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSUPC++) + : be libscreensaver.so localestub $(TARGET_LIBSUPC++) ; DoCatalogs SimpleClock : diff --git a/src/add-ons/screen_savers/spider/Jamfile b/src/add-ons/screen_savers/spider/Jamfile index e1d7c67b04..6c27fb1e1f 100644 --- a/src/add-ons/screen_savers/spider/Jamfile +++ b/src/add-ons/screen_savers/spider/Jamfile @@ -9,7 +9,7 @@ ScreenSaver Spider : PolygonQueue.cpp SpiderSaver.cpp - : be libscreensaver.so $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSUPC++) + : be libscreensaver.so localestub $(TARGET_LIBSUPC++) ; DoCatalogs Spider : diff --git a/src/add-ons/tracker/zipomatic/Jamfile b/src/add-ons/tracker/zipomatic/Jamfile index f974e054c1..323aea06de 100644 --- a/src/add-ons/tracker/zipomatic/Jamfile +++ b/src/add-ons/tracker/zipomatic/Jamfile @@ -9,7 +9,7 @@ Application ZipOMatic-Z : ZipOMaticWindow.cpp ZipperThread.cpp - : be tracker $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) + : be tracker $(TARGET_LIBSUPC++) localestub : ZipOMatic.rdef ; diff --git a/src/add-ons/translators/bmp/Jamfile b/src/add-ons/translators/bmp/Jamfile index 27ff8b53c7..981793c9c3 100644 --- a/src/add-ons/translators/bmp/Jamfile +++ b/src/add-ons/translators/bmp/Jamfile @@ -11,7 +11,7 @@ Translator BMPTranslator : BMPTranslator.cpp BMPView.cpp : be translation libtranslatorsutils.a $(TARGET_LIBSUPC++) - $(HAIKU_LOCALE_LIBS) + localestub : true ; diff --git a/src/add-ons/translators/exr/Jamfile b/src/add-ons/translators/exr/Jamfile index c73bba0bb2..faa6aff377 100644 --- a/src/add-ons/translators/exr/Jamfile +++ b/src/add-ons/translators/exr/Jamfile @@ -16,7 +16,7 @@ Translator EXRTranslator : EXRTranslator.cpp IStreamWrapper.cpp : be translation libilmimf.so $(TARGET_LIBSTDC++) libtranslatorsutils.a - $(HAIKU_LOCALE_LIBS) + localestub : true ; diff --git a/src/add-ons/translators/exr/openexr/half/Jamfile b/src/add-ons/translators/exr/openexr/half/Jamfile index 4c29c93e72..b94ac4190d 100644 --- a/src/add-ons/translators/exr/openexr/half/Jamfile +++ b/src/add-ons/translators/exr/openexr/half/Jamfile @@ -2,12 +2,12 @@ SubDir HAIKU_TOP src add-ons translators exr openexr half ; SubDirSysHdrs [ FDirName $(SUBDIR) ] ; -if $(HAIKU_LIBSTDC++) = libstdc++.r4.so { +if $(TARGET_PACKAGING_ARCH) = x86_gcc2 { SubDirC++Flags -Dios_base=ios -ftemplate-depth-24 ; } StaticLibrary libhalf.a : -eLut.cpp -half.cpp -toFloat.cpp -; + eLut.cpp + half.cpp + toFloat.cpp + ; diff --git a/src/add-ons/translators/exr/openexr/ilmimf/Jamfile b/src/add-ons/translators/exr/openexr/ilmimf/Jamfile index 1d565b07cb..b069a3d4dd 100644 --- a/src/add-ons/translators/exr/openexr/ilmimf/Jamfile +++ b/src/add-ons/translators/exr/openexr/ilmimf/Jamfile @@ -7,7 +7,7 @@ SubDirSysHdrs [ FDirName $(SUBDIR) $(DOTDOT) ilmthread ] ; SubDirSysHdrs [ FDirName $(SUBDIR) $(DOTDOT) imath ] ; SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) config ] ; -if $(HAIKU_LIBSTDC++) = libstdc++.r4.so { +if $(TARGET_PACKAGING_ARCH) = x86_gcc2 { SubDirC++Flags -Dios_base=ios -ftemplate-depth-24 ; } @@ -18,65 +18,65 @@ Includes [ FGristFiles ImfPxr24Compressor.cpp ImfZipCompressor.cpp ] #StaticLibrary libilmimf.a : SharedLibrary libilmimf.so : -b44ExpLogTable.cpp -ImfAttribute.cpp -ImfB44Compressor.cpp -ImfBoxAttribute.cpp -ImfChannelListAttribute.cpp -ImfChannelList.cpp -ImfChromaticitiesAttribute.cpp -ImfChromaticities.cpp -ImfCompressionAttribute.cpp -ImfCompressor.cpp -ImfConvert.cpp -ImfCRgbaFile.cpp -ImfDoubleAttribute.cpp -ImfEnvmapAttribute.cpp -ImfEnvmap.cpp -ImfFloatAttribute.cpp -ImfFrameBuffer.cpp -ImfFramesPerSecond.cpp -ImfHeader.cpp -ImfHuf.cpp -ImfInputFile.cpp -ImfIntAttribute.cpp -ImfIO.cpp -ImfKeyCodeAttribute.cpp -ImfKeyCode.cpp -ImfLineOrderAttribute.cpp -ImfLut.cpp -ImfMatrixAttribute.cpp -ImfMisc.cpp -ImfOpaqueAttribute.cpp -ImfOutputFile.cpp -ImfPizCompressor.cpp -ImfPreviewImageAttribute.cpp -ImfPreviewImage.cpp -ImfPxr24Compressor.cpp -ImfRationalAttribute.cpp -ImfRational.cpp -ImfRgbaFile.cpp -ImfRgbaYca.cpp -ImfRleCompressor.cpp -ImfScanLineInputFile.cpp -ImfStandardAttributes.cpp -ImfStdIO.cpp -ImfStringAttribute.cpp -ImfTestFile.cpp -ImfThreading.cpp -ImfTileDescriptionAttribute.cpp -ImfTiledInputFile.cpp -ImfTiledMisc.cpp -ImfTiledOutputFile.cpp -ImfTiledRgbaFile.cpp -ImfTileOffsets.cpp -ImfTimeCodeAttribute.cpp -ImfTimeCode.cpp -ImfVecAttribute.cpp -ImfVersion.cpp -ImfWav.cpp -ImfZipCompressor.cpp -: libhalf.a libiex.a libimath.a libilmthread.a $(TARGET_LIBSTDC++) - [ BuildFeatureAttribute zlib : library ] -; + b44ExpLogTable.cpp + ImfAttribute.cpp + ImfB44Compressor.cpp + ImfBoxAttribute.cpp + ImfChannelListAttribute.cpp + ImfChannelList.cpp + ImfChromaticitiesAttribute.cpp + ImfChromaticities.cpp + ImfCompressionAttribute.cpp + ImfCompressor.cpp + ImfConvert.cpp + ImfCRgbaFile.cpp + ImfDoubleAttribute.cpp + ImfEnvmapAttribute.cpp + ImfEnvmap.cpp + ImfFloatAttribute.cpp + ImfFrameBuffer.cpp + ImfFramesPerSecond.cpp + ImfHeader.cpp + ImfHuf.cpp + ImfInputFile.cpp + ImfIntAttribute.cpp + ImfIO.cpp + ImfKeyCodeAttribute.cpp + ImfKeyCode.cpp + ImfLineOrderAttribute.cpp + ImfLut.cpp + ImfMatrixAttribute.cpp + ImfMisc.cpp + ImfOpaqueAttribute.cpp + ImfOutputFile.cpp + ImfPizCompressor.cpp + ImfPreviewImageAttribute.cpp + ImfPreviewImage.cpp + ImfPxr24Compressor.cpp + ImfRationalAttribute.cpp + ImfRational.cpp + ImfRgbaFile.cpp + ImfRgbaYca.cpp + ImfRleCompressor.cpp + ImfScanLineInputFile.cpp + ImfStandardAttributes.cpp + ImfStdIO.cpp + ImfStringAttribute.cpp + ImfTestFile.cpp + ImfThreading.cpp + ImfTileDescriptionAttribute.cpp + ImfTiledInputFile.cpp + ImfTiledMisc.cpp + ImfTiledOutputFile.cpp + ImfTiledRgbaFile.cpp + ImfTileOffsets.cpp + ImfTimeCodeAttribute.cpp + ImfTimeCode.cpp + ImfVecAttribute.cpp + ImfVersion.cpp + ImfWav.cpp + ImfZipCompressor.cpp + : libhalf.a libiex.a libimath.a libilmthread.a $(TARGET_LIBSTDC++) + [ BuildFeatureAttribute zlib : library ] + ; diff --git a/src/add-ons/translators/exr/openexr/imath/Jamfile b/src/add-ons/translators/exr/openexr/imath/Jamfile index 8a6215ef91..cebb9cabe4 100644 --- a/src/add-ons/translators/exr/openexr/imath/Jamfile +++ b/src/add-ons/translators/exr/openexr/imath/Jamfile @@ -4,16 +4,16 @@ SubDirSysHdrs [ FDirName $(SUBDIR) ] ; SubDirSysHdrs [ FDirName $(SUBDIR) $(DOTDOT) half ] ; SubDirSysHdrs [ FDirName $(SUBDIR) $(DOTDOT) iex ] ; -if $(HAIKU_LIBSTDC++) = libstdc++.r4.so { - SubDirC++Flags -Dios_base=ios -ftemplate-depth-24 ; +if $(TARGET_PACKAGING_ARCH) = x86_gcc2 { + SubDirC++Flags -Dios_base=ios -ftemplate-depth-24 ; } StaticLibrary libimath.a : -ImathBox.cpp -ImathColorAlgo.cpp -ImathFun.cpp -ImathMatrixAlgo.cpp -ImathRandom.cpp -ImathShear.cpp -ImathVec.cpp -; + ImathBox.cpp + ImathColorAlgo.cpp + ImathFun.cpp + ImathMatrixAlgo.cpp + ImathRandom.cpp + ImathShear.cpp + ImathVec.cpp + ; diff --git a/src/add-ons/translators/gif/Jamfile b/src/add-ons/translators/gif/Jamfile index c3a04258a7..794c5f156e 100644 --- a/src/add-ons/translators/gif/Jamfile +++ b/src/add-ons/translators/gif/Jamfile @@ -18,7 +18,7 @@ Translator GIFTranslator : SavePalette.cpp SFHash.cpp : - be translation $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) + be translation $(TARGET_LIBSUPC++) localestub : true ; diff --git a/src/add-ons/translators/hpgs/Jamfile b/src/add-ons/translators/hpgs/Jamfile index c7cdc578b4..4b57322519 100644 --- a/src/add-ons/translators/hpgs/Jamfile +++ b/src/add-ons/translators/hpgs/Jamfile @@ -54,7 +54,7 @@ Translator HPGSTranslator : : be translation libtextencoding.so [ BuildFeatureAttribute libpng : library ] [ BuildFeatureAttribute zlib : library ] - libtranslatorsutils.a $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) + libtranslatorsutils.a $(TARGET_LIBSUPC++) localestub : true ; diff --git a/src/add-ons/translators/hvif/Jamfile b/src/add-ons/translators/hvif/Jamfile index 0cc2230a24..96814ca4ed 100644 --- a/src/add-ons/translators/hvif/Jamfile +++ b/src/add-ons/translators/hvif/Jamfile @@ -9,7 +9,7 @@ Translator HVIFTranslator : HVIFTranslator.cpp HVIFView.cpp : be translation libtranslatorsutils.a $(TARGET_LIBSUPC++) - $(HAIKU_LOCALE_LIBS) + localestub : true ; diff --git a/src/add-ons/translators/icns/Jamfile b/src/add-ons/translators/icns/Jamfile index a527d6dafd..f90c7075e5 100644 --- a/src/add-ons/translators/icns/Jamfile +++ b/src/add-ons/translators/icns/Jamfile @@ -77,7 +77,7 @@ Translator ICNSTranslator : : be translation libtranslatorsutils.a $(TARGET_LIBSUPC++) [ BuildFeatureAttribute libpng : library ] - $(HAIKU_LOCALE_LIBS) + localestub : true ; diff --git a/src/add-ons/translators/ico/Jamfile b/src/add-ons/translators/ico/Jamfile index 34bdbbc869..5a984e2ec4 100644 --- a/src/add-ons/translators/ico/Jamfile +++ b/src/add-ons/translators/ico/Jamfile @@ -13,7 +13,7 @@ Translator ICOTranslator : ConfigView.cpp ICO.cpp : be translation libtranslatorsutils.a $(TARGET_LIBSUPC++) - $(HAIKU_LOCALE_LIBS) + localestub : true ; diff --git a/src/add-ons/translators/jpeg/Jamfile b/src/add-ons/translators/jpeg/Jamfile index b1c70bd4ba..6bf18706c5 100644 --- a/src/add-ons/translators/jpeg/Jamfile +++ b/src/add-ons/translators/jpeg/Jamfile @@ -24,7 +24,7 @@ Translator JPEGTranslator : JPEGTranslator.cpp : be translation libtranslatorsutils.a [ BuildFeatureAttribute jpeg : library ] - $(TARGET_LIBSTDC++) $(HAIKU_LOCALE_LIBS) + $(TARGET_LIBSTDC++) localestub : true ; diff --git a/src/add-ons/translators/jpeg2000/Jamfile b/src/add-ons/translators/jpeg2000/Jamfile index 38de3184c8..78f9eb67bf 100644 --- a/src/add-ons/translators/jpeg2000/Jamfile +++ b/src/add-ons/translators/jpeg2000/Jamfile @@ -72,7 +72,7 @@ Translator JPEG2000Translator : $(jasper_files) : be translation libtranslatorsutils.a $(TARGET_LIBSUPC++) - $(HAIKU_LOCALE_LIBS) + localestub : true ; diff --git a/src/add-ons/translators/pcx/Jamfile b/src/add-ons/translators/pcx/Jamfile index 4dbf0b2167..c5dc7431e9 100644 --- a/src/add-ons/translators/pcx/Jamfile +++ b/src/add-ons/translators/pcx/Jamfile @@ -12,7 +12,7 @@ Translator PCXTranslator : PCXTranslator.cpp ConfigView.cpp PCX.cpp - : be translation libtranslatorsutils.a $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) + : be translation libtranslatorsutils.a $(TARGET_LIBSUPC++) localestub : true ; diff --git a/src/add-ons/translators/png/Jamfile b/src/add-ons/translators/png/Jamfile index ff73b92dfd..37b6248db0 100644 --- a/src/add-ons/translators/png/Jamfile +++ b/src/add-ons/translators/png/Jamfile @@ -8,7 +8,7 @@ SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ; AddResources PNGTranslator : PNGTranslator.rdef ; -if $(HAIKU_GCC_VERSION[1]) = 2 { +if $(TARGET_GCC_VERSION_$(TARGET_PACKAGING_ARCH)[1]) = 2 { SubDirCcFlags -DPNG_NO_PEDANTIC_WARNINGS ; } @@ -24,7 +24,7 @@ Translator PNGTranslator : [ BuildFeatureAttribute libpng : library ] [ BuildFeatureAttribute zlib : library ] $(TARGET_LIBSUPC++) libtranslatorsutils.a - $(HAIKU_LOCALE_LIBS) + localestub : true ; diff --git a/src/add-ons/translators/ppm/Jamfile b/src/add-ons/translators/ppm/Jamfile index 84bd33e7bd..f29c39eda8 100644 --- a/src/add-ons/translators/ppm/Jamfile +++ b/src/add-ons/translators/ppm/Jamfile @@ -6,7 +6,7 @@ AddResources PPMTranslator : PPMTranslator.rdef ; Translator PPMTranslator : PPMMain.cpp PPMTranslator.cpp colorspace.cpp - : be translation $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) + : be translation $(TARGET_LIBSUPC++) localestub : true ; diff --git a/src/add-ons/translators/raw/Jamfile b/src/add-ons/translators/raw/Jamfile index 2b122b471d..e9a682a98c 100644 --- a/src/add-ons/translators/raw/Jamfile +++ b/src/add-ons/translators/raw/Jamfile @@ -14,7 +14,7 @@ Translator RAWTranslator : RAW.cpp : be translation libtranslatorsutils.a $(TARGET_LIBSUPC++) - $(HAIKU_LOCALE_LIBS) + localestub : true ; diff --git a/src/add-ons/translators/rtf/Jamfile b/src/add-ons/translators/rtf/Jamfile index 79c45c5076..5da96912c9 100644 --- a/src/add-ons/translators/rtf/Jamfile +++ b/src/add-ons/translators/rtf/Jamfile @@ -18,9 +18,7 @@ Translator RTFTranslator : RTF.cpp RTFTranslator.cpp - : be translation libtranslatorsutils.a $(TARGET_LIBSUPC++) -$(HAIKU_LOCALE_LIBS) - $(HAIKU_LOCALE_LIBS) + : be translation libtranslatorsutils.a $(TARGET_LIBSUPC++) localestub : true ; diff --git a/src/add-ons/translators/sgi/Jamfile b/src/add-ons/translators/sgi/Jamfile index a730b434c1..d324e6f444 100644 --- a/src/add-ons/translators/sgi/Jamfile +++ b/src/add-ons/translators/sgi/Jamfile @@ -11,7 +11,7 @@ Translator SGITranslator : SGIMain.cpp SGITranslator.cpp SGIView.cpp - : be translation libtranslatorsutils.a $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) + : be translation libtranslatorsutils.a $(TARGET_LIBSUPC++) localestub : true ; diff --git a/src/add-ons/translators/shared/Jamfile b/src/add-ons/translators/shared/Jamfile index 7a5e1e3b83..4384ac660e 100644 --- a/src/add-ons/translators/shared/Jamfile +++ b/src/add-ons/translators/shared/Jamfile @@ -7,7 +7,6 @@ StaticLibrary libtranslatorsutils.a : StreamBuffer.cpp TranslatorSettings.cpp TranslatorWindow.cpp - : $(HAIKU_LOCALE_LIBS) ; DoCatalogs libtranslatorsutils.a : diff --git a/src/add-ons/translators/stxt/Jamfile b/src/add-ons/translators/stxt/Jamfile index 6009b6a901..5a63181c31 100644 --- a/src/add-ons/translators/stxt/Jamfile +++ b/src/add-ons/translators/stxt/Jamfile @@ -15,7 +15,7 @@ Translator STXTTranslator : STXTTranslator.cpp STXTView.cpp : be translation libtextencoding.so libtranslatorsutils.a - $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) + $(TARGET_LIBSUPC++) localestub : true ; diff --git a/src/add-ons/translators/tga/Jamfile b/src/add-ons/translators/tga/Jamfile index 16018ab313..24ad561598 100644 --- a/src/add-ons/translators/tga/Jamfile +++ b/src/add-ons/translators/tga/Jamfile @@ -10,7 +10,7 @@ Translator TGATranslator : TGAMain.cpp TGATranslator.cpp TGAView.cpp - : be translation libtranslatorsutils.a $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) + : be translation libtranslatorsutils.a $(TARGET_LIBSUPC++) localestub : true ; diff --git a/src/add-ons/translators/tiff/Jamfile b/src/add-ons/translators/tiff/Jamfile index e2ca412e55..6196768a01 100644 --- a/src/add-ons/translators/tiff/Jamfile +++ b/src/add-ons/translators/tiff/Jamfile @@ -17,7 +17,7 @@ Translator TIFFTranslator : TIFFView.cpp : be libtiff.so translation libtranslatorsutils.a $(TARGET_LIBSUPC++) - $(HAIKU_LOCALE_LIBS) + localestub : true ; diff --git a/src/add-ons/translators/webp/Jamfile b/src/add-ons/translators/webp/Jamfile index 60aa74ff40..a6d95fddb0 100644 --- a/src/add-ons/translators/webp/Jamfile +++ b/src/add-ons/translators/webp/Jamfile @@ -18,7 +18,7 @@ Translator WebPTranslator : webpdecode.o webpencode.o be translation libtranslatorsutils.a - $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) + $(TARGET_LIBSUPC++) localestub : true ; diff --git a/src/add-ons/translators/wonderbrush/Jamfile b/src/add-ons/translators/wonderbrush/Jamfile index ba5a0da392..58c8077991 100644 --- a/src/add-ons/translators/wonderbrush/Jamfile +++ b/src/add-ons/translators/wonderbrush/Jamfile @@ -29,7 +29,7 @@ Translator WonderBrushTranslator : : be translation [ BuildFeatureAttribute zlib : library ] libtranslatorsutils.a - $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) + $(TARGET_LIBSUPC++) localestub : true ; diff --git a/src/apps/3dmov/Jamfile b/src/apps/3dmov/Jamfile index 8e0d8c37fa..5c5afe3fd4 100644 --- a/src/apps/3dmov/Jamfile +++ b/src/apps/3dmov/Jamfile @@ -4,7 +4,7 @@ UseBuildFeatureHeaders mesa ; SetSubDirSupportedPlatformsBeOSCompatible ; # For GCC2 -if $(HAIKU_GCC_VERSION[1]) < 3 { +if $(TARGET_GCC_VERSION_$(TARGET_PACKAGING_ARCH)[1]) < 3 { SubDirC++Flags --no-warnings ; } @@ -23,7 +23,7 @@ Includes [ FGristFiles $(sources) ] : [ BuildFeatureAttribute mesa : headers ] ; Application 3DMov : $(sources) - : be GL game $(HAIKU_LOCALE_LIBS) media translation $(TARGET_LIBSUPC++) + : be GL game localestub media translation $(TARGET_LIBSUPC++) : 3dmov.rdef ; diff --git a/src/apps/aboutsystem/Jamfile b/src/apps/aboutsystem/Jamfile index a32c40bca3..757657cb35 100644 --- a/src/apps/aboutsystem/Jamfile +++ b/src/apps/aboutsystem/Jamfile @@ -7,7 +7,7 @@ Application AboutSystem : HyperTextActions.cpp HyperTextView.cpp Utilities.cpp - : $(TARGET_LIBSTDC++) be translation $(HAIKU_LOCALE_LIBS) + : $(TARGET_LIBSTDC++) be translation localestub : AboutSystem.rdef ; diff --git a/src/apps/activitymonitor/Jamfile b/src/apps/activitymonitor/Jamfile index 60c7dbfabd..b6cd7a811d 100644 --- a/src/apps/activitymonitor/Jamfile +++ b/src/apps/activitymonitor/Jamfile @@ -11,7 +11,7 @@ Application ActivityMonitor : SystemInfo.cpp SystemInfoHandler.cpp : be tracker media libbnetapi.so libshared.a $(TARGET_LIBSTDC++) - $(TARGET_NETWORK_LIBS) $(HAIKU_LOCALE_LIBS) + $(TARGET_NETWORK_LIBS) localestub : ActivityMonitor.rdef ; diff --git a/src/apps/bootmanager/Jamfile b/src/apps/bootmanager/Jamfile index a141789323..021dfe72da 100644 --- a/src/apps/bootmanager/Jamfile +++ b/src/apps/bootmanager/Jamfile @@ -22,7 +22,7 @@ Application BootManager : WizardController.cpp WizardPageView.cpp - : be textencoding tracker $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSUPC++) + : be textencoding tracker localestub $(TARGET_LIBSUPC++) : BootManager.rdef ; diff --git a/src/apps/bsnow/Jamfile b/src/apps/bsnow/Jamfile index 8b0325f1d9..4f941c5735 100644 --- a/src/apps/bsnow/Jamfile +++ b/src/apps/bsnow/Jamfile @@ -6,7 +6,7 @@ Application BSnow : Flakes.cpp SnowView.cpp SnowApp.cpp - : be $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) + : be $(TARGET_LIBSUPC++) localestub : BSnow.rdef ; diff --git a/src/apps/cdplayer/Jamfile b/src/apps/cdplayer/Jamfile index a878bb7d83..aec488d4c2 100644 --- a/src/apps/cdplayer/Jamfile +++ b/src/apps/cdplayer/Jamfile @@ -13,7 +13,7 @@ Application CDPlayer : VolumeSlider.cpp : be $(TARGET_SELECT_UNAME_ETC_LIB) $(TARGET_NETAPI_LIB) $(TARGET_LIBSTDC++) - $(HAIKU_LOCALE_LIBS) translation textencoding + localestub translation textencoding : CDPlayer.rdef ; diff --git a/src/apps/charactermap/Jamfile b/src/apps/charactermap/Jamfile index 194b0e2754..a05f9e0b15 100644 --- a/src/apps/charactermap/Jamfile +++ b/src/apps/charactermap/Jamfile @@ -11,7 +11,7 @@ Application CharacterMap : UnicodeBlocks.cpp UnicodeBlockView.cpp - : be $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) + : be $(TARGET_LIBSUPC++) localestub : CharacterMap.rdef ; diff --git a/src/apps/clock/Jamfile b/src/apps/clock/Jamfile index c01a0c3bec..ee1b5c1dd7 100644 --- a/src/apps/clock/Jamfile +++ b/src/apps/clock/Jamfile @@ -6,7 +6,7 @@ Application Clock : cl_view.cpp cl_wind.cpp clock.cpp - : be $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSUPC++) + : be localestub $(TARGET_LIBSUPC++) : Clock.rdef ; diff --git a/src/apps/codycam/Jamfile b/src/apps/codycam/Jamfile index ced6af6fd3..e6a8aace55 100644 --- a/src/apps/codycam/Jamfile +++ b/src/apps/codycam/Jamfile @@ -13,7 +13,7 @@ Application CodyCam : Settings.cpp SettingsHandler.cpp VideoConsumer.cpp - : be $(HAIKU_LOCALE_LIBS) media translation $(TARGET_NETAPI_LIB) + : be localestub media translation $(TARGET_NETAPI_LIB) $(TARGET_LIBSTDC++) : CodyCam.rdef ; diff --git a/src/apps/debugger/Jamfile b/src/apps/debugger/Jamfile index aaf52c569b..cc0cef3768 100644 --- a/src/apps/debugger/Jamfile +++ b/src/apps/debugger/Jamfile @@ -6,7 +6,8 @@ C++FLAGS += -Werror ; UseHeaders [ FDirName $(HAIKU_TOP) headers compatibility bsd ] : true ; # for syscall_numbers.h -UseHeaders [ FDirName $(HAIKU_COMMON_DEBUG_OBJECT_DIR) system kernel ] ; +UseHeaders [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) + system kernel ] ; UsePrivateHeaders app debug interface kernel shared libroot ; UsePrivateSystemHeaders ; @@ -65,7 +66,7 @@ SourceHdrs # since syscall_numbers.h is generated on the fly, we need to explicitly # let Jam know about the dependency. Includes [ FGristFiles TeamDebugger.cpp ] - : syscall_numbers.h ; + : syscall_numbers.h ; Application Debugger : Debugger.cpp diff --git a/src/apps/deskbar/Jamfile b/src/apps/deskbar/Jamfile index 5f9c38a58a..33315ea2a1 100644 --- a/src/apps/deskbar/Jamfile +++ b/src/apps/deskbar/Jamfile @@ -40,7 +40,7 @@ Application Deskbar : ResourceSet.cpp Switcher.cpp $(targetSource) - : be $(HAIKU_LOCALE_LIBS) tracker $(targetLib) $(TARGET_LIBSUPC++) + : be localestub tracker $(targetLib) $(TARGET_LIBSUPC++) ; DoCatalogs Deskbar : diff --git a/src/apps/deskcalc/Jamfile b/src/apps/deskcalc/Jamfile index 007f899b0e..b002ccd714 100644 --- a/src/apps/deskcalc/Jamfile +++ b/src/apps/deskcalc/Jamfile @@ -12,7 +12,7 @@ Application DeskCalc : DeskCalc.cpp ExpressionTextView.cpp InputTextView.cpp - : be $(TARGET_LIBSTDC++) $(HAIKU_LOCALE_LIBS) media libexpression_parser.a + : be $(TARGET_LIBSTDC++) localestub media libexpression_parser.a libmapm.a libshared.a : DeskCalc.rdef ; diff --git a/src/apps/devices/Jamfile b/src/apps/devices/Jamfile index 4af0861b8b..66086087ae 100644 --- a/src/apps/devices/Jamfile +++ b/src/apps/devices/Jamfile @@ -97,7 +97,7 @@ Application Devices : PropertyList.cpp PropertyListPlain.cpp : be libcolumnlistview.a tracker $(TARGET_LIBSUPC++) - $(TARGET_LIBSTDC++) $(HAIKU_LOCALE_LIBS) + $(TARGET_LIBSTDC++) localestub : Devices.rdef ; diff --git a/src/apps/diskprobe/Jamfile b/src/apps/diskprobe/Jamfile index 466886e450..1d077bf520 100644 --- a/src/apps/diskprobe/Jamfile +++ b/src/apps/diskprobe/Jamfile @@ -15,7 +15,7 @@ Application DiskProbe : ProbeView.cpp OpenWindow.cpp FindWindow.cpp - : be $(HAIKU_LOCALE_LIBS) tracker translation libexpression_parser.a + : be localestub tracker translation libexpression_parser.a libmapm.a $(TARGET_LIBSUPC++) : DiskProbe.rdef ; diff --git a/src/apps/diskusage/Jamfile b/src/apps/diskusage/Jamfile index 37d3effac1..7bc0f9b49d 100644 --- a/src/apps/diskusage/Jamfile +++ b/src/apps/diskusage/Jamfile @@ -14,7 +14,7 @@ Application DiskUsage : Snapshot.cpp StatusView.cpp VolumeView.cpp - : be $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSTDC++) + : be localestub $(TARGET_LIBSTDC++) : DiskUsage.rdef ; diff --git a/src/apps/drivesetup/Jamfile b/src/apps/drivesetup/Jamfile index 7f82eb13eb..cb003fa9e3 100644 --- a/src/apps/drivesetup/Jamfile +++ b/src/apps/drivesetup/Jamfile @@ -15,7 +15,7 @@ Preference DriveSetup : PartitionList.cpp Support.cpp - : be $(HAIKU_LOCALE_LIBS) libcolumnlistview.a libshared.a + : be localestub libcolumnlistview.a libshared.a $(TARGET_LIBSUPC++) : DriveSetup.rdef ; diff --git a/src/apps/expander/Jamfile b/src/apps/expander/Jamfile index d1d13ab13d..7f532907c5 100644 --- a/src/apps/expander/Jamfile +++ b/src/apps/expander/Jamfile @@ -12,7 +12,7 @@ Application Expander : DirectoryFilePanel.cpp ExpanderRules.cpp PasswordAlert.cpp - : be tracker $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSUPC++) + : be tracker localestub $(TARGET_LIBSUPC++) : Expander.rdef ; diff --git a/src/apps/firstbootprompt/Jamfile b/src/apps/firstbootprompt/Jamfile index c0a67929ad..352ab263dc 100644 --- a/src/apps/firstbootprompt/Jamfile +++ b/src/apps/firstbootprompt/Jamfile @@ -9,7 +9,7 @@ Application FirstBootPrompt : BootPromptWindow.cpp Keymap.cpp KeymapListItem.cpp - : be translation libshared.a $(TARGET_LIBSTDC++) $(HAIKU_LOCALE_LIBS) + : be translation libshared.a $(TARGET_LIBSTDC++) localestub : BootPrompt.rdef ; diff --git a/src/apps/fontdemo/Jamfile b/src/apps/fontdemo/Jamfile index 81bfb02757..7d23d10aab 100644 --- a/src/apps/fontdemo/Jamfile +++ b/src/apps/fontdemo/Jamfile @@ -6,7 +6,7 @@ Application FontDemo : ControlView.cpp FontDemo.cpp FontDemoView.cpp - : be $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSUPC++) + : be localestub $(TARGET_LIBSUPC++) : FontDemo.rdef ; diff --git a/src/apps/glteapot/Jamfile b/src/apps/glteapot/Jamfile index ed78f81aa2..cc1125aebc 100644 --- a/src/apps/glteapot/Jamfile +++ b/src/apps/glteapot/Jamfile @@ -21,7 +21,7 @@ Includes [ FGristFiles $(sources) ] : Application GLTeapot : $(sources) : - be GL game $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSUPC++) + be GL game localestub $(TARGET_LIBSUPC++) [ BuildFeatureAttribute glu : library ] : GLTeapot.rdef ; diff --git a/src/apps/haiku3d/Jamfile b/src/apps/haiku3d/Jamfile index 59c3aa2b13..af495a2b3e 100644 --- a/src/apps/haiku3d/Jamfile +++ b/src/apps/haiku3d/Jamfile @@ -6,7 +6,7 @@ SEARCH_SOURCE += [ FDirName $(SUBDIR) mesh ] ; SEARCH_SOURCE += [ FDirName $(SUBDIR) texture ] ; # For GCC2 -if $(HAIKU_GCC_VERSION[1]) < 3 { +if $(TARGET_GCC_VERSION_$(TARGET_PACKAGING_ARCH)[1]) < 3 { SubDirC++Flags --no-warnings ; } diff --git a/src/apps/icon-o-matic/Jamfile b/src/apps/icon-o-matic/Jamfile index 79883f1207..b4e2ce2543 100644 --- a/src/apps/icon-o-matic/Jamfile +++ b/src/apps/icon-o-matic/Jamfile @@ -300,7 +300,7 @@ Application Icon-O-Matic : Util.cpp : be tracker translation libshared.a libagg.a libexpat.a - $(TARGET_LIBSTDC++) $(HAIKU_LOCALE_LIBS) + $(TARGET_LIBSTDC++) localestub : Icon-O-Matic.rdef ; diff --git a/src/apps/installedpackages/Jamfile b/src/apps/installedpackages/Jamfile index ba753e9e03..7553857c6d 100644 --- a/src/apps/installedpackages/Jamfile +++ b/src/apps/installedpackages/Jamfile @@ -11,7 +11,7 @@ Application InstalledPackages : main.cpp UninstallWindow.cpp UninstallView.cpp - : be tracker translation $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) + : be tracker translation $(TARGET_LIBSUPC++) localestub ; DoCatalogs InstalledPackages : diff --git a/src/apps/installer/Jamfile b/src/apps/installer/Jamfile index 884a93e434..b5843f2dd1 100644 --- a/src/apps/installer/Jamfile +++ b/src/apps/installer/Jamfile @@ -14,7 +14,7 @@ Application Installer : UnzipEngine.cpp WorkerThread.cpp : be tracker translation libshared.a $(TARGET_LIBSTDC++) - $(HAIKU_LOCALE_LIBS) + localestub : Installer.rdef ; diff --git a/src/apps/launchbox/Jamfile b/src/apps/launchbox/Jamfile index d560636534..7a6da13ed0 100644 --- a/src/apps/launchbox/Jamfile +++ b/src/apps/launchbox/Jamfile @@ -11,7 +11,7 @@ Application LaunchBox : PadView.cpp Panel.cpp support.cpp - : be translation libshared.a $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) + : be translation libshared.a $(TARGET_LIBSUPC++) localestub : LaunchBox.rdef ; diff --git a/src/apps/login/Jamfile b/src/apps/login/Jamfile index 9c15dea930..e995bd3227 100644 --- a/src/apps/login/Jamfile +++ b/src/apps/login/Jamfile @@ -19,7 +19,7 @@ Application Login : LoginWindow.cpp LoginView.cpp main.cpp - : be tracker $(mu_libs) $(TARGET_LIBSTDC++) $(HAIKU_LOCALE_LIBS) + : be tracker $(mu_libs) $(TARGET_LIBSTDC++) localestub : Login.rdef ; diff --git a/src/apps/magnify/Jamfile b/src/apps/magnify/Jamfile index 9bd4dbf87f..8cfbf7889c 100644 --- a/src/apps/magnify/Jamfile +++ b/src/apps/magnify/Jamfile @@ -8,7 +8,7 @@ UsePrivateHeaders shared ; Application Magnify : Magnify.cpp - : be game $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSUPC++) tracker + : be game localestub $(TARGET_LIBSUPC++) tracker : Magnify.rdef ; diff --git a/src/apps/mail/Jamfile b/src/apps/mail/Jamfile index 87c736a440..123cb95c96 100644 --- a/src/apps/mail/Jamfile +++ b/src/apps/mail/Jamfile @@ -33,7 +33,7 @@ Application Mail : WIndex.cpp Words.cpp KUndoBuffer.cpp - : be tracker $(TARGET_LIBSTDC++) $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) + : be tracker $(TARGET_LIBSTDC++) $(TARGET_LIBSUPC++) localestub libmail.so libtextencoding.so : Mail.rdef ; diff --git a/src/apps/mandelbrot/Jamfile b/src/apps/mandelbrot/Jamfile index edd55298ff..0e99a63f11 100644 --- a/src/apps/mandelbrot/Jamfile +++ b/src/apps/mandelbrot/Jamfile @@ -6,7 +6,7 @@ AddSubDirSupportedPlatforms libbe_test ; Application Mandelbrot : Mandelbrot.cpp tsb.cpp - : be $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) + : be $(TARGET_LIBSUPC++) localestub : Mandelbrot.rdef ; diff --git a/src/apps/mediaconverter/Jamfile b/src/apps/mediaconverter/Jamfile index 81098f02a5..60ac2bffb1 100644 --- a/src/apps/mediaconverter/Jamfile +++ b/src/apps/mediaconverter/Jamfile @@ -12,7 +12,7 @@ Application MediaConverter : MediaFileInfoView.cpp MediaFileListView.cpp - : be media tracker $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSTDC++) + : be media tracker localestub $(TARGET_LIBSTDC++) : MediaConverter.rdef ; diff --git a/src/apps/mediaplayer/Jamfile b/src/apps/mediaplayer/Jamfile index 23a3bd0ea2..5f35946f46 100644 --- a/src/apps/mediaplayer/Jamfile +++ b/src/apps/mediaplayer/Jamfile @@ -115,7 +115,7 @@ Application MediaPlayer : VideoView.cpp : be game media tracker translation textencoding $(TARGET_LIBSTDC++) - $(HAIKU_LOCALE_LIBS) libshared.a + localestub libshared.a : MediaPlayer.rdef ; diff --git a/src/apps/midiplayer/Jamfile b/src/apps/midiplayer/Jamfile index b2950da2bb..3d75d96d6d 100644 --- a/src/apps/midiplayer/Jamfile +++ b/src/apps/midiplayer/Jamfile @@ -7,7 +7,7 @@ Application MidiPlayer : MidiPlayerWindow.cpp ScopeView.cpp SynthBridge.cpp - : be midi midi2 $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) + : be midi midi2 $(TARGET_LIBSUPC++) localestub : MidiPlayer.rdef ; diff --git a/src/apps/musiccollection/Jamfile b/src/apps/musiccollection/Jamfile index af2cbd3ba9..f38edffd64 100644 --- a/src/apps/musiccollection/Jamfile +++ b/src/apps/musiccollection/Jamfile @@ -12,7 +12,7 @@ Application MusicCollection : NodeMonitorHandler.cpp : - be libalm.so $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSUPC++) + be libalm.so localestub $(TARGET_LIBSUPC++) $(TARGET_LIBSTDC++) libshared.a : MusicCollection.rdef diff --git a/src/apps/networkstatus/Jamfile b/src/apps/networkstatus/Jamfile index c05d505124..ce3b22bb94 100644 --- a/src/apps/networkstatus/Jamfile +++ b/src/apps/networkstatus/Jamfile @@ -17,7 +17,7 @@ Application NetworkStatus : RadioView.cpp WirelessNetworkMenuItem.cpp - : be libshared.a $(HAIKU_LOCALE_LIBS) $(icon_libs) $(TARGET_NETWORK_LIBS) + : be libshared.a localestub $(icon_libs) $(TARGET_NETWORK_LIBS) libbnetapi.so $(TARGET_LIBSTDC++) : NetworkStatus.rdef NetworkStatusIcons.rdef ; diff --git a/src/apps/overlayimage/Jamfile b/src/apps/overlayimage/Jamfile index def9cb8703..634c9cd18c 100644 --- a/src/apps/overlayimage/Jamfile +++ b/src/apps/overlayimage/Jamfile @@ -5,7 +5,7 @@ Application OverlayImage : OverlayView.cpp OverlayWindow.cpp - : be libtranslation.so $(TARGET_LIBSTDC++) $(HAIKU_LOCALE_LIBS) + : be libtranslation.so $(TARGET_LIBSTDC++) localestub : OverlayImage.rdef ; diff --git a/src/apps/packageinstaller/Jamfile b/src/apps/packageinstaller/Jamfile index e11235a1f2..26ddba7624 100644 --- a/src/apps/packageinstaller/Jamfile +++ b/src/apps/packageinstaller/Jamfile @@ -19,7 +19,7 @@ Application PackageInstaller : PackageTextViewer.cpp PackageImageViewer.cpp InstalledPackageInfo.cpp - : be $(HAIKU_LOCALE_LIBS) tracker translation + : be localestub tracker translation [ BuildFeatureAttribute zlib : library ] $(TARGET_LIBSUPC++) : PackageInstaller.rdef diff --git a/src/apps/packagemanager/Jamfile b/src/apps/packagemanager/Jamfile index 2a59ff8c7b..3126298213 100644 --- a/src/apps/packagemanager/Jamfile +++ b/src/apps/packagemanager/Jamfile @@ -6,7 +6,7 @@ Application PackageManager : ApplicationView.cpp ApplicationWindow.cpp PackageManager.cpp - : be $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSUPC++) translation + : be localestub $(TARGET_LIBSUPC++) translation : PackageManager.rdef ; diff --git a/src/apps/pairs/Jamfile b/src/apps/pairs/Jamfile index a8585d066f..21541a51c4 100644 --- a/src/apps/pairs/Jamfile +++ b/src/apps/pairs/Jamfile @@ -6,7 +6,7 @@ Application Pairs : PairsView.cpp PairsTopButton.cpp - : be $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSTDC++) + : be localestub $(TARGET_LIBSTDC++) : Pairs.rdef ; diff --git a/src/apps/people/Jamfile b/src/apps/people/Jamfile index a5206f1444..1a0f1d3fdf 100644 --- a/src/apps/people/Jamfile +++ b/src/apps/people/Jamfile @@ -10,7 +10,7 @@ Application People : PersonWindow.cpp PictureView.cpp : be tracker translation - $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) + $(TARGET_LIBSUPC++) localestub : People.rdef ; diff --git a/src/apps/poorman/Jamfile b/src/apps/poorman/Jamfile index 29f7007c98..ca3a0c4aac 100644 --- a/src/apps/poorman/Jamfile +++ b/src/apps/poorman/Jamfile @@ -51,7 +51,7 @@ Application PoorMan : PoorMan.cpp match.c tdate_parse.c - : be network tracker $(TARGET_LIBSTDC++) $(HAIKU_LOCALE_LIBS) + : be network tracker $(TARGET_LIBSTDC++) localestub ; diff --git a/src/apps/powerstatus/Jamfile b/src/apps/powerstatus/Jamfile index 59d8d7a82d..3c757a8e13 100644 --- a/src/apps/powerstatus/Jamfile +++ b/src/apps/powerstatus/Jamfile @@ -13,7 +13,7 @@ Application PowerStatus : PowerStatusWindow.cpp PowerStatusView.cpp PowerStatus.cpp - : be libshared.a $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) + : be libshared.a $(TARGET_LIBSUPC++) localestub : PowerStatus.rdef ; DoCatalogs PowerStatus : diff --git a/src/apps/processcontroller/Jamfile b/src/apps/processcontroller/Jamfile index a5494703b6..ca8f24c59e 100644 --- a/src/apps/processcontroller/Jamfile +++ b/src/apps/processcontroller/Jamfile @@ -21,7 +21,7 @@ Application ProcessController : ThreadBarMenu.cpp ThreadBarMenuItem.cpp Utilities.cpp - : be libshared.a $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) + : be libshared.a $(TARGET_LIBSUPC++) localestub : ProcessController.rdef ; diff --git a/src/apps/pulse/Jamfile b/src/apps/pulse/Jamfile index feac93a547..ae4c712aa7 100644 --- a/src/apps/pulse/Jamfile +++ b/src/apps/pulse/Jamfile @@ -23,7 +23,7 @@ Application Pulse : PulseView.cpp PulseWindow.cpp - : be $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSUPC++) + : be localestub $(TARGET_LIBSUPC++) : Pulse.rdef ; diff --git a/src/apps/screenshot/Jamfile b/src/apps/screenshot/Jamfile index 182e475ec2..34bf43f26e 100644 --- a/src/apps/screenshot/Jamfile +++ b/src/apps/screenshot/Jamfile @@ -8,7 +8,7 @@ Application Screenshot : ScreenshotApp.cpp ScreenshotWindow.cpp Utility.cpp - : be $(HAIKU_LOCALE_LIBS) tracker translation $(TARGET_LIBSUPC++) + : be localestub tracker translation $(TARGET_LIBSUPC++) : ScreenshotApp.rdef ; @@ -22,7 +22,7 @@ DoCatalogs Screenshot : Application screenshot : Screenshot.cpp Utility.cpp - : be $(HAIKU_LOCALE_LIBS) translation $(TARGET_LIBSUPC++) + : be localestub translation $(TARGET_LIBSUPC++) : Screenshot.rdef ; diff --git a/src/apps/serialconnect/Jamfile b/src/apps/serialconnect/Jamfile index 1d04a0c251..f1ad7342d0 100644 --- a/src/apps/serialconnect/Jamfile +++ b/src/apps/serialconnect/Jamfile @@ -16,6 +16,6 @@ Application SerialConnect : state.c unicode.c vterm.c - : be device tracker $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSUPC++) + : be device tracker localestub $(TARGET_LIBSUPC++) ; diff --git a/src/apps/showimage/Jamfile b/src/apps/showimage/Jamfile index 3ff8552b08..a0195e75f9 100644 --- a/src/apps/showimage/Jamfile +++ b/src/apps/showimage/Jamfile @@ -21,7 +21,7 @@ Application ShowImage : ShowImageWindow.cpp ToolBarIcons.cpp ToolBarView.cpp - : libshared.a be tracker translation $(HAIKU_LOCALE_LIBS) + : libshared.a be tracker translation localestub $(TARGET_LIBSTDC++) $(TARGET_LIBSUPC++) : ShowImage.rdef ; diff --git a/src/apps/soundrecorder/Jamfile b/src/apps/soundrecorder/Jamfile index 49966af798..a223991981 100644 --- a/src/apps/soundrecorder/Jamfile +++ b/src/apps/soundrecorder/Jamfile @@ -17,7 +17,7 @@ Application SoundRecorder : UpDownButton.cpp VUView.cpp VolumeSlider.cpp - : be $(HAIKU_LOCALE_LIBS) media tracker $(TARGET_LIBSTDC++) + : be localestub media tracker $(TARGET_LIBSTDC++) : SoundRecorder.rdef ; diff --git a/src/apps/stylededit/Jamfile b/src/apps/stylededit/Jamfile index 1cd8e88651..e0b59bae1f 100644 --- a/src/apps/stylededit/Jamfile +++ b/src/apps/stylededit/Jamfile @@ -17,7 +17,7 @@ Application StyledEdit : StyledEditApp.cpp StyledEditView.cpp StyledEditWindow.cpp - : be translation tracker libtextencoding.so $(HAIKU_LOCALE_LIBS) + : be translation tracker libtextencoding.so localestub $(TARGET_LIBSUPC++) : $(styled_edit_rsrc) ; diff --git a/src/apps/sudoku/Jamfile b/src/apps/sudoku/Jamfile index 64423233ed..51f31eefc5 100644 --- a/src/apps/sudoku/Jamfile +++ b/src/apps/sudoku/Jamfile @@ -12,7 +12,7 @@ Application Sudoku : SudokuView.cpp SudokuWindow.cpp - : be tracker $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSTDC++) + : be tracker localestub $(TARGET_LIBSTDC++) : Sudoku.rdef ; diff --git a/src/apps/switcher/Jamfile b/src/apps/switcher/Jamfile index 504f6d83ce..1d561a2e15 100644 --- a/src/apps/switcher/Jamfile +++ b/src/apps/switcher/Jamfile @@ -12,6 +12,6 @@ Application Switcher : WindowsView.cpp : be translation $(TARGET_LIBSTDC++) $(TARGET_LIBSUPC++) - $(HAIKU_LOCALE_LIBS) libshared.a + localestub libshared.a : Switcher.rdef ; diff --git a/src/apps/terminal/Jamfile b/src/apps/terminal/Jamfile index 98a062afa8..3d112fcaed 100644 --- a/src/apps/terminal/Jamfile +++ b/src/apps/terminal/Jamfile @@ -40,7 +40,7 @@ Application Terminal : TitlePlaceholderMapper.cpp VTKeyTbl.c VTPrsTbl.c - : be $(HAIKU_LOCALE_LIBS) tracker textencoding + : be localestub tracker textencoding $(TARGET_LIBSUPC++) $(TARGET_LIBSTDC++) : Terminal.rdef XColors.rdef ; diff --git a/src/apps/text_search/Jamfile b/src/apps/text_search/Jamfile index dddd9dea9c..5ef190a85e 100644 --- a/src/apps/text_search/Jamfile +++ b/src/apps/text_search/Jamfile @@ -24,7 +24,7 @@ Application TextSearch : $(additionalBeOSSources) - : be $(HAIKU_LOCALE_LIBS) tracker textencoding libshared.a + : be localestub tracker textencoding libshared.a $(TARGET_LIBSUPC++) : TextSearch.rdef ; diff --git a/src/apps/tracker/Jamfile b/src/apps/tracker/Jamfile index 8e65492266..259523a2cf 100644 --- a/src/apps/tracker/Jamfile +++ b/src/apps/tracker/Jamfile @@ -9,7 +9,7 @@ SubDirHdrs $(HAIKU_TOP) src kits tracker ; Application Tracker : main.cpp - : be tracker $(HAIKU_LOCALE_LIBS) + : be tracker localestub : Tracker.rdef ; diff --git a/src/apps/tv/Jamfile b/src/apps/tv/Jamfile index 95a15fa211..47b49e9529 100644 --- a/src/apps/tv/Jamfile +++ b/src/apps/tv/Jamfile @@ -8,7 +8,7 @@ Application TV : MainWin.cpp VideoNode.cpp VideoView.cpp - : be $(HAIKU_LOCALE_LIBS) media $(TARGET_LIBSUPC++) + : be localestub media $(TARGET_LIBSUPC++) : tv.rdef ; diff --git a/src/apps/webpositive/Jamfile b/src/apps/webpositive/Jamfile index 584d37794d..6fc7dd5718 100644 --- a/src/apps/webpositive/Jamfile +++ b/src/apps/webpositive/Jamfile @@ -60,7 +60,7 @@ Application WebPositive : $(sources) : $(HAIKU_WEBKIT_LIBS) - $(TARGET_LIBSTDC++) $(HAIKU_LOCALE_LIBS) + $(TARGET_LIBSTDC++) localestub be libshared.a network tracker translation : WebPositive.rdef diff --git a/src/apps/webwatch/Jamfile b/src/apps/webwatch/Jamfile index a88a1a2b9c..3764f04eca 100644 --- a/src/apps/webwatch/Jamfile +++ b/src/apps/webwatch/Jamfile @@ -5,7 +5,7 @@ SetSubDirSupportedPlatformsBeOSCompatible ; Application WebWatch : WatchApp.cpp WatchView.cpp - : be $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSUPC++) + : be localestub $(TARGET_LIBSUPC++) : WebWatch.rdef ; diff --git a/src/apps/workspaces/Jamfile b/src/apps/workspaces/Jamfile index cdc936ac87..1922be596c 100644 --- a/src/apps/workspaces/Jamfile +++ b/src/apps/workspaces/Jamfile @@ -7,7 +7,7 @@ UsePrivateHeaders app interface shared ; Application Workspaces : Workspaces.cpp - : be libshared.a $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSUPC++) + : be libshared.a localestub $(TARGET_LIBSUPC++) : Workspaces.rdef ; diff --git a/src/bin/Jamfile b/src/bin/Jamfile index 617ed5b2e2..06abda94e3 100644 --- a/src/bin/Jamfile +++ b/src/bin/Jamfile @@ -127,12 +127,12 @@ StdBinCommands StdBinCommands clockconfig.cpp query.cpp - : be $(HAIKU_LOCALE_LIBS) : $(haiku-utils_rsrc) ; + : be localestub : $(haiku-utils_rsrc) ; # commands that need libbe.so, libsupc++.so and the stub catalog StdBinCommands dstcheck.cpp - : be $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) : $(haiku-utils_rsrc) ; + : be $(TARGET_LIBSUPC++) localestub : $(haiku-utils_rsrc) ; # Haiku-specific apps which need libbe.so if $(TARGET_PLATFORM) = haiku { @@ -194,7 +194,8 @@ StdBinCommands ObjectHdrs [ FGristFiles listusb$(SUFOBJ) ] : [ FDirName $(SUBDIR) $(DOTDOT) add-ons kernel bus_managers usb ] - [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR) apps devices ] ; + [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) + apps devices ] ; Includes [ FGristFiles listusb.cpp ] : usbhdr.h ; # standard commands that need libbluetooth.so, due the Bluetooth Kit @@ -215,7 +216,7 @@ StdBinCommands #standard commands that need libbe.so, libtracker.so and the stub catalog StdBinCommands filepanel.cpp - : be tracker $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) : $(haiku-utils_rsrc) ; + : be tracker $(TARGET_LIBSUPC++) localestub : $(haiku-utils_rsrc) ; # standard commands that need libncurses.a StdBinCommands diff --git a/src/bin/bash/Jamfile b/src/bin/bash/Jamfile index 5adda6b3b6..240632cd0e 100644 --- a/src/bin/bash/Jamfile +++ b/src/bin/bash/Jamfile @@ -3,20 +3,22 @@ SubDir HAIKU_TOP src bin bash ; SetSubDirSupportedPlatformsBeOSCompatible ; # split the canonical target string -local cpuName = [ Match "([^-]*)-.*" : $(HAIKU_GCC_MACHINE) ] ; -local vendorName = [ Match "[^-]*-([^-]*)" : $(HAIKU_GCC_MACHINE) ] ; -local osName = [ Match "[^-]*-[^-]*-([^-]*)" : $(HAIKU_GCC_MACHINE) ] ; +local gccMachine = $(HAIKU_GCC_MACHINE_$(TARGET_PACKAGING_ARCH)) ; +local cpuName = [ Match "([^-]*)-.*" : $(gccMachine) ] ; +local vendorName = [ Match "[^-]*-([^-]*)" : $(gccMachine) ] ; +local osName = [ Match "[^-]*-[^-]*-([^-]*)" : $(gccMachine) ] ; SubDirCcFlags -DHAVE_CONFIG_H -DPROGRAM='\"bash\"' -DSHELL -DLOCALEDIR='\"/boot/common/share/locale\"' -DPACKAGE='\"bash\"' ; -SubDirCcFlags -DCONF_MACHTYPE='\"$(HAIKU_GCC_MACHINE)\"' ; +SubDirCcFlags -DCONF_MACHTYPE='\"$(gccMachine)\"' ; SubDirCcFlags -DCONF_HOSTTYPE='\"$(cpuName)\"' ; SubDirCcFlags -DCONF_VENDOR='\"$(vendorName)\"' ; #SubDirCcFlags -DCONF_OSTYPE='\"$(osName)\"' ; SubDirCcFlags -DCONF_OSTYPE='\"beos\"' ; # filter warnings we don't want here -TARGET_WARNING_CCFLAGS = [ FFilter $(TARGET_WARNING_CCFLAGS) - : -Wall -Wmissing-prototypes -Wsign-compare ] ; +TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH) + = [ FFilter $(TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH)) + : -Wall -Wmissing-prototypes -Wsign-compare ] ; SubDirSysHdrs [ FDirName $(SUBDIR) include ] ; SubDirSysHdrs [ FDirName $(SUBDIR) lib ] ; diff --git a/src/bin/bash/builtins/Jamfile b/src/bin/bash/builtins/Jamfile index d01a83ba68..18da7dcc50 100644 --- a/src/bin/bash/builtins/Jamfile +++ b/src/bin/bash/builtins/Jamfile @@ -3,8 +3,9 @@ SubDir HAIKU_TOP src bin bash builtins ; SetSubDirSupportedPlatformsBeOSCompatible ; # filter warnings we don't want here -TARGET_WARNING_CCFLAGS = [ FFilter $(TARGET_WARNING_CCFLAGS) - : -Wall -Wmissing-prototypes -Wsign-compare ] ; +TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH) + = [ FFilter $(TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH)) + : -Wall -Wmissing-prototypes -Wsign-compare ] ; SubDirCcFlags -DHAVE_CONFIG_H -DSHELL ; diff --git a/src/bin/bash/lib/glob/Jamfile b/src/bin/bash/lib/glob/Jamfile index 1efbd091bd..75c51e5e24 100644 --- a/src/bin/bash/lib/glob/Jamfile +++ b/src/bin/bash/lib/glob/Jamfile @@ -3,8 +3,9 @@ SubDir HAIKU_TOP src bin bash lib glob ; SetSubDirSupportedPlatformsBeOSCompatible ; # filter warnings we don't want here -TARGET_WARNING_CCFLAGS = [ FFilter $(TARGET_WARNING_CCFLAGS) - : -Wall -Wmissing-prototypes -Wsign-compare ] ; +TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH) + = [ FFilter $(TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH)) + : -Wall -Wmissing-prototypes -Wsign-compare ] ; SubDirCcFlags -DHAVE_CONFIG_H -DSHELL ; diff --git a/src/bin/bash/lib/readline/Jamfile b/src/bin/bash/lib/readline/Jamfile index 178e35541a..fcb3e14918 100644 --- a/src/bin/bash/lib/readline/Jamfile +++ b/src/bin/bash/lib/readline/Jamfile @@ -3,8 +3,9 @@ SubDir HAIKU_TOP src bin bash lib readline ; SetSubDirSupportedPlatformsBeOSCompatible ; # filter warnings we don't want here -TARGET_WARNING_CCFLAGS = [ FFilter $(TARGET_WARNING_CCFLAGS) - : -Wall -Wmissing-prototypes -Wsign-compare ] ; +TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH) + = [ FFilter $(TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH)) + : -Wall -Wmissing-prototypes -Wsign-compare ] ; SubDirCcFlags -DHAVE_CONFIG_H -DSHELL ; diff --git a/src/bin/bash/lib/sh/Jamfile b/src/bin/bash/lib/sh/Jamfile index 0267eef9e8..c94a9744c6 100644 --- a/src/bin/bash/lib/sh/Jamfile +++ b/src/bin/bash/lib/sh/Jamfile @@ -3,8 +3,9 @@ SubDir HAIKU_TOP src bin bash lib sh ; SetSubDirSupportedPlatformsBeOSCompatible ; # filter warnings we don't want here -TARGET_WARNING_CCFLAGS = [ FFilter $(TARGET_WARNING_CCFLAGS) - : -Wall -Wmissing-prototypes -Wsign-compare ] ; +TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH) + = [ FFilter $(TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH)) + : -Wall -Wmissing-prototypes -Wsign-compare ] ; SubDirCcFlags -DHAVE_CONFIG_H -DSHELL ; diff --git a/src/bin/bash/lib/tilde/Jamfile b/src/bin/bash/lib/tilde/Jamfile index 0e290dad40..44fe6324ff 100644 --- a/src/bin/bash/lib/tilde/Jamfile +++ b/src/bin/bash/lib/tilde/Jamfile @@ -3,8 +3,9 @@ SubDir HAIKU_TOP src bin bash lib tilde ; SetSubDirSupportedPlatformsBeOSCompatible ; # filter warnings we don't want here -TARGET_WARNING_CCFLAGS = [ FFilter $(TARGET_WARNING_CCFLAGS) - : -Wall -Wmissing-prototypes -Wsign-compare ] ; +TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH) + = [ FFilter $(TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH)) + : -Wall -Wmissing-prototypes -Wsign-compare ] ; SubDirCcFlags -DHAVE_CONFIG_H -DSHELL ; diff --git a/src/bin/coreutils/lib/Jamfile b/src/bin/coreutils/lib/Jamfile index 76bc1ff10c..43e49ddb2a 100644 --- a/src/bin/coreutils/lib/Jamfile +++ b/src/bin/coreutils/lib/Jamfile @@ -1,8 +1,9 @@ SubDir HAIKU_TOP src bin coreutils lib ; # filter warnings we don't want here -TARGET_WARNING_CCFLAGS = [ FFilter $(TARGET_WARNING_CCFLAGS) - : -Wall -Wmissing-prototypes -Wsign-compare ] ; +TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH) + = [ FFilter $(TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH)) + : -Wall -Wmissing-prototypes -Wsign-compare ] ; SubDirCcFlags -DHAVE_CONFIG_H -DB_ENABLE_INCOMPLETE_POSIX_AT_SUPPORT ; @@ -247,7 +248,7 @@ local libSources = # 32-bit this isn't problematic as they're compatible, but they are not for 64. # GCC 2 cannot compile the included implementation, so just link to libroot's # one there. -if $(HAIKU_GCC_VERSION[1]) != 2 { +if $(TARGET_GCC_VERSION_$(TARGET_PACKAGING_ARCH)[1]) != 2 { libSources += regex.c ; } diff --git a/src/bin/coreutils/src/Jamfile b/src/bin/coreutils/src/Jamfile index 90fdf17cd9..657f7e2cda 100644 --- a/src/bin/coreutils/src/Jamfile +++ b/src/bin/coreutils/src/Jamfile @@ -1,8 +1,9 @@ SubDir HAIKU_TOP src bin coreutils src ; # filter warnings we don't want here -TARGET_WARNING_CCFLAGS = [ FFilter $(TARGET_WARNING_CCFLAGS) - : -Wall -Wmissing-prototypes -Wsign-compare ] ; +TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH) + = [ FFilter $(TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH)) + : -Wall -Wmissing-prototypes -Wsign-compare ] ; SubDirCcFlags -DHAVE_CONFIG_H -DB_ENABLE_INCOMPLETE_POSIX_AT_SUPPORT ; SubDirSysHdrs [ FDirName $(SUBDIR) $(DOTDOT) lib ] ; @@ -98,7 +99,7 @@ StdBinCommands pwd.c sleep.c sort.c - : libfetish.a libroot.so : $(coreutils_rsrc) ; + : libfetish.a : $(coreutils_rsrc) ; # df.c # hostid.c @@ -118,21 +119,21 @@ BinCommand ls : ls.c ls-ls.c : libfetish.a : $(coreutils_rsrc) ; BinCommand rm : - rm.c remove.c : libfetish.a libroot.so : $(coreutils_rsrc) ; + rm.c remove.c : libfetish.a : $(coreutils_rsrc) ; BinCommand chgrp : - chgrp.c chown-core.c : libfetish.a libroot.so : $(coreutils_rsrc) ; + chgrp.c chown-core.c : libfetish.a : $(coreutils_rsrc) ; BinCommand chown : chown.c [ FGristFiles chown-core.o ] - : libfetish.a libroot.so : $(coreutils_rsrc) ; + : libfetish.a : $(coreutils_rsrc) ; BinCommand cp : cp.c copy.c cp-hash.c : libfetish.a : $(coreutils_rsrc) ; BinCommand mv : mv.c [ FGristFiles copy.o cp-hash.o remove.o ] - : libfetish.a libroot.so : $(coreutils_rsrc) ; + : libfetish.a : $(coreutils_rsrc) ; BinCommand md5sum : md5sum-md5sum.c : libfetish.a : $(coreutils_rsrc) ; BinCommand sha1sum : md5sum-sha1sum.c : libfetish.a : $(coreutils_rsrc) ; @@ -150,9 +151,9 @@ BinCommand dir : BinCommand install : install.c prog-fprintf.c [ FGristFiles copy.o cp-hash.o ] : libfetish.a : $(coreutils_rsrc) ; -BinCommand mkdir : mkdir.c [ FGristFiles prog-fprintf.o ] : libfetish.a libroot.so : $(coreutils_rsrc) ; +BinCommand mkdir : mkdir.c [ FGristFiles prog-fprintf.o ] : libfetish.a : $(coreutils_rsrc) ; -BinCommand rmdir : rmdir.c [ FGristFiles prog-fprintf.o ] : libfetish.a libroot.so : $(coreutils_rsrc) ; +BinCommand rmdir : rmdir.c [ FGristFiles prog-fprintf.o ] : libfetish.a : $(coreutils_rsrc) ; BinCommand uname : uname.c uname-uname.c : libfetish.a $(TARGET_SELECT_UNAME_ETC_LIB) : $(coreutils_rsrc) ; diff --git a/src/bin/debug/strace/Jamfile b/src/bin/debug/strace/Jamfile index 2761424092..d3b37777ff 100644 --- a/src/bin/debug/strace/Jamfile +++ b/src/bin/debug/strace/Jamfile @@ -55,4 +55,5 @@ BinCommand strace : $(straceSources) ; # We need to specify the dependency on the generated syscalls file explicitly. -Includes $(straceSyscallsSource) : strace_syscalls.h ; +Includes $(straceSyscallsSource) + : strace_syscalls.h ; diff --git a/src/bin/desklink/Jamfile b/src/bin/desklink/Jamfile index 08150d432f..fec8bd616d 100644 --- a/src/bin/desklink/Jamfile +++ b/src/bin/desklink/Jamfile @@ -12,7 +12,7 @@ BinCommand desklink : VolumeControl.cpp VolumeWindow.cpp - : be libmedia.so $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSUPC++) + : be libmedia.so localestub $(TARGET_LIBSUPC++) : desklink.rdef ; diff --git a/src/bin/diffutils/lib/Jamfile b/src/bin/diffutils/lib/Jamfile index d8bf4f1a7f..7cfee300e2 100644 --- a/src/bin/diffutils/lib/Jamfile +++ b/src/bin/diffutils/lib/Jamfile @@ -1,8 +1,9 @@ SubDir HAIKU_TOP src bin diffutils lib ; # filter warnings we don't want here -TARGET_WARNING_CCFLAGS = [ FFilter $(TARGET_WARNING_CCFLAGS) - : -Wall -Wmissing-prototypes -Wsign-compare ] ; +TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH) + = [ FFilter $(TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH)) + : -Wall -Wmissing-prototypes -Wsign-compare ] ; SubDirCcFlags -DHAVE_CONFIG_H ; SubDirSysHdrs $(SUBDIR) ; diff --git a/src/bin/diffutils/src/Jamfile b/src/bin/diffutils/src/Jamfile index cc19e90261..a354e73b3f 100644 --- a/src/bin/diffutils/src/Jamfile +++ b/src/bin/diffutils/src/Jamfile @@ -1,8 +1,9 @@ SubDir HAIKU_TOP src bin diffutils src ; # filter warnings we don't want here -TARGET_WARNING_CCFLAGS = [ FFilter $(TARGET_WARNING_CCFLAGS) - : -Wall -Wmissing-prototypes -Wsign-compare ] ; +TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH) + = [ FFilter $(TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH)) + : -Wall -Wmissing-prototypes -Wsign-compare ] ; SubDirCcFlags -DHAVE_CONFIG_H -DLOCALEDIR=\'\"/share/locale\"\' -DPR_PROGRAM=\'\"/bin/pr\"\' -DDEFAULT_DIFF_PROGRAM=\'\"diff\"\' -D__USE_GNU ; SubDirSysHdrs [ FDirName $(SUBDIR) $(DOTDOT) lib ] ; diff --git a/src/bin/findutils/find/Jamfile b/src/bin/findutils/find/Jamfile index 8f570f91b5..728d4d132a 100644 --- a/src/bin/findutils/find/Jamfile +++ b/src/bin/findutils/find/Jamfile @@ -5,8 +5,9 @@ SubDirSysHdrs [ FDirName $(SUBDIR) $(DOTDOT) lib ] ; SubDirSysHdrs [ FDirName $(SUBDIR) $(DOTDOT) ] ; # filter warnings we don't want here -TARGET_WARNING_CCFLAGS = [ FFilter $(TARGET_WARNING_CCFLAGS) - : -Wall -Wmissing-prototypes -Wsign-compare ] ; +TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH) + = [ FFilter $(TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH)) + : -Wall -Wmissing-prototypes -Wsign-compare ] ; # set some additional defines { diff --git a/src/bin/findutils/gnulib/lib/Jamfile b/src/bin/findutils/gnulib/lib/Jamfile index 57b6a7c673..480a8ca49f 100644 --- a/src/bin/findutils/gnulib/lib/Jamfile +++ b/src/bin/findutils/gnulib/lib/Jamfile @@ -4,8 +4,9 @@ SubDirSysHdrs [ FDirName $(SUBDIR) ] ; SubDirSysHdrs [ FDirName $(SUBDIR) $(DOTDOT) $(DOTDOT) ] ; # filter warnings we don't want here -TARGET_WARNING_CCFLAGS = [ FFilter $(TARGET_WARNING_CCFLAGS) - : -Wall -Wmissing-prototypes -Wsign-compare ] ; +TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH) + = [ FFilter $(TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH)) + : -Wall -Wmissing-prototypes -Wsign-compare ] ; # set some additional defines { diff --git a/src/bin/findutils/lib/Jamfile b/src/bin/findutils/lib/Jamfile index ab4da269c3..9328bdacf7 100644 --- a/src/bin/findutils/lib/Jamfile +++ b/src/bin/findutils/lib/Jamfile @@ -4,8 +4,9 @@ SubDirSysHdrs [ FDirName $(SUBDIR) $(DOTDOT) gnulib lib ] ; SubDirSysHdrs [ FDirName $(SUBDIR) $(DOTDOT) ] ; # filter warnings we don't want here -TARGET_WARNING_CCFLAGS = [ FFilter $(TARGET_WARNING_CCFLAGS) - : -Wall -Wmissing-prototypes -Wsign-compare ] ; +TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH) + = [ FFilter $(TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH)) + : -Wall -Wmissing-prototypes -Wsign-compare ] ; # set some additional defines { diff --git a/src/bin/findutils/locate/Jamfile b/src/bin/findutils/locate/Jamfile index 2e75fd23d3..a735ff15fa 100644 --- a/src/bin/findutils/locate/Jamfile +++ b/src/bin/findutils/locate/Jamfile @@ -5,8 +5,9 @@ SubDirSysHdrs [ FDirName $(SUBDIR) $(DOTDOT) lib ] ; SubDirSysHdrs [ FDirName $(SUBDIR) $(DOTDOT) ] ; # filter warnings we don't want here -TARGET_WARNING_CCFLAGS = [ FFilter $(TARGET_WARNING_CCFLAGS) - : -Wall -Wmissing-prototypes -Wsign-compare ] ; +TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH) + = [ FFilter $(TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH)) + : -Wall -Wmissing-prototypes -Wsign-compare ] ; # set some additional defines { diff --git a/src/bin/findutils/xargs/Jamfile b/src/bin/findutils/xargs/Jamfile index d7230589c7..a0e1a390e8 100644 --- a/src/bin/findutils/xargs/Jamfile +++ b/src/bin/findutils/xargs/Jamfile @@ -5,8 +5,9 @@ SubDirSysHdrs [ FDirName $(SUBDIR) $(DOTDOT) lib ] ; SubDirSysHdrs [ FDirName $(SUBDIR) $(DOTDOT) ] ; # filter warnings we don't want here -TARGET_WARNING_CCFLAGS = [ FFilter $(TARGET_WARNING_CCFLAGS) - : -Wall -Wmissing-prototypes -Wsign-compare ] ; +TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH) + = [ FFilter $(TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH)) + : -Wall -Wmissing-prototypes -Wsign-compare ] ; # set some additional defines { diff --git a/src/bin/gawk/Jamfile b/src/bin/gawk/Jamfile index 4fd9b38e7b..33f8e39ffb 100644 --- a/src/bin/gawk/Jamfile +++ b/src/bin/gawk/Jamfile @@ -3,8 +3,9 @@ SubDir HAIKU_TOP src bin gawk ; SetSubDirSupportedPlatformsBeOSCompatible ; # filter warnings we don't want here -TARGET_WARNING_CCFLAGS = [ FFilter $(TARGET_WARNING_CCFLAGS) - : -Wall -Wmissing-prototypes -Wsign-compare ] ; +TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH) + = [ FFilter $(TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH)) + : -Wall -Wmissing-prototypes -Wsign-compare ] ; SubDirCcFlags -DDEFPATH='\".:/share/awk\"' -DHAVE_CONFIG_H -DGAWK -DLOCALEDIR='\"/share/locale\"' ; diff --git a/src/bin/gawk/intl/Jamfile b/src/bin/gawk/intl/Jamfile index 0b03a258e7..b8c4626167 100644 --- a/src/bin/gawk/intl/Jamfile +++ b/src/bin/gawk/intl/Jamfile @@ -3,8 +3,9 @@ SubDir HAIKU_TOP src bin gawk intl ; SetSubDirSupportedPlatformsBeOSCompatible ; # filter warnings we don't want here -TARGET_WARNING_CCFLAGS = [ FFilter $(TARGET_WARNING_CCFLAGS) - : -Wall -Wmissing-prototypes -Wsign-compare ] ; +TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH) + = [ FFilter $(TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH)) + : -Wall -Wmissing-prototypes -Wsign-compare ] ; SubDirCcFlags -DLOCALEDIR='\"/share/locale\"' -DLOCALE_ALIAS_PATH='\"/share/locale\"' -DLIBDIR='\"/usr/local/lib\"' -DIN_LIBINTL -DENABLE_RELOCATABLE=1 -DIN_LIBRARY -DINSTALLDIR='\"/usr/local/lib\"' -DNO_XMALLOC -Dset_relocation_prefix=libintl_set_relocation_prefix -Drelocate=libintl_relocate -DDEPENDS_ON_LIBICONV=1 -DHAVE_CONFIG_H ; diff --git a/src/bin/gdb/gdb/Jamfile b/src/bin/gdb/gdb/Jamfile index 9860845224..c684a83159 100644 --- a/src/bin/gdb/gdb/Jamfile +++ b/src/bin/gdb/gdb/Jamfile @@ -17,8 +17,9 @@ SubDirCcFlags -DHAVE_CONFIG_H -DLOCALEDIR=\\\"/etc/locale\\\" -DMI_OUT=1 -DTUI=1 ; # filter warnings we don't want here -TARGET_WARNING_CCFLAGS = [ FFilter $(TARGET_WARNING_CCFLAGS) - : -Wall -Wmissing-prototypes -Wsign-compare ] ; +TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH) + = [ FFilter $(TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH)) + : -Wall -Wmissing-prototypes -Wsign-compare ] ; SEARCH_SOURCE += [ FDirName $(SUBDIR) cli ] ; SEARCH_SOURCE += [ FDirName $(SUBDIR) mi ] ; @@ -287,7 +288,6 @@ BinCommand gdb : gdb.c : libncurses.a - libroot.so libdebug.so libnetwork.so ; diff --git a/src/bin/gdb/libiberty/Jamfile b/src/bin/gdb/libiberty/Jamfile index 57a02b9e53..53452bd2c4 100644 --- a/src/bin/gdb/libiberty/Jamfile +++ b/src/bin/gdb/libiberty/Jamfile @@ -1,8 +1,9 @@ SubDir HAIKU_TOP src bin gdb libiberty ; # filter warnings we don't want here -TARGET_WARNING_CCFLAGS = [ FFilter $(TARGET_WARNING_CCFLAGS) - : -Wmissing-prototypes -Wsign-compare ] ; +TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH) + = [ FFilter $(TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH)) + : -Wmissing-prototypes -Wsign-compare ] ; SubDirCcFlags -DHAVE_CONFIG_H ; diff --git a/src/bin/gdb/readline/Jamfile b/src/bin/gdb/readline/Jamfile index 19b66590a1..396b27a49a 100644 --- a/src/bin/gdb/readline/Jamfile +++ b/src/bin/gdb/readline/Jamfile @@ -1,8 +1,9 @@ SubDir HAIKU_TOP src bin gdb readline ; # filter warnings we don't want here -TARGET_WARNING_CCFLAGS = [ FFilter $(TARGET_WARNING_CCFLAGS) - : -Wall -Wmissing-prototypes -Wsign-compare ] ; +TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH) + = [ FFilter $(TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH)) + : -Wall -Wmissing-prototypes -Wsign-compare ] ; local RL_LIBRARY_VERSION = 4.3 ; diff --git a/src/bin/less/Jamfile b/src/bin/less/Jamfile index 7553613556..03f37f2f94 100644 --- a/src/bin/less/Jamfile +++ b/src/bin/less/Jamfile @@ -1,8 +1,9 @@ SubDir HAIKU_TOP src bin less ; # filter warnings we don't want here -TARGET_WARNING_CCFLAGS = [ FFilter $(TARGET_WARNING_CCFLAGS) - : -Wall -Wmissing-prototypes ] ; +TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH) + = [ FFilter $(TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH)) + : -Wall -Wmissing-prototypes ] ; SubDirCcFlags -DBINDIR='\"/bin\"' -DSYSDIR='\"/etc\"' ; diff --git a/src/bin/listdev/Jamfile b/src/bin/listdev/Jamfile index be77f186b5..67bc4873c7 100644 --- a/src/bin/listdev/Jamfile +++ b/src/bin/listdev/Jamfile @@ -11,5 +11,6 @@ BinCommand listdev : ; ObjectHdrs [ FGristFiles listdev$(SUFOBJ) ] - : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR) apps devices ] ; + : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) + apps devices ] ; Includes [ FGristFiles listdev.c ] : pcihdr.h ; diff --git a/src/bin/screen_blanker/Jamfile b/src/bin/screen_blanker/Jamfile index ad5b7cd7ae..89f5893e3d 100644 --- a/src/bin/screen_blanker/Jamfile +++ b/src/bin/screen_blanker/Jamfile @@ -16,7 +16,7 @@ BinCommand screen_blanker : # needed for some old/broken screen saver add-ons that do not # link against libscreensaver.so - : be game $(HAIKU_LOCALE_LIBS) libscreensaver.so $(TARGET_LIBSUPC++) + : be game localestub libscreensaver.so $(TARGET_LIBSUPC++) : screen_blanker.rdef ; diff --git a/src/kits/Jamfile b/src/kits/Jamfile index d642ea29b7..24dcc726d5 100644 --- a/src/kits/Jamfile +++ b/src/kits/Jamfile @@ -21,28 +21,34 @@ UsePrivateHeaders app interface kernel locale print shared ; # Build our libbe.so -AddResources libbe.so : - libbe_version.rdef CountryFlags.rdef LanguageFlags.rdef -; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; + local libbe = [ MultiArchDefaultGristFiles libbe.so ] ; + AddResources $(libbe) : + libbe_version.rdef CountryFlags.rdef LanguageFlags.rdef + ; -SetVersionScript libbe.so : libbe_versions ; + SetVersionScript $(libbe) : libbe_versions ; -SharedLibrary libbe.so : : - app_kit.o - interface_kit.o - locale_kit.o - storage_kit.o - support_kit.o + SharedLibrary $(libbe) : : + app_kit.o + interface_kit.o + locale_kit.o + storage_kit.o + support_kit.o - libstorage_kit_mime.a + [ MultiArchDefaultGristFiles libstorage_kit_mime.a ] - libicon.a - libagg.a + [ MultiArchDefaultGristFiles libicon.a ] + [ MultiArchDefaultGristFiles libagg.a ] - libroot.so # make sure it links against our libroot.so - $(TARGET_LIBSTDC++) [ BuildFeatureAttribute icu : libraries ] -; + $(TARGET_LIBSTDC++) [ BuildFeatureAttribute icu : libraries ] + ; + } +} # Build libbe_test.so diff --git a/src/kits/app/Jamfile b/src/kits/app/Jamfile index 85e267bd9e..c4aea7d68d 100644 --- a/src/kits/app/Jamfile +++ b/src/kits/app/Jamfile @@ -19,47 +19,54 @@ if $(RUN_WITHOUT_APP_SERVER) != 0 { UseLibraryHeaders icon ; UsePrivateHeaders shared app interface kernel locale notification ; -UsePrivateSystemHeaders ; SetSubDirSupportedPlatforms haiku libbe_test ; -MergeObject app_kit.o : - AppDefs.cpp - Application.cpp - AppMisc.cpp - AppServerLink.cpp - Cursor.cpp - Clipboard.cpp - DesktopLink.cpp - DirectMessageTarget.cpp - Handler.cpp - InitTerminateLibBe.cpp - Invoker.cpp - LinkReceiver.cpp - LinkSender.cpp - Looper.cpp - LooperList.cpp - Message.cpp - MessageAdapter.cpp - MessageFilter.cpp - MessageQueue.cpp - MessageRunner.cpp - Messenger.cpp - MessageUtils.cpp - Notification.cpp - PropertyInfo.cpp - PortLink.cpp - RegistrarDefs.cpp - Roster.cpp - RosterPrivate.cpp - Server.cpp - ServerLink.cpp - ServerMemoryAllocator.cpp - TokenSpace.cpp - TypeConstants.cpp +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; - # KeyStore implementation - Key.cpp - KeyStore.cpp -; + UsePrivateSystemHeaders ; + MergeObject app_kit.o : + AppDefs.cpp + Application.cpp + AppMisc.cpp + AppServerLink.cpp + Cursor.cpp + Clipboard.cpp + DesktopLink.cpp + DirectMessageTarget.cpp + Handler.cpp + InitTerminateLibBe.cpp + Invoker.cpp + LinkReceiver.cpp + LinkSender.cpp + Looper.cpp + LooperList.cpp + Message.cpp + MessageAdapter.cpp + MessageFilter.cpp + MessageQueue.cpp + MessageRunner.cpp + Messenger.cpp + MessageUtils.cpp + Notification.cpp + PropertyInfo.cpp + PortLink.cpp + RegistrarDefs.cpp + Roster.cpp + RosterPrivate.cpp + Server.cpp + ServerLink.cpp + ServerMemoryAllocator.cpp + TokenSpace.cpp + TypeConstants.cpp + + # KeyStore implementation + Key.cpp + KeyStore.cpp + ; + } +} diff --git a/src/kits/bluetooth/Jamfile b/src/kits/bluetooth/Jamfile index d74378727b..848b32d145 100644 --- a/src/kits/bluetooth/Jamfile +++ b/src/kits/bluetooth/Jamfile @@ -24,7 +24,7 @@ SharedLibrary libbluetooth.so : #UI PincodeWindow.cpp ConnectionIncoming.cpp - : be $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSTDC++) + : be localestub $(TARGET_LIBSTDC++) ; DoCatalogs libbluetooth.so : diff --git a/src/kits/debug/Jamfile b/src/kits/debug/Jamfile index ab4a898784..b054398fc3 100644 --- a/src/kits/debug/Jamfile +++ b/src/kits/debug/Jamfile @@ -6,23 +6,34 @@ UsePrivateHeaders kernel ; UsePrivateHeaders libroot ; UsePrivateHeaders runtime_loader ; UsePrivateHeaders shared ; -UsePrivateSystemHeaders ; SubDirHdrs [ FDirName $(SUBDIR) arch ] ; -SEARCH_SOURCE += [ FDirName $(SUBDIR) arch $(TARGET_ARCH) ] ; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; -SharedLibrary libdebug.so : - debug_support.cpp - DebugContext.cpp - DebugEventStream.cpp - DebugLooper.cpp - DebugMessageHandler.cpp - Image.cpp - SymbolLookup.cpp - TeamDebugger.cpp + UsePrivateSystemHeaders ; - # architecture specific - arch_debug_support.cpp + SEARCH_SOURCE += [ FDirName $(SUBDIR) arch $(TARGET_ARCH) ] ; - : be $(TARGET_LIBSUPC++) -; + local libroot = [ MultiArchConditionalGristFiles libdebug.so + : : $(architecture) ] ; + + SharedLibrary [ MultiArchDefaultGristFiles libdebug.so ] : + debug_support.cpp + DebugContext.cpp + DebugEventStream.cpp + DebugLooper.cpp + DebugMessageHandler.cpp + Image.cpp + SymbolLookup.cpp + TeamDebugger.cpp + + # architecture specific + arch_debug_support.cpp + + : be $(TARGET_LIBSUPC++) + ; + } +} diff --git a/src/kits/interface/Jamfile b/src/kits/interface/Jamfile index 81c59e0b32..5fe62156ad 100644 --- a/src/kits/interface/Jamfile +++ b/src/kits/interface/Jamfile @@ -30,122 +30,129 @@ UsePrivateHeaders app input print interface locale shared support tracker ; UseHeaders [ FDirName $(HAIKU_TOP) src kits tracker ] ; -SEARCH_SOURCE += [ FDirName $(SUBDIR) textview_support ] ; -SEARCH_SOURCE += [ FDirName $(SUBDIR) layouter ] ; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; -MergeObject interface_kit.o : - AbstractLayout.cpp - AbstractLayoutItem.cpp - AffineTransform.cpp - Alert.cpp - Alignment.cpp - Bitmap.cpp - BMCPrivate.cpp - Box.cpp - Button.cpp - CardLayout.cpp - ChannelControl.cpp - ChannelSlider.cpp - CheckBox.cpp - ColorConversion.cpp - ColorControl.cpp - ColorTools.cpp - Control.cpp - ControlLook.cpp - DecorInfo.cpp - Deskbar.cpp - Dragger.cpp - Font.cpp - Gradient.cpp - GradientLinear.cpp - GradientRadial.cpp - GradientRadialFocus.cpp - GradientDiamond.cpp - GradientConic.cpp - GraphicsDefs.cpp - GridLayout.cpp - GridLayoutBuilder.cpp - GridView.cpp - GroupLayout.cpp - GroupLayoutBuilder.cpp - GroupView.cpp - Input.cpp - InterfaceDefs.cpp - Layout.cpp - LayoutContext.cpp - LayoutItem.cpp - LayoutUtils.cpp - ListItem.cpp - ListView.cpp - Menu.cpp - MenuBar.cpp - MenuField.cpp - MenuItem.cpp - MenuPrivate.cpp - MenuWindow.cpp - OptionControl.cpp - OptionPopUp.cpp - OutlineListView.cpp - Picture.cpp - PictureButton.cpp - PictureDataWriter.cpp - PicturePlayer.cpp - Point.cpp - Polygon.cpp - PopUpMenu.cpp - PrintJob.cpp - PrivateScreen.cpp - RadioButton.cpp - Rect.cpp - Region.cpp - RegionSupport.cpp - Screen.cpp - ScrollBar.cpp - ScrollView.cpp - SeparatorItem.cpp - SeparatorView.cpp - Shape.cpp - Shelf.cpp - Size.cpp - Slider.cpp - SpaceLayoutItem.cpp - SplitLayout.cpp - SplitLayoutBuilder.cpp - SplitView.cpp - StatusBar.cpp - StringItem.cpp - StringView.cpp - TabView.cpp - TextControl.cpp - TextInput.cpp - TextView.cpp - ToolTip.cpp - ToolTipManager.cpp - TwoDimensionalLayout.cpp - View.cpp - ViewLayoutItem.cpp - Window.cpp - WindowStack.cpp - ZombieReplicantView.cpp + SEARCH_SOURCE += [ FDirName $(SUBDIR) textview_support ] ; + SEARCH_SOURCE += [ FDirName $(SUBDIR) layouter ] ; - # BTextView support - InlineInput.cpp - LineBuffer.cpp - StyleBuffer.cpp - TextGapBuffer.cpp - UndoBuffer.cpp - WidthBuffer.cpp + MergeObject interface_kit.o : + AbstractLayout.cpp + AbstractLayoutItem.cpp + AffineTransform.cpp + Alert.cpp + Alignment.cpp + Bitmap.cpp + BMCPrivate.cpp + Box.cpp + Button.cpp + CardLayout.cpp + ChannelControl.cpp + ChannelSlider.cpp + CheckBox.cpp + ColorConversion.cpp + ColorControl.cpp + ColorTools.cpp + Control.cpp + ControlLook.cpp + DecorInfo.cpp + Deskbar.cpp + Dragger.cpp + Font.cpp + Gradient.cpp + GradientLinear.cpp + GradientRadial.cpp + GradientRadialFocus.cpp + GradientDiamond.cpp + GradientConic.cpp + GraphicsDefs.cpp + GridLayout.cpp + GridLayoutBuilder.cpp + GridView.cpp + GroupLayout.cpp + GroupLayoutBuilder.cpp + GroupView.cpp + Input.cpp + InterfaceDefs.cpp + Layout.cpp + LayoutContext.cpp + LayoutItem.cpp + LayoutUtils.cpp + ListItem.cpp + ListView.cpp + Menu.cpp + MenuBar.cpp + MenuField.cpp + MenuItem.cpp + MenuPrivate.cpp + MenuWindow.cpp + OptionControl.cpp + OptionPopUp.cpp + OutlineListView.cpp + Picture.cpp + PictureButton.cpp + PictureDataWriter.cpp + PicturePlayer.cpp + Point.cpp + Polygon.cpp + PopUpMenu.cpp + PrintJob.cpp + PrivateScreen.cpp + RadioButton.cpp + Rect.cpp + Region.cpp + RegionSupport.cpp + Screen.cpp + ScrollBar.cpp + ScrollView.cpp + SeparatorItem.cpp + SeparatorView.cpp + Shape.cpp + Shelf.cpp + Size.cpp + Slider.cpp + SpaceLayoutItem.cpp + SplitLayout.cpp + SplitLayoutBuilder.cpp + SplitView.cpp + StatusBar.cpp + StringItem.cpp + StringView.cpp + TabView.cpp + TextControl.cpp + TextInput.cpp + TextView.cpp + ToolTip.cpp + ToolTipManager.cpp + TwoDimensionalLayout.cpp + View.cpp + ViewLayoutItem.cpp + Window.cpp + WindowStack.cpp + ZombieReplicantView.cpp - # layouter - CollapsingLayouter.cpp - ComplexLayouter.cpp - Layouter.cpp - LayoutOptimizer.cpp - OneElementLayouter.cpp - SimpleLayouter.cpp + # BTextView support + InlineInput.cpp + LineBuffer.cpp + StyleBuffer.cpp + TextGapBuffer.cpp + UndoBuffer.cpp + WidthBuffer.cpp - : libshared.a -; + # layouter + CollapsingLayouter.cpp + ComplexLayouter.cpp + Layouter.cpp + LayoutOptimizer.cpp + OneElementLayouter.cpp + SimpleLayouter.cpp + + : [ MultiArchDefaultGristFiles libshared.a ] + ; + } +} StaticLibrary libcolumnlistview.a : ColumnListView.cpp diff --git a/src/kits/locale/Jamfile b/src/kits/locale/Jamfile index 47cf074b9d..d026593b7e 100644 --- a/src/kits/locale/Jamfile +++ b/src/kits/locale/Jamfile @@ -4,7 +4,6 @@ AddSubDirSupportedPlatforms libbe_test ; UsePrivateHeaders locale shared ; UsePublicHeaders locale storage ; -UseBuildFeatureHeaders icu ; local sources = cat.cpp @@ -49,15 +48,24 @@ local sources = # NumberFormatParameters.cpp ; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; -Includes [ FGristFiles $(sources) ] : [ BuildFeatureAttribute icu : headers ] ; - # Dependency needed to trigger downloading/unzipping the package before - # compiling the files. + UseBuildFeatureHeaders icu ; -MergeObject locale_kit.o : - $(sources) - ; + Includes [ FGristFiles $(sources) ] + : [ BuildFeatureAttribute icu : headers ] ; + # Dependency needed to trigger downloading/unzipping the package + # before compiling the files. -StaticLibrary liblocalestub.a - : CatalogStub.cpp - ; + MergeObject locale_kit.o : + $(sources) + ; + + StaticLibrary <$(architecture)>liblocalestub.a + : CatalogStub.cpp + ; + } +} diff --git a/src/kits/mail/Jamfile b/src/kits/mail/Jamfile index a053f84cff..4b066b0cb6 100644 --- a/src/kits/mail/Jamfile +++ b/src/kits/mail/Jamfile @@ -58,7 +58,7 @@ SharedLibrary libmail.so : $(TARGET_NETWORK_LIBS) $(TARGET_SELECT_UNAME_ETC_LIB) [ BuildFeatureAttribute openssl : libraries ] - $(HAIKU_LOCALE_LIBS) + localestub ; diff --git a/src/kits/opengl/Jamfile b/src/kits/opengl/Jamfile index c71f21771a..0a56c19ce4 100644 --- a/src/kits/opengl/Jamfile +++ b/src/kits/opengl/Jamfile @@ -37,7 +37,7 @@ LINKFLAGS on libGL.so = [ on libGL.so return $(LINKFLAGS) ] -Xlinker --whole-archive -Xlinker --no-undefined ; # For GCC2 -if $(HAIKU_GCC_VERSION[1]) < 3 { +if $(TARGET_GCC_VERSION_$(TARGET_PACKAGING_ARCH)[1]) < 3 { SubDirC++Flags --no-warnings ; } diff --git a/src/kits/shared/Jamfile b/src/kits/shared/Jamfile index 3ef2481b24..d1df6524ce 100644 --- a/src/kits/shared/Jamfile +++ b/src/kits/shared/Jamfile @@ -5,7 +5,8 @@ AddSubDirSupportedPlatforms libbe_test ; UseLibraryHeaders agg ; UsePrivateHeaders shared locale ; -UseHeaders [ FDirName $(HAIKU_COMMON_DEBUG_OBJECT_DIR) servers input ] ; +UseHeaders [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) + servers input ] ; UseHeaders [ FDirName $(HAIKU_TOP) src kits ] ; # for RWLockManager only diff --git a/src/kits/storage/Jamfile b/src/kits/storage/Jamfile index 28fbd3537b..ca0810013b 100644 --- a/src/kits/storage/Jamfile +++ b/src/kits/storage/Jamfile @@ -3,89 +3,97 @@ SubDir HAIKU_TOP src kits storage ; SetSubDirSupportedPlatforms haiku libbe_test ; UsePrivateHeaders app kernel libroot shared storage ; -UsePrivateSystemHeaders ; # for libbe_test UsePublicHeaders [ FDirName add-ons registrar ] ; -SEARCH_SOURCE += [ FDirName $(SUBDIR) disk_device ] ; -SEARCH_SOURCE += [ FDirName $(SUBDIR) disk_device jobs ] ; -SEARCH_SOURCE += [ FDirName $(SUBDIR) mime ] ; -SEARCH_SOURCE += [ FDirName $(SUBDIR) sniffer ] ; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; -MergeObject storage_kit.o : - AppFileInfo.cpp - Directory.cpp - DriverSettings.cpp - Entry.cpp - EntryList.cpp - File.cpp - FileDescriptorIO.cpp - FileIO.cpp - FindDirectory.cpp - MergedDirectory.cpp - Mime.cpp - MimeType.cpp - Node.cpp - NodeInfo.cpp - NodeMonitor.cpp - OffsetFile.cpp - Path.cpp - PathMonitor.cpp - Query.cpp - QueryPredicate.cpp - ResourceFile.cpp - ResourceItem.cpp - Resources.cpp - ResourcesContainer.cpp - ResourceStrings.cpp - Statable.cpp - SymLink.cpp - Volume.cpp - VolumeRoster.cpp - storage_support.cpp + UsePrivateSystemHeaders ; - # sniffer - CharStream.cpp - Err.cpp - DisjList.cpp - Pattern.cpp - PatternList.cpp - Parser.cpp - Range.cpp - RPattern.cpp - RPatternList.cpp - Rule.cpp + SEARCH_SOURCE += [ FDirName $(SUBDIR) disk_device ] ; + SEARCH_SOURCE += [ FDirName $(SUBDIR) disk_device jobs ] ; + SEARCH_SOURCE += [ FDirName $(SUBDIR) mime ] ; + SEARCH_SOURCE += [ FDirName $(SUBDIR) sniffer ] ; - # disk device API - DiskDevice.cpp - DiskDeviceJob.cpp - DiskDeviceJobGenerator.cpp - DiskDeviceJobQueue.cpp - DiskDeviceList.cpp - DiskDevicePrivate.cpp - DiskDeviceRoster.cpp - DiskDeviceTypes.cpp - DiskDeviceVisitor.cpp - DiskSystem.cpp - DiskSystemAddOn.cpp - DiskSystemAddOnManager.cpp - MutablePartition.cpp - Partition.cpp - PartitionDelegate.cpp - PartitioningInfo.cpp - PartitionParameterEditor.cpp - PartitionReference.cpp + MergeObject storage_kit.o : + AppFileInfo.cpp + Directory.cpp + DriverSettings.cpp + Entry.cpp + EntryList.cpp + File.cpp + FileDescriptorIO.cpp + FileIO.cpp + FindDirectory.cpp + MergedDirectory.cpp + Mime.cpp + MimeType.cpp + Node.cpp + NodeInfo.cpp + NodeMonitor.cpp + OffsetFile.cpp + Path.cpp + PathMonitor.cpp + Query.cpp + QueryPredicate.cpp + ResourceFile.cpp + ResourceItem.cpp + Resources.cpp + ResourcesContainer.cpp + ResourceStrings.cpp + Statable.cpp + SymLink.cpp + Volume.cpp + VolumeRoster.cpp + storage_support.cpp - CreateChildJob.cpp - DeleteChildJob.cpp - DefragmentJob.cpp - InitializeJob.cpp - MoveJob.cpp - RepairJob.cpp - ResizeJob.cpp - SetStringJob.cpp - UninitializeJob.cpp -; + # sniffer + CharStream.cpp + Err.cpp + DisjList.cpp + Pattern.cpp + PatternList.cpp + Parser.cpp + Range.cpp + RPattern.cpp + RPatternList.cpp + Rule.cpp + + # disk device API + DiskDevice.cpp + DiskDeviceJob.cpp + DiskDeviceJobGenerator.cpp + DiskDeviceJobQueue.cpp + DiskDeviceList.cpp + DiskDevicePrivate.cpp + DiskDeviceRoster.cpp + DiskDeviceTypes.cpp + DiskDeviceVisitor.cpp + DiskSystem.cpp + DiskSystemAddOn.cpp + DiskSystemAddOnManager.cpp + MutablePartition.cpp + Partition.cpp + PartitionDelegate.cpp + PartitioningInfo.cpp + PartitionParameterEditor.cpp + PartitionReference.cpp + + CreateChildJob.cpp + DeleteChildJob.cpp + DefragmentJob.cpp + InitializeJob.cpp + MoveJob.cpp + RepairJob.cpp + ResizeJob.cpp + SetStringJob.cpp + UninitializeJob.cpp + ; + } +} HaikuSubInclude mime ; diff --git a/src/kits/storage/mime/Jamfile b/src/kits/storage/mime/Jamfile index 5fa8d000e3..a09277dbe1 100644 --- a/src/kits/storage/mime/Jamfile +++ b/src/kits/storage/mime/Jamfile @@ -3,24 +3,26 @@ SubDir HAIKU_TOP src kits storage mime ; SetSubDirSupportedPlatforms haiku libbe_test ; UsePrivateHeaders app shared storage ; -#UsePrivateHeaders app libroot shared storage ; -#UsePrivateSystemHeaders ; -# for libbe_test -#UsePublicHeaders [ FDirName add-ons registrar ] ; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; -StaticLibrary libstorage_kit_mime.a : - AppMetaMimeCreator.cpp - AssociatedTypes.cpp - Database.cpp - DatabaseDirectory.cpp - DatabaseLocation.cpp - database_support.cpp - InstalledTypes.cpp - MimeEntryProcessor.cpp - MimeInfoUpdater.cpp - MimeSniffer.cpp - SnifferRules.cpp - Supertype.cpp - SupportingApps.cpp -; + StaticLibrary [ MultiArchDefaultGristFiles libstorage_kit_mime.a ] : + AppMetaMimeCreator.cpp + AssociatedTypes.cpp + Database.cpp + DatabaseDirectory.cpp + DatabaseLocation.cpp + database_support.cpp + InstalledTypes.cpp + MimeEntryProcessor.cpp + MimeInfoUpdater.cpp + MimeSniffer.cpp + SnifferRules.cpp + Supertype.cpp + SupportingApps.cpp + ; + } +} diff --git a/src/kits/support/Jamfile b/src/kits/support/Jamfile index 80b74f3fc9..a6e8249b90 100644 --- a/src/kits/support/Jamfile +++ b/src/kits/support/Jamfile @@ -4,26 +4,34 @@ SetSubDirSupportedPlatforms haiku libbe_test ; UsePrivateHeaders app interface media shared support ; -MergeObject support_kit.o : - Archivable.cpp - ArchivingManagers.cpp - Beep.cpp - BlockCache.cpp - BufferedDataIO.cpp - BufferIO.cpp - ByteOrder.cpp - DataIO.cpp - DateTime.cpp - Flattenable.cpp - List.cpp - Locker.cpp - PointerList.cpp - Referenceable.cpp - StopWatch.cpp - String.cpp - StringList.cpp - Url.cpp - Uuid.cpp -; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; -StaticLibrary libreferenceable.a : : [ FGristFiles Referenceable.o ] ; + MergeObject support_kit.o : + Archivable.cpp + ArchivingManagers.cpp + Beep.cpp + BlockCache.cpp + BufferedDataIO.cpp + BufferIO.cpp + ByteOrder.cpp + DataIO.cpp + DateTime.cpp + Flattenable.cpp + List.cpp + Locker.cpp + PointerList.cpp + Referenceable.cpp + StopWatch.cpp + String.cpp + StringList.cpp + Url.cpp + Uuid.cpp + ; + + StaticLibrary [ MultiArchDefaultGristFiles libreferenceable.a ] + : : [ FGristFiles Referenceable.o ] ; + } +} diff --git a/src/kits/textencoding/Jamfile b/src/kits/textencoding/Jamfile index fcaeac3513..a91a26e230 100644 --- a/src/kits/textencoding/Jamfile +++ b/src/kits/textencoding/Jamfile @@ -13,7 +13,7 @@ SharedLibrary libtextencoding.so : CharacterSetRoster.cpp character_sets.cpp utf8_conversions.cpp - : be libiconv.a $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) ; + : be libiconv.a $(TARGET_LIBSUPC++) localestub ; DoCatalogs libtextencoding.so : x-vnd.Haiku-libtextencoding diff --git a/src/kits/tracker/Jamfile b/src/kits/tracker/Jamfile index cf3ec02cfe..a9cdde5293 100644 --- a/src/kits/tracker/Jamfile +++ b/src/kits/tracker/Jamfile @@ -93,7 +93,7 @@ SharedLibrary libtracker.so : VolumeWindow.cpp WidgetAttributeText.cpp - : be translation $(vector_icon_libs) $(TARGET_LIBSTDC++) $(HAIKU_LOCALE_LIBS) libshared.a + : be translation $(vector_icon_libs) $(TARGET_LIBSTDC++) localestub libshared.a ; DoCatalogs libtracker.so : diff --git a/src/libs/bsd/Jamfile b/src/libs/bsd/Jamfile index f35d5b4367..eae0800511 100644 --- a/src/libs/bsd/Jamfile +++ b/src/libs/bsd/Jamfile @@ -4,19 +4,24 @@ SetSubDirSupportedPlatforms $(HAIKU_BONE_COMPATIBLE_PLATFORMS) ; UseHeaders [ FDirName $(HAIKU_TOP) headers compatibility bsd ] : true ; -SharedLibrary libbsd.so : - daemon.c - err.c - fgetln.c - getpass.c - issetugid.c - progname.c - pty.cpp - signal.c - string.cpp - stringlist.c - unvis.c - usershell.c - vis.c - wait.c -; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + SharedLibrary [ MultiArchDefaultGristFiles libbsd.so ] : + daemon.c + err.c + fgetln.c + getpass.c + issetugid.c + progname.c + pty.cpp + signal.c + string.cpp + stringlist.c + unvis.c + usershell.c + vis.c + wait.c + ; + } +} diff --git a/src/libs/glut/Jamfile b/src/libs/glut/Jamfile index 0d3047021d..8dd6e2f583 100644 --- a/src/libs/glut/Jamfile +++ b/src/libs/glut/Jamfile @@ -51,7 +51,7 @@ local sourcesCpp = # For GCC2 -if $(HAIKU_GCC_VERSION[1]) < 3 { +if $(TARGET_GCC_VERSION_$(TARGET_PACKAGING_ARCH)[1]) < 3 { SubDirC++Flags --no-warnings ; } diff --git a/src/libs/iconv/Jamfile b/src/libs/iconv/Jamfile index 1d3e90948d..80c4a32cf8 100644 --- a/src/libs/iconv/Jamfile +++ b/src/libs/iconv/Jamfile @@ -6,8 +6,9 @@ AddSubDirSupportedPlatforms libbe_test ; UseLibraryHeaders iconv ; # disable warnings we don't want here -TARGET_WARNING_CCFLAGS = [ FFilter $(TARGET_WARNING_CCFLAGS) - : -Wmissing-prototypes -Wsign-compare ] ; +TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH) + = [ FFilter $(TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH)) + : -Wmissing-prototypes -Wsign-compare ] ; SubDirCcFlags -DLIBDIR="\\\"/boot/system/lib\\\"" diff --git a/src/libs/posix_error_mapper/Jamfile b/src/libs/posix_error_mapper/Jamfile index 4203401086..d36da2845a 100644 --- a/src/libs/posix_error_mapper/Jamfile +++ b/src/libs/posix_error_mapper/Jamfile @@ -1,18 +1,23 @@ SubDir HAIKU_TOP src libs posix_error_mapper ; -StaticLibrary libposix_error_mapper.a : - misc.cpp - pthread_attr.cpp - pthread_condattr.cpp - pthread_cond.cpp - pthread_misc.cpp - pthread_mutexattr.cpp - pthread_mutex.cpp - pthread_rwlockattr.cpp - pthread_rwlock.cpp - pthread_specific.cpp - pthread_spinlock.cpp - pthread_thread.cpp - signal.cpp - time.cpp -; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + StaticLibrary [ MultiArchDefaultGristFiles libposix_error_mapper.a ] : + misc.cpp + pthread_attr.cpp + pthread_condattr.cpp + pthread_cond.cpp + pthread_misc.cpp + pthread_mutexattr.cpp + pthread_mutex.cpp + pthread_rwlockattr.cpp + pthread_rwlock.cpp + pthread_specific.cpp + pthread_spinlock.cpp + pthread_thread.cpp + signal.cpp + time.cpp + ; + } +} diff --git a/src/libs/stdc++/Jamfile b/src/libs/stdc++/Jamfile index 9054e4d324..d5b8441f74 100644 --- a/src/libs/stdc++/Jamfile +++ b/src/libs/stdc++/Jamfile @@ -1,9 +1,11 @@ SubDir HAIKU_TOP src libs stdc++ ; -if $(HAIKU_GCC_VERSION[1]) = 2 || $(isHybridBuild) { - SubInclude HAIKU_TOP src libs stdc++ legacy ; -} +if $(TARGET_PLATFORM) = haiku { + if x86_gcc2 in $(TARGET_PACKAGING_ARCHS) { + HaikuSubInclude legacy ; + } -if $(HAIKU_GCC_VERSION[1]) = 4 || $(isHybridBuild) { - SubInclude HAIKU_TOP src libs stdc++ current ; + if $(TARGET_PACKAGING_ARCHS) != x86_gcc2 { + HaikuSubInclude current ; + } } diff --git a/src/libs/stdc++/current/Jamfile b/src/libs/stdc++/current/Jamfile index 1a11b243f0..6561d8756f 100644 --- a/src/libs/stdc++/current/Jamfile +++ b/src/libs/stdc++/current/Jamfile @@ -10,14 +10,27 @@ rule CreateSharedC++LibraryFromArchive sharedLib : staticLib } -# create libstdc++.so from the libstdc++.a built with the compiler -if $(HAIKU_BUILD_SHARED_LIBSTDC++) { - CreateSharedC++LibraryFromArchive $(HAIKU_SHARED_LIBSTDC++) - : $(HAIKU_STATIC_LIBSTDC++) ; -} +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; -# create libsupc++.so from the libsupc++.a build with the compiler -if $(HAIKU_BUILD_SHARED_LIBSUPC++) { - CreateSharedC++LibraryFromArchive $(HAIKU_SHARED_LIBSUPC++) - : $(HAIKU_STATIC_LIBSUPC++) ; + if $(TARGET_GCC_VERSION_$(architecture)[1]) = 2 { + continue ; + } + + # create libstdc++.so from the libstdc++.a built with the compiler + if $(HAIKU_BUILD_SHARED_LIBSTDC++_$(architecture)) { + CreateSharedC++LibraryFromArchive + $(HAIKU_SHARED_LIBSTDC++_$(architecture)) + : $(HAIKU_STATIC_LIBSTDC++_$(architecture)) ; + } + + # create libsupc++.so from the libsupc++.a build with the compiler + if $(HAIKU_BUILD_SHARED_LIBSUPC++_$(architecture)) { + CreateSharedC++LibraryFromArchive + $(HAIKU_SHARED_LIBSUPC++_$(architecture)) + : $(HAIKU_STATIC_LIBSUPC++_$(architecture)) ; + } + } } diff --git a/src/libs/stdc++/legacy/Jamfile b/src/libs/stdc++/legacy/Jamfile index 516d688430..3593847240 100644 --- a/src/libs/stdc++/legacy/Jamfile +++ b/src/libs/stdc++/legacy/Jamfile @@ -1,178 +1,195 @@ SubDir HAIKU_TOP src libs stdc++ legacy ; -# disable undesired warnings, and add some required C++ flags -CCFLAGS += -Wno-missing-prototypes ; -C++FLAGS += -nostdinc++ -fno-implicit-templates -Wno-sign-compare -fpic ; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup x86_gcc2 ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; -# define header-searchpaths all by ourselves, as including system headers -# messes things up: -# use the following paths to make use of the headers contained in glibc, -# but this doesn't work yet, as the libio we are using here and the one -# contained in our libroot are different versions. -SYSHDRS = - $(SUBDIR) - [ FDirName $(HAIKU_TOP) src system libroot posix glibc libio ] - [ FDirName $(HAIKU_TOP) src system libroot posix glibc stdlib ] - [ FDirName $(HAIKU_TOP) src system libroot posix glibc stdio-common ] - [ FDirName $(HAIKU_TOP) src system libroot posix glibc include ] - [ FDirName $(HAIKU_TOP) src system libroot posix glibc include arch x86 ] - [ FDirName $(HAIKU_TOP) headers cpp ] - [ FDirName $(HAIKU_TOP) src system libroot posix glibc ] - [ FDirName $(HAIKU_TOP) headers posix ] - [ FDirName $(HAIKU_TOP) headers os ] - [ FDirName $(HAIKU_TOP) headers os kernel ] - [ FDirName $(HAIKU_TOP) headers os storage ] - [ FDirName $(HAIKU_TOP) headers os support ] - $(TARGET_GCC_HEADERS_DIR) ; # such that include_next will work + # disable undesired warnings, and add some required C++ flags + CCFLAGS += -Wno-missing-prototypes ; + C++FLAGS += -nostdinc++ -fno-implicit-templates -Wno-sign-compare + -fpic ; -UsePrivateHeaders libroot ; + # define header-searchpaths all by ourselves, as including system headers + # messes things up: + # use the following paths to make use of the headers contained in glibc, + # but this doesn't work yet, as the libio we are using here and the one + # contained in our libroot are different versions. + local glibcDir + = [ FDirName $(HAIKU_TOP) src system libroot posix glibc ] ; + SYSHDRS = + $(SUBDIR) + [ FDirName $(glibcDir) libio ] + [ FDirName $(glibcDir) stdlib ] + [ FDirName $(glibcDir) stdio-common ] + [ FDirName $(glibcDir) include ] + [ FDirName $(glibcDir) include arch x86 ] + [ FDirName $(HAIKU_TOP) headers cpp ] + $(glibcDir) + [ FDirName $(HAIKU_TOP) headers posix ] + [ FDirName $(HAIKU_TOP) headers os ] + [ FDirName $(HAIKU_TOP) headers os kernel ] + [ FDirName $(HAIKU_TOP) headers os storage ] + [ FDirName $(HAIKU_TOP) headers os support ] + $(HAIKU_GCC_HEADERS_DIR_x86_gcc2) + # so that include_next will work + ; -# some source-files generate several different objects, depending on -# the defines that are used during the compilation call. -# So we explicitly state each of these (with their respective defines): -rule GenerateStdC++Object -{ - # GenerateStdC++Object : : ; - local object = [ FGristFiles $(1) ] ; - local sources = $(2) ; - local defines = $(3) ; + UsePrivateHeaders libroot ; - if $(object) { - Object $(object) : $(sources) ; - ObjectDefines $(object) : $(defines) ; - } else { - Objects $(sources) ; - ObjectDefines $(sources) : $(defines) ; + # some source-files generate several different objects, depending on + # the defines that are used during the compilation call. + # So we explicitly state each of these (with their respective defines): + rule GenerateStdC++Object + { + # GenerateStdC++Object : : ; + local object = [ FGristFiles $(1) ] ; + local sources = $(2) ; + local defines = $(3) ; + + if $(object) { + Object $(object) : $(sources) ; + ObjectDefines $(object) : $(defines) ; + } else { + Objects $(sources) ; + ObjectDefines $(sources) : $(defines) ; + } + } + + GenerateStdC++Object cstrio.o + : sinst.cc + : C EXTRACT INSERT GETLINE + ; + + GenerateStdC++Object cstrmain.o + : sinst.cc + : C REP MAIN TRAITS ADDSS ADDPS ADDCS ADDSP ADDSC EQSS EQPS EQSP + NESS NEPS NESP LTSS LTPS LTSP GTSS GTPS GTSP LESS LEPS LESP GESS + GEPS GESP ; + + GenerateStdC++Object dcomio.o + : cinst.cc + : D EXTRACT INSERT ; + + GenerateStdC++Object dcomplex.o + : cinst.cc + : D MAIN ADDCC ADDCF ADDFC SUBCC SUBCF SUBFC MULCC MULCF MULFC DIVCC + DIVCF DIVFC PLUS MINUS EQCC EQCF EQFC NECC NECF NEFC ABS ARG + POLAR CONJ NORM COS COSH EXP LOG POWCC POWCF POWCI POWFC SIN + SINH SQRT ; + + GenerateStdC++Object fcomio.o + : cinst.cc + : F EXTRACT INSERT ; + + GenerateStdC++Object fcomplex.o + : cinst.cc + : F MAIN ADDCC ADDCF ADDFC SUBCC SUBCF SUBFC MULCC MULCF MULFC DIVCC + DIVCF DIVFC PLUS MINUS EQCC EQCF EQFC NECC NECF NEFC ABS ARG + POLAR CONJ NORM COS COSH EXP LOG POWCC POWCF POWCI POWFC SIN + SINH SQRT ; + + GenerateStdC++Object ldcomio.o + : cinst.cc + : LD EXTRACT INSERT ; + + GenerateStdC++Object ldcomplex.o + : cinst.cc + : LD MAIN ADDCC ADDCF ADDFC SUBCC SUBCF SUBFC MULCC MULCF MULFC + DIVCC DIVCF DIVFC PLUS MINUS EQCC EQCF EQFC NECC NECF NEFC ABS + ARG POLAR CONJ NORM COS COSH EXP LOG POWCC POWCF POWCI POWFC + SIN SINH SQRT ; + + # generate standard objects through our new rule, too: + GenerateStdC++Object + : cmathi.cc + cstdlibi.cc + cstringi.cc + stdexcepti.cc ; + + # c++ parts from libio: + GenerateStdC++Object + : builtinbuf.cc + editbuf.cc + filebuf.cc + fstream.cc + indstream.cc + ioassign.cc + ioextend.cc + iomanip.cc + iostream.cc + isgetline.cc + isgetsb.cc + isscan.cc + osform.cc + parsestream.cc + pfstream.cc + PlotFile.cc + procbuf.cc + sbform.cc + sbgetline.cc + sbscan.cc + SFile.cc + stdexcepti.cc + stdiostream.cc + stdstrbufs.cc + stdstreams.cc + stlinst.cc + stream.cc + streambuf.cc + strstream.cc ; + + # stuff imported from libiberty: + GenerateStdC++Object + : basename.c getpagesize.c insque.c sigsetmask.c strerror.c + vfork.c ; + + SharedLibraryFromObjects libstdc++.r4.so : + basename.o + builtinbuf.o + cmathi.o + cstdlibi.o + cstringi.o + cstrio.o + cstrmain.o + dcomio.o + dcomplex.o + editbuf.o + fcomio.o + fcomplex.o + filebuf.o + fstream.o + getpagesize.o + indstream.o + insque.o + ioassign.o + ioextend.o + iomanip.o + iostream.o + isgetline.o + isgetsb.o + isscan.o + ldcomio.o + ldcomplex.o + osform.o + parsestream.o + pfstream.o + PlotFile.o + procbuf.o + sbform.o + sbgetline.o + sbscan.o + SFile.o + sigsetmask.o + stdexcepti.o + stdiostream.o + stdstrbufs.o + stdstreams.o + stlinst.o + stream.o + streambuf.o + strerror.o + strstream.o + vfork.o ; } } - -GenerateStdC++Object cstrio.o - : sinst.cc - : C EXTRACT INSERT GETLINE - ; - -GenerateStdC++Object cstrmain.o - : sinst.cc - : C REP MAIN TRAITS ADDSS ADDPS ADDCS ADDSP ADDSC EQSS EQPS EQSP NESS NEPS - NESP LTSS LTPS LTSP GTSS GTPS GTSP LESS LEPS LESP GESS GEPS GESP ; - -GenerateStdC++Object dcomio.o - : cinst.cc - : D EXTRACT INSERT ; - -GenerateStdC++Object dcomplex.o - : cinst.cc - : D MAIN ADDCC ADDCF ADDFC SUBCC SUBCF SUBFC MULCC MULCF MULFC DIVCC DIVCF - DIVFC PLUS MINUS EQCC EQCF EQFC NECC NECF NEFC ABS ARG POLAR CONJ NORM COS - COSH EXP LOG POWCC POWCF POWCI POWFC SIN SINH SQRT ; - -GenerateStdC++Object fcomio.o - : cinst.cc - : F EXTRACT INSERT ; - -GenerateStdC++Object fcomplex.o - : cinst.cc - : F MAIN ADDCC ADDCF ADDFC SUBCC SUBCF SUBFC MULCC MULCF MULFC DIVCC DIVCF - DIVFC PLUS MINUS EQCC EQCF EQFC NECC NECF NEFC ABS ARG POLAR CONJ NORM COS - COSH EXP LOG POWCC POWCF POWCI POWFC SIN SINH SQRT ; - -GenerateStdC++Object ldcomio.o - : cinst.cc - : LD EXTRACT INSERT ; - -GenerateStdC++Object ldcomplex.o - : cinst.cc - : LD MAIN ADDCC ADDCF ADDFC SUBCC SUBCF SUBFC MULCC MULCF MULFC DIVCC DIVCF - DIVFC PLUS MINUS EQCC EQCF EQFC NECC NECF NEFC ABS ARG POLAR CONJ NORM COS - COSH EXP LOG POWCC POWCF POWCI POWFC SIN SINH SQRT ; - -# generate standard objects through our new rule, too: -GenerateStdC++Object - : cmathi.cc - cstdlibi.cc - cstringi.cc - stdexcepti.cc ; - -# c++ parts from libio: -GenerateStdC++Object - : builtinbuf.cc - editbuf.cc - filebuf.cc - fstream.cc - indstream.cc - ioassign.cc - ioextend.cc - iomanip.cc - iostream.cc - isgetline.cc - isgetsb.cc - isscan.cc - osform.cc - parsestream.cc - pfstream.cc - PlotFile.cc - procbuf.cc - sbform.cc - sbgetline.cc - sbscan.cc - SFile.cc - stdexcepti.cc - stdiostream.cc - stdstrbufs.cc - stdstreams.cc - stlinst.cc - stream.cc - streambuf.cc - strstream.cc ; - -# stuff imported from libiberty: -GenerateStdC++Object - : basename.c getpagesize.c insque.c sigsetmask.c strerror.c vfork.c ; - -SharedLibraryFromObjects libstdc++.r4.so : - basename.o - builtinbuf.o - cmathi.o - cstdlibi.o - cstringi.o - cstrio.o - cstrmain.o - dcomio.o - dcomplex.o - editbuf.o - fcomio.o - fcomplex.o - filebuf.o - fstream.o - getpagesize.o - indstream.o - insque.o - ioassign.o - ioextend.o - iomanip.o - iostream.o - isgetline.o - isgetsb.o - isscan.o - ldcomio.o - ldcomplex.o - osform.o - parsestream.o - pfstream.o - PlotFile.o - procbuf.o - sbform.o - sbgetline.o - sbscan.o - SFile.o - sigsetmask.o - stdexcepti.o - stdiostream.o - stdstrbufs.o - stdstreams.o - stlinst.o - stream.o - streambuf.o - strerror.o - strstream.o - vfork.o ; diff --git a/src/preferences/appearance/Jamfile b/src/preferences/appearance/Jamfile index 90a2101df2..e78f2ea108 100644 --- a/src/preferences/appearance/Jamfile +++ b/src/preferences/appearance/Jamfile @@ -28,7 +28,7 @@ Preference Appearance : #FontMenu.cpp #MenuView.cpp - : be $(TARGET_LIBSTDC++) $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) + : be $(TARGET_LIBSTDC++) $(TARGET_LIBSUPC++) localestub : Appearance.rdef ; diff --git a/src/preferences/backgrounds/Jamfile b/src/preferences/backgrounds/Jamfile index 3677788c8b..b537b7ac0e 100644 --- a/src/preferences/backgrounds/Jamfile +++ b/src/preferences/backgrounds/Jamfile @@ -7,7 +7,7 @@ Preference Backgrounds : Backgrounds.cpp BackgroundsView.cpp ImageFilePanel.cpp - : be tracker translation $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) + : be tracker translation $(TARGET_LIBSUPC++) localestub : Backgrounds.rdef ; diff --git a/src/preferences/bluetooth/Jamfile b/src/preferences/bluetooth/Jamfile index 351cab064f..82452ba2be 100644 --- a/src/preferences/bluetooth/Jamfile +++ b/src/preferences/bluetooth/Jamfile @@ -15,7 +15,7 @@ Preference Bluetooth : ExtendedLocalDeviceView.cpp InquiryPanel.cpp RemoteDevicesView.cpp - : be libbluetooth.so $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) + : be libbluetooth.so $(TARGET_LIBSUPC++) localestub ; DoCatalogs Bluetooth : diff --git a/src/preferences/cpufrequency/Jamfile b/src/preferences/cpufrequency/Jamfile index 240b51dd20..a752a37d63 100644 --- a/src/preferences/cpufrequency/Jamfile +++ b/src/preferences/cpufrequency/Jamfile @@ -8,7 +8,7 @@ Preference CPUFrequency : DriverInterface.cpp main.cpp StatusView.cpp - : be $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) + : be $(TARGET_LIBSUPC++) localestub : cpufrequency.rdef ; diff --git a/src/preferences/datatranslations/Jamfile b/src/preferences/datatranslations/Jamfile index e61c82df16..c88b84da4a 100644 --- a/src/preferences/datatranslations/Jamfile +++ b/src/preferences/datatranslations/Jamfile @@ -10,7 +10,7 @@ Preference DataTranslations : DataTranslationsSettings.cpp TranslatorListView.cpp - : be translation $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) libshared.a + : be translation $(TARGET_LIBSUPC++) localestub libshared.a : DataTranslations.rdef ; diff --git a/src/preferences/deskbar/Jamfile b/src/preferences/deskbar/Jamfile index 61994bb95a..ca82149392 100644 --- a/src/preferences/deskbar/Jamfile +++ b/src/preferences/deskbar/Jamfile @@ -6,7 +6,7 @@ Preference Deskbar : DeskbarPreferences.cpp : - be $(HAIKU_LOCALE_LIBS) + be localestub : DeskbarPreferences.rdef ; diff --git a/src/preferences/filetypes/Jamfile b/src/preferences/filetypes/Jamfile index 3da3b5db08..4244c50604 100644 --- a/src/preferences/filetypes/Jamfile +++ b/src/preferences/filetypes/Jamfile @@ -25,7 +25,7 @@ Preference FileTypes : PreferredAppMenu.cpp StringView.cpp - : be tracker $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) + : be tracker $(TARGET_LIBSUPC++) localestub : FileTypes.rdef FileTypes.icons.rdef ; diff --git a/src/preferences/fonts/Jamfile b/src/preferences/fonts/Jamfile index de445f592c..168ca5d3c3 100644 --- a/src/preferences/fonts/Jamfile +++ b/src/preferences/fonts/Jamfile @@ -6,7 +6,7 @@ Preference Fonts : FontView.cpp main.cpp MainWindow.cpp - : be $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) + : be $(TARGET_LIBSUPC++) localestub : Fonts.rdef ; diff --git a/src/preferences/keyboard/Jamfile b/src/preferences/keyboard/Jamfile index afd20f1402..80db6e39ae 100644 --- a/src/preferences/keyboard/Jamfile +++ b/src/preferences/keyboard/Jamfile @@ -14,7 +14,7 @@ Preference Keyboard : KeyboardSettings.cpp KeyboardView.cpp KeyboardWindow.cpp - : translation be $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) + : translation be $(TARGET_LIBSUPC++) localestub : Keyboard.rdef ; diff --git a/src/preferences/keymap/Jamfile b/src/preferences/keymap/Jamfile index 173d67f542..6f0c183160 100644 --- a/src/preferences/keymap/Jamfile +++ b/src/preferences/keymap/Jamfile @@ -13,7 +13,7 @@ Preference Keymap : KeymapWindow.cpp ModifierKeysWindow.cpp - : be tracker $(HAIKU_LOCALE_LIBS) libshared.a $(TARGET_LIBSTDC++) + : be tracker localestub libshared.a $(TARGET_LIBSTDC++) : Keymap.rdef ; diff --git a/src/preferences/locale/Jamfile b/src/preferences/locale/Jamfile index 3cc167bd3e..c03be7987f 100644 --- a/src/preferences/locale/Jamfile +++ b/src/preferences/locale/Jamfile @@ -13,7 +13,7 @@ local sources = Preference Locale : $(sources) : be $(TARGET_LIBSTDC++) $(TARGET_LIBSUPC++) libshared.a - $(HAIKU_LOCALE_LIBS) + localestub : Locale.rdef ; diff --git a/src/preferences/mail/Jamfile b/src/preferences/mail/Jamfile index 947655b0c1..460ecca841 100644 --- a/src/preferences/mail/Jamfile +++ b/src/preferences/mail/Jamfile @@ -30,7 +30,7 @@ Preference E-mail $(sources) : be libmail.so $(HAIKU_NETWORK_LIBS) $(TARGET_NETAPI_LIB) $(TARGET_LIBSTDC++) - $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) + $(TARGET_LIBSUPC++) localestub ; DoCatalogs E-mail diff --git a/src/preferences/media/Jamfile b/src/preferences/media/Jamfile index ca1cd695fa..048a55e745 100644 --- a/src/preferences/media/Jamfile +++ b/src/preferences/media/Jamfile @@ -15,7 +15,7 @@ Preference Media : MediaListItem.cpp MediaViews.cpp MediaWindow.cpp - : media be $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSUPC++) + : media be localestub $(TARGET_LIBSUPC++) : media.rdef ; diff --git a/src/preferences/mouse/Jamfile b/src/preferences/mouse/Jamfile index 72b439481c..0cd82cf7bb 100644 --- a/src/preferences/mouse/Jamfile +++ b/src/preferences/mouse/Jamfile @@ -8,7 +8,7 @@ Preference Mouse : MouseWindow.cpp MouseView.cpp SettingsView.cpp - : translation be $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) + : translation be $(TARGET_LIBSUPC++) localestub : Mouse.rdef ; diff --git a/src/preferences/network/Jamfile b/src/preferences/network/Jamfile index 94ff2f4b0d..d56b034007 100644 --- a/src/preferences/network/Jamfile +++ b/src/preferences/network/Jamfile @@ -13,7 +13,7 @@ Preference Network : RadioView.cpp WirelessNetworkMenuItem.cpp - : be $(HAIKU_NETWORK_LIBS) $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) + : be $(HAIKU_NETWORK_LIBS) $(TARGET_LIBSUPC++) localestub libbnetapi.so : Network.rdef ; diff --git a/src/preferences/notifications/Jamfile b/src/preferences/notifications/Jamfile index a97266066d..10f2613922 100644 --- a/src/preferences/notifications/Jamfile +++ b/src/preferences/notifications/Jamfile @@ -12,7 +12,7 @@ Application Notifications : GeneralView.cpp DisplayView.cpp NotificationsView.cpp - : be translation libcolumnlistview.a libnotification.a $(TARGET_LIBSTDC++) $(HAIKU_LOCALE_LIBS) + : be translation libcolumnlistview.a libnotification.a $(TARGET_LIBSTDC++) localestub : Notifications.rdef ; diff --git a/src/preferences/printers/Jamfile b/src/preferences/printers/Jamfile index 1a4068512d..4fdf9da0db 100644 --- a/src/preferences/printers/Jamfile +++ b/src/preferences/printers/Jamfile @@ -17,7 +17,7 @@ Preference Printers : translation libprintutils.a $(TARGET_LIBSUPC++) - $(HAIKU_LOCALE_LIBS) + localestub : Printers.rdef ; diff --git a/src/preferences/screen/Jamfile b/src/preferences/screen/Jamfile index d89e504f6f..8327ac3278 100644 --- a/src/preferences/screen/Jamfile +++ b/src/preferences/screen/Jamfile @@ -19,7 +19,7 @@ Preference Screen : ScreenSettings.cpp ScreenWindow.cpp Utility.cpp - : be $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) libaccelerantscommon.a + : be $(TARGET_LIBSUPC++) localestub libaccelerantscommon.a : Screen.rdef ; diff --git a/src/preferences/screensaver/Jamfile b/src/preferences/screensaver/Jamfile index 93781577cb..b8795a884f 100644 --- a/src/preferences/screensaver/Jamfile +++ b/src/preferences/screensaver/Jamfile @@ -19,7 +19,7 @@ Preference ScreenSaver : # needed for some old/broken screen saver add-ons that do not # link against libscreensaver.so - : tracker libscreensaver.so be $(TARGET_LIBSTDC++) $(HAIKU_LOCALE_LIBS) + : tracker libscreensaver.so be $(TARGET_LIBSTDC++) localestub : ScreenSaver.rdef ; diff --git a/src/preferences/shortcuts/Jamfile b/src/preferences/shortcuts/Jamfile index 82a323d0f1..efa90535b0 100644 --- a/src/preferences/shortcuts/Jamfile +++ b/src/preferences/shortcuts/Jamfile @@ -19,7 +19,7 @@ Preference Shortcuts : PrefilledBitmap.cpp ScrollViewCorner.cpp - : be $(HAIKU_LOCALE_LIBS) tracker libshortcuts_shared.a $(TARGET_LIBSTDC++) + : be localestub tracker libshortcuts_shared.a $(TARGET_LIBSTDC++) : Shortcuts.rdef ; diff --git a/src/preferences/sounds/Jamfile b/src/preferences/sounds/Jamfile index 404fa4cd75..92ee5d040c 100644 --- a/src/preferences/sounds/Jamfile +++ b/src/preferences/sounds/Jamfile @@ -8,7 +8,7 @@ Preference Sounds : HApp.cpp HWindow.cpp HEventList.cpp - : be libcolumnlistview.a game $(HAIKU_LOCALE_LIBS) tracker libmedia.so + : be libcolumnlistview.a game localestub tracker libmedia.so $(TARGET_LIBSUPC++) : Sounds.rdef ; diff --git a/src/preferences/time/Jamfile b/src/preferences/time/Jamfile index 907507f462..9b5fa9b5e4 100644 --- a/src/preferences/time/Jamfile +++ b/src/preferences/time/Jamfile @@ -32,7 +32,7 @@ Includes [ FGristFiles $(sources) ] : [ BuildFeatureAttribute icu : headers ] ; Preference Time : $(sources) - : be libshared.a $(TARGET_LIBSTDC++) $(HAIKU_LOCALE_LIBS) $(HAIKU_NETWORK_LIBS) + : be libshared.a $(TARGET_LIBSTDC++) localestub $(HAIKU_NETWORK_LIBS) : Time.rdef ; diff --git a/src/preferences/touchpad/Jamfile b/src/preferences/touchpad/Jamfile index f042b11a18..684eb85107 100644 --- a/src/preferences/touchpad/Jamfile +++ b/src/preferences/touchpad/Jamfile @@ -6,7 +6,7 @@ Preference Touchpad : TouchpadPref.cpp TouchpadPrefView.cpp main.cpp - : be $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) + : be $(TARGET_LIBSUPC++) localestub : Touchpad.rdef ; diff --git a/src/preferences/tracker/Jamfile b/src/preferences/tracker/Jamfile index 35fcb26be5..22b85324ce 100644 --- a/src/preferences/tracker/Jamfile +++ b/src/preferences/tracker/Jamfile @@ -4,7 +4,7 @@ Preference Tracker : TrackerPreferences.cpp : - be $(HAIKU_LOCALE_LIBS) + be localestub : TrackerPreferences.rdef ; diff --git a/src/preferences/virtualmemory/Jamfile b/src/preferences/virtualmemory/Jamfile index 672552e5dc..f35c2236c0 100644 --- a/src/preferences/virtualmemory/Jamfile +++ b/src/preferences/virtualmemory/Jamfile @@ -8,7 +8,7 @@ Preference VirtualMemory : Settings.cpp $(DRIVER_SETTINGS) - : be libshared.a $(TARGET_LIBSTDC++) $(HAIKU_LOCALE_LIBS) + : be libshared.a $(TARGET_LIBSTDC++) localestub : VirtualMemory.rdef ; diff --git a/src/servers/debug/Jamfile b/src/servers/debug/Jamfile index d643d8c425..e9a07d4c17 100644 --- a/src/servers/debug/Jamfile +++ b/src/servers/debug/Jamfile @@ -11,11 +11,10 @@ Server debug_server : DebugServer.cpp : - libroot.so # Haiku libroot - libbe.so # Haiku libbe + be libdebug.so $(TARGET_LIBSTDC++) - $(HAIKU_LOCALE_LIBS) + localestub ; DoCatalogs debug_server : diff --git a/src/servers/mail/Jamfile b/src/servers/mail/Jamfile index 894506a436..1fceea8fe7 100644 --- a/src/servers/mail/Jamfile +++ b/src/servers/mail/Jamfile @@ -19,7 +19,7 @@ Server mail_daemon : MailDaemon.cpp main.cpp Notifier.cpp - : be libmail.so tracker $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSTDC++) + : be libmail.so tracker localestub $(TARGET_LIBSTDC++) $(TARGET_NETWORK_LIBS) ; diff --git a/src/servers/mount/Jamfile b/src/servers/mount/Jamfile index 3a7b1b604d..3d1a658922 100644 --- a/src/servers/mount/Jamfile +++ b/src/servers/mount/Jamfile @@ -7,7 +7,7 @@ Server mount_server AutoMounter.cpp # AutoMounterSettings.cpp : - libbe.so $(HAIKU_LOCALE_LIBS) + libbe.so localestub $(TARGET_LIBSTDC++) : mount_server.rdef diff --git a/src/servers/notification/Jamfile b/src/servers/notification/Jamfile index 1341834f88..d11a04503f 100644 --- a/src/servers/notification/Jamfile +++ b/src/servers/notification/Jamfile @@ -7,7 +7,7 @@ Server notification_server : NotificationServer.cpp NotificationView.cpp NotificationWindow.cpp - : be translation $(TARGET_LIBSTDC++) libnotification.a $(HAIKU_LOCALE_LIBS) + : be translation $(TARGET_LIBSTDC++) libnotification.a localestub : notification_server.rdef ; diff --git a/src/servers/print/Jamfile b/src/servers/print/Jamfile index e1ede39e33..7649d15dd2 100644 --- a/src/servers/print/Jamfile +++ b/src/servers/print/Jamfile @@ -24,7 +24,7 @@ LinkAgainst print_server : be root translation - $(HAIKU_LOCALE_LIBS) + localestub libprint.a libprintutils.a $(TARGET_LIBSUPC++) diff --git a/src/servers/print_addon/Jamfile b/src/servers/print_addon/Jamfile index a8e50d762e..e896271edb 100644 --- a/src/servers/print_addon/Jamfile +++ b/src/servers/print_addon/Jamfile @@ -14,6 +14,6 @@ LinkAgainst print_addon_server : be root libprintutils.a - $(HAIKU_LOCALE_LIBS) + localestub $(TARGET_LIBSUPC++) ; diff --git a/src/servers/registrar/Jamfile b/src/servers/registrar/Jamfile index 13a3540767..bf02ee4dd4 100644 --- a/src/servers/registrar/Jamfile +++ b/src/servers/registrar/Jamfile @@ -51,7 +51,7 @@ Server registrar libstorage_kit_mime.a be $(TARGET_LIBSTDC++) - $(HAIKU_LOCALE_LIBS) + localestub : registrar.rdef ; diff --git a/src/servers/syslog_daemon/Jamfile b/src/servers/syslog_daemon/Jamfile index 0cb7641cdd..455afda7d1 100644 --- a/src/servers/syslog_daemon/Jamfile +++ b/src/servers/syslog_daemon/Jamfile @@ -13,7 +13,7 @@ Server syslog_daemon : # ToDo: this can be removed for the Haiku build strlcpy.c : - be $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) + be $(TARGET_LIBSUPC++) localestub ; DoCatalogs syslog_daemon : diff --git a/src/system/boot/Jamfile b/src/system/boot/Jamfile index d7adfb46e8..3c704f9650 100644 --- a/src/system/boot/Jamfile +++ b/src/system/boot/Jamfile @@ -88,7 +88,7 @@ rule BuildCoffLoader { actions BuildCoffLoader bind HACK_COFF { rm -f $(1) - $(TARGET_OBJCOPY) -O $(COFF_FORMAT) $(2) $(1) + $(TARGET_OBJCOPY_$(TARGET_PACKAGING_ARCH)) -O $(COFF_FORMAT) $(2) $(1) #$(CP) $(2) $(1) $(HACK_COFF) $(1) } @@ -111,7 +111,7 @@ rule BuildBiosLoader { actions BuildBiosLoader { rm -f $(1) - $(TARGET_OBJCOPY) -O binary $(2) $(1) + $(TARGET_OBJCOPY_$(TARGET_PACKAGING_ARCH)) -O binary $(2) $(1) } BuildBiosLoader haiku_loader : boot_loader_$(TARGET_BOOT_PLATFORM) ; diff --git a/src/system/boot/platform/atari_m68k/Jamfile b/src/system/boot/platform/atari_m68k/Jamfile index b71de5a25d..e8eb76030b 100644 --- a/src/system/boot/platform/atari_m68k/Jamfile +++ b/src/system/boot/platform/atari_m68k/Jamfile @@ -99,7 +99,7 @@ rule AtariBootPrgLd { # AtariBootPrgLd : : : ; - LINK on $(1) = $(TARGET_LD) ; + LINK on $(1) = $(TARGET_LD_$(TARGET_PACKAGING_ARCH)) ; LINKFLAGS on $(1) = $(4) ; if $(3) { LINKFLAGS on $(1) += --script=$(3) ; } diff --git a/src/system/glue/Jamfile b/src/system/glue/Jamfile index d0f11c46bb..950e380e78 100644 --- a/src/system/glue/Jamfile +++ b/src/system/glue/Jamfile @@ -1,11 +1,19 @@ SubDir HAIKU_TOP src system glue ; -UsePrivateSystemHeaders ; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + UsePrivateSystemHeaders ; -KernelObjects - init_term_dyn.c - start_dyn.c - haiku_version_glue.c -; + KernelObjects + init_term_dyn.c + start_dyn.c + haiku_version_glue.c + ; + } +} -SubInclude HAIKU_TOP src system glue arch ; +local arch ; +for arch in $(TARGET_ARCHS) { + SubInclude HAIKU_TOP src system glue arch $(arch) ; +} diff --git a/src/system/glue/arch/Jamfile b/src/system/glue/arch/Jamfile deleted file mode 100644 index 9bb997991c..0000000000 --- a/src/system/glue/arch/Jamfile +++ /dev/null @@ -1,3 +0,0 @@ -SubDir HAIKU_TOP src system glue arch ; - -SubInclude HAIKU_TOP src system glue arch $(TARGET_ARCH) ; diff --git a/src/system/glue/arch/arm/Jamfile b/src/system/glue/arch/arm/Jamfile index 3d54e9408b..4cc72a3a43 100644 --- a/src/system/glue/arch/arm/Jamfile +++ b/src/system/glue/arch/arm/Jamfile @@ -1,7 +1,11 @@ SubDir HAIKU_TOP src system glue arch arm ; -KernelObjects - crti.S - crtn.S - ; - +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup arm ] { + on $(architectureObject) { + KernelObjects + crti.S + crtn.S + ; + } +} diff --git a/src/system/glue/arch/m68k/Jamfile b/src/system/glue/arch/m68k/Jamfile index 7b1539dc47..9d74eb5f06 100644 --- a/src/system/glue/arch/m68k/Jamfile +++ b/src/system/glue/arch/m68k/Jamfile @@ -1,7 +1,11 @@ SubDir HAIKU_TOP src system glue arch m68k ; -KernelObjects - crti.S - crtn.S - ; - +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup m68k ] { + on $(architectureObject) { + KernelObjects + crti.S + crtn.S + ; + } +} diff --git a/src/system/glue/arch/mipsel/Jamfile b/src/system/glue/arch/mipsel/Jamfile index e40973ab13..e42aea477a 100644 --- a/src/system/glue/arch/mipsel/Jamfile +++ b/src/system/glue/arch/mipsel/Jamfile @@ -1,7 +1,11 @@ SubDir HAIKU_TOP src system glue arch mipsel ; -KernelObjects - crti.S - crtn.S - ; - +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup mipsel ] { + on $(architectureObject) { + KernelObjects + crti.S + crtn.S + ; + } +} diff --git a/src/system/glue/arch/ppc/Jamfile b/src/system/glue/arch/ppc/Jamfile index 997b3640df..c6ec452bf8 100644 --- a/src/system/glue/arch/ppc/Jamfile +++ b/src/system/glue/arch/ppc/Jamfile @@ -1,7 +1,11 @@ SubDir HAIKU_TOP src system glue arch ppc ; -KernelObjects - crti.S - crtn.S - ; - +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ppc ] { + on $(architectureObject) { + KernelObjects + crti.S + crtn.S + ; + } +} diff --git a/src/system/glue/arch/x86/Jamfile b/src/system/glue/arch/x86/Jamfile index 472233bda9..9ec00312ec 100644 --- a/src/system/glue/arch/x86/Jamfile +++ b/src/system/glue/arch/x86/Jamfile @@ -1,7 +1,11 @@ SubDir HAIKU_TOP src system glue arch x86 ; -KernelObjects - crti.S - crtn.S - ; - +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup x86 x86_gcc2 ] { + on $(architectureObject) { + KernelObjects + crti.S + crtn.S + ; + } +} diff --git a/src/system/glue/arch/x86_64/Jamfile b/src/system/glue/arch/x86_64/Jamfile index 4d43342366..554a21f36d 100644 --- a/src/system/glue/arch/x86_64/Jamfile +++ b/src/system/glue/arch/x86_64/Jamfile @@ -1,7 +1,11 @@ SubDir HAIKU_TOP src system glue arch x86_64 ; -KernelObjects - crti.S - crtn.S - ; - +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup x86_64 ] { + on $(architectureObject) { + KernelObjects + crti.S + crtn.S + ; + } +} diff --git a/src/system/kernel/Jamfile b/src/system/kernel/Jamfile index b8ffbc5920..551317d75b 100644 --- a/src/system/kernel/Jamfile +++ b/src/system/kernel/Jamfile @@ -74,16 +74,19 @@ KernelMergeObject kernel_core.o : # Generate the header defining macros for C++ structure sizes. local kernelC++StructSizesHeader = [ FGristFiles kernel_c++_struct_sizes.h ] ; -TARGET_HDRS on $(kernelC++StructSizesHeader) - = [ on $(kernelC++StructSizesHeader) return $(TARGET_HDRS) ] +TARGET_HDRS_$(TARGET_PACKAGING_ARCH) on $(kernelC++StructSizesHeader) + = [ on $(kernelC++StructSizesHeader) + return $(TARGET_HDRS_$(TARGET_PACKAGING_ARCH)) ] $(TARGET_PRIVATE_KERNEL_HEADERS) ; CreateAsmStructOffsetsHeader $(kernelC++StructSizesHeader) : kernel_c++_structs.cpp ; # We need to specify the dependency on the generated syscalls files explicitly. Includes [ FGristFiles syscalls.cpp ] - : syscall_dispatcher.h syscall_table.h - syscall_numbers.h + : + syscall_dispatcher.h + syscall_table.h + syscall_numbers.h ; # TODO: fix or update binutils for ppc, in the meantime this should get things going. @@ -126,7 +129,7 @@ KernelLd kernel_$(TARGET_ARCH) : kernel_lib_posix_arch_$(TARGET_ARCH).o kernel_misc.o - $(HAIKU_KERNEL_LIBSUPC++) + $(TARGET_KERNEL_LIBSUPC++) : $(HAIKU_TOP)/src/system/ldscripts/$(TARGET_ARCH)/kernel.ld : -Bdynamic -export-dynamic -dynamic-linker /foo/bar @@ -168,7 +171,7 @@ if $(HAIKU_ARCH) = x86_64 { kernel_lib_posix_arch_$(TARGET_ARCH).o kernel_misc.o - $(HAIKU_KERNEL_LIBSUPC++) + $(TARGET_KERNEL_LIBSUPC++) : $(HAIKU_TOP)/src/system/ldscripts/$(TARGET_ARCH)/kernel.ld : -Bdynamic -shared -export-dynamic -dynamic-linker /foo/bar diff --git a/src/system/kernel/arch/x86/Jamfile b/src/system/kernel/arch/x86/Jamfile index d9ac20fe79..3941e18b5c 100644 --- a/src/system/kernel/arch/x86/Jamfile +++ b/src/system/kernel/arch/x86/Jamfile @@ -1,6 +1,7 @@ SubDir HAIKU_TOP src system kernel arch x86 ; -SubDirHdrs [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR) system kernel ] ; +SubDirHdrs [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) + system kernel ] ; # for syscall_numbers.h SubDirHdrs $(HAIKU_TOP) src add-ons kernel bus_managers ps2 ; SubDirHdrs $(HAIKU_TOP) src add-ons kernel bus_managers acpi acpica include ; @@ -115,6 +116,6 @@ CreateAsmStructOffsetsHeader asm_offsets.h : asm_offsets.cpp ; # We need to specify the dependency on the generated syscalls file explicitly. Includes [ FGristFiles interrupts.S arch.S signals.cpp signals_asm.S ] - : syscall_numbers.h ; + : syscall_numbers.h ; Includes [ FGristFiles interrupts.S ] - : syscall_table.h ; + : syscall_table.h ; diff --git a/src/system/kernel/lib/arch/x86/Jamfile b/src/system/kernel/lib/arch/x86/Jamfile index 4f572bb40c..73678ad806 100644 --- a/src/system/kernel/lib/arch/x86/Jamfile +++ b/src/system/kernel/lib/arch/x86/Jamfile @@ -1,8 +1,8 @@ SubDir HAIKU_TOP src system kernel lib arch x86 ; # find the generated asm_offsets.h -SubDirHdrs [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR) system kernel arch - $(TARGET_ARCH) ] ; +SubDirHdrs [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) + system kernel arch $(TARGET_ARCH) ] ; SEARCH_SOURCE += [ FDirName $(SUBDIR) $(DOTDOT) generic ] ; diff --git a/src/system/kernel/lib/arch/x86_64/Jamfile b/src/system/kernel/lib/arch/x86_64/Jamfile index 66f5fb864f..259708b5f4 100644 --- a/src/system/kernel/lib/arch/x86_64/Jamfile +++ b/src/system/kernel/lib/arch/x86_64/Jamfile @@ -1,8 +1,8 @@ SubDir HAIKU_TOP src system kernel lib arch x86_64 ; # find the generated asm_offsets.h -SubDirHdrs [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR) system kernel arch - $(TARGET_KERNEL_ARCH) ] ; +SubDirHdrs [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) + system kernel arch $(TARGET_KERNEL_ARCH) ] ; SEARCH_SOURCE += [ FDirName $(SUBDIR) $(DOTDOT) generic ] ; diff --git a/src/system/libroot/Jamfile b/src/system/libroot/Jamfile index 011b082ae2..719da31815 100644 --- a/src/system/libroot/Jamfile +++ b/src/system/libroot/Jamfile @@ -1,97 +1,117 @@ SubDir HAIKU_TOP src system libroot ; UsePrivateHeaders libroot runtime_loader ; -UsePrivateSystemHeaders ; -UnarchiveObjects $(TARGET_GCC_LIBGCC_OBJECTS) : $(TARGET_GCC_LIBGCC) ; - # we need to link against libgcc.a objects and make - # it available to other applications as in BeOS +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; -local librootObjects = - os_main.o - os_arch_$(TARGET_ARCH).o + UsePrivateSystemHeaders ; - posix_arch_$(TARGET_ARCH).o - posix_crypt.o - posix_locale.o - posix_main.o - posix_pthread.o - posix_signal.o - posix_stdio.o - posix_gnu_arch_$(TARGET_ARCH).o - posix_gnu_ctype.o - posix_gnu_ext.o - posix_gnu_iconv.o - posix_gnu_libio.o - posix_gnu_locale.o - posix_gnu_misc.o - posix_gnu_regex.o - posix_gnu_stdio.o - posix_gnu_stdlib.o - posix_gnu_string.o - posix_gnu_wcsmbs.o - posix_stdlib.o - posix_string.o - posix_string_arch_$(TARGET_ARCH).o - posix_sys.o - posix_time.o - posix_unistd.o - posix_wchar.o -; + UnarchiveObjects $(HAIKU_GCC_LIBGCC_OBJECTS_$(architecture)) + : $(HAIKU_GCC_LIBGCC_$(architecture)) ; + # we need to link against libgcc.a objects and make + # it available to other applications as in BeOS -local librootDebugObjects = - posix_malloc_debug.o -; + local librootObjects = + os_main.o + os_arch_$(TARGET_ARCH).o -local librootNoDebugObjects = - posix_malloc.o -; + posix_arch_$(TARGET_ARCH).o + posix_crypt.o + posix_locale.o + posix_main.o + posix_pthread.o + posix_signal.o + posix_stdio.o + posix_gnu_arch_$(TARGET_ARCH).o + posix_gnu_ctype.o + posix_gnu_ext.o + posix_gnu_iconv.o + posix_gnu_libio.o + posix_gnu_locale.o + posix_gnu_misc.o + posix_gnu_regex.o + posix_gnu_stdio.o + posix_gnu_stdlib.o + posix_gnu_string.o + posix_gnu_wcsmbs.o + posix_stdlib.o + posix_string.o + posix_string_arch_$(TARGET_ARCH).o + posix_sys.o + posix_time.o + posix_unistd.o + posix_wchar.o + ; + librootObjects = $(librootObjects:G=$(architecture)) ; -DONT_LINK_AGAINST_LIBROOT on libroot.so = true ; -DONT_LINK_AGAINST_LIBROOT on libroot_debug.so = true ; + local librootDebugObjects = + posix_malloc_debug.o + ; + librootDebugObjects = $(librootDebugObjects:G=$(architecture)) ; -SetVersionScript libroot.so : libroot_versions ; -SetVersionScript libroot_debug.so : libroot_versions ; + local librootNoDebugObjects = + posix_malloc.o + ; + librootNoDebugObjects = $(librootNoDebugObjects:G=$(architecture)) ; -SharedLibrary libroot.so - : - libroot_init.c - : - $(TARGET_GCC_LIBGCC_OBJECTS) - $(librootObjects:G=nogrist) - $(librootNoDebugObjects:G=nogrist) - $(TARGET_STATIC_LIBSUPC++) -; + local libroot = [ MultiArchDefaultGristFiles libroot.so ] ; + local librootDebug = $(libroot:B=libroot_debug) ; -# Use the standard libroot.so soname, so when the debug version is pre-loaded -# it prevents the standard version to be loaded as well. -HAIKU_SONAME on libroot_debug.so = libroot.so ; + DONT_LINK_AGAINST_LIBROOT on $(libroot) = true ; + DONT_LINK_AGAINST_LIBROOT on $(librootDebug) = true ; -SharedLibrary libroot_debug.so - : - libroot_init.c - : - $(TARGET_GCC_LIBGCC_OBJECTS) - $(librootObjects:G=nogrist) - $(librootDebugObjects:G=nogrist) - $(TARGET_STATIC_LIBSUPC++) -; + SetVersionScript $(libroot) : libroot_versions ; + SetVersionScript $(librootDebug) : libroot_versions ; + + SharedLibrary $(libroot) + : + libroot_init.c + : + $(HAIKU_GCC_LIBGCC_OBJECTS_$(architecture)) + $(librootObjects) + $(librootNoDebugObjects) + $(HAIKU_STATIC_LIBSUPC++_$(architecture)) + ; + + # Use the standard libroot.so soname, so when the debug version is + # pre-loaded it prevents the standard version to be loaded as well. + HAIKU_SONAME on $(librootDebug) = libroot.so ; + + SharedLibrary $(librootDebug) + : + libroot_init.c + : + $(HAIKU_GCC_LIBGCC_OBJECTS_$(architecture)) + $(librootObjects) + $(librootDebugObjects) + $(HAIKU_STATIC_LIBSUPC++_$(architecture)) + ; -# Copy libroot.so and update the copy's revision section. We link everything -# against the original, but the copy will end up on the disk image (this way -# we avoid unnecessary dependencies). The copy will be located in a subdirectory. -if $(TARGET_PLATFORM) = haiku { - MakeLocate libroot.so - : [ FDirName $(TARGET_DEBUG_$(DEBUG)_LOCATE_TARGET) revisioned ] ; - CopySetHaikuRevision libroot.so : libroot.so ; + # Copy libroot.so and update the copy's revision section. We link + # everything against the original, but the copy will end up on the disk + # image (this way we avoid unnecessary dependencies). The copy will be + # located in a subdirectory. + if $(TARGET_PLATFORM) = haiku { + local targetDir = [ FDirName $(TARGET_DEBUG_$(DEBUG)_LOCATE_TARGET) + revisioned ] ; + local revisionedLibroot = [ MultiArchDefaultGristFiles + libroot.so : revisioned ] ; + local revisionedLibrootDebug + = $(librootDebug:G=$(revisionedLibroot:G)) ; - MakeLocate libroot_debug.so - : [ FDirName $(TARGET_DEBUG_$(DEBUG)_LOCATE_TARGET) revisioned ] ; - CopySetHaikuRevision libroot_debug.so : libroot_debug.so ; + MakeLocate $(revisionedLibroot) : $(targetDir) ; + CopySetHaikuRevision $(revisionedLibroot) : $(libroot) ; + + MakeLocate $(revisionedLibrootDebug) : $(targetDir) ; + CopySetHaikuRevision $(revisionedLibrootDebug) : $(librootDebug) ; + } + } } - SubInclude HAIKU_TOP src system libroot add-ons ; SubInclude HAIKU_TOP src system libroot os ; SubInclude HAIKU_TOP src system libroot posix ; diff --git a/src/system/libroot/add-ons/icu/Jamfile b/src/system/libroot/add-ons/icu/Jamfile index 84d070ee2b..52dd179b00 100644 --- a/src/system/libroot/add-ons/icu/Jamfile +++ b/src/system/libroot/add-ons/icu/Jamfile @@ -6,31 +6,41 @@ UsePrivateHeaders [ FDirName libroot locale ] [ FDirName libroot time ] shared -; -UseBuildFeatureHeaders icu ; + ; -local sources = - ICUCategoryData.cpp - ICUCollateData.cpp - ICUCtypeData.cpp - ICULocaleBackend.cpp - ICULocaleconvData.cpp - ICUMessagesData.cpp - ICUMonetaryData.cpp - ICUNumericData.cpp - ICUThreadLocalStorageValue.cpp - ICUTimeConversion.cpp - ICUTimeData.cpp -; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; -Includes [ FGristFiles $(sources) ] : [ BuildFeatureAttribute icu : headers ] ; - # Dependency needed to trigger downloading/unzipping the package before - # compiling the files. + UseBuildFeatureHeaders icu ; -SharedLibrary libroot-addon-icu.so - : $(sources) - : - libreferenceable.a $(TARGET_LIBSTDC++) - [ BuildFeatureAttribute icu : libraries ] -; + local sources = + ICUCategoryData.cpp + ICUCollateData.cpp + ICUCtypeData.cpp + ICULocaleBackend.cpp + ICULocaleconvData.cpp + ICUMessagesData.cpp + ICUMonetaryData.cpp + ICUNumericData.cpp + ICUThreadLocalStorageValue.cpp + ICUTimeConversion.cpp + ICUTimeData.cpp + ; + Includes [ FGristFiles $(sources) ] + : [ BuildFeatureAttribute icu : headers ] ; + # Dependency needed to trigger downloading/unzipping the package + # before compiling the files. + + local grist = [ MultiArchIfPrimary "" : <$(architecture)> ] ; + + SharedLibrary $(grist)libroot-addon-icu.so + : $(sources) + : + $(grist)libreferenceable.a $(TARGET_LIBSTDC++_$(architecture)) + [ BuildFeatureAttribute icu : libraries ] + ; + } +} diff --git a/src/system/libroot/os/Jamfile b/src/system/libroot/os/Jamfile index fcdb6e2cd5..ca427584b4 100644 --- a/src/system/libroot/os/Jamfile +++ b/src/system/libroot/os/Jamfile @@ -1,51 +1,64 @@ SubDir HAIKU_TOP src system libroot os ; -UsePrivateSystemHeaders ; UsePrivateHeaders kernel ; # for util/KMessage.h UsePrivateHeaders libroot runtime_loader shared ; -SEARCH_SOURCE += [ FDirName $(SUBDIR) locks ] ; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; -MergeObject os_main.o : - area.c - atomic.c - debug.c - driver_settings.cpp - extended_system_info.cpp - find_directory.cpp - fs_attr.cpp - fs_index.c - fs_info.c - fs_query.cpp - fs_volume.c - image.cpp - memory.cpp - parsedate.cpp - port.c - scheduler.c - sem.c - system_info.c - system_revision.c - team.c - thread.c - time.cpp - syscalls.S - wait_for_objects.cpp + UsePrivateSystemHeaders ; - # locks - init_once.cpp - mutex.cpp - recursive_lock.cpp - rw_lock.cpp + SEARCH_SOURCE += [ FDirName $(SUBDIR) locks ] ; - KMessage.cpp -; + MergeObject <$(architecture)>os_main.o : + area.c + atomic.c + debug.c + driver_settings.cpp + extended_system_info.cpp + find_directory.cpp + fs_attr.cpp + fs_index.c + fs_info.c + fs_query.cpp + fs_volume.c + image.cpp + memory.cpp + parsedate.cpp + port.c + scheduler.c + sem.c + system_info.c + system_revision.c + team.c + thread.c + time.cpp + syscalls.S + wait_for_objects.cpp -SEARCH on [ FGristFiles KMessage.cpp ] - = [ FDirName $(HAIKU_TOP) src system kernel messaging ] ; + # locks + init_once.cpp + mutex.cpp + recursive_lock.cpp + rw_lock.cpp -# We need to specify the dependency on the generated syscalls file explicitly. -Depends [ FGristFiles syscalls.o ] : syscalls.S.inc ; + KMessage.cpp + ; -SubInclude HAIKU_TOP src system libroot os arch $(TARGET_ARCH) ; + SEARCH on [ FGristFiles KMessage.cpp ] + = [ FDirName $(HAIKU_TOP) src system kernel messaging ] ; + + # We need to specify the dependency on the generated syscalls file + # explicitly. + Depends [ FGristFiles syscalls.o ] + : syscalls.S.inc ; + } +} + +local arch ; +for arch in $(TARGET_ARCHS) { + HaikuSubInclude arch $(arch) ; +} diff --git a/src/system/libroot/os/arch/arm/Jamfile b/src/system/libroot/os/arch/arm/Jamfile index 2ebb171b6d..fc947e8d57 100644 --- a/src/system/libroot/os/arch/arm/Jamfile +++ b/src/system/libroot/os/arch/arm/Jamfile @@ -1,18 +1,25 @@ SubDir HAIKU_TOP src system libroot os arch arm ; -UsePrivateKernelHeaders ; -UsePrivateSystemHeaders ; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup arm ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; -SEARCH_SOURCE += [ FDirName $(SUBDIR) $(DOTDOT) generic ] ; + UsePrivateKernelHeaders ; + UsePrivateSystemHeaders ; -MergeObject os_arch_$(TARGET_ARCH).o : - atomic.S - byteorder.S - system_time.c - stack_frame.c - thread.c - time.c - tls.c + SEARCH_SOURCE += [ FDirName $(SUBDIR) $(DOTDOT) generic ] ; - generic_system_time_nsecs.cpp -; + MergeObject <$(architecture)>os_arch_$(TARGET_ARCH).o : + atomic.S + byteorder.S + system_time.c + stack_frame.c + thread.c + time.c + tls.c + + generic_system_time_nsecs.cpp + ; + } +} diff --git a/src/system/libroot/os/arch/m68k/Jamfile b/src/system/libroot/os/arch/m68k/Jamfile index 55f5ac22b5..ada7c8ad60 100644 --- a/src/system/libroot/os/arch/m68k/Jamfile +++ b/src/system/libroot/os/arch/m68k/Jamfile @@ -1,22 +1,29 @@ SubDir HAIKU_TOP src system libroot os arch m68k ; -UsePrivateKernelHeaders ; -UsePrivateSystemHeaders ; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup m68k ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; -SEARCH_SOURCE += [ FDirName $(SUBDIR) $(DOTDOT) generic ] ; + UsePrivateKernelHeaders ; + UsePrivateSystemHeaders ; -MergeObject os_arch_$(TARGET_ARCH).o : - atomic.S - byteorder.S - compatibility.c # only here until the places where those functions are used - # are fixed - stack_frame.c -# systeminfo.c - system_time.c - system_time_asm.S - thread.c - time.c - tls.c + SEARCH_SOURCE += [ FDirName $(SUBDIR) $(DOTDOT) generic ] ; - generic_system_time_nsecs.cpp -; + MergeObject <$(architecture)>os_arch_$(TARGET_ARCH).o : + atomic.S + byteorder.S + compatibility.c # only here until the places where those functions + # are used are fixed + stack_frame.c +# systeminfo.c + system_time.c + system_time_asm.S + thread.c + time.c + tls.c + + generic_system_time_nsecs.cpp + ; + } +} diff --git a/src/system/libroot/os/arch/mipsel/Jamfile b/src/system/libroot/os/arch/mipsel/Jamfile index 3b80e62b8a..cf12717576 100644 --- a/src/system/libroot/os/arch/mipsel/Jamfile +++ b/src/system/libroot/os/arch/mipsel/Jamfile @@ -1,24 +1,31 @@ SubDir HAIKU_TOP src system libroot os arch mipsel ; -UsePrivateKernelHeaders ; - # TODO: Replace by "UsePrivateHeaders libroot" after resolving the TODO in - # time.c! -UsePrivateSystemHeaders ; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup mipsel ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; -SEARCH_SOURCE += [ FDirName $(SUBDIR) $(DOTDOT) generic ] ; + UsePrivateKernelHeaders ; + # TODO: Replace by "UsePrivateHeaders libroot" after resolving the + # TODO in time.c! + UsePrivateSystemHeaders ; -MergeObject os_arch_$(TARGET_ARCH).o : - atomic.S - byteorder.S - compatibility.c # only here until the places where those functions are used - # are fixed - stack_frame.c -# systeminfo.c - system_time.c - system_time_asm.S - thread.c - time.c - tls.c + SEARCH_SOURCE += [ FDirName $(SUBDIR) $(DOTDOT) generic ] ; - generic_system_time_nsecs.cpp -; + MergeObject <$(architecture)>os_arch_$(TARGET_ARCH).o : + atomic.S + byteorder.S + compatibility.c # only here until the places where those functions + # are used are fixed + stack_frame.c + # systeminfo.c + system_time.c + system_time_asm.S + thread.c + time.c + tls.c + + generic_system_time_nsecs.cpp + ; + } +} \ No newline at end of file diff --git a/src/system/libroot/os/arch/ppc/Jamfile b/src/system/libroot/os/arch/ppc/Jamfile index 3a293e7e1b..6daef94fe6 100644 --- a/src/system/libroot/os/arch/ppc/Jamfile +++ b/src/system/libroot/os/arch/ppc/Jamfile @@ -1,24 +1,31 @@ SubDir HAIKU_TOP src system libroot os arch ppc ; -UsePrivateKernelHeaders ; - # TODO: Replace by "UsePrivateHeaders libroot" after resolving the TODO in - # time.c! -UsePrivateSystemHeaders ; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ppc ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; -SEARCH_SOURCE += [ FDirName $(SUBDIR) $(DOTDOT) generic ] ; + UsePrivateKernelHeaders ; + # TODO: Replace by "UsePrivateHeaders libroot" after resolving the + # TODO in time.c! + UsePrivateSystemHeaders ; -MergeObject os_arch_$(TARGET_ARCH).o : - atomic.S - byteorder.S - compatibility.c # only here until the places where those functions are used - # are fixed - stack_frame.c -# systeminfo.c - system_time.c - system_time_asm.S - thread.c - time.c - tls.c + SEARCH_SOURCE += [ FDirName $(SUBDIR) $(DOTDOT) generic ] ; - generic_system_time_nsecs.cpp -; + MergeObject <$(architecture)>os_arch_$(TARGET_ARCH).o : + atomic.S + byteorder.S + compatibility.c # only here until the places where those functions + # are used are fixed + stack_frame.c +# systeminfo.c + system_time.c + system_time_asm.S + thread.c + time.c + tls.c + + generic_system_time_nsecs.cpp + ; + } +} diff --git a/src/system/libroot/os/arch/x86/Jamfile b/src/system/libroot/os/arch/x86/Jamfile index 786a76eeda..e04e18a5d6 100644 --- a/src/system/libroot/os/arch/x86/Jamfile +++ b/src/system/libroot/os/arch/x86/Jamfile @@ -1,26 +1,33 @@ SubDir HAIKU_TOP src system libroot os arch x86 ; -UsePrivateKernelHeaders ; - # TODO: Replace by "UsePrivateHeaders libroot" after resolving the TODO in - # time.c! -UsePrivateSystemHeaders ; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup x86 x86_gcc2 ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; -local compatibilitySources ; -if $(HAIKU_GCC_VERSION[1]) = 2 { - compatibilitySources = - compatibility.c - ; + UsePrivateKernelHeaders ; + # TODO: Replace by "UsePrivateHeaders libroot" after resolving the + # TODO in time.c! + UsePrivateSystemHeaders ; + + local compatibilitySources ; + if $(TARGET_GCC_VERSION_$(architecture)[1]) = 2 { + compatibilitySources = + compatibility.c + ; + } + + MergeObject <$(architecture)>os_arch_$(TARGET_ARCH).o : + atomic.S + byteorder.S + get_stack_frame.S + system_info.c + system_time_asm.S + thread.c + time.cpp + tls.c + + $(compatibilitySources) + ; + } } - -MergeObject os_arch_$(TARGET_ARCH).o : - atomic.S - byteorder.S - get_stack_frame.S - system_info.c - system_time_asm.S - thread.c - time.cpp - tls.c - - $(compatibilitySources) -; diff --git a/src/system/libroot/os/arch/x86_64/Jamfile b/src/system/libroot/os/arch/x86_64/Jamfile index 72a195ed84..2cda1c64f7 100644 --- a/src/system/libroot/os/arch/x86_64/Jamfile +++ b/src/system/libroot/os/arch/x86_64/Jamfile @@ -1,17 +1,24 @@ SubDir HAIKU_TOP src system libroot os arch x86_64 ; -UsePrivateKernelHeaders ; - # TODO: Replace by "UsePrivateHeaders libroot" after resolving the TODO in - # time.c! -UsePrivateSystemHeaders ; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup x86_64 ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; -MergeObject os_arch_$(TARGET_ARCH).o : - atomic.S - byteorder.S - get_stack_frame.S - system_info.cpp - system_time_asm.S - thread.cpp - time.cpp - tls.cpp -; + UsePrivateKernelHeaders ; + # TODO: Replace by "UsePrivateHeaders libroot" after resolving the + # TODO in time.c! + UsePrivateSystemHeaders ; + + MergeObject <$(architecture)>os_arch_$(TARGET_ARCH).o : + atomic.S + byteorder.S + get_stack_frame.S + system_info.cpp + system_time_asm.S + thread.cpp + time.cpp + tls.cpp + ; + } +} diff --git a/src/system/libroot/posix/Jamfile b/src/system/libroot/posix/Jamfile index b6b720ada8..ac6f34c3d3 100644 --- a/src/system/libroot/posix/Jamfile +++ b/src/system/libroot/posix/Jamfile @@ -1,39 +1,50 @@ SubDir HAIKU_TOP src system libroot posix ; UsePrivateHeaders app shared [ FDirName syslog_daemon ] ; -UsePrivateSystemHeaders ; UsePrivateHeaders kernel ; # For util/KMessage.h UsePrivateHeaders libroot runtime_loader shared ; -if $(HAIKU_MULTIUSER_QUERY) = 1 { - PWD_BACKEND = pwd_query.c ; -} else { - PWD_BACKEND = pwd.cpp grp.cpp shadow.cpp user_group_common.cpp ; -} -MergeObject posix_main.o : - assert.c - dlfcn.c - dirent.c - errno.c - fcntl.cpp - fnmatch.c - fts.c - ftw.c - glob.c - inttypes.c - libgen.cpp - nftw.c - poll.c - $(PWD_BACKEND) - scheduler.cpp - semaphore.cpp - syslog.cpp - termios.c - utime.c -; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; -SubInclude HAIKU_TOP src system libroot posix arch $(TARGET_ARCH) ; + UsePrivateSystemHeaders ; + + if $(HAIKU_MULTIUSER_QUERY) = 1 { + PWD_BACKEND = pwd_query.c ; + } else { + PWD_BACKEND = pwd.cpp grp.cpp shadow.cpp user_group_common.cpp ; + } + MergeObject <$(architecture)>posix_main.o : + assert.c + dlfcn.c + dirent.c + errno.c + fcntl.cpp + fnmatch.c + fts.c + ftw.c + glob.c + inttypes.c + libgen.cpp + nftw.c + poll.c + $(PWD_BACKEND) + scheduler.cpp + semaphore.cpp + syslog.cpp + termios.c + utime.c + ; + } +} + +local arch ; +for arch in $(TARGET_ARCHS) { + HaikuSubInclude arch $(arch) ; +} SubInclude HAIKU_TOP src system libroot posix crypt ; SubInclude HAIKU_TOP src system libroot posix locale ; diff --git a/src/system/libroot/posix/arch/arm/Jamfile b/src/system/libroot/posix/arch/arm/Jamfile index 8eb8fd60b2..e18f4b43bc 100644 --- a/src/system/libroot/posix/arch/arm/Jamfile +++ b/src/system/libroot/posix/arch/arm/Jamfile @@ -1,19 +1,25 @@ SubDir HAIKU_TOP src system libroot posix arch arm ; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup arm ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; -UsePrivateHeaders [ FDirName system arch $(TARGET_ARCH) ] ; + UsePrivateHeaders [ FDirName system arch $(TARGET_ARCH) ] ; -local genericSources = - setjmp_save_sigs.c -; + local genericSources = + setjmp_save_sigs.c + ; -MergeObject posix_arch_$(TARGET_ARCH).o : - fenv.c - sigsetjmp.S - siglongjmp.S + MergeObject <$(architecture)>posix_arch_$(TARGET_ARCH).o : + fenv.c + sigsetjmp.S + siglongjmp.S - $(genericSources) -; + $(genericSources) + ; -SEARCH on [ FGristFiles $(genericSources) ] - = [ FDirName $(SUBDIR) $(DOTDOT) generic ] ; + SEARCH on [ FGristFiles $(genericSources) ] + = [ FDirName $(SUBDIR) $(DOTDOT) generic ] ; + } +} diff --git a/src/system/libroot/posix/arch/m68k/Jamfile b/src/system/libroot/posix/arch/m68k/Jamfile index a44eb7d91a..20965bf5a1 100644 --- a/src/system/libroot/posix/arch/m68k/Jamfile +++ b/src/system/libroot/posix/arch/m68k/Jamfile @@ -1,18 +1,25 @@ SubDir HAIKU_TOP src system libroot posix arch m68k ; -UsePrivateSystemHeaders ; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup m68k ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; -local genericSources = - setjmp_save_sigs.c - longjmp_return.c -; + UsePrivateSystemHeaders ; -MergeObject posix_arch_$(TARGET_ARCH).o : - sigsetjmp.S - siglongjmp.S + local genericSources = + setjmp_save_sigs.c + longjmp_return.c + ; - $(genericSources) -; + MergeObject <$(architecture)>posix_arch_$(TARGET_ARCH).o : + sigsetjmp.S + siglongjmp.S -SEARCH on [ FGristFiles $(genericSources) ] - = [ FDirName $(SUBDIR) $(DOTDOT) generic ] ; + $(genericSources) + ; + + SEARCH on [ FGristFiles $(genericSources) ] + = [ FDirName $(SUBDIR) $(DOTDOT) generic ] ; + } +} diff --git a/src/system/libroot/posix/arch/mipsel/Jamfile b/src/system/libroot/posix/arch/mipsel/Jamfile index 26a2ef6f8e..e477b84dca 100644 --- a/src/system/libroot/posix/arch/mipsel/Jamfile +++ b/src/system/libroot/posix/arch/mipsel/Jamfile @@ -1,18 +1,25 @@ SubDir HAIKU_TOP src system libroot posix arch mipsel ; -UsePrivateSystemHeaders ; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup mipsel ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; -local genericSources = - setjmp_save_sigs.c - longjmp_return.c -; + UsePrivateSystemHeaders ; -MergeObject posix_arch_$(TARGET_ARCH).o : - sigsetjmp.S - siglongjmp.S + local genericSources = + setjmp_save_sigs.c + longjmp_return.c + ; - $(genericSources) -; + MergeObject posix_arch_$(TARGET_ARCH).o : + sigsetjmp.S + siglongjmp.S -SEARCH on [ FGristFiles $(genericSources) ] - = [ FDirName $(SUBDIR) $(DOTDOT) generic ] ; + $(genericSources) + ; + + SEARCH on [ FGristFiles $(genericSources) ] + = [ FDirName $(SUBDIR) $(DOTDOT) generic ] ; + } +} diff --git a/src/system/libroot/posix/arch/ppc/Jamfile b/src/system/libroot/posix/arch/ppc/Jamfile index fe574538a3..706a73b2a6 100644 --- a/src/system/libroot/posix/arch/ppc/Jamfile +++ b/src/system/libroot/posix/arch/ppc/Jamfile @@ -1,17 +1,24 @@ SubDir HAIKU_TOP src system libroot posix arch ppc ; -local genericSources = - setjmp_save_sigs.c - longjmp_return.c -; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ppc ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; -MergeObject posix_arch_$(TARGET_ARCH).o : - fenv.c - sigsetjmp.S - siglongjmp.S + local genericSources = + setjmp_save_sigs.c + longjmp_return.c + ; - $(genericSources) -; + MergeObject <$(architecture)>posix_arch_$(TARGET_ARCH).o : + fenv.c + sigsetjmp.S + siglongjmp.S -SEARCH on [ FGristFiles $(genericSources) ] - = [ FDirName $(SUBDIR) $(DOTDOT) generic ] ; + $(genericSources) + ; + + SEARCH on [ FGristFiles $(genericSources) ] + = [ FDirName $(SUBDIR) $(DOTDOT) generic ] ; + } +} diff --git a/src/system/libroot/posix/arch/x86/Jamfile b/src/system/libroot/posix/arch/x86/Jamfile index 052dd5357b..063d500d5c 100644 --- a/src/system/libroot/posix/arch/x86/Jamfile +++ b/src/system/libroot/posix/arch/x86/Jamfile @@ -1,19 +1,26 @@ SubDir HAIKU_TOP src system libroot posix arch x86 ; -UsePrivateSystemHeaders ; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup x86 x86_gcc2 ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; -local genericSources = - setjmp_save_sigs.c - longjmp_return.c -; + UsePrivateSystemHeaders ; -MergeObject posix_arch_$(TARGET_ARCH).o : - fenv.c - sigsetjmp.S - siglongjmp.S + local genericSources = + setjmp_save_sigs.c + longjmp_return.c + ; - $(genericSources) -; + MergeObject <$(architecture)>posix_arch_$(TARGET_ARCH).o : + fenv.c + sigsetjmp.S + siglongjmp.S -SEARCH on [ FGristFiles $(genericSources) ] - = [ FDirName $(SUBDIR) $(DOTDOT) generic ] ; + $(genericSources) + ; + + SEARCH on [ FGristFiles $(genericSources) ] + = [ FDirName $(SUBDIR) $(DOTDOT) generic ] ; + } +} diff --git a/src/system/libroot/posix/arch/x86_64/Jamfile b/src/system/libroot/posix/arch/x86_64/Jamfile index 5891f1b3e5..d09c71590e 100644 --- a/src/system/libroot/posix/arch/x86_64/Jamfile +++ b/src/system/libroot/posix/arch/x86_64/Jamfile @@ -1,19 +1,26 @@ SubDir HAIKU_TOP src system libroot posix arch x86_64 ; -UsePrivateSystemHeaders ; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup x86_64 ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; -local genericSources = - setjmp_save_sigs.c - longjmp_return.c -; + UsePrivateSystemHeaders ; -MergeObject posix_arch_$(TARGET_ARCH).o : - fenv.c - sigsetjmp.S - siglongjmp.S + local genericSources = + setjmp_save_sigs.c + longjmp_return.c + ; - $(genericSources) -; + MergeObject <$(architecture)>posix_arch_$(TARGET_ARCH).o : + fenv.c + sigsetjmp.S + siglongjmp.S -SEARCH on [ FGristFiles $(genericSources) ] - = [ FDirName $(SUBDIR) $(DOTDOT) generic ] ; + $(genericSources) + ; + + SEARCH on [ FGristFiles $(genericSources) ] + = [ FDirName $(SUBDIR) $(DOTDOT) generic ] ; + } +} diff --git a/src/system/libroot/posix/crypt/Jamfile b/src/system/libroot/posix/crypt/Jamfile index a90b956f5b..db3bb04ebf 100644 --- a/src/system/libroot/posix/crypt/Jamfile +++ b/src/system/libroot/posix/crypt/Jamfile @@ -1,10 +1,18 @@ SubDir HAIKU_TOP src system libroot posix crypt ; -# filter warnings we don't want here -TARGET_WARNING_CCFLAGS = [ FFilter $(TARGET_WARNING_CCFLAGS) - : -Wall -Wmissing-prototypes -Wsign-compare ] ; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; -MergeObject posix_crypt.o : - crypt.c - crypt_util.c -; + # filter warnings we don't want here + TARGET_WARNING_CCFLAGS_$(architecture) + = [ FFilter $(TARGET_WARNING_CCFLAGS_$(architecture)) + : -Wall -Wmissing-prototypes -Wsign-compare ] ; + + MergeObject <$(architecture)>posix_crypt.o : + crypt.c + crypt_util.c + ; + } +} diff --git a/src/system/libroot/posix/glibc/Jamfile b/src/system/libroot/posix/glibc/Jamfile index a3c6035226..a72a42619a 100644 --- a/src/system/libroot/posix/glibc/Jamfile +++ b/src/system/libroot/posix/glibc/Jamfile @@ -1,11 +1,15 @@ SubDir HAIKU_TOP src system libroot posix glibc ; -SubInclude HAIKU_TOP src system libroot posix glibc arch ; +local arch ; +for arch in $(TARGET_ARCHS) { + HaikuSubInclude arch $(arch) ; +} + SubInclude HAIKU_TOP src system libroot posix glibc ctype ; SubInclude HAIKU_TOP src system libroot posix glibc extensions ; SubInclude HAIKU_TOP src system libroot posix glibc iconv ; -SubInclude HAIKU_TOP src system libroot posix glibc locale ; SubInclude HAIKU_TOP src system libroot posix glibc libio ; +SubInclude HAIKU_TOP src system libroot posix glibc locale ; SubInclude HAIKU_TOP src system libroot posix glibc misc ; SubInclude HAIKU_TOP src system libroot posix glibc regex ; SubInclude HAIKU_TOP src system libroot posix glibc stdio-common ; diff --git a/src/system/libroot/posix/glibc/arch/Jamfile b/src/system/libroot/posix/glibc/arch/Jamfile deleted file mode 100644 index 51d70c76e2..0000000000 --- a/src/system/libroot/posix/glibc/arch/Jamfile +++ /dev/null @@ -1,4 +0,0 @@ -SubDir HAIKU_TOP src system libroot posix glibc arch ; - -SubInclude HAIKU_TOP src system libroot posix glibc arch $(TARGET_ARCH) ; - diff --git a/src/system/libroot/posix/glibc/arch/arm/Jamfile b/src/system/libroot/posix/glibc/arch/arm/Jamfile index 034ad45bf8..394d8eda0b 100644 --- a/src/system/libroot/posix/glibc/arch/arm/Jamfile +++ b/src/system/libroot/posix/glibc/arch/arm/Jamfile @@ -71,21 +71,30 @@ local genericSources = e_rem_pio2f.c k_rem_pio2f.c memrchr.c -; + ; -MergeObject posix_gnu_arch_$(TARGET_ARCH)_generic.o : - $(genericSources) -; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup arm ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; -MergeObject posix_gnu_arch_$(TARGET_ARCH)_others.o : - e_sqrt.c - e_sqrtf.c -; + MergeObject <$(architecture)>posix_gnu_arch_$(TARGET_ARCH)_generic.o : + $(genericSources) + ; -MergeObjectFromObjects posix_gnu_arch_$(TARGET_ARCH).o : : - posix_gnu_arch_$(TARGET_ARCH)_generic.o - posix_gnu_arch_$(TARGET_ARCH)_others.o -; + MergeObject <$(architecture)>posix_gnu_arch_$(TARGET_ARCH)_others.o : + e_sqrt.c + e_sqrtf.c + ; -SEARCH on [ FGristFiles $(genericSources) ] - = [ FDirName $(HAIKU_TOP) src system libroot posix glibc arch generic ] ; + MergeObjectFromObjects <$(architecture)>posix_gnu_arch_$(TARGET_ARCH).o + : : + <$(architecture)>posix_gnu_arch_$(TARGET_ARCH)_generic.o + <$(architecture)>posix_gnu_arch_$(TARGET_ARCH)_others.o + ; + + SEARCH on [ FGristFiles $(genericSources) ] + = [ FDirName $(HAIKU_TOP) src system libroot posix glibc arch + generic ] ; + } +} diff --git a/src/system/libroot/posix/glibc/arch/m68k/Jamfile b/src/system/libroot/posix/glibc/arch/m68k/Jamfile index 4686573da6..84fb984216 100644 --- a/src/system/libroot/posix/glibc/arch/m68k/Jamfile +++ b/src/system/libroot/posix/glibc/arch/m68k/Jamfile @@ -1,6 +1,6 @@ SubDir HAIKU_TOP src system libroot posix glibc arch m68k ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc arch $(TARGET_ARCH) ; +SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc arch m68k ; SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch $(TARGET_ARCH) ; SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch generic ; @@ -126,44 +126,53 @@ local genericSources = # no asm for m68k in glibc strlen.c w_sqrt.c w_sqrtf.c # w_sqrtl.c -; + ; -MergeObject posix_gnu_arch_$(TARGET_ARCH)_generic.o : - $(genericSources) -; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup m68k ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; -MergeObject posix_gnu_arch_$(TARGET_ARCH)_other.o : + MergeObject <$(architecture)>posix_gnu_arch_$(TARGET_ARCH)_generic.o : + $(genericSources) + ; - add_n.S - addmul_1.S - doasin.c - feholdexcpt.c fraiseexcpt.c fesetenv.c fesetround.c ftestexcept.c -# ldbl2mpn.c - lshift.S rshift.S - mul_1.S -# strlen.S - sub_n.S - submul_1.S + MergeObject <$(architecture)>posix_gnu_arch_$(TARGET_ARCH)_other.o : - e_acos.c e_acosf.c # e_acosl.c - e_asin.c e_asinf.c # e_asinl.c - e_sqrt.c e_sqrtf.c # e_sqrtl.c -# s_fdim.c s_fdimf.c # s_fdiml.S -# s_fabs.S s_fabsf.S # s_fabsl.S - # s_fpclassifyl.c -# s_isnan.c s_isnanf.S - s_nearbyint.c s_nearbyintf.c # s_nearbyintl.c - s_remquo.c s_remquof.c # s_remquol.c - s_rint.c s_rintf.c # s_rintl.c - s_scalbln.c s_scalblnf.c # s_scalblnl.c -# t_sqrt.c -# w_sqrt.c w_sqrtf.c # w_sqrtl.c -; - -MergeObjectFromObjects posix_gnu_arch_$(TARGET_ARCH).o : : - posix_gnu_arch_$(TARGET_ARCH)_generic.o - posix_gnu_arch_$(TARGET_ARCH)_other.o -; + add_n.S + addmul_1.S + doasin.c + feholdexcpt.c fraiseexcpt.c fesetenv.c fesetround.c ftestexcept.c +# ldbl2mpn.c + lshift.S rshift.S + mul_1.S +# strlen.S + sub_n.S + submul_1.S -SEARCH on [ FGristFiles $(genericSources) ] - = [ FDirName $(HAIKU_TOP) src system libroot posix glibc arch generic ] ; + e_acos.c e_acosf.c # e_acosl.c + e_asin.c e_asinf.c # e_asinl.c + e_sqrt.c e_sqrtf.c # e_sqrtl.c +# s_fdim.c s_fdimf.c # s_fdiml.S +# s_fabs.S s_fabsf.S # s_fabsl.S + # s_fpclassifyl.c +# s_isnan.c s_isnanf.S + s_nearbyint.c s_nearbyintf.c # s_nearbyintl.c + s_remquo.c s_remquof.c # s_remquol.c + s_rint.c s_rintf.c # s_rintl.c + s_scalbln.c s_scalblnf.c # s_scalblnl.c +# t_sqrt.c +# w_sqrt.c w_sqrtf.c # w_sqrtl.c + ; + + MergeObjectFromObjects <$(architecture)>posix_gnu_arch_$(TARGET_ARCH).o + : : + <$(architecture)>posix_gnu_arch_$(TARGET_ARCH)_generic.o + <$(architecture)>posix_gnu_arch_$(TARGET_ARCH)_other.o + ; + + SEARCH on [ FGristFiles $(genericSources) ] + = [ FDirName $(HAIKU_TOP) src system libroot posix glibc arch + generic ] ; + } +} diff --git a/src/system/libroot/posix/glibc/arch/ppc/Jamfile b/src/system/libroot/posix/glibc/arch/ppc/Jamfile index c28f099975..149ab03ab6 100644 --- a/src/system/libroot/posix/glibc/arch/ppc/Jamfile +++ b/src/system/libroot/posix/glibc/arch/ppc/Jamfile @@ -1,7 +1,6 @@ SubDir HAIKU_TOP src system libroot posix glibc arch ppc ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch - $(TARGET_ARCH) ; +SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch ppc ; SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch generic ; SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include ; SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc stdlib ; @@ -119,38 +118,47 @@ local genericSources = w_scalb.c w_scalbf.c # w_scalbl.c w_sinh.c w_sinhf.c # w_sinhl.c w_tgamma.c w_tgammaf.c # w_tgammal.c -; + ; -MergeObject posix_gnu_arch_$(TARGET_ARCH)_generic.o : - $(genericSources) -; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ppc ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; -MergeObject posix_gnu_arch_$(TARGET_ARCH)_other.o : - add_n.S - addmul_1.S - feholdexcpt.c fraiseexcpt.c fesetenv.c fesetround.c ftestexcept.c - ldbl2mpn.c - lshift.S rshift.S - mul_1.S - sub_n.S - submul_1.S + MergeObject <$(architecture)>posix_gnu_arch_$(TARGET_ARCH)_generic.o : + $(genericSources) + ; - e_sqrt.c e_sqrtf.c # e_sqrtl.c - s_copysign.S s_copysignf.S # s_copysignl.S - s_fabs.S s_fabsf.S # s_fabsl.S - s_fdim.c s_fdimf.c # s_fdiml.S - s_fmax.S s_fmaxf.S # s_fmaxl.S - s_fmin.S s_fminf.S # s_fminl.S - s_isnan.c s_isnanf.S - s_rint.c s_rintf.c # s_rintl.c - t_sqrt.c - w_sqrt.c w_sqrtf.c # w_sqrtl.c -; - -MergeObjectFromObjects posix_gnu_arch_$(TARGET_ARCH).o : : - posix_gnu_arch_$(TARGET_ARCH)_generic.o - posix_gnu_arch_$(TARGET_ARCH)_other.o -; + MergeObject <$(architecture)>posix_gnu_arch_$(TARGET_ARCH)_other.o : + add_n.S + addmul_1.S + feholdexcpt.c fraiseexcpt.c fesetenv.c fesetround.c ftestexcept.c + ldbl2mpn.c + lshift.S rshift.S + mul_1.S + sub_n.S + submul_1.S -SEARCH on [ FGristFiles $(genericSources) ] - = [ FDirName $(HAIKU_TOP) src system libroot posix glibc arch generic ] ; + e_sqrt.c e_sqrtf.c # e_sqrtl.c + s_copysign.S s_copysignf.S # s_copysignl.S + s_fabs.S s_fabsf.S # s_fabsl.S + s_fdim.c s_fdimf.c # s_fdiml.S + s_fmax.S s_fmaxf.S # s_fmaxl.S + s_fmin.S s_fminf.S # s_fminl.S + s_isnan.c s_isnanf.S + s_rint.c s_rintf.c # s_rintl.c + t_sqrt.c + w_sqrt.c w_sqrtf.c # w_sqrtl.c + ; + + MergeObjectFromObjects <$(architecture)>posix_gnu_arch_$(TARGET_ARCH).o + : : + <$(architecture)>posix_gnu_arch_$(TARGET_ARCH)_generic.o + <$(architecture)>posix_gnu_arch_$(TARGET_ARCH)_other.o + ; + + SEARCH on [ FGristFiles $(genericSources) ] + = [ FDirName $(HAIKU_TOP) src system libroot posix glibc arch + generic ] ; + } +} diff --git a/src/system/libroot/posix/glibc/arch/x86/Jamfile b/src/system/libroot/posix/glibc/arch/x86/Jamfile index 4035668300..e6e022f19b 100644 --- a/src/system/libroot/posix/glibc/arch/x86/Jamfile +++ b/src/system/libroot/posix/glibc/arch/x86/Jamfile @@ -1,6 +1,6 @@ SubDir HAIKU_TOP src system libroot posix glibc arch x86 ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch $(TARGET_ARCH) ; +SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch x86 ; SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch generic ; SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include ; SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc libio ; @@ -98,94 +98,103 @@ local genericSources = w_sinh.c w_sinhf.c w_sinhl.c w_sqrt.c w_sqrtf.c w_sqrtl.c w_tgamma.c w_tgammaf.c w_tgammal.c -; + ; -MergeObject posix_gnu_arch_$(TARGET_ARCH)_other.o : - add_n.S - addmul_1.S - fegetround.c - fesetround.c - fraiseexcpt.c - ldbl2mpn.c - mpa.c mpatan.c mpatan2.c mptan.c - - mplog.c - mul_1.S - lshift.S rshift.S - sub_n.S - submul_1.S -; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup x86 x86_gcc2 ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; + + MergeObject <$(architecture)>posix_gnu_arch_$(TARGET_ARCH)_other.o : + add_n.S + addmul_1.S + fegetround.c + fesetround.c + fraiseexcpt.c + ldbl2mpn.c + mpa.c mpatan.c mpatan2.c mptan.c + + mplog.c + mul_1.S + lshift.S rshift.S + sub_n.S + submul_1.S + ; -MergeObject posix_gnu_arch_$(TARGET_ARCH)_e.o : - e_acos.S e_acosf.S e_acosl.c - e_acosh.S e_acoshf.S e_acoshl.S - e_asin.S e_asinf.S - e_atan2.S e_atan2f.S e_atan2l.c - e_atanh.S e_atanhf.S e_atanhl.S - e_exp.S e_expf.S e_expl.c - e_exp2.S e_exp2f.S e_exp2l.S - e_exp10.S e_exp10f.S e_exp10l.S - e_fmod.S e_fmodf.S e_fmodl.c - e_hypot.S e_hypotf.S - e_log.S e_logf.S e_logl.S - e_log2.S e_log2f.S e_log2l.S - e_log10.S e_log10f.S e_log10l.S - e_pow.S e_powf.S e_powl.S - e_remainder.S e_remainderf.S e_remainderl.S - e_scalb.S e_scalbf.S e_scalbl.S - e_sqrt.S e_sqrtf.S e_sqrtl.c -; + MergeObject <$(architecture)>posix_gnu_arch_$(TARGET_ARCH)_e.o : + e_acos.S e_acosf.S e_acosl.c + e_acosh.S e_acoshf.S e_acoshl.S + e_asin.S e_asinf.S + e_atan2.S e_atan2f.S e_atan2l.c + e_atanh.S e_atanhf.S e_atanhl.S + e_exp.S e_expf.S e_expl.c + e_exp2.S e_exp2f.S e_exp2l.S + e_exp10.S e_exp10f.S e_exp10l.S + e_fmod.S e_fmodf.S e_fmodl.c + e_hypot.S e_hypotf.S + e_log.S e_logf.S e_logl.S + e_log2.S e_log2f.S e_log2l.S + e_log10.S e_log10f.S e_log10l.S + e_pow.S e_powf.S e_powl.S + e_remainder.S e_remainderf.S e_remainderl.S + e_scalb.S e_scalbf.S e_scalbl.S + e_sqrt.S e_sqrtf.S e_sqrtl.c + ; -MergeObject posix_gnu_arch_$(TARGET_ARCH)_s.o : - s_asinh.S s_asinhf.S s_asinhl.S - s_atan.S s_atanf.S s_atanl.c - s_cbrt.S s_cbrtf.S s_cbrtl.S - s_ceil.S s_ceilf.S s_ceill.S - s_cexp.S s_cexpf.S s_cexpl.S - s_copysign.S s_copysignf.S s_copysignl.S - s_cos.S s_cosf.S s_cosl.S - s_expm1.S s_expm1f.S s_expm1l.S - s_fdim.S s_fdimf.S s_fdiml.S - s_fabs.S s_fabsf.S s_fabsl.S - s_finite.S s_finitef.S s_finitel.S - s_floor.S s_floorf.S s_floorl.S - s_fma.S s_fmaf.S s_fmal.S - s_fmax.S s_fmaxf.S s_fmaxl.S - s_fmin.S s_fminf.S s_fminl.S - s_fpclassifyl.c - s_frexp.S s_frexpf.S s_frexpl.S - s_ilogb.S s_ilogbf.S - s_isinfl.c - s_isnanl.c - s_llrint.S s_llrintf.S s_llrintl.S - s_log1p.S s_log1pf.S s_log1pl.S - s_logb.S s_logbf.S s_logbl.c - s_lrint.S s_lrintf.S s_lrintl.S - s_nearbyint.S s_nearbyintf.S s_nearbyintl.S - s_nextafterl.c - s_nexttoward.c s_nexttowardf.c - s_remquo.S s_remquof.S s_remquol.S - s_rint.S s_rintf.S s_rintl.c - s_scalbln.c s_scalblnf.c s_scalblnl.c - s_scalbn.S s_scalbnf.S s_scalbnl.S - s_significand.S s_significandf.S - s_sin.S s_sinf.S s_sinl.S - s_sincos.S s_sincosf.S s_sincosl.S - s_tan.S s_tanf.S s_tanl.S - s_trunc.S s_truncf.S s_truncl.S -; + MergeObject <$(architecture)>posix_gnu_arch_$(TARGET_ARCH)_s.o : + s_asinh.S s_asinhf.S s_asinhl.S + s_atan.S s_atanf.S s_atanl.c + s_cbrt.S s_cbrtf.S s_cbrtl.S + s_ceil.S s_ceilf.S s_ceill.S + s_cexp.S s_cexpf.S s_cexpl.S + s_copysign.S s_copysignf.S s_copysignl.S + s_cos.S s_cosf.S s_cosl.S + s_expm1.S s_expm1f.S s_expm1l.S + s_fdim.S s_fdimf.S s_fdiml.S + s_fabs.S s_fabsf.S s_fabsl.S + s_finite.S s_finitef.S s_finitel.S + s_floor.S s_floorf.S s_floorl.S + s_fma.S s_fmaf.S s_fmal.S + s_fmax.S s_fmaxf.S s_fmaxl.S + s_fmin.S s_fminf.S s_fminl.S + s_fpclassifyl.c + s_frexp.S s_frexpf.S s_frexpl.S + s_ilogb.S s_ilogbf.S + s_isinfl.c + s_isnanl.c + s_llrint.S s_llrintf.S s_llrintl.S + s_log1p.S s_log1pf.S s_log1pl.S + s_logb.S s_logbf.S s_logbl.c + s_lrint.S s_lrintf.S s_lrintl.S + s_nearbyint.S s_nearbyintf.S s_nearbyintl.S + s_nextafterl.c + s_nexttoward.c s_nexttowardf.c + s_remquo.S s_remquof.S s_remquol.S + s_rint.S s_rintf.S s_rintl.c + s_scalbln.c s_scalblnf.c s_scalblnl.c + s_scalbn.S s_scalbnf.S s_scalbnl.S + s_significand.S s_significandf.S + s_sin.S s_sinf.S s_sinl.S + s_sincos.S s_sincosf.S s_sincosl.S + s_tan.S s_tanf.S s_tanl.S + s_trunc.S s_truncf.S s_truncl.S + ; -MergeObject posix_gnu_arch_$(TARGET_ARCH)_generic.o : - $(genericSources) -; + MergeObject <$(architecture)>posix_gnu_arch_$(TARGET_ARCH)_generic.o : + $(genericSources) + ; -MergeObjectFromObjects posix_gnu_arch_$(TARGET_ARCH).o : : - posix_gnu_arch_$(TARGET_ARCH)_e.o - posix_gnu_arch_$(TARGET_ARCH)_generic.o - posix_gnu_arch_$(TARGET_ARCH)_other.o - posix_gnu_arch_$(TARGET_ARCH)_s.o -; + MergeObjectFromObjects <$(architecture)>posix_gnu_arch_$(TARGET_ARCH).o + : : + <$(architecture)>posix_gnu_arch_$(TARGET_ARCH)_e.o + <$(architecture)>posix_gnu_arch_$(TARGET_ARCH)_generic.o + <$(architecture)>posix_gnu_arch_$(TARGET_ARCH)_other.o + <$(architecture)>posix_gnu_arch_$(TARGET_ARCH)_s.o + ; -SEARCH on [ FGristFiles $(genericSources) ] - = [ FDirName $(HAIKU_TOP) src system libroot posix glibc arch generic ] ; + SEARCH on [ FGristFiles $(genericSources) ] + = [ FDirName $(HAIKU_TOP) src system libroot posix glibc arch + generic ] ; + } +} diff --git a/src/system/libroot/posix/glibc/arch/x86_64/Jamfile b/src/system/libroot/posix/glibc/arch/x86_64/Jamfile index 8be5c91044..7bc592f2bc 100644 --- a/src/system/libroot/posix/glibc/arch/x86_64/Jamfile +++ b/src/system/libroot/posix/glibc/arch/x86_64/Jamfile @@ -1,6 +1,6 @@ SubDir HAIKU_TOP src system libroot posix glibc arch x86_64 ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch $(TARGET_ARCH) ; +SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch x86_64 ; SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch generic ; SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include ; SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc libio ; @@ -82,55 +82,64 @@ local genericSources = w_remainderf.c w_remainderl.c w_scalb.c w_scalbf.c w_scalbl.c w_sinh.c w_sinhf.c w_sinhl.c w_sqrt.c w_sqrtf.c w_sqrtl.c w_tgamma.c w_tgammaf.c w_tgammal.c -; + ; + +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup x86_64 ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; + + MergeObject <$(architecture)>posix_gnu_arch_$(TARGET_ARCH)_e.o : + e_acosl.c e_atan2l.c e_exp2l.S e_expl.c e_fmodl.S e_log10l.S + e_log2l.S e_logl.S e_powl.S e_remainderl.S e_rem_pio2l.c e_scalbl.S + e_sqrt.c e_sqrtf.c e_sqrtl.c + ; -MergeObject posix_gnu_arch_$(TARGET_ARCH)_e.o : - e_acosl.c e_atan2l.c e_exp2l.S e_expl.c e_fmodl.S e_log10l.S e_log2l.S - e_logl.S e_powl.S e_remainderl.S e_rem_pio2l.c e_scalbl.S e_sqrt.c - e_sqrtf.c e_sqrtl.c -; + MergeObject <$(architecture)>posix_gnu_arch_$(TARGET_ARCH)_k.o : + k_cosl.c k_rem_pio2l.c k_sinl.c k_tanl.c + ; + MergeObject <$(architecture)>posix_gnu_arch_$(TARGET_ARCH)_s.o : + s_atanl.c s_ceill.S s_copysignf.S s_copysignl.S s_copysign.S + s_cosl.S s_expm1l.S s_fabs.c s_fabsf.c s_fabsl.S s_fdiml.S + s_finitel.S s_floorl.S s_fmaxf.S s_fmaxl.S s_fmax.S s_fminf.S + s_fminl.S s_fmin.S s_fpclassifyl.c s_ilogbl.S s_isinfl.c s_isnanl.c + s_llrintf.S s_llrintl.S s_llrint.S s_log1pl.S s_logbl.c s_lrintf.S + s_lrintl.S s_lrint.S s_nearbyintl.S s_nextafterl.c s_nexttoward.c + s_nexttowardf.c s_rintl.c s_scalbnl.S s_significandl.c s_sincosl.S + s_sincos.S s_sinl.S s_tanl.S s_truncl.S + ; -MergeObject posix_gnu_arch_$(TARGET_ARCH)_k.o : - k_cosl.c k_rem_pio2l.c k_sinl.c k_tanl.c -; + MergeObject <$(architecture)>posix_gnu_arch_$(TARGET_ARCH)_other.o : + add_n.S + addmul_1.S + fegetround.c + fesetenv.c + fesetround.c + ldbl2mpn.c -MergeObject posix_gnu_arch_$(TARGET_ARCH)_s.o : - s_atanl.c s_ceill.S s_copysignf.S s_copysignl.S s_copysign.S s_cosl.S - s_expm1l.S s_fabs.c s_fabsf.c s_fabsl.S s_fdiml.S s_finitel.S s_floorl.S - s_fmaxf.S s_fmaxl.S s_fmax.S s_fminf.S s_fminl.S s_fmin.S s_fpclassifyl.c - s_ilogbl.S s_isinfl.c s_isnanl.c s_llrintf.S s_llrintl.S s_llrint.S - s_log1pl.S s_logbl.c s_lrintf.S s_lrintl.S s_lrint.S s_nearbyintl.S - s_nextafterl.c s_nexttoward.c s_nexttowardf.c s_rintl.c s_scalbnl.S - s_significandl.c s_sincosl.S s_sincos.S s_sinl.S s_tanl.S s_truncl.S -; + mul_1.S + lshift.S rshift.S + sub_n.S + submul_1.S + ; -MergeObject posix_gnu_arch_$(TARGET_ARCH)_other.o : - add_n.S - addmul_1.S - fegetround.c - fesetenv.c - fesetround.c - ldbl2mpn.c - - mul_1.S - lshift.S rshift.S - sub_n.S - submul_1.S -; + MergeObject <$(architecture)>posix_gnu_arch_$(TARGET_ARCH)_generic.o : + $(genericSources) + ; -MergeObject posix_gnu_arch_$(TARGET_ARCH)_generic.o : - $(genericSources) -; + MergeObjectFromObjects <$(architecture)>posix_gnu_arch_$(TARGET_ARCH).o + : : + <$(architecture)>posix_gnu_arch_$(TARGET_ARCH)_e.o + <$(architecture)>posix_gnu_arch_$(TARGET_ARCH)_k.o + <$(architecture)>posix_gnu_arch_$(TARGET_ARCH)_s.o + <$(architecture)>posix_gnu_arch_$(TARGET_ARCH)_other.o + <$(architecture)>posix_gnu_arch_$(TARGET_ARCH)_generic.o + ; -MergeObjectFromObjects posix_gnu_arch_$(TARGET_ARCH).o : : - posix_gnu_arch_$(TARGET_ARCH)_e.o - posix_gnu_arch_$(TARGET_ARCH)_k.o - posix_gnu_arch_$(TARGET_ARCH)_s.o - posix_gnu_arch_$(TARGET_ARCH)_other.o - posix_gnu_arch_$(TARGET_ARCH)_generic.o -; - -SEARCH on [ FGristFiles $(genericSources) ] - = [ FDirName $(HAIKU_TOP) src system libroot posix glibc arch generic ] ; + SEARCH on [ FGristFiles $(genericSources) ] + = [ FDirName $(HAIKU_TOP) src system libroot posix glibc arch + generic ] ; + } +} diff --git a/src/system/libroot/posix/glibc/ctype/Jamfile b/src/system/libroot/posix/glibc/ctype/Jamfile index ff8c702a3e..08fc8cf886 100644 --- a/src/system/libroot/posix/glibc/ctype/Jamfile +++ b/src/system/libroot/posix/glibc/ctype/Jamfile @@ -1,13 +1,22 @@ SubDir HAIKU_TOP src system libroot posix glibc ctype ; -SubDirSysHdrs $(SUBDIR) ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch - $(TARGET_ARCH) ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch generic ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc locale ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc ; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; + + SubDirSysHdrs $(SUBDIR) ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch + $(TARGET_ARCH) ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch + generic ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc locale ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc ; + + MergeObject <$(architecture)>posix_gnu_ctype.o : + ctype-info.c + ; + } +} -MergeObject posix_gnu_ctype.o : - ctype-info.c -; diff --git a/src/system/libroot/posix/glibc/extensions/Jamfile b/src/system/libroot/posix/glibc/extensions/Jamfile index 25fdbd567f..507c0ade40 100644 --- a/src/system/libroot/posix/glibc/extensions/Jamfile +++ b/src/system/libroot/posix/glibc/extensions/Jamfile @@ -1,17 +1,25 @@ SubDir HAIKU_TOP src system libroot posix glibc extensions ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch - $(TARGET_ARCH) ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch generic ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc libio ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc locale ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc ; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; -MergeObject posix_gnu_ext.o : - getopt.c - getopt1.c - getopt_init.c + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch + $(TARGET_ARCH) ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch + generic ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc libio ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc locale ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc ; - obstack.c -; + MergeObject <$(architecture)>posix_gnu_ext.o : + getopt.c + getopt1.c + getopt_init.c + + obstack.c + ; + } +} diff --git a/src/system/libroot/posix/glibc/iconv/Jamfile b/src/system/libroot/posix/glibc/iconv/Jamfile index 94cd974953..83e6a1e0ba 100644 --- a/src/system/libroot/posix/glibc/iconv/Jamfile +++ b/src/system/libroot/posix/glibc/iconv/Jamfile @@ -1,21 +1,28 @@ SubDir HAIKU_TOP src system libroot posix glibc iconv ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch - $(TARGET_ARCH) ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch generic ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc libio ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc ctype ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc iconv ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc locale ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc ; - -UsePrivateHeaders libroot ; - - SubDirCcFlags -D_GNU_SOURCE -DUSE_IN_LIBIO ; -MergeObject posix_gnu_iconv.o : - gconv_builtin.c - gconv_simple.c -; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; + + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch + $(TARGET_ARCH) ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch + generic ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc libio ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc ctype ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc iconv ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc locale ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc ; + + UsePrivateHeaders libroot ; + + MergeObject <$(architecture)>posix_gnu_iconv.o : + gconv_builtin.c + gconv_simple.c + ; + } +} diff --git a/src/system/libroot/posix/glibc/libio/Jamfile b/src/system/libroot/posix/glibc/libio/Jamfile index 4e6f0dc425..82eea64eae 100644 --- a/src/system/libroot/posix/glibc/libio/Jamfile +++ b/src/system/libroot/posix/glibc/libio/Jamfile @@ -1,128 +1,135 @@ SubDir HAIKU_TOP src system libroot posix glibc libio ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch - $(TARGET_ARCH) ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch generic ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc stdio-common ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc libio ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc locale ; -#SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc string ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc iconv ; - -UsePrivateHeaders libroot ; - # For now, all wide character functions are disabled, # obprintf() is also disabled, because we don't have # obstack functionality SubDirCcFlags -D_GNU_SOURCE -DUSE_IN_LIBIO ; -MergeObject posix_gnu_libio.o : - __fsetlocking.c - clearerr.c - clearerr_u.c - fcloseall.c - feof.c - feof_u.c - ferror.c - ferror_u.c - fileno.c - filedoalloc.c - fileops.c - flockfile.c - fmemopen.c - fputc.c - fputc_u.c - freopen.c - fseek.c - fseeko.c - ftello.c - fwide.c - genops.c - getc.c - getc_u.c - getchar.c - getchar_u.c - iofclose.c - iofdopen.c - iofflush.c - iofgetpos.c - iofgets.c - iofgets_u.c - iofopen.c - iofopncook.c - iofputs.c - iofputs_u.c - iofread.c - iofread_u.c - iofsetpos.c - ioftell.c - iofwrite.c - iofwrite_u.c - iofwide.c - iogetdelim.c - iogetline.c - iogets.c - iopadn.c - iopopen.c - ioputs.c - ioseekoff.c - ioseekpos.c - iosetbuffer.c - iosetvbuf.c - ioungetc.c - iovdprintf.c - iovsprintf.c - iovsscanf.c - memstream.c -# obprintf.c - pclose.c - peekc.c - putc.c - putc_u.c - putchar.c - putchar_u.c - rewind.c - setbuf.c - setlinebuf.c - stdfiles.c - stdio.c - strops.c - vasprintf.c - vscanf.c - vsnprintf.c +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; - # wide character + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch + $(TARGET_ARCH) ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch + generic ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc stdio-common ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc libio ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc locale ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc iconv ; - fputwc.c - fputwc_u.c - fwprintf.c - fwscanf.c - getwc.c - getwc_u.c - getwchar.c - iofgetws.c - iofputws.c - iofputws_u.c - iogetwline.c - ioungetwc.c - iovswscanf.c - iowpadn.c - putwc.c - putwc_u.c - putwchar.c - putwchar_u.c - swprintf.c - swscanf.c - vswprintf.c - vwprintf.c - vwscanf.c - wfiledoalloc.c - wfileops.c - wgenops.c - wprintf.c - wscanf.c - wstrops.c -; + UsePrivateHeaders libroot ; + + MergeObject <$(architecture)>posix_gnu_libio.o : + __fsetlocking.c + clearerr.c + clearerr_u.c + fcloseall.c + feof.c + feof_u.c + ferror.c + ferror_u.c + fileno.c + filedoalloc.c + fileops.c + flockfile.c + fmemopen.c + fputc.c + fputc_u.c + freopen.c + fseek.c + fseeko.c + ftello.c + fwide.c + genops.c + getc.c + getc_u.c + getchar.c + getchar_u.c + iofclose.c + iofdopen.c + iofflush.c + iofgetpos.c + iofgets.c + iofgets_u.c + iofopen.c + iofopncook.c + iofputs.c + iofputs_u.c + iofread.c + iofread_u.c + iofsetpos.c + ioftell.c + iofwrite.c + iofwrite_u.c + iofwide.c + iogetdelim.c + iogetline.c + iogets.c + iopadn.c + iopopen.c + ioputs.c + ioseekoff.c + ioseekpos.c + iosetbuffer.c + iosetvbuf.c + ioungetc.c + iovdprintf.c + iovsprintf.c + iovsscanf.c + memstream.c +# obprintf.c + pclose.c + peekc.c + putc.c + putc_u.c + putchar.c + putchar_u.c + rewind.c + setbuf.c + setlinebuf.c + stdfiles.c + stdio.c + strops.c + vasprintf.c + vscanf.c + vsnprintf.c + + # wide character + + fputwc.c + fputwc_u.c + fwprintf.c + fwscanf.c + getwc.c + getwc_u.c + getwchar.c + iofgetws.c + iofputws.c + iofputws_u.c + iogetwline.c + ioungetwc.c + iovswscanf.c + iowpadn.c + putwc.c + putwc_u.c + putwchar.c + putwchar_u.c + swprintf.c + swscanf.c + vswprintf.c + vwprintf.c + vwscanf.c + wfiledoalloc.c + wfileops.c + wgenops.c + wprintf.c + wscanf.c + wstrops.c + ; + } +} diff --git a/src/system/libroot/posix/glibc/locale/Jamfile b/src/system/libroot/posix/glibc/locale/Jamfile index 918a1465ca..b3ba468564 100644 --- a/src/system/libroot/posix/glibc/locale/Jamfile +++ b/src/system/libroot/posix/glibc/locale/Jamfile @@ -1,27 +1,35 @@ SubDir HAIKU_TOP src system libroot posix glibc locale ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch - $(TARGET_ARCH) ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch generic ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc locale ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc ; - SubDirCcFlags -D_GNU_SOURCE -DUSE_IN_LIBIO -DLOCALEDIR=\'\"/share/locale\"\' ; -MergeObject posix_gnu_locale.o : - C-collate.c - C-ctype.c - C-messages.c - C-monetary.c - C-numeric.c - C-time.c - C_name.c - coll-lookup.c - lc-collate.c - lc-ctype.c - lc-messages.c - lc-monetary.c - lc-numeric.c - xlocale.c -; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; + + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch + $(TARGET_ARCH) ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch + generic ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc locale ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc ; + + MergeObject <$(architecture)>posix_gnu_locale.o : + C-collate.c + C-ctype.c + C-messages.c + C-monetary.c + C-numeric.c + C-time.c + C_name.c + coll-lookup.c + lc-collate.c + lc-ctype.c + lc-messages.c + lc-monetary.c + lc-numeric.c + xlocale.c + ; + } +} diff --git a/src/system/libroot/posix/glibc/misc/Jamfile b/src/system/libroot/posix/glibc/misc/Jamfile index 937e16416e..1c9152bffc 100644 --- a/src/system/libroot/posix/glibc/misc/Jamfile +++ b/src/system/libroot/posix/glibc/misc/Jamfile @@ -1,26 +1,32 @@ SubDir HAIKU_TOP src system libroot posix glibc misc ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch - $(TARGET_ARCH) ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch generic ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc libio ; -#SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc wcsmbs ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc misc ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc locale ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc ; - -UsePrivateHeaders libroot ; - - SubDirCcFlags -D_GNU_SOURCE -DUSE_IN_LIBIO ; -MergeObject posix_gnu_misc.o : - hsearch.c - hsearch_r.c - insremque.c - lsearch.c - tsearch.c - efgcvt.c - efgcvt_r.c -; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; + + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch + $(TARGET_ARCH) ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch + generic ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc libio ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc misc ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc locale ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc ; + + UsePrivateHeaders libroot ; + + MergeObject <$(architecture)>posix_gnu_misc.o : + hsearch.c + hsearch_r.c + insremque.c + lsearch.c + tsearch.c + efgcvt.c + efgcvt_r.c + ; + } +} diff --git a/src/system/libroot/posix/glibc/regex/Jamfile b/src/system/libroot/posix/glibc/regex/Jamfile index b1e1b0d56d..d5bb81e1da 100644 --- a/src/system/libroot/posix/glibc/regex/Jamfile +++ b/src/system/libroot/posix/glibc/regex/Jamfile @@ -3,7 +3,13 @@ SubDir HAIKU_TOP src system libroot posix glibc regex ; SubDirHdrs $(HAIKU_TOP) headers ; SubDirCcFlags -D_REGEX_RE_COMP -D__USE_GNU -DHAVE_STDBOOL_H ; -KernelMergeObject posix_gnu_regex.o : - regex.c -; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; + MergeObject <$(architecture)>posix_gnu_regex.o : + regex.c + ; + } +} diff --git a/src/system/libroot/posix/glibc/stdio-common/Jamfile b/src/system/libroot/posix/glibc/stdio-common/Jamfile index bea6ede166..3491915a8b 100644 --- a/src/system/libroot/posix/glibc/stdio-common/Jamfile +++ b/src/system/libroot/posix/glibc/stdio-common/Jamfile @@ -2,52 +2,59 @@ SubDir HAIKU_TOP src system libroot posix glibc stdio-common ; SubDirCcFlags -D_GNU_SOURCE -DUSE_IN_LIBIO ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc libio ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch - $(TARGET_ARCH) ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch generic ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc stdio-common ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc locale ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc ; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; -UsePrivateHeaders libroot ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc libio ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch + $(TARGET_ARCH) ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch + generic ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc stdio-common ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc locale ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc ; + UsePrivateHeaders libroot ; -MergeObject posix_gnu_stdio.o : #_common.o : - _itoa.c - _itowa.c - asprintf.c -# dprintf.c - fprintf.c - fscanf.c - getline.c - getw.c - itoa-digits.c - itoa-udigits.c - itowa-digits.c - perror.c - printf-prs.c - printf.c - printf_fp.c - printf_fphex.c - printf_size.c - putw.c - reg-printf.c - scanf.c - snprintf.c - sprintf.c - sscanf.c - tempnam.c - tempname.c - tmpfile.c - tmpnam.c - tmpnam_r.c - vfprintf.c -# vfprintf_stub.c -# vfscanf_stub.c - vfscanf.c - vfwprintf.c - vfwscanf.c - vprintf.c -; + MergeObject <$(architecture)>posix_gnu_stdio.o : + _itoa.c + _itowa.c + asprintf.c +# dprintf.c + fprintf.c + fscanf.c + getline.c + getw.c + itoa-digits.c + itoa-udigits.c + itowa-digits.c + perror.c + printf-prs.c + printf.c + printf_fp.c + printf_fphex.c + printf_size.c + putw.c + reg-printf.c + scanf.c + snprintf.c + sprintf.c + sscanf.c + tempnam.c + tempname.c + tmpfile.c + tmpnam.c + tmpnam_r.c + vfprintf.c +# vfprintf_stub.c +# vfscanf_stub.c + vfscanf.c + vfwprintf.c + vfwscanf.c + vprintf.c + ; + } +} diff --git a/src/system/libroot/posix/glibc/stdlib/Jamfile b/src/system/libroot/posix/glibc/stdlib/Jamfile index fe91aa1e6d..c4173ec9aa 100644 --- a/src/system/libroot/posix/glibc/stdlib/Jamfile +++ b/src/system/libroot/posix/glibc/stdlib/Jamfile @@ -1,40 +1,49 @@ SubDir HAIKU_TOP src system libroot posix glibc stdlib ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch $(TARGET_ARCH) ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch generic ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc locale ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc stdlib ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc ; - -UsePrivateHeaders libroot ; - SubDirCcFlags -D_GNU_SOURCE -DUSE_IN_LIBIO ; -MergeObject posix_gnu_stdlib.o : - drand48.c - drand48_r.c - drand48-iter.c - erand48.c - erand48_r.c - fpioconst.c - jrand48.c - jrand48_r.c - inlines.c - lcong48.c - lcong48_r.c - lrand48.c - lrand48_r.c - mrand48.c - mrand48_r.c - nrand48.c - nrand48_r.c - random_r.c - seed48.c - seed48_r.c - srand48.c - srand48_r.c - strtod.c - strtold.c - strtof.c -; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; + + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch + $(TARGET_ARCH) ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch + generic ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc locale ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc stdlib ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc ; + + UsePrivateHeaders libroot ; + + MergeObject <$(architecture)>posix_gnu_stdlib.o : + drand48.c + drand48_r.c + drand48-iter.c + erand48.c + erand48_r.c + fpioconst.c + jrand48.c + jrand48_r.c + inlines.c + lcong48.c + lcong48_r.c + lrand48.c + lrand48_r.c + mrand48.c + mrand48_r.c + nrand48.c + nrand48_r.c + random_r.c + seed48.c + seed48_r.c + srand48.c + srand48_r.c + strtod.c + strtold.c + strtof.c + ; + } +} diff --git a/src/system/libroot/posix/glibc/string/Jamfile b/src/system/libroot/posix/glibc/string/Jamfile index fecd7105aa..f79671cdad 100644 --- a/src/system/libroot/posix/glibc/string/Jamfile +++ b/src/system/libroot/posix/glibc/string/Jamfile @@ -1,11 +1,18 @@ SubDir HAIKU_TOP src system libroot posix glibc string ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch $(TARGET_ARCH) ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch generic ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include ; -#SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc locale ; -#SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc ; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; -MergeObject posix_gnu_string.o : - swab.c -; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch + $(TARGET_ARCH) ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch + generic ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include ; + + MergeObject <$(architecture)>posix_gnu_string.o : + swab.c + ; + } +} diff --git a/src/system/libroot/posix/glibc/wcsmbs/Jamfile b/src/system/libroot/posix/glibc/wcsmbs/Jamfile index 66ce9e3004..5380f28cb6 100644 --- a/src/system/libroot/posix/glibc/wcsmbs/Jamfile +++ b/src/system/libroot/posix/glibc/wcsmbs/Jamfile @@ -1,29 +1,36 @@ SubDir HAIKU_TOP src system libroot posix glibc wcsmbs ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch - $(TARGET_ARCH) ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch generic ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc libio ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc wcsmbs ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc iconv ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc locale ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc stdlib ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc ctype ; -SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc ; - -UsePrivateHeaders libroot ; - - SubDirCcFlags -D_GNU_SOURCE -DUSE_IN_LIBIO ; -MergeObject posix_gnu_wcsmbs.o : - wcsmbsload.c - wcstod.c - wcstof.c - wcstol.c - wcstoll.c - wcstold.c - wcstoul.c - wcstoull.c -; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; + + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch + $(TARGET_ARCH) ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch + generic ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc libio ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc wcsmbs ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc iconv ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc locale ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc stdlib ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc ctype ; + SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc ; + + UsePrivateHeaders libroot ; + + MergeObject <$(architecture)>posix_gnu_wcsmbs.o : + wcsmbsload.c + wcstod.c + wcstof.c + wcstol.c + wcstoll.c + wcstold.c + wcstoul.c + wcstoull.c + ; + } +} diff --git a/src/system/libroot/posix/locale/Jamfile b/src/system/libroot/posix/locale/Jamfile index 1d96bba252..d2f9aefa56 100644 --- a/src/system/libroot/posix/locale/Jamfile +++ b/src/system/libroot/posix/locale/Jamfile @@ -4,15 +4,22 @@ UsePrivateHeaders [ FDirName libroot ] [ FDirName libroot locale ] [ FDirName libroot time ] -; + ; -MergeObject posix_locale.o : - ctype.cpp - LocaleBackend.cpp - LocaleData.cpp - LocaleDataBridge.cpp - localeconv.cpp - nl_langinfo.cpp - setlocale.cpp - wctype.cpp -; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; + + MergeObject <$(architecture)>posix_locale.o : + ctype.cpp + LocaleBackend.cpp + LocaleData.cpp + LocaleDataBridge.cpp + localeconv.cpp + nl_langinfo.cpp + setlocale.cpp + wctype.cpp + ; + } +} diff --git a/src/system/libroot/posix/malloc/Jamfile b/src/system/libroot/posix/malloc/Jamfile index 423cda5ffe..3cb65cc7a0 100644 --- a/src/system/libroot/posix/malloc/Jamfile +++ b/src/system/libroot/posix/malloc/Jamfile @@ -1,13 +1,21 @@ SubDir HAIKU_TOP src system libroot posix malloc ; -UsePrivateSystemHeaders ; UsePrivateHeaders libroot ; -MergeObject posix_malloc.o : - arch-specific.cpp - heap.cpp - processheap.cpp - superblock.cpp - threadheap.cpp - wrapper.cpp -; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; + + UsePrivateSystemHeaders ; + + MergeObject <$(architecture)>posix_malloc.o : + arch-specific.cpp + heap.cpp + processheap.cpp + superblock.cpp + threadheap.cpp + wrapper.cpp + ; + } +} diff --git a/src/system/libroot/posix/malloc_debug/Jamfile b/src/system/libroot/posix/malloc_debug/Jamfile index ee657fce2e..ce2d68a298 100644 --- a/src/system/libroot/posix/malloc_debug/Jamfile +++ b/src/system/libroot/posix/malloc_debug/Jamfile @@ -1,9 +1,17 @@ SubDir HAIKU_TOP src system libroot posix malloc_debug ; -UsePrivateSystemHeaders ; UsePrivateHeaders libroot shared ; -MergeObject posix_malloc_debug.o : - #guarded_heap.cpp - heap.cpp -; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; + + UsePrivateSystemHeaders ; + + MergeObject <$(architecture)>posix_malloc_debug.o : + #guarded_heap.cpp + heap.cpp + ; + } +} diff --git a/src/system/libroot/posix/pthread/Jamfile b/src/system/libroot/posix/pthread/Jamfile index bc7a36d0f2..1968a8e8ee 100644 --- a/src/system/libroot/posix/pthread/Jamfile +++ b/src/system/libroot/posix/pthread/Jamfile @@ -1,23 +1,30 @@ SubDir HAIKU_TOP src system libroot posix pthread ; -UsePrivateSystemHeaders ; UsePrivateHeaders kernel ; # for util/DoublyLinkedList.h UsePrivateHeaders libroot shared ; -MergeObject posix_pthread.o : - pthread.cpp - pthread_atfork.c - pthread_attr.c - pthread_cancel.cpp - pthread_cleanup.cpp - pthread_cond.cpp - pthread_condattr.c - pthread_key.cpp - pthread_mutex.cpp - pthread_mutexattr.c - pthread_once.cpp - pthread_rwlock.cpp - pthread_spinlock.c -; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; + UsePrivateSystemHeaders ; + + MergeObject <$(architecture)>posix_pthread.o : + pthread.cpp + pthread_atfork.c + pthread_attr.c + pthread_cancel.cpp + pthread_cleanup.cpp + pthread_cond.cpp + pthread_condattr.c + pthread_key.cpp + pthread_mutex.cpp + pthread_mutexattr.c + pthread_once.cpp + pthread_rwlock.cpp + pthread_spinlock.c + ; + } +} diff --git a/src/system/libroot/posix/signal/Jamfile b/src/system/libroot/posix/signal/Jamfile index 11d753a235..8b4b1eae7a 100644 --- a/src/system/libroot/posix/signal/Jamfile +++ b/src/system/libroot/posix/signal/Jamfile @@ -1,33 +1,41 @@ SubDir HAIKU_TOP src system libroot posix signal ; -UsePrivateSystemHeaders ; UsePrivateHeaders libroot shared ; -MergeObject posix_signal.o : - kill.c - killpg.cpp - psiginfo.cpp - psignal.cpp - raise.c - send_signal.c - set_signal_mask.cpp - set_signal_stack.c - sigaction.cpp - sigaltstack.c - sighold.cpp - sigignore.cpp - siginterrupt.cpp - signal.cpp - signal_limits.cpp - sigpause.cpp - sigpending.cpp - sigqueue.cpp - sigrelse.cpp - sigset.cpp - sigset_accessors.cpp - sigsuspend.cpp - sigtimedwait.cpp - sigwait.cpp - sigwaitinfo.cpp - strsignal.cpp -; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; + + UsePrivateSystemHeaders ; + + MergeObject <$(architecture)>posix_signal.o : + kill.c + killpg.cpp + psiginfo.cpp + psignal.cpp + raise.c + send_signal.c + set_signal_mask.cpp + set_signal_stack.c + sigaction.cpp + sigaltstack.c + sighold.cpp + sigignore.cpp + siginterrupt.cpp + signal.cpp + signal_limits.cpp + sigpause.cpp + sigpending.cpp + sigqueue.cpp + sigrelse.cpp + sigset.cpp + sigset_accessors.cpp + sigsuspend.cpp + sigtimedwait.cpp + sigwait.cpp + sigwaitinfo.cpp + strsignal.cpp + ; + } +} diff --git a/src/system/libroot/posix/stdio/Jamfile b/src/system/libroot/posix/stdio/Jamfile index c43f38af02..61627d8e11 100644 --- a/src/system/libroot/posix/stdio/Jamfile +++ b/src/system/libroot/posix/stdio/Jamfile @@ -1,57 +1,20 @@ SubDir HAIKU_TOP src system libroot posix stdio ; -UsePrivateSystemHeaders ; UsePrivateHeaders libroot shared ; -MergeObject posix_stdio.o : - __freading.cpp - _fseek.c - fpurge.cpp - remove.c - rename.c -# The other files are superseded by the glibc libio/stdio stuff -# <$(SOURCE_GRIST)>fclose.c -# <$(SOURCE_GRIST)>feof.c -# <$(SOURCE_GRIST)>fflush.c -# <$(SOURCE_GRIST)>fgetc.c -# <$(SOURCE_GRIST)>fgetln.c -# <$(SOURCE_GRIST)>fgets.c -# <$(SOURCE_GRIST)>findfp.c -# <$(SOURCE_GRIST)>flags.c -# <$(SOURCE_GRIST)>flockfile.c -# <$(SOURCE_GRIST)>fopen.c -# <$(SOURCE_GRIST)>fprintf.c -# <$(SOURCE_GRIST)>fputc.c -# <$(SOURCE_GRIST)>fputs.c -# <$(SOURCE_GRIST)>fread.c -# <$(SOURCE_GRIST)>fseek.c -# <$(SOURCE_GRIST)>fwrite.c -# <$(SOURCE_GRIST)>fvwrite.c -# <$(SOURCE_GRIST)>fwalk.c -# <$(SOURCE_GRIST)>getc.c -# <$(SOURCE_GRIST)>getchar.c -# <$(SOURCE_GRIST)>gets.c -# <$(SOURCE_GRIST)>getw.c -# <$(SOURCE_GRIST)>makebuf.c -# <$(SOURCE_GRIST)>printf.c -# <$(SOURCE_GRIST)>putc.c -# <$(SOURCE_GRIST)>putchar.c -# <$(SOURCE_GRIST)>puts.c -# <$(SOURCE_GRIST)>putw.c -# <$(SOURCE_GRIST)>refill.c -# <$(SOURCE_GRIST)>rewind.c -# <$(SOURCE_GRIST)>rget.c -# <$(SOURCE_GRIST)>scanf.c -# <$(SOURCE_GRIST)>snprintf.c -# <$(SOURCE_GRIST)>sscanf.c -# <$(SOURCE_GRIST)>sprintf.c -# <$(SOURCE_GRIST)>stdio.c -# <$(SOURCE_GRIST)>ungetc.c -# <$(SOURCE_GRIST)>vfprintf.c -# <$(SOURCE_GRIST)>vfscanf.c -# <$(SOURCE_GRIST)>vscanf.c -# <$(SOURCE_GRIST)>vsnprintf.c -# <$(SOURCE_GRIST)>vsprintf.c -# <$(SOURCE_GRIST)>wbuf.c -# <$(SOURCE_GRIST)>wsetup.c -; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; + + UsePrivateSystemHeaders ; + + MergeObject <$(architecture)>posix_stdio.o : + __freading.cpp + _fseek.c + fpurge.cpp + remove.c + rename.c + ; + } +} diff --git a/src/system/libroot/posix/stdlib/Jamfile b/src/system/libroot/posix/stdlib/Jamfile index f473c95501..0f49b64a2a 100644 --- a/src/system/libroot/posix/stdlib/Jamfile +++ b/src/system/libroot/posix/stdlib/Jamfile @@ -2,30 +2,38 @@ SubDir HAIKU_TOP src system libroot posix stdlib ; UsePrivateHeaders drivers libroot runtime_loader shared ; UsePrivateHeaders kernel ; # for -UsePrivateSystemHeaders ; -MergeObject posix_stdlib.o : - abs.c - atfork.c - atof.c - atoi.c - bsearch.c - div.c - env.cpp - exit.cpp - getsubopt.cpp - heapsort.c - merge.c - mktemp.c - pty.cpp - qsort.c - radixsort.c - rand.c - random.c - realpath.cpp - strfmon.c - strtol.c - strtoll.c - strtoul.c - strtoull.c -; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; + + UsePrivateSystemHeaders ; + + MergeObject <$(architecture)>posix_stdlib.o : + abs.c + atfork.c + atof.c + atoi.c + bsearch.c + div.c + env.cpp + exit.cpp + getsubopt.cpp + heapsort.c + merge.c + mktemp.c + pty.cpp + qsort.c + radixsort.c + rand.c + random.c + realpath.cpp + strfmon.c + strtol.c + strtoll.c + strtoul.c + strtoull.c + ; + } +} diff --git a/src/system/libroot/posix/string/Jamfile b/src/system/libroot/posix/string/Jamfile index 68eed17fe0..a8d53bc097 100644 --- a/src/system/libroot/posix/string/Jamfile +++ b/src/system/libroot/posix/string/Jamfile @@ -1,47 +1,57 @@ SubDir HAIKU_TOP src system libroot posix string ; -UsePrivateHeaders - [ FDirName libroot ] - [ FDirName libroot locale ] -; +UsePrivateHeaders + [ FDirName libroot ] + [ FDirName libroot locale ] + ; -MergeObject posix_string.o : - bcmp.c - bcopy.c - bzero.c - ffs.cpp - memccpy.c - memchr.c - memcmp.c - memmove.c - stpcpy.c - strcasecmp.c - strcasestr.c - strcat.c - strchr.c - strchrnul.c - strcmp.c - strcoll.cpp - strcpy.c - strcspn.c - strdup.c - strerror.c - strlcat.c - strlcpy.c - strlen.cpp - strlwr.c - strncat.c - strncmp.c - strncpy.cpp - strndup.cpp - strnlen.cpp - strpbrk.c - strrchr.c - strspn.c - strstr.c - strtok.c - strupr.c - strxfrm.cpp -; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; -HaikuSubInclude arch $(TARGET_ARCH) ; + MergeObject <$(architecture)>posix_string.o : + bcmp.c + bcopy.c + bzero.c + ffs.cpp + memccpy.c + memchr.c + memcmp.c + memmove.c + stpcpy.c + strcasecmp.c + strcasestr.c + strcat.c + strchr.c + strchrnul.c + strcmp.c + strcoll.cpp + strcpy.c + strcspn.c + strdup.c + strerror.c + strlcat.c + strlcpy.c + strlen.cpp + strlwr.c + strncat.c + strncmp.c + strncpy.cpp + strndup.cpp + strnlen.cpp + strpbrk.c + strrchr.c + strspn.c + strstr.c + strtok.c + strupr.c + strxfrm.cpp + ; + } +} + +local arch ; +for arch in $(TARGET_ARCHS) { + HaikuSubInclude arch $(arch) ; +} diff --git a/src/system/libroot/posix/string/arch/arm/Jamfile b/src/system/libroot/posix/string/arch/arm/Jamfile index 7146ba3e65..6fe7dfbf1b 100644 --- a/src/system/libroot/posix/string/arch/arm/Jamfile +++ b/src/system/libroot/posix/string/arch/arm/Jamfile @@ -1,10 +1,17 @@ SubDir HAIKU_TOP src system libroot posix string arch arm ; -UsePrivateSystemHeaders ; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup arm ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; -SEARCH_SOURCE += [ FDirName $(SUBDIR) $(DOTDOT) generic ] ; + UsePrivateSystemHeaders ; -MergeObject posix_string_arch_$(TARGET_ARCH).o : - arch_string.S - memset.c -; + SEARCH_SOURCE += [ FDirName $(SUBDIR) $(DOTDOT) generic ] ; + + MergeObject <$(architecture)>posix_string_arch_$(TARGET_ARCH).o : + arch_string.S + memset.c + ; + } +} diff --git a/src/system/libroot/posix/string/arch/m68k/Jamfile b/src/system/libroot/posix/string/arch/m68k/Jamfile index 6642b95fc7..3791d8bb06 100644 --- a/src/system/libroot/posix/string/arch/m68k/Jamfile +++ b/src/system/libroot/posix/string/arch/m68k/Jamfile @@ -1,10 +1,17 @@ SubDir HAIKU_TOP src system libroot posix string arch m68k ; -UsePrivateSystemHeaders ; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup m68k ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; -SEARCH_SOURCE += [ FDirName $(SUBDIR) $(DOTDOT) generic ] ; + UsePrivateSystemHeaders ; -MergeObject posix_string_arch_$(TARGET_ARCH).o : - arch_string.S - memset.c -; + SEARCH_SOURCE += [ FDirName $(SUBDIR) $(DOTDOT) generic ] ; + + MergeObject <$(architecture)>posix_string_arch_$(TARGET_ARCH).o : + arch_string.S + memset.c + ; + } +} diff --git a/src/system/libroot/posix/string/arch/mipsel/Jamfile b/src/system/libroot/posix/string/arch/mipsel/Jamfile index 275150660a..3e70f84ecd 100644 --- a/src/system/libroot/posix/string/arch/mipsel/Jamfile +++ b/src/system/libroot/posix/string/arch/mipsel/Jamfile @@ -1,10 +1,17 @@ SubDir HAIKU_TOP src system libroot posix string arch mipsel ; -UsePrivateSystemHeaders ; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup mipsel ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; -SEARCH_SOURCE += [ FDirName $(SUBDIR) $(DOTDOT) generic ] ; + UsePrivateSystemHeaders ; -MergeObject posix_string_arch_$(TARGET_ARCH).o : - memcpy.c - memset.c -; + SEARCH_SOURCE += [ FDirName $(SUBDIR) $(DOTDOT) generic ] ; + + MergeObject <$(architecture)>posix_string_arch_$(TARGET_ARCH).o : + memcpy.c + memset.c + ; + } +} diff --git a/src/system/libroot/posix/string/arch/ppc/Jamfile b/src/system/libroot/posix/string/arch/ppc/Jamfile index 920c691c46..5f054aa971 100644 --- a/src/system/libroot/posix/string/arch/ppc/Jamfile +++ b/src/system/libroot/posix/string/arch/ppc/Jamfile @@ -1,10 +1,17 @@ SubDir HAIKU_TOP src system libroot posix string arch ppc ; -UsePrivateSystemHeaders ; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ppc ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; -SEARCH_SOURCE += [ FDirName $(SUBDIR) $(DOTDOT) generic ] ; + UsePrivateSystemHeaders ; -MergeObject posix_string_arch_$(TARGET_ARCH).o : - memcpy.c - memset.c -; + SEARCH_SOURCE += [ FDirName $(SUBDIR) $(DOTDOT) generic ] ; + + MergeObject <$(architecture)>posix_string_arch_$(TARGET_ARCH).o : + memcpy.c + memset.c + ; + } +} diff --git a/src/system/libroot/posix/string/arch/x86/Jamfile b/src/system/libroot/posix/string/arch/x86/Jamfile index bbaee0d9d0..edd827a2d8 100644 --- a/src/system/libroot/posix/string/arch/x86/Jamfile +++ b/src/system/libroot/posix/string/arch/x86/Jamfile @@ -1,8 +1,14 @@ SubDir HAIKU_TOP src system libroot posix string arch x86 ; -UsePrivateSystemHeaders ; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup x86 x86_gcc2 ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; -MergeObject posix_string_arch_$(TARGET_ARCH).o : - arch_string.S -; + UsePrivateSystemHeaders ; + MergeObject <$(architecture)>posix_string_arch_$(TARGET_ARCH).o : + arch_string.S + ; + } +} diff --git a/src/system/libroot/posix/string/arch/x86_64/Jamfile b/src/system/libroot/posix/string/arch/x86_64/Jamfile index 1c3ac217c0..6d843894d4 100644 --- a/src/system/libroot/posix/string/arch/x86_64/Jamfile +++ b/src/system/libroot/posix/string/arch/x86_64/Jamfile @@ -1,8 +1,14 @@ SubDir HAIKU_TOP src system libroot posix string arch x86_64 ; -UsePrivateSystemHeaders ; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup x86_64 ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; -MergeObject posix_string_arch_$(TARGET_ARCH).o : - arch_string.S -; + UsePrivateSystemHeaders ; + MergeObject <$(architecture)>posix_string_arch_$(TARGET_ARCH).o : + arch_string.S + ; + } +} diff --git a/src/system/libroot/posix/sys/Jamfile b/src/system/libroot/posix/sys/Jamfile index 3f439cbffd..db2e5ed62d 100644 --- a/src/system/libroot/posix/sys/Jamfile +++ b/src/system/libroot/posix/sys/Jamfile @@ -1,29 +1,37 @@ SubDir HAIKU_TOP src system libroot posix sys ; UsePrivateHeaders libroot shared ; -UsePrivateSystemHeaders ; -MergeObject posix_sys.o : - chmod.c - flock.c - ftime.c - ftok.c - getrusage.c - gettimeofday.c - itimer.cpp - mkdir.c - mkfifo.c - mman.cpp - rlimit.c - select.c - stat.c - statvfs.c - times.cpp - uio.c - umask.c - uname.c - utimes.c - wait.cpp - xsi_msg_queue.cpp - xsi_sem.cpp -; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; + + UsePrivateSystemHeaders ; + + MergeObject <$(architecture)>posix_sys.o : + chmod.c + flock.c + ftime.c + ftok.c + getrusage.c + gettimeofday.c + itimer.cpp + mkdir.c + mkfifo.c + mman.cpp + rlimit.c + select.c + stat.c + statvfs.c + times.cpp + uio.c + umask.c + uname.c + utimes.c + wait.cpp + xsi_msg_queue.cpp + xsi_sem.cpp + ; + } +} diff --git a/src/system/libroot/posix/time/Jamfile b/src/system/libroot/posix/time/Jamfile index e79876fe4a..d3af02339b 100644 --- a/src/system/libroot/posix/time/Jamfile +++ b/src/system/libroot/posix/time/Jamfile @@ -9,26 +9,34 @@ UsePrivateHeaders [ FDirName libroot locale ] [ FDirName libroot time ] shared -; -UsePrivateSystemHeaders ; + ; -MergeObject posix_time.o : - asctime.cpp - clock.cpp - clock_support.cpp - ctime.c - difftime.c - localtime_fading_out.c - localtime.cpp - nanosleep.c - stime.c - strftime.c - strptime.c - timelocal.cpp - time.c - timer_support.cpp - wcsftime.c -; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; + + UsePrivateSystemHeaders ; + + MergeObject <$(architecture)>posix_time.o : + asctime.cpp + clock.cpp + clock_support.cpp + ctime.c + difftime.c + localtime_fading_out.c + localtime.cpp + nanosleep.c + stime.c + strftime.c + strptime.c + timelocal.cpp + time.c + timer_support.cpp + wcsftime.c + ; + } +} # Explanations of flags: # diff --git a/src/system/libroot/posix/unistd/Jamfile b/src/system/libroot/posix/unistd/Jamfile index 91e85ee168..e9f6d2adbb 100644 --- a/src/system/libroot/posix/unistd/Jamfile +++ b/src/system/libroot/posix/unistd/Jamfile @@ -1,42 +1,50 @@ SubDir HAIKU_TOP src system libroot posix unistd ; -UsePrivateSystemHeaders ; UsePrivateHeaders libroot runtime_loader shared ; -MergeObject posix_unistd.o : - access.c - alarm.c - chown.c - chroot.cpp - close.c - conf.cpp - directory.c - dup.c - exec.cpp - _exit.c - fork.c - getlogin.c - getpagesize.c - hostname.cpp - ioctl.c - link.c - lockf.cpp - lseek.c - mknod.c - mount.c - pause.c - pipe.c - process.c - read.c - sbrk.c - sleep.c - sync.c - system.cpp - terminal.c - truncate.c - ttyname.c - ualarm.c - usergroup.cpp - usleep.c - write.c -; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; + + UsePrivateSystemHeaders ; + + MergeObject <$(architecture)>posix_unistd.o : + access.c + alarm.c + chown.c + chroot.cpp + close.c + conf.cpp + directory.c + dup.c + exec.cpp + _exit.c + fork.c + getlogin.c + getpagesize.c + hostname.cpp + ioctl.c + link.c + lockf.cpp + lseek.c + mknod.c + mount.c + pause.c + pipe.c + process.c + read.c + sbrk.c + sleep.c + sync.c + system.cpp + terminal.c + truncate.c + ttyname.c + ualarm.c + usergroup.cpp + usleep.c + write.c + ; + } +} diff --git a/src/system/libroot/posix/wchar/Jamfile b/src/system/libroot/posix/wchar/Jamfile index 6b77b86d78..ce58b99b40 100644 --- a/src/system/libroot/posix/wchar/Jamfile +++ b/src/system/libroot/posix/wchar/Jamfile @@ -5,52 +5,59 @@ UsePrivateHeaders [ FDirName libroot locale ] ; -MergeObject posix_wchar.o : - btowc.c - mblen.c - mbrlen.c - mbrtowc.cpp - mbsinit.c - mbsrtowcs.cpp - mbstowcs.c - mbtowc.c - wcpcpy.c - wcpncpy.c - wcrtomb.cpp - wcscasecmp.c - wcscat.c - wcschr.c - wcschrnul.c - wcscmp.c - wcscoll.cpp - wcscpy.c - wcscspn.c - wcsdup.c -# wcsftime.cpp - wcslcat.c - wcslcpy.c - wcslen.c - wcsncasecmp.c - wcsncat.c - wcsncmp.c - wcsncpy.c - wcsnlen.c - wcspbrk.c - wcsrchr.c - wcsrtombs.cpp - wcsspn.c - wcsstr.c - wcstok.c - wcstombs.c - wcswidth.c - wcsxfrm.cpp - wctob.c - wctomb.c - wcwidth.c - wmemchr.c - wmemcmp.c - wmemcpy.c - wmemmove.c - wmempcpy.c - wmemset.c -; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; + + MergeObject <$(architecture)>posix_wchar.o : + btowc.c + mblen.c + mbrlen.c + mbrtowc.cpp + mbsinit.c + mbsrtowcs.cpp + mbstowcs.c + mbtowc.c + wcpcpy.c + wcpncpy.c + wcrtomb.cpp + wcscasecmp.c + wcscat.c + wcschr.c + wcschrnul.c + wcscmp.c + wcscoll.cpp + wcscpy.c + wcscspn.c + wcsdup.c +# wcsftime.cpp + wcslcat.c + wcslcpy.c + wcslen.c + wcsncasecmp.c + wcsncat.c + wcsncmp.c + wcsncpy.c + wcsnlen.c + wcspbrk.c + wcsrchr.c + wcsrtombs.cpp + wcsspn.c + wcsstr.c + wcstok.c + wcstombs.c + wcswidth.c + wcsxfrm.cpp + wctob.c + wctomb.c + wcwidth.c + wmemchr.c + wmemcmp.c + wmemcpy.c + wmemmove.c + wmempcpy.c + wmemset.c + ; + } +} diff --git a/src/system/runtime_loader/Jamfile b/src/system/runtime_loader/Jamfile index 11bc81122e..06d9b56532 100644 --- a/src/system/runtime_loader/Jamfile +++ b/src/system/runtime_loader/Jamfile @@ -1,5 +1,7 @@ SubDir HAIKU_TOP src system runtime_loader ; +local architecture = $(TARGET_PACKAGING_ARCH) ; + UsePrivateHeaders libroot runtime_loader shared ; UsePrivateHeaders kernel ; # for @@ -24,37 +26,37 @@ StaticLibrary libruntime_loader.a : kernel_cpp.cpp KMessage.cpp : - mutex.o - recursive_lock.o - syscalls.o - sem.o + mutex.o + recursive_lock.o + syscalls.o + sem.o - errno.o - fcntl.o + errno.o + fcntl.o - ctype.o - LocaleData.o + ctype.o + LocaleData.o - memchr.o - memcmp.o - memmove.o - strcasecmp.o - strcat.o - strchr.o - strcmp.o - strcpy.o - strcspn.o - strdup.o - strerror.o - strlcat.o - strlcpy.o + memchr.o + memcmp.o + memmove.o + strcasecmp.o + strcat.o + strchr.o + strcmp.o + strcpy.o + strcspn.o + strdup.o + strerror.o + strlcat.o + strlcpy.o strlen.o - strncmp.o - strnlen.o - strpbrk.o - strrchr.o - strspn.o - strstr.o + strncmp.o + strnlen.o + strpbrk.o + strrchr.o + strspn.o + strstr.o [ FGristFiles kernel_vsprintf.o ] ; @@ -88,8 +90,8 @@ Ld runtime_loader : [ FGristFiles $(sources:S=$(SUFOBJ)) ] libruntime_loader.a libruntime_loader_$(TARGET_ARCH).a - $(TARGET_STATIC_LIBSUPC++) - $(TARGET_GCC_LIBGCC) + $(HAIKU_STATIC_LIBSUPC++_$(TARGET_PACKAGING_ARCH)) + $(HAIKU_GCC_LIBGCC_$(TARGET_PACKAGING_ARCH)) : $(HAIKU_TOP)/src/system/ldscripts/$(TARGET_ARCH)/runtime_loader.ld : --no-undefined -shared -soname=runtime_loader ; diff --git a/src/system/runtime_loader/arch/arm/Jamfile b/src/system/runtime_loader/arch/arm/Jamfile index 23bb1bd8d6..afc33d34ac 100644 --- a/src/system/runtime_loader/arch/arm/Jamfile +++ b/src/system/runtime_loader/arch/arm/Jamfile @@ -1,5 +1,7 @@ SubDir HAIKU_TOP src system runtime_loader arch arm ; +local architecture = $(TARGET_PACKAGING_ARCH) ; + UsePrivateHeaders runtime_loader ; UsePrivateSystemHeaders ; @@ -8,9 +10,9 @@ SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) $(DOTDOT) ] ; StaticLibrary libruntime_loader_$(TARGET_ARCH).a : arch_relocate.cpp : - atomic.o - thread.o + atomic.o + thread.o - arch_string.o - memset.o -; + arch_string.o + memset.o + ; diff --git a/src/system/runtime_loader/arch/m68k/Jamfile b/src/system/runtime_loader/arch/m68k/Jamfile index 55b22e3bbd..a47443abe3 100644 --- a/src/system/runtime_loader/arch/m68k/Jamfile +++ b/src/system/runtime_loader/arch/m68k/Jamfile @@ -1,5 +1,7 @@ SubDir HAIKU_TOP src system runtime_loader arch m68k ; +local architecture = $(TARGET_PACKAGING_ARCH) ; + UsePrivateHeaders runtime_loader ; UsePrivateSystemHeaders ; @@ -8,9 +10,9 @@ SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) $(DOTDOT) ] ; StaticLibrary libruntime_loader_$(TARGET_ARCH).a : arch_relocate.cpp : - atomic.o - thread.o + atomic.o + thread.o - arch_string.o - memset.o -; + arch_string.o + memset.o + ; diff --git a/src/system/runtime_loader/arch/ppc/Jamfile b/src/system/runtime_loader/arch/ppc/Jamfile index 553d13ff5c..0010afde37 100644 --- a/src/system/runtime_loader/arch/ppc/Jamfile +++ b/src/system/runtime_loader/arch/ppc/Jamfile @@ -1,5 +1,7 @@ SubDir HAIKU_TOP src system runtime_loader arch ppc ; +local architecture = $(TARGET_PACKAGING_ARCH) ; + UsePrivateHeaders runtime_loader ; UsePrivateSystemHeaders ; @@ -8,9 +10,9 @@ SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) $(DOTDOT) ] ; StaticLibrary libruntime_loader_$(TARGET_ARCH).a : arch_relocate.cpp : - atomic.o - thread.o + atomic.o + thread.o - memcpy.o - memset.o -; + memcpy.o + memset.o + ; diff --git a/src/system/runtime_loader/arch/x86/Jamfile b/src/system/runtime_loader/arch/x86/Jamfile index 7455375f7b..9b59368cc5 100644 --- a/src/system/runtime_loader/arch/x86/Jamfile +++ b/src/system/runtime_loader/arch/x86/Jamfile @@ -1,5 +1,7 @@ SubDir HAIKU_TOP src system runtime_loader arch x86 ; +local architecture = $(TARGET_PACKAGING_ARCH) ; + UsePrivateHeaders runtime_loader ; UsePrivateSystemHeaders ; @@ -8,9 +10,8 @@ SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) $(DOTDOT) ] ; StaticLibrary libruntime_loader_$(TARGET_ARCH).a : arch_relocate.cpp : - atomic.o - thread.o + atomic.o + thread.o -# memcpy.o - arch_string.o -; + arch_string.o + ; diff --git a/src/system/runtime_loader/arch/x86_64/Jamfile b/src/system/runtime_loader/arch/x86_64/Jamfile index a894a0c1b5..b9baa7906e 100644 --- a/src/system/runtime_loader/arch/x86_64/Jamfile +++ b/src/system/runtime_loader/arch/x86_64/Jamfile @@ -1,5 +1,7 @@ SubDir HAIKU_TOP src system runtime_loader arch x86_64 ; +local architecture = $(TARGET_PACKAGING_ARCH) ; + UsePrivateHeaders runtime_loader ; UsePrivateSystemHeaders ; @@ -8,7 +10,7 @@ SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) $(DOTDOT) ] ; StaticLibrary libruntime_loader_$(TARGET_ARCH).a : arch_relocate.cpp : - atomic.o - thread.o - arch_string.o -; + atomic.o + thread.o + arch_string.o + ; diff --git a/src/tests/add-ons/kernel/drivers/audio/Jamfile b/src/tests/add-ons/kernel/drivers/audio/Jamfile index a437cd0ac2..260a56f82b 100644 --- a/src/tests/add-ons/kernel/drivers/audio/Jamfile +++ b/src/tests/add-ons/kernel/drivers/audio/Jamfile @@ -8,8 +8,6 @@ SubDirCcFlags [ FDefines HAIKU_MULTI_AUDIO=1 ] ; SimpleTest multi_audio_test : multi_audio_test.cpp argv.c - - : libroot.so ; SEARCH on [ FGristFiles diff --git a/src/tests/add-ons/kernel/file_systems/bfs/bfs_shell/Jamfile b/src/tests/add-ons/kernel/file_systems/bfs/bfs_shell/Jamfile index f5836bef77..2a0209c2fa 100644 --- a/src/tests/add-ons/kernel/file_systems/bfs/bfs_shell/Jamfile +++ b/src/tests/add-ons/kernel/file_systems/bfs/bfs_shell/Jamfile @@ -33,7 +33,7 @@ SUBDIRSYSHDRS = $(oldSubDirSysHdrs) ; SubDirHdrs $(bfsSourceDir) ; UsePrivateHeaders [ FDirName kernel ] ; # For kernel_cpp.cpp -SYSHDRS = $(HAIKU_HDRS) ; +SYSHDRS = $(HAIKU_HDRS_$(HAIKU_PACKAGING_ARCH)) ; { diff --git a/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/kernel_add_on/Jamfile b/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/kernel_add_on/Jamfile index dba89734f4..5f22359e75 100644 --- a/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/kernel_add_on/Jamfile +++ b/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/kernel_add_on/Jamfile @@ -51,7 +51,7 @@ KernelAddon userlandfs $(kernelC++) - : $(HAIKU_GCC_LIBGCC) + : $(HAIKU_GCC_LIBGCC_$(TARGET_PACKAGING_ARCH) # TARGET_GCC_LIBGCC is not defined for TARGET_PLATFORM != haiku, # but the compiler is the same in this case anyway. ; diff --git a/src/tests/kits/game/chart/Jamfile b/src/tests/kits/game/chart/Jamfile index 50040512b6..ac52086ccb 100644 --- a/src/tests/kits/game/chart/Jamfile +++ b/src/tests/kits/game/chart/Jamfile @@ -8,7 +8,7 @@ Application Chart : ChartRender.cpp ChartView.cpp ChartWindow.cpp - : be game $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSUPC++) + : be game localestub $(TARGET_LIBSUPC++) : Chart.rdef ; diff --git a/src/tests/kits/net/preflet/InterfacesAddOn/Jamfile b/src/tests/kits/net/preflet/InterfacesAddOn/Jamfile index 10e61e55d9..de37774a57 100644 --- a/src/tests/kits/net/preflet/InterfacesAddOn/Jamfile +++ b/src/tests/kits/net/preflet/InterfacesAddOn/Jamfile @@ -31,7 +31,7 @@ Addon Interfaces : libbnetapi.so $(TARGET_LIBSUPC++) $(TARGET_LIBSTDC++) - $(HAIKU_LOCALE_LIBS) + localestub libicon.a libagg.a ; diff --git a/src/tests/kits/net/preflet/Jamfile b/src/tests/kits/net/preflet/Jamfile index c5a5a1df5f..8c8e0095a6 100644 --- a/src/tests/kits/net/preflet/Jamfile +++ b/src/tests/kits/net/preflet/Jamfile @@ -5,7 +5,7 @@ Preference NetworkSetup : NetworkSetupWindow.cpp NetworkSetupProfile.cpp NetworkSetupAddOn.cpp - : be root $(TARGET_LIBSTDC++) $(HAIKU_LOCALE_LIBS) + : be root $(TARGET_LIBSTDC++) localestub : NetworkSetup.rdef ; diff --git a/src/tests/kits/opengl/glinfo/Jamfile b/src/tests/kits/opengl/glinfo/Jamfile index 3c37dc26c0..be8dec64a0 100644 --- a/src/tests/kits/opengl/glinfo/Jamfile +++ b/src/tests/kits/opengl/glinfo/Jamfile @@ -25,7 +25,7 @@ Preference GLInfo : $(sources) : be GL libglut.so - translation libcolumnlistview.a $(HAIKU_LOCALE_LIBS) + translation libcolumnlistview.a localestub $(TARGET_LIBSUPC++) [ BuildFeatureAttribute glu : library ] : diff --git a/src/tests/servers/app/playground/Jamfile b/src/tests/servers/app/playground/Jamfile index 552acbdfac..bc4da0797b 100644 --- a/src/tests/servers/app/playground/Jamfile +++ b/src/tests/servers/app/playground/Jamfile @@ -11,7 +11,7 @@ Application Playground : ObjectView.cpp ObjectWindow.cpp States.cpp - : be $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) + : be $(TARGET_LIBSUPC++) localestub : Playground.rdef ; diff --git a/src/tests/servers/app/regularapps/Jamfile b/src/tests/servers/app/regularapps/Jamfile index 220fcd18d7..e56acc2f6d 100644 --- a/src/tests/servers/app/regularapps/Jamfile +++ b/src/tests/servers/app/regularapps/Jamfile @@ -15,7 +15,7 @@ SimpleTest TestApp_Clock : cl_view.cpp cl_wind.cpp clock.cpp - : be $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSUPC++) + : be localestub $(TARGET_LIBSUPC++) : Clock.rdef ; diff --git a/src/tests/servers/registrar/Jamfile b/src/tests/servers/registrar/Jamfile index 925515292e..bff6c5cc08 100644 --- a/src/tests/servers/registrar/Jamfile +++ b/src/tests/servers/registrar/Jamfile @@ -113,7 +113,7 @@ Server test_registrar R5Compatibility.cpp : - be $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSTDC++) + be localestub $(TARGET_LIBSTDC++) : registrar.rdef ; diff --git a/src/tests/system/benchmarks/libMicro/Jamfile b/src/tests/system/benchmarks/libMicro/Jamfile index fdeaf6d536..7c247b6046 100644 --- a/src/tests/system/benchmarks/libMicro/Jamfile +++ b/src/tests/system/benchmarks/libMicro/Jamfile @@ -3,8 +3,9 @@ SubDir HAIKU_TOP src tests system benchmarks libMicro ; SEARCH_SOURCE = [ FDirName $(SUBDIR) ] ; # filter warnings we don't want here -TARGET_WARNING_CCFLAGS = [ FFilter $(TARGET_WARNING_CCFLAGS) - : -Wall -Wmissing-prototypes -Wsign-compare ] ; +TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH) + = [ FFilter $(TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH)) + : -Wall -Wmissing-prototypes -Wsign-compare ] ; UseHeaders [ FDirName $(SUBDIR) $(SUBDIR) $(SUBDIR) $(SUBDIR) $(SUBDIR) headers posix ] : true ; UseHeaders [ FDirName $(SUBDIR) ] : true ; @@ -38,30 +39,30 @@ BinCommand bind : : libmicro.a $(TARGET_NETWORK_LIBS) ; BinCommand atomic : - : libelided.a libroot.so ; + : libelided.a ; BinCommand cachetocache : - : libelided.a libroot.so ; + : libelided.a ; BinCommand cascade_mutex : cascade_mutex.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand cascade_cond : cascade_cond.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand cascade_lockf : cascade_lockf.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand cascade_fcntl : cascade_fcntl.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand cascade_flock : cascade_flock.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand chdir : chdir.c @@ -69,7 +70,7 @@ BinCommand chdir : BinCommand close : close.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand close_tcp : close_tcp.c @@ -81,27 +82,27 @@ BinCommand connection : BinCommand dup : dup.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand exec_bin : exec_bin.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand exec : exec.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand exit : exit.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand exp : exp.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand fcntl : fcntl.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand fcntl_ndelay : fcntl_ndelay.c @@ -109,23 +110,23 @@ BinCommand fcntl_ndelay : BinCommand file_lock : file_lock.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand fork : fork.c - : libmicro.a libroot.so ; + : libmicro.a ; # atm unsupported BinCommand getcontext : - : libelided.a libroot.so ; + : libelided.a ; BinCommand getenv : getenv.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand gettimeofday : gettimeofday.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand getpeername : getpeername.c @@ -133,11 +134,11 @@ BinCommand getpeername : BinCommand getpid : getpid.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand getrusage : getrusage.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand getsockname : getsockname.c @@ -145,7 +146,7 @@ BinCommand getsockname : BinCommand isatty : isatty.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand listen : listen.c @@ -153,75 +154,75 @@ BinCommand listen : BinCommand localtime_r : localtime_r.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand log : log.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand longjmp : longjmp.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand lrand48 : lrand48.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand lseek : lseek.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand malloc : malloc.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand memcpy : memcpy.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand memmove : memmove.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand memrand : memrand.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand memset : memset.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand mktime : mktime.c - : libmicro.a libroot.so ; + : libmicro.a ; # atm unsupported BinCommand mprotect : - : libelided.a libroot.so ; + : libelided.a ; BinCommand mmap : mmap.c - : libmicro.a libroot.so ; + : libmicro.a ; # atm unsupported BinCommand msync : - : libelided.a libroot.so ; + : libelided.a ; BinCommand munmap : munmap.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand mutex : mutex.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand nop : nop.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand open : open.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand pipe : pipe.c @@ -233,28 +234,28 @@ BinCommand poll : BinCommand pread : pread.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand pthread_create : pthread_create.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand pwrite : pwrite.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand read : read.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand realpath : realpath.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand recurse : recurse.c recurse2.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand select : select.c @@ -262,11 +263,11 @@ BinCommand select : # atm unsupported BinCommand semop : - : libelided.a libroot.so ; + : libelided.a ; # atm unsupported BinCommand setcontext : - : libelided.a libroot.so ; + : libelided.a ; BinCommand setsockopt : setsockopt.c @@ -274,19 +275,19 @@ BinCommand setsockopt : BinCommand sigaction : sigaction.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand siglongjmp : siglongjmp.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand signal : signal.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand sigprocmask : sigprocmask.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand socket : @@ -302,56 +303,56 @@ BinCommand socketpair : BinCommand stat : stat.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand strcasecmp : strcasecmp.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand strchr : strchr.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand strcmp : strcmp.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand strcpy : strcpy.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand strftime : strftime.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand strlen : strlen.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand strtol : strtol.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand system : system.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand time : time.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand times : times.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand write : write.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand writev : writev.c - : libmicro.a libroot.so ; + : libmicro.a ; BinCommand tattle : tattle.c - : libmicro.a libroot.so ; + : libmicro.a ; diff --git a/src/tests/system/kernel/cache/Jamfile b/src/tests/system/kernel/cache/Jamfile index 96070b6b3c..b17bead542 100644 --- a/src/tests/system/kernel/cache/Jamfile +++ b/src/tests/system/kernel/cache/Jamfile @@ -9,7 +9,7 @@ UseHeaders [ FDirName $(HAIKU_TOP) src system kernel cache ] ; StdBinCommands cache_control.cpp - : libroot.so ; + ; SimpleTest BlockMapTest : BlockMapTest.cpp diff --git a/src/tests/system/kernel/unit/Jamfile b/src/tests/system/kernel/unit/Jamfile index 131a7a3bb3..3037c9d10a 100644 --- a/src/tests/system/kernel/unit/Jamfile +++ b/src/tests/system/kernel/unit/Jamfile @@ -16,7 +16,7 @@ KernelAddon kernel_unit_tests : : kernel_unit_tests_lock.o - $(TARGET_STATIC_LIBSUPC++) + $(HAIKU_STATIC_LIBSUPC++_$(TARGET_PACKAGING_ARCH)) ; diff --git a/src/tests/system/libroot/posix/Jamfile b/src/tests/system/libroot/posix/Jamfile index b6861c6855..511752c30c 100644 --- a/src/tests/system/libroot/posix/Jamfile +++ b/src/tests/system/libroot/posix/Jamfile @@ -4,7 +4,8 @@ UsePrivateHeaders libroot syslog_daemon ; # filter warnings about strftime()-formats in locale_test -TARGET_WARNING_C++FLAGS on [ FGristFiles locale_test.o ] += -Wno-format ; +TARGET_WARNING_C++FLAGS_$(TARGET_PACKAGING_ARCH) + on [ FGristFiles locale_test.o ] += -Wno-format ; # POSIX/libc tests SimpleTest abort_test : abort_test.cpp ; diff --git a/src/tools/Jamfile b/src/tools/Jamfile index cf7ecbfff0..e540625674 100644 --- a/src/tools/Jamfile +++ b/src/tools/Jamfile @@ -53,6 +53,7 @@ BuildPlatformMain mkindex : mkindex.cpp : $(HOST_LIBBE) ; BuildPlatformMain rm_attrs_tmp : rm_attrs.cpp : $(HOST_LIBSUPC++) $(HOST_LIBSTDC++) ; +PLATFORM on rm_attrs = host ; MakeLocateDebug rm_attrs ; File rm_attrs : rm_attrs_tmp ; MODE on rm_attrs = 755 ; diff --git a/src/tools/gensyscalls/Jamfile b/src/tools/gensyscalls/Jamfile index 156b9d78e3..512d0b0757 100644 --- a/src/tools/gensyscalls/Jamfile +++ b/src/tools/gensyscalls/Jamfile @@ -1,7 +1,5 @@ SubDir HAIKU_TOP src tools gensyscalls ; -SubDirHdrs [ FDirName $(SUBDIR) arch $(TARGET_ARCH) ] ; - # What want to do here is analyze the header and generate headers # and sources containing information about the syscalls (like what parameters @@ -21,135 +19,173 @@ SubDirHdrs [ FDirName $(SUBDIR) arch $(TARGET_ARCH) ] ; # * gensyscalls.cpp and the generated gensyscalls_infos.cpp are compiled into # the gensyscalls tool. # * gensyscalls has options to generate the various output files: -# - syscalls.S.inc: Used to define the syscall functions in libroot. -# - syscall_dispatcher.h: Big "switch" statement for the syscall -# dispatcher in the kernel. -# - syscall_numbers.h: Macro definitions assigning indices to the -# syscalls. -# - syscall_table.h: An array with syscall information in the -# kernel. Used for dispatching syscalls e.g. for x86. -# - strace_syscalls.h: Syscall information needed by strace. +# - syscalls.S.inc: Used to define the syscall +# functions in libroot. +# - syscall_dispatcher.h: Big "switch" statement for +# the syscall dispatcher in the kernel. +# - syscall_numbers.h: Macro definitions assigning +# indices to the syscalls. +# - syscall_table.h: An array with syscall +# information in the kernel. Used for dispatching syscalls e.g. for x86. +# - strace_syscalls.h: Syscall information needed by +# strace. -# preprocess the syscalls header - -rule PreprocessSyscalls +rule PreprocessSyscalls preprocessedHeader : header : architecture { - # PreprocessSyscalls :
; + # PreprocessSyscalls :
: ; - Depends $(<) : $(>) ; + Depends $(preprocessedHeader) : $(header) ; - local headers = [ on $(1) return $(SEARCH_SOURCE) $(SUBDIRHDRS) $(HDRS) ] ; + local headers = [ on $(preprocessedHeader) + return $(SEARCH_SOURCE) $(SUBDIRHDRS) $(HDRS) ] ; local sysHeaders = - $(TARGET_PRIVATE_SYSTEM_HEADERS) - [ ArchHeaders $(TARGET_KERNEL_ARCH) ] - [ on $(1) return $(SUBDIRSYSHDRS) $(SYSHDRS) ] - $(HAIKU_HDRS) ; + $(TARGET_PRIVATE_SYSTEM_HEADERS_$(architecture)) + [ ArchHeaders $(TARGET_ARCH_$(architecture)) ] + [ on $(preprocessedHeader) return $(SUBDIRSYSHDRS) $(SYSHDRS) ] + $(TARGET_HDRS_$(architecture)) ; - HDRS on $(<) = $(headers) ; - SYSHDRS on $(<) = $(sysHeaders) ; + HDRS on $(preprocessedHeader) = $(headers) ; + SYSHDRS on $(preprocessedHeader) = $(sysHeaders) ; - HDRRULE on $(>) = HdrRule ; - HDRSCAN on $(>) = $(HDRPATTERN) ; - HDRSEARCH on $(>) = $(headers) $(sysHeaders) $(STDHDRS) ; - HDRGRIST on $(>) = $(HDRGRIST) ; + HDRRULE on $(header) = HdrRule ; + HDRSCAN on $(header) = $(HDRPATTERN) ; + HDRSEARCH on $(header) = $(headers) $(sysHeaders) $(STDHDRS) ; + HDRGRIST on $(header) = $(HDRGRIST) ; - DEFINES on $(<) += $(HAIKU_DEFINES) GEN_SYSCALL_INFOS_PROCESSING ; + DEFINES on $(preprocessedHeader) += $(TARGET_DEFINES_$(architecture)) + $(TARGET_DEFINES) GEN_SYSCALL_INFOS_PROCESSING ; - CCFLAGS on $(<) += $(HAIKU_CCFLAGS) $(SUBDIRCCFLAGS) $(OPTIM) ; - CCHDRS on $(<) = [ FIncludes $(headers) : $(HAIKU_LOCAL_INCLUDES_OPTION) ] - $(HAIKU_INCLUDES_SEPARATOR) - [ FSysIncludes $(sysHeaders) : $(HAIKU_SYSTEM_INCLUDES_OPTION) ] ; - CCDEFS on $(<) = [ on $(<) FDefines $(DEFINES) ] ; + CC on $(preprocessedHeader) = $(TARGET_C++_$(architecture)) ; + CCFLAGS on $(preprocessedHeader) += $(TARGET_CCFLAGS_$(architecture)) + $(SUBDIRCCFLAGS) $(OPTIM) ; + CCHDRS on $(preprocessedHeader) = + [ FIncludes $(headers) + : $(TARGET_LOCAL_INCLUDES_OPTION_$(architecture)) ] + $(TARGET_INCLUDES_SEPARATOR_$(architecture)) + [ FSysIncludes $(sysHeaders) + : $(TARGET_SYSTEM_INCLUDES_OPTION_$(architecture)) ] ; + CCDEFS on $(preprocessedHeader) + = [ on $(preprocessedHeader) FDefines $(DEFINES) ] ; } + actions PreprocessSyscalls { - $(HAIKU_C++) -xc++ -E "$(2)" $(CCFLAGS) $(CCDEFS) $(CCHDRS) -o "$(1)" ; + $(CC) -xc++ -E "$(2)" $(CCFLAGS) $(CCDEFS) $(CCHDRS) -o "$(1)" ; } -local syscallsHeader = [ FGristFiles syscalls.h ] ; -SEARCH on $(syscallsHeader) = [ FDirName $(HAIKU_TOP) headers private system ] ; -# Generate the preprocessed syscalls.h header. It will be parsed by -# gensyscallinfos (it contains marker #pragmas). -local syscallsHeaderPPParsable = [ FGristFiles syscalls.h.pp.parsable ] ; -MakeLocateArch $(syscallsHeaderPPParsable) ; -PreprocessSyscalls $(syscallsHeaderPPParsable) : $(syscallsHeader) ; - - -# build gensyscallinfos - -BuildPlatformMain gensyscallinfos - : gensyscallinfos.cpp - : $(HOST_LIBSTDC++) $(HOST_LIBSUPC++) -; - - -# generate the syscall infos source file and the source for the header it -# includes - -local syscallInfos = [ FGristFiles gensyscalls_infos.cpp ] ; -local syscallTypesSizesSource = [ FGristFiles syscall_types_sizes.h.cpp ] ; -local syscallTypesSizes = [ FGristFiles syscall_types_sizes.h ] ; -MakeLocateArch $(syscallInfos) $(syscallTypesSizesSource) $(syscallTypesSizes) ; - -rule GenSyscallInfos +rule GenSyscallInfos targets : sources : gensyscallinfos { - Depends $(1) : gensyscallinfos $(2) ; - GenSyscallInfos1 $(1) : gensyscallinfos $(2) ; + Depends $(targets) : $(gensyscallinfos) $(sources) ; + GenSyscallInfos1 $(targets) : $(gensyscallinfos) $(sources) ; } + actions GenSyscallInfos1 { $(2[1]) $(2[2]) $(1) } -GenSyscallInfos $(syscallInfos) $(syscallTypesSizesSource) - : $(syscallsHeaderPPParsable) ; -TARGET_HDRS on $(syscallTypesSizes) - = [ on $(syscallTypesSizes) return $(TARGET_HDRS) ] - $(TARGET_PRIVATE_SYSTEM_HEADERS) ; -CreateAsmStructOffsetsHeader $(syscallTypesSizes) : $(syscallTypesSizesSource) ; - -#Includes $(syscallInfos) : $(syscallTypesSizes) ; - # explicitly tell jam about the inclusion of the generated header -Depends $(syscallInfos:S=$(SUFOBJ)) : $(syscallTypesSizes) ; - # NOTE: Jam messes up the "Includes" declaration, so we have to declare - # the dependency more directly. - - -# build gensyscalls - -BuildPlatformMain gensyscalls : gensyscalls.cpp $(syscallInfos) ; -LinkAgainst gensyscalls : $(HOST_LIBSTDC++) $(HOST_LIBSUPC++) ; - - -# generate the output files - -# place them where they are needed -local dir = $(HAIKU_COMMON_DEBUG_OBJECT_DIR) ; -MakeLocate syscalls.S.inc : [ FDirName $(dir) system libroot os ] ; -MakeLocate syscall_dispatcher.h : [ FDirName $(dir) system kernel ] ; -MakeLocate syscall_numbers.h : [ FDirName $(dir) system kernel ] ; -MakeLocate syscall_table.h : [ FDirName $(dir) system kernel ] ; -MakeLocate strace_syscalls.h : [ FDirName $(dir) bin debug strace ] ; - -rule GenSyscallsFile file : option +rule GenSyscallsFile file : gensyscalls : option { GENSYSCALLS_FILE_OPTION on $(file) = $(option) ; - Depends $(file) : gensyscalls ; - GenSyscallsFile1 $(file) : gensyscalls ; + Depends $(file) : $(gensyscalls) ; + GenSyscallsFile1 $(file) : $(gensyscalls) ; } + actions GenSyscallsFile1 { $(2[1]) $(GENSYSCALLS_FILE_OPTION) $(1) } -GenSyscallsFile syscalls.S.inc : -c ; -GenSyscallsFile syscall_dispatcher.h : -d ; -GenSyscallsFile syscall_numbers.h : -n ; -GenSyscallsFile syscall_table.h : -t ; -GenSyscallsFile strace_syscalls.h : -s ; + +local syscallsHeader = [ FGristFiles syscalls.h ] ; +SEARCH on $(syscallsHeader) = [ FDirName $(HAIKU_TOP) headers private system ] ; + +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; + + # Generate the preprocessed syscalls.h header. It will be parsed by + # gensyscallinfos (it contains marker #pragmas). + local syscallsHeaderPPParsable + = [ FGristFiles syscalls.h.pp.parsable ] ; + MakeLocateArch $(syscallsHeaderPPParsable) ; + PreprocessSyscalls $(syscallsHeaderPPParsable) : $(syscallsHeader) + : $(architecture) ; + + # build gensyscallinfos + + local gensyscallinfos = gensyscallinfos_$(architecture) ; + SourceHdrs gensyscallinfos.cpp + : [ FDirName $(SUBDIR) arch $(TARGET_ARCH_$(architecture)) ] ; + BuildPlatformMain $(gensyscallinfos) + : gensyscallinfos.cpp + : $(HOST_LIBSTDC++) $(HOST_LIBSUPC++) + ; + + # generate the syscall infos source file and the source for the header + # it includes + + local syscallInfos = [ FGristFiles gensyscalls_infos.cpp ] ; + local syscallTypesSizesSource + = [ FGristFiles syscall_types_sizes.h.cpp ] ; + local syscallTypesSizes = [ FGristFiles syscall_types_sizes.h ] ; + MakeLocateArch $(syscallInfos) $(syscallTypesSizesSource) + $(syscallTypesSizes) ; + + GenSyscallInfos $(syscallInfos) $(syscallTypesSizesSource) + : $(syscallsHeaderPPParsable) : $(gensyscallinfos) ; + + TARGET_HDRS_$(architecture) on $(syscallTypesSizes) + = [ on $(syscallTypesSizes) return $(TARGET_HDRS_$(architecture)) ] + [ FDirName $(SUBDIR) arch $(TARGET_ARCH_$(architecture)) ] + $(TARGET_PRIVATE_SYSTEM_HEADERS_$(architecture)) ; + CreateAsmStructOffsetsHeader $(syscallTypesSizes) + : $(syscallTypesSizesSource) ; + + #Includes $(syscallInfos) : $(syscallTypesSizes) ; + # explicitly tell jam about the inclusion of the generated header + Depends $(syscallInfos:S=$(SUFOBJ)) : $(syscallTypesSizes) ; + # NOTE: Jam messes up the "Includes" declaration, so we have to declare + # the dependency more directly. + + # build gensyscalls + + local gensyscalls = gensyscalls_$(architecture) ; + BuildPlatformMain $(gensyscalls) + : gensyscalls.cpp $(syscallInfos) ; + LinkAgainst $(gensyscalls) : $(HOST_LIBSTDC++) $(HOST_LIBSUPC++) ; + + # generate the output files + + # place them where they are needed + local dir = $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(architecture)) ; + MakeLocate syscalls.S.inc + : [ FDirName $(dir) system libroot os ] ; + MakeLocate syscall_dispatcher.h + : [ FDirName $(dir) system kernel ] ; + MakeLocate syscall_numbers.h + : [ FDirName $(dir) system kernel ] ; + MakeLocate syscall_table.h + : [ FDirName $(dir) system kernel ] ; + MakeLocate strace_syscalls.h + : [ FDirName $(dir) bin debug strace ] ; + + GenSyscallsFile syscalls.S.inc + : $(gensyscalls) : -c ; + GenSyscallsFile syscall_dispatcher.h + : $(gensyscalls) : -d ; + GenSyscallsFile syscall_numbers.h + : $(gensyscalls) : -n ; + GenSyscallsFile syscall_table.h + : $(gensyscalls) : -t ; + GenSyscallsFile strace_syscalls.h + : $(gensyscalls) : -s ; + } +} diff --git a/src/tools/makebootable/platform/bios_ia32/Jamfile b/src/tools/makebootable/platform/bios_ia32/Jamfile index e213a48ce2..57bf117dc3 100644 --- a/src/tools/makebootable/platform/bios_ia32/Jamfile +++ b/src/tools/makebootable/platform/bios_ia32/Jamfile @@ -3,7 +3,7 @@ SubDir HAIKU_TOP src tools makebootable platform bios_ia32 ; SubDirHdrs $(HAIKU_TOP) src add-ons kernel file_systems bfs ; UsePrivateHeaders storage shared ; -UsePrivateSystemHeaders system ; +UsePrivateSystemHeaders ; SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src bin makebootable platform bios_ia32 ] ; diff --git a/src/tools/translation/inspector/Jamfile b/src/tools/translation/inspector/Jamfile index 28af0f9579..8f96ff0b61 100644 --- a/src/tools/translation/inspector/Jamfile +++ b/src/tools/translation/inspector/Jamfile @@ -21,5 +21,5 @@ DoCatalogs Inspector : ; LinkAgainst Inspector : - be tracker translation $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) ; + be tracker translation $(TARGET_LIBSUPC++) localestub ;