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