xref: /haiku/build/jam/packages/HaikuDevel (revision fc7456e9b1ec38c941134ed6d01c438cf289381e)
1local architecture = $(HAIKU_PACKAGING_ARCHS[1]) ;
2
3
4local haikuDevelPackage = haiku_devel.hpkg ;
5HaikuPackage $(haikuDevelPackage) ;
6
7local arch = $(TARGET_ARCH) ;
8
9# glue code
10AddFilesToPackage develop lib :
11	<src!system!glue!arch!$(arch)!$(architecture)>crti.o
12	<src!system!glue!arch!$(arch)!$(architecture)>crtn.o
13	<src!system!glue!$(architecture)>init_term_dyn.o
14	<src!system!glue!$(architecture)>start_dyn.o
15	<src!system!glue!$(architecture)>haiku_version_glue.o
16	;
17
18# kernel
19AddFilesToPackage develop lib : kernel.so : _KERNEL_ ;
20
21# additional libraries
22local developmentLibs =
23	<revisioned>libroot_debug.so
24	;
25
26AddFilesToPackage lib : $(developmentLibs) ;
27
28# library symlinks
29local lib ;
30for lib in [ HaikuImageGetSystemLibs ] $(developmentLibs) {
31	AddSymlinkToPackage develop lib : ../../lib $(lib:BS) ;
32	local abiVersion = [ on $(lib) return $(HAIKU_LIB_ABI_VERSION) ] ;
33	if $(abiVersion) {
34		local abiVersionedLib = $(lib:BS).$(abiVersion) ;
35		AddSymlinkToPackage develop lib
36			: ../../lib $(abiVersionedLib) ;
37	}
38}
39
40# static libraries
41AddFilesToPackage develop lib :
42	libc.a libcolumnlistview.a
43	<$(architecture)>liblocalestub.a
44	libm.a libnetservices.a
45	libpthread.a libprint.a libprintutils.a
46	<$(architecture)>libshared.a ;
47
48# libnetservices2.a
49if $(HAIKU_CC_IS_LEGACY_GCC_$(architecture)) = 0 {
50	# Modern C++ only; skip on gcc2
51	AddFilesToPackage develop lib :
52		<$(architecture)>libnetservices2.a ;
53}
54
55# the POSIX error code mapper library
56AddFilesToPackage develop lib : libposix_error_mapper.a ;
57
58# ABI independent stuff
59
60# directory attributes
61AddDirectoryToPackage develop : system-develop.rdef ;
62
63
64# headers
65AddHeaderDirectoryToPackage config ;
66AddHeaderDirectoryToPackage glibc ;
67AddHeaderDirectoryToPackage libs alm ;
68AddHeaderDirectoryToPackage libs glut GL ;
69AddHeaderDirectoryToPackage libs linprog ;
70AddHeaderDirectoryToPackage os ;
71AddHeaderDirectoryToPackage posix ;
72
73# private headers
74AddHeaderDirectoryToPackage private ;
75CopyDirectoryToPackage develop headers private libs compat
76	: [ FDirName $(HAIKU_TOP) src libs compat freebsd_network ]
77	: : -x *.c -x *.cpp -x *.awk -x Jamfile -x miidevs -x usbdevs ;
78CopyDirectoryToPackage develop headers private libs compat
79	: [ FDirName $(HAIKU_TOP) src libs compat freebsd_wlan ]
80	: : -x *.c -x Jamfile ;
81
82# create be -> os symlink for now
83AddSymlinkToPackage develop headers : os : be ;
84
85# BSD and GNU compatibility headers
86AddHeaderDirectoryToPackage compatibility bsd : bsd ;
87AddHeaderDirectoryToPackage compatibility gnu : gnu ;
88
89# cpp headers
90if $(HAIKU_CC_IS_LEGACY_GCC_$(architecture)) = 1 {
91	# GCC 2 only -- for GCC 4 they come with the gcc package
92	CopyDirectoryToPackage develop headers c++
93		: [ FDirName $(HAIKU_TOP) headers cpp ] : 2.95.3 ;
94}
95
96
97# Deskbar menu symlinks
98AddSymlinkToPackage data deskbar menu Applications
99	: ../../../../apps/Debugger : Debugger ;
100
101# Debugging tools
102SEARCH on leak_analyser.sh = [ FDirName $(HAIKU_TOP) src bin ] ;
103AddFilesToPackage bin : leak_analyser.sh ;
104
105BuildHaikuPackage $(haikuDevelPackage) : haiku_devel ;
106