xref: /haiku/src/system/runtime_loader/Jamfile (revision 508f54795f39c3e7552d87c95aae9dd8ec6f505b)
1SubDir HAIKU_TOP src system runtime_loader ;
2
3UsePrivateHeaders runtime_loader shared ;
4UsePrivateHeaders kernel ;
5	# for <util/KMessage.h>
6UsePrivateSystemHeaders ;
7
8# Don't let gcc inject built-in function code. This will cause dependencies
9# to libroot, which we don't link against.
10SubDirCcFlags -fno-builtin ;
11SubDirC++Flags -fno-builtin -fno-exceptions ;
12
13DEFINES +=
14	KMESSAGE_CONTAINER_ONLY
15	_LOADER_MODE
16	USING_LIBGCC=1
17;
18
19AddResources runtime_loader : runtime_loader.rdef ;
20
21# needed for "runtime_loader" only
22StaticLibrary libruntime_loader.a :
23	kernel_vsprintf.cpp
24	kernel_cpp.cpp
25	KMessage.cpp
26	:
27	<src!system!libroot!os>mutex.o
28	<src!system!libroot!os>recursive_lock.o
29	<src!system!libroot!os>syscalls.o
30	<src!system!libroot!os>sem.o
31
32	<src!system!libroot!posix>errno.o
33  	<src!system!libroot!posix>fcntl.o
34
35 	<src!system!libroot!posix!glibc!ctype>ctype-info.o
36	<src!system!libroot!posix!glibc!locale>C-ctype.o
37	<src!system!libroot!posix!glibc!locale>C_name.o
38
39	<src!system!libroot!posix!string>memchr.o
40	<src!system!libroot!posix!string>memcmp.o
41	<src!system!libroot!posix!string>memmove.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
60	[ FGristFiles kernel_vsprintf.o ]
61;
62
63SEARCH on [ FGristFiles kernel_cpp.cpp ]
64	= [ FDirName $(HAIKU_TOP) src system kernel util ] ;
65SEARCH on [ FGristFiles kernel_vsprintf.cpp ]
66	= [ FDirName $(HAIKU_TOP) src system kernel lib ] ;
67SEARCH on [ FGristFiles KMessage.cpp ]
68	= [ FDirName $(HAIKU_TOP) src system kernel messaging ] ;
69
70
71local sources =
72	add_ons.cpp
73	elf.cpp
74	elf_haiku_version.cpp
75	elf_load_image.cpp
76	elf_symbol_lookup.cpp
77	elf_versioning.cpp
78	errors.cpp
79	export.cpp
80	heap.cpp
81	images.cpp
82	runtime_loader.cpp
83	utility.cpp
84;
85
86Objects $(sources) ;
87
88Ld runtime_loader :
89	[ FGristFiles $(sources:S=$(SUFOBJ)) ]
90	libruntime_loader.a
91	libruntime_loader_$(TARGET_ARCH).a
92	$(TARGET_STATIC_LIBSUPC++)
93	$(TARGET_GCC_LIBGCC)
94	: $(HAIKU_TOP)/src/system/ldscripts/$(TARGET_ARCH)/runtime_loader.ld
95	: --no-undefined
96;
97
98HaikuSubInclude arch $(TARGET_ARCH) ;
99