* Moved the arch specific stuff in src/system/kernel/lib into arch/...

subdirectories. Also moved the x86 kernel arch_string.S there.
* Moved memcpy.c from src/system/libroot/posix/string into the
  arch/generic subdirectory.
* Dealt with the consequences of moving things around. Affected are also
  the boot loader and runtime loader builds.

Adjust the m68k and ppc parts, too, but only the x86 build is tested.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27947 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Ingo Weinhold
2008-10-09 23:47:01 +00:00
parent 026c75e91c
commit 379ad6d037
22 changed files with 208 additions and 56 deletions
-2
View File
@@ -2,13 +2,11 @@ SubDir HAIKU_TOP src system boot ;
local librootFunctions =
abs.o
byteorder.o
ctype.o
qsort.o
kernel_vsprintf.o
memset.o
memcmp.o
memcpy.o
memmove.o
strdup.o
strlen.o
+8 -1
View File
@@ -2,15 +2,22 @@ SubDir HAIKU_TOP src system boot arch m68k ;
DEFINES += _BOOT_MODE ;
# TODO: Is there any reason to recompile arch_string.S here?
local librootArchObjects =
# <src!system!libroot!posix!string!arch!$(TARGET_ARCH)>arch_string.o
arch_string.S
;
KernelMergeObject boot_arch_m68k.o :
local kernelLibArchObjects =
<src!system!kernel!lib!arch!$(TARGET_ARCH)>byteorder.o
;
KernelMergeObject boot_arch_$(TARGET_ARCH).o :
arch_elf.cpp
$(librootArchObjects)
: -fno-pic
:
$(kernelLibArchObjects)
;
SEARCH on [ FGristFiles arch_elf.cpp ]
+9 -5
View File
@@ -2,13 +2,17 @@ SubDir HAIKU_TOP src system boot arch ppc ;
DEFINES += _BOOT_MODE ;
#local librootArchObjects =
# <src!system!libroot!posix!string!arch!$(TARGET_ARCH)>arch_string.o
#;
local kernelLibArchObjects =
<src!system!kernel!lib!arch!$(TARGET_ARCH)>byteorder.o
<src!system!kernel!lib!arch!$(TARGET_ARCH)>memcpy.o
;
KernelMergeObject boot_arch_ppc.o :
KernelMergeObject boot_arch_$(TARGET_ARCH).o :
arch_elf.cpp
# $(librootArchObjects)
: # additional flags
:
$(kernelArchObjects)
$(kernelLibArchObjects)
;
SEARCH on [ FGristFiles arch_elf.cpp ]
+13 -2
View File
@@ -4,19 +4,30 @@ DEFINES += _BOOT_MODE ;
local kernelArchSources =
arch_elf.c
arch_string.S
;
local kernelArchObjects =
<src!system!kernel!arch!$(TARGET_ARCH)>cpuid.o
;
KernelMergeObject boot_arch_x86.o :
local kernelLibArchSources =
arch_string.S
;
local kernelLibArchObjects =
<src!system!kernel!lib!arch!$(TARGET_ARCH)>byteorder.o
;
KernelMergeObject boot_arch_$(TARGET_ARCH).o :
$(kernelArchSources)
$(kernelLibArchSources)
: # additional flags
:
$(kernelArchObjects)
$(kernelLibArchObjects)
;
SEARCH on [ FGristFiles $(kernelArchSources) ]
= [ FDirName $(HAIKU_TOP) src system kernel arch $(TARGET_ARCH) ] ;
SEARCH on [ FGristFiles $(kernelLibArchSources) ]
= [ FDirName $(HAIKU_TOP) src system kernel lib arch $(TARGET_ARCH) ] ;
+1 -2
View File
@@ -23,7 +23,6 @@ KernelMergeObject kernel_arch_x86.o :
# arch_selector.c
arch_real_time_clock.c
arch_smp.c
arch_string.S
arch_thread.cpp
arch_timer.c
arch_vm.cpp
@@ -37,7 +36,7 @@ KernelMergeObject kernel_arch_x86.o :
cpuid.S
syscall.S
vm86.cpp
x86_pit.c
x86_apic.c
x86_hpet.c
+4 -27
View File
@@ -13,7 +13,7 @@ KernelMergeObject kernel_os_main.o :
SEARCH on [ FGristFiles
driver_settings.c
find_directory.c
fs_info.c
fs_info.c
wait_for_objects.cpp
] = [ FDirName $(HAIKU_TOP) src system libroot os ] ;
@@ -85,7 +85,6 @@ KernelMergeObject kernel_lib_posix.o :
# string
memchr.c
memcmp.c
memcpy.c
memmove.c
memset.c
strcasecmp.c
@@ -114,31 +113,7 @@ KernelMergeObject kernel_lib_posix.o :
: $(TARGET_KERNEL_PIC_CCFLAGS)
;
# TODO: Move the following arch specific part into arch/$(TARGET_ARCH) subdirs!
SEARCH_SOURCE += [ FDirName $(librootSources) os arch $(TARGET_ARCH) ] ;
KernelMergeObject kernel_os_arch_$(TARGET_ARCH).o :
atomic.S
byteorder.S
system_time_asm.S
system_time.c
: $(TARGET_KERNEL_PIC_CCFLAGS)
;
SEARCH_SOURCE += [ FDirName $(posixSources) arch $(TARGET_ARCH) ] ;
SEARCH_SOURCE += [ FDirName $(posixSources) string arch $(TARGET_ARCH) ] ;
KernelMergeObject kernel_lib_posix_arch_$(TARGET_ARCH).o :
siglongjmp.S
sigsetjmp.S
kernel_longjmp_return.c
kernel_setjmp_save_sigs.c
arch_string.S # TODO: Not needed for X86!
: $(TARGET_KERNEL_PIC_CCFLAGS)
;
# misc
UsePrivateHeaders shared ;
@@ -149,3 +124,5 @@ KernelMergeObject kernel_misc.o :
: $(TARGET_KERNEL_PIC_CCFLAGS)
;
HaikuSubInclude arch $(TARGET_ARCH) ;
+32
View File
@@ -0,0 +1,32 @@
SubDir HAIKU_TOP src system kernel lib arch m86k ;
SEARCH_SOURCE += [ FDirName $(SUBDIR) $(DOTDOT) generic ] ;
local librootSources = [ FDirName $(HAIKU_TOP) src system libroot ] ;
local posixSources = [ FDirName $(librootSources) posix ] ;
SEARCH_SOURCE += [ FDirName $(librootSources) os arch $(TARGET_ARCH) ] ;
KernelMergeObject kernel_os_arch_$(TARGET_ARCH).o :
atomic.S
byteorder.S
system_time_asm.S
system_time.c
: $(TARGET_KERNEL_PIC_CCFLAGS)
;
SEARCH_SOURCE += [ FDirName $(posixSources) arch $(TARGET_ARCH) ] ;
SEARCH_SOURCE += [ FDirName $(posixSources) string arch generic ] ;
SEARCH_SOURCE += [ FDirName $(posixSources) string arch $(TARGET_ARCH) ] ;
KernelMergeObject kernel_lib_posix_arch_$(TARGET_ARCH).o :
siglongjmp.S
sigsetjmp.S
kernel_longjmp_return.c
kernel_setjmp_save_sigs.c
arch_string.S
: $(TARGET_KERNEL_PIC_CCFLAGS)
;
+31
View File
@@ -0,0 +1,31 @@
SubDir HAIKU_TOP src system kernel lib arch ppc ;
SEARCH_SOURCE += [ FDirName $(SUBDIR) $(DOTDOT) generic ] ;
local librootSources = [ FDirName $(HAIKU_TOP) src system libroot ] ;
local posixSources = [ FDirName $(librootSources) posix ] ;
SEARCH_SOURCE += [ FDirName $(librootSources) os arch $(TARGET_ARCH) ] ;
KernelMergeObject kernel_os_arch_$(TARGET_ARCH).o :
atomic.S
byteorder.S
system_time_asm.S
system_time.c
: $(TARGET_KERNEL_PIC_CCFLAGS)
;
SEARCH_SOURCE += [ FDirName $(posixSources) arch $(TARGET_ARCH) ] ;
SEARCH_SOURCE += [ FDirName $(posixSources) string arch generic ] ;
KernelMergeObject kernel_lib_posix_arch_$(TARGET_ARCH).o :
siglongjmp.S
sigsetjmp.S
kernel_longjmp_return.c
kernel_setjmp_save_sigs.c
memcpy.c
: $(TARGET_KERNEL_PIC_CCFLAGS)
;
+35
View File
@@ -0,0 +1,35 @@
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) ] ;
SEARCH_SOURCE += [ FDirName $(SUBDIR) $(DOTDOT) generic ] ;
local librootSources = [ FDirName $(HAIKU_TOP) src system libroot ] ;
local posixSources = [ FDirName $(librootSources) posix ] ;
SEARCH_SOURCE += [ FDirName $(librootSources) os arch $(TARGET_ARCH) ] ;
KernelMergeObject kernel_os_arch_$(TARGET_ARCH).o :
atomic.S
byteorder.S
system_time_asm.S
system_time.c
: $(TARGET_KERNEL_PIC_CCFLAGS)
;
SEARCH_SOURCE += [ FDirName $(posixSources) arch $(TARGET_ARCH) ] ;
SEARCH_SOURCE += [ FDirName $(posixSources) string arch generic ] ;
KernelMergeObject kernel_lib_posix_arch_$(TARGET_ARCH).o :
siglongjmp.S
sigsetjmp.S
kernel_longjmp_return.c
kernel_setjmp_save_sigs.c
arch_string.S
: $(TARGET_KERNEL_PIC_CCFLAGS)
;
+1 -9
View File
@@ -8,7 +8,6 @@ MergeObject posix_string.o :
memccpy.c
memchr.c
memcmp.c
memcpy.c
memmove.c
memset.c
stpcpy.c
@@ -39,11 +38,4 @@ MergeObject posix_string.o :
strxfrm.c
;
SubDir HAIKU_TOP src system libroot posix string arch $(TARGET_ARCH) ;
UsePrivateSystemHeaders ;
MergeObject posix_string_arch_$(TARGET_ARCH).o :
arch_string.S
;
HaikuSubInclude arch $(TARGET_ARCH) ;
@@ -0,0 +1,7 @@
SubDir HAIKU_TOP src system libroot posix string arch m68k ;
UsePrivateSystemHeaders ;
MergeObject posix_string_arch_$(TARGET_ARCH).o :
arch_string.S
;
@@ -0,0 +1,9 @@
SubDir HAIKU_TOP src system libroot posix string arch ppc ;
UsePrivateSystemHeaders ;
SEARCH_SOURCE += [ FDirName $(SUBDIR) $(DOTDOT) generic ] ;
MergeObject posix_string_arch_$(TARGET_ARCH).o :
memcpy.c
;
@@ -0,0 +1,8 @@
SubDir HAIKU_TOP src system libroot posix string arch x86 ;
UsePrivateSystemHeaders ;
MergeObject posix_string_arch_$(TARGET_ARCH).o :
arch_string.S
;
+4 -8
View File
@@ -25,8 +25,6 @@ StaticLibrary libruntime_loader.a :
:
<src!system!libroot!os>syscalls.o
<src!system!libroot!os>sem.o
<src!system!libroot!os!arch!$(TARGET_ARCH)>atomic.o
<src!system!libroot!os!arch!$(TARGET_ARCH)>thread.o
<src!system!libroot!posix>errno.o
@@ -37,7 +35,6 @@ StaticLibrary libruntime_loader.a :
<src!system!libroot!posix!string>memchr.o
<src!system!libroot!posix!string>memcmp.o
<src!system!libroot!posix!string>memcpy.o
<src!system!libroot!posix!string>memmove.o
<src!system!libroot!posix!string>memset.o
<src!system!libroot!posix!string>strcasecmp.o
@@ -57,7 +54,6 @@ StaticLibrary libruntime_loader.a :
<src!system!libroot!posix!string>strrchr.o
<src!system!libroot!posix!string>strspn.o
<src!system!libroot!posix!string>strstr.o
<src!system!libroot!posix!string!arch!$(TARGET_ARCH)>arch_string.o
[ FGristFiles kernel_vsprintf.o ]
;
@@ -69,20 +65,20 @@ SEARCH on [ FGristFiles kernel_vsprintf.c ]
SEARCH on [ FGristFiles KMessage.cpp ]
= [ FDirName $(HAIKU_TOP) src system kernel messaging ] ;
SEARCH_SOURCE += [ FDirName $(SUBDIR) arch $(TARGET_ARCH) ] ;
Objects
runtime_loader.c
elf.cpp
export.c
heap.cpp
utility.cpp
arch_relocate.c
;
Ld runtime_loader :
[ FGristFiles runtime_loader.o elf.o export.o heap.o utility.o arch_relocate.o ]
[ FGristFiles runtime_loader.o elf.o export.o heap.o utility.o ]
libruntime_loader.a
libruntime_loader_$(TARGET_ARCH).a
$(TARGET_GCC_LIBGCC)
: $(HAIKU_TOP)/src/system/ldscripts/$(TARGET_ARCH)/runtime_loader.ld
;
HaikuSubInclude arch $(TARGET_ARCH) ;
@@ -0,0 +1,15 @@
SubDir HAIKU_TOP src system runtime_loader arch m68k ;
UsePrivateHeaders runtime_loader ;
UsePrivateSystemHeaders ;
SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) $(DOTDOT) ] ;
StaticLibrary libruntime_loader_$(TARGET_ARCH).a :
arch_relocate.c
:
<src!system!libroot!os!arch!$(TARGET_ARCH)>atomic.o
<src!system!libroot!os!arch!$(TARGET_ARCH)>thread.o
<src!system!libroot!posix!string!arch!$(TARGET_ARCH)>arch_string.o
;
@@ -0,0 +1,15 @@
SubDir HAIKU_TOP src system runtime_loader arch ppc ;
UsePrivateHeaders runtime_loader ;
UsePrivateSystemHeaders ;
SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) $(DOTDOT) ] ;
StaticLibrary libruntime_loader_$(TARGET_ARCH).a :
arch_relocate.c
:
<src!system!libroot!os!arch!$(TARGET_ARCH)>atomic.o
<src!system!libroot!os!arch!$(TARGET_ARCH)>thread.o
<src!system!libroot!posix!string!arch!$(TARGET_ARCH)>memcpy.o
;
@@ -0,0 +1,16 @@
SubDir HAIKU_TOP src system runtime_loader arch x86 ;
UsePrivateHeaders runtime_loader ;
UsePrivateSystemHeaders ;
SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) $(DOTDOT) ] ;
StaticLibrary libruntime_loader_$(TARGET_ARCH).a :
arch_relocate.c
:
<src!system!libroot!os!arch!$(TARGET_ARCH)>atomic.o
<src!system!libroot!os!arch!$(TARGET_ARCH)>thread.o
# <src!system!libroot!posix!string>memcpy.o
<src!system!libroot!posix!string!arch!$(TARGET_ARCH)>arch_string.o
;