xref: /haiku/src/system/runtime_loader/Jamfile (revision 1b8f7f13a3dc70e0e903cb94248220b40b732204)
1SubDir HAIKU_TOP src system runtime_loader ;
2
3UsePrivateHeaders runtime_loader ;
4UseHeaders $(TARGET_PRIVATE_KERNEL_HEADERS) : true ;
5
6# Don't let gcc inject built-in function code. This will cause dependencies
7# to libroot, which we don't link against.
8SubDirCcFlags -fno-builtin ;
9SubDirC++Flags -fno-builtin -fno-exceptions ;
10
11# default to BeOS style symbol resolution
12DEFINES += BEOS_STYLE_SYMBOLS_RESOLUTION
13	KMESSAGE_CONTAINER_ONLY
14	_LOADER_MODE
15;
16
17AddResources runtime_loader : runtime_loader.rdef ;
18
19# needed for "runtime_loader" only
20StaticLibrary libruntime_loader.a :
21	kernel_vsprintf.c
22	kernel_cpp.cpp
23	KMessage.cpp
24	:
25	<src!system!libroot!os>syscalls.o
26	<src!system!libroot!os>sem.o
27	<src!system!libroot!os!arch!$(TARGET_ARCH)>atomic.o
28	<src!system!libroot!os!arch!$(TARGET_ARCH)>thread.o
29
30	<src!system!libroot!posix>errno.o
31
32 	<src!system!libroot!posix!glibc!ctype>ctype-info.o
33	<src!system!libroot!posix!glibc!locale>C-ctype.o
34	<src!system!libroot!posix!glibc!locale>C_name.o
35  	<src!system!libroot!posix!unistd>open.o
36
37	<src!system!libroot!posix!string>memchr.o
38	<src!system!libroot!posix!string>memcmp.o
39	<src!system!libroot!posix!string>memcpy.o
40	<src!system!libroot!posix!string>memmove.o
41	<src!system!libroot!posix!string>memset.o
42	<src!system!libroot!posix!string>strcasecmp.o
43	<src!system!libroot!posix!string>strcat.o
44	<src!system!libroot!posix!string>strchr.o
45	<src!system!libroot!posix!string>strcmp.o
46	<src!system!libroot!posix!string>strcpy.o
47	<src!system!libroot!posix!string>strcspn.o
48	<src!system!libroot!posix!string>strdup.o
49	<src!system!libroot!posix!string>strerror.o
50	<src!system!libroot!posix!string>strlcat.o
51	<src!system!libroot!posix!string>strlcpy.o
52	<src!system!kernel!lib>strlen.o
53	<src!system!libroot!posix!string>strncmp.o
54	<src!system!libroot!posix!string>strnlen.o
55	<src!system!libroot!posix!string>strpbrk.o
56	<src!system!libroot!posix!string>strrchr.o
57	<src!system!libroot!posix!string>strspn.o
58	<src!system!libroot!posix!string>strstr.o
59	<src!system!libroot!posix!string!arch!$(TARGET_ARCH)>arch_string.o
60
61	[ FGristFiles kernel_vsprintf.o ]
62;
63
64SEARCH on [ FGristFiles kernel_cpp.cpp ]
65	= [ FDirName $(HAIKU_TOP) src system kernel util ] ;
66SEARCH on [ FGristFiles kernel_vsprintf.c ]
67	= [ FDirName $(HAIKU_TOP) src system kernel lib ] ;
68SEARCH on [ FGristFiles KMessage.cpp ]
69	= [ FDirName $(HAIKU_TOP) src system kernel messaging ] ;
70
71SEARCH_SOURCE += [ FDirName $(SUBDIR) arch $(TARGET_ARCH) ] ;
72
73Objects
74	runtime_loader.c
75	elf.cpp
76	export.c
77	heap.cpp
78	utility.cpp
79	arch_relocate.c
80;
81
82Ld runtime_loader :
83	[ FGristFiles runtime_loader.o elf.o export.o heap.o utility.o arch_relocate.o ]
84	libruntime_loader.a
85	$(TARGET_GCC_LIBGCC)
86	: $(HAIKU_TOP)/src/system/ldscripts/$(TARGET_ARCH)/runtime_loader.ld
87;
88