xref: /haiku/build/jam/packages/HaikuDevel (revision b6a89f410eb68626663104bd9687830504634cb9)
1local haikuDevelPackage = haiku_devel.hpkg ;
2HaikuPackage $(haikuDevelPackage) ;
3
4local arch = $(TARGET_ARCH) ;
5local developDirTokens = develop ;
6
7# glue code
8AddFilesToPackage $(developDirTokens) lib :
9	<src!system!glue!arch!$(arch)>crti.o
10	<src!system!glue!arch!$(arch)>crtn.o
11	<src!system!glue>init_term_dyn.o
12	<src!system!glue>start_dyn.o
13	<src!system!glue>haiku_version_glue.o
14;
15
16# kernel
17AddFilesToPackage $(developDirTokens) lib : kernel.so : _KERNEL_ ;
18
19# additional libraries
20local developmentLibs = <revisioned>libroot_debug.so ;
21AddFilesToPackage lib : $(developmentLibs) ;
22
23# library symlinks
24local lib ;
25for lib in $(SYSTEM_LIBS) $(SYSTEM_LIBS_LIBGL_ALIASES) $(developmentLibs) {
26	AddSymlinkToPackage $(developDirTokens) lib : /system/lib $(lib:BS) ;
27	local abiVersion = [ on $(lib) return $(HAIKU_LIB_ABI_VERSION) ] ;
28	if $(abiVersion) {
29		local abiVersionedLib = $(lib:BS).$(abiVersion) ;
30		AddSymlinkToPackage $(developDirTokens) lib
31			: /system/lib $(abiVersionedLib) ;
32	}
33}
34
35# static libraries
36AddFilesToPackage $(developDirTokens) lib : liblocalestub.a ;
37
38# the POSIX error code mapper library
39AddFilesToPackage $(developDirTokens) lib : libposix_error_mapper.a ;
40
41# ABI independent stuff
42
43# scripts: freetype-config, setgcc
44local scripts = freetype-config setgcc ;
45SEARCH on $(scripts) = [ FDirName $(HAIKU_TOP) data bin ] ;
46AddFilesToPackage bin : $(scripts) ;
47
48# headers
49AddHeaderDirectoryToPackage config ;
50AddHeaderDirectoryToPackage glibc ;
51AddHeaderDirectoryToPackage os ;
52AddHeaderDirectoryToPackage posix ;
53
54# private headers
55AddHeaderDirectoryToPackage private ;
56CopyDirectoryToPackage develop headers private libs compat
57	: [ FDirName $(HAIKU_TOP) src libs compat freebsd_network ]
58	: : -x *.c -x *.cpp -x *.awk -x Jamfile -x miidevs ;
59CopyDirectoryToPackage develop headers private libs compat
60	: [ FDirName $(HAIKU_TOP) src libs compat freebsd_wlan ]
61	: : -x *.c -x Jamfile ;
62
63# create be -> os symlink for now
64AddSymlinkToPackage $(developDirTokens) headers : os : be ;
65
66# BSD and GNU compatibility headers
67AddHeaderDirectoryToPackage compatibility bsd : bsd ;
68AddHeaderDirectoryToPackage compatibility gnu : gnu ;
69
70# third party libs headers
71AddHeaderDirectoryToPackage libs termcap : 3rdparty ;
72AddHeaderDirectoryToPackage libs tiff : 3rdparty ;
73
74CopyDirectoryToPackage develop headers :
75	[ FDirName $(HAIKU_FREETYPE_DIR) develop headers 3rdparty ] ;
76CopyDirectoryToPackage develop headers : $(HAIKU_JPEG_HEADERS) : 3rdparty ;
77CopyDirectoryToPackage develop headers : $(HAIKU_LIBPNG_HEADERS) : 3rdparty ;
78
79# cpp headers
80if $(HAIKU_GCC_VERSION[1]) = 2 {
81	# GCC 2 only -- for GCC 4 they come with the DevelopmentBase package
82	CopyDirectoryToPackage $(developDirTokens) headers c++
83		: [ FDirName $(HAIKU_TOP) headers cpp ] : 2.95.3 ;
84}
85
86# OpenGL headers
87if $(TARGET_ARCH) = x86 {
88	CopyDirectoryToPackage $(developDirTokens) headers os opengl
89		: [ FDirName $(HAIKU_MESA_HEADERS) GL ] ;
90	CopyDirectoryToPackage $(developDirTokens) headers os opengl
91		: [ FDirName $(HAIKU_GLU_HEADERS) GL ] ;
92}
93
94BuildHaikuPackage $(haikuDevelPackage) : haiku_devel ;
95