xref: /haiku/src/build/libsolv/Jamfile (revision 94c66b276e92f206678ca2e2c816d2665946afdd)
1SubDir HAIKU_TOP src build libsolv ;
2
3local libsolvSourceBaseDirectory
4	= [ FDirName $(HAIKU_TOP) src libs libsolv ] ;
5local libsolvSourceDirectory
6	= [ FDirName $(libsolvSourceBaseDirectory) solv ] ;
7local libsolvextSourceDirectory
8	= [ FDirName $(libsolvSourceBaseDirectory) ext ] ;
9
10DEFINES =
11	LIBSOLV_INTERNAL
12	HAIKU
13	_GNU_SOURCE
14	;
15
16# One of the following must be defined:
17# * HAVE_FUNOPEN / HAVE_FOPENCOOKIE
18#
19# One of the following can be defined:
20# * HAVE_QSORT_R / HAVE___QSORT ?
21switch $(HOST_PLATFORM) {
22	case linux :
23		DEFINES += HAVE_STRCHRNUL HAVE_QSORT_R HAVE_FOPENCOOKIE ;
24	case haiku_host :
25		DEFINES += HAVE_STRCHRNUL HAVE_FOPENCOOKIE ;
26	case freebsd :
27		DEFINES += HAVE_STRCHRNUL HAVE_FUNOPEN ;
28	case darwin :
29		DEFINES += HAVE_FUNOPEN HAVE_QSORT_R ;
30	case * :
31		Exit $(SUBDIR)/Jamfile: "Please add a case for your platform"
32			"($(HOST_PLATFORM))!" ;
33}
34
35SubDirCcFlags -Wno-sign-compare -Wno-missing-prototypes ;
36
37SubDirCcFlags $(HOST_PIC_CCFLAGS) ;
38SubDirC++Flags $(HOST_PIC_C++FLAGS) ;
39
40
41# libsolv
42
43UseHeaders $(libsolvSourceDirectory) ;
44
45local libsolvSources = [ FGristFiles
46	bitmap.c poolarch.c poolvendor.c poolid.c strpool.c dirpool.c
47	solver.c solverdebug.c repo_solv.c repo_write.c evr.c pool.c
48	queue.c repo.c repodata.c repopage.c util.c policy.c solvable.c
49	transaction.c rules.c problems.c
50	chksum.c md5.c sha1.c sha2.c solvversion.c selection.c
51	] ;
52
53LOCATE on $(libsolvSources) = $(libsolvSourceDirectory) ;
54
55BuildPlatformStaticLibrary libsolv_build.a
56	:
57	$(libsolvSources)
58	;
59
60# libsolvext
61
62UseHeaders $(libsolvextSourceDirectory) ;
63
64local libsolvextSources = [ FGristFiles
65	solv_xfopen.c testcase.c
66	repo_haiku.cpp
67	] ;
68
69LOCATE on $(libsolvextSources) = $(libsolvextSourceDirectory) ;
70
71USES_BE_API on libsolvext_build.a = true ;
72
73BuildPlatformStaticLibrary libsolvext_build.a
74	:
75	$(libsolvextSources)
76	;
77