1SubDir HAIKU_TOP src build libsolv ; 2 3local libsolvSourceBaseDirectory 4 = [ BuildFeatureAttribute libsolv : sources : path ] ; 5local libsolvSourceDirectory = [ FDirName $(libsolvSourceBaseDirectory) src ] ; 6local libsolvextSourceDirectory 7 = [ FDirName $(libsolvSourceBaseDirectory) ext ] ; 8 9local libsolvMajor = 0 ; 10local libsolvMinor = 3 ; 11local libsolvPatch = 0 ; 12local libsolvVersion = $(libsolvMajor).$(libsolvMinor).$(libsolvPatch) ; 13 14DEFINES = 15 LIBSOLV_INTERNAL 16 HAIKU 17 ENABLE_HAIKU 18 VERSION=\\\"$(libsolvVersion)\\\" 19 ; 20 21# One of the following must be defined: 22# * HAVE_FUNOPEN / HAVE_FOPENCOOKIE 23# 24# One of the following can be defined: 25# * HAVE_QSORT_R / HAVE___QSORT ? 26switch $(HOST_PLATFORM) { 27 case linux : 28 DEFINES += HAVE_STRCHRNUL HAVE_QSORT_R HAVE_FOPENCOOKIE ; 29 case haiku_host : 30 DEFINES += HAVE_FOPENCOOKIE ; 31 case freebsd : 32 DEFINES += HAVE_FUNOPEN ; 33 case * : 34 Exit $(SUBDIR)/Jamfile: "Please add a case for your platform" 35 "($(HOST_PLATFORM))!" ; 36} 37 38SubDirCcFlags -Wno-sign-compare -Wno-missing-prototypes ; 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) ; 54Depends $(libsolvSources) : [ BuildFeatureAttribute libsolv : sources ] ; 55 56MakeLocate libsolv_build.so : $(HOST_BUILD_COMPATIBILITY_LIB_DIR) ; 57 58BuildPlatformSharedLibrary libsolv_build.so 59 : 60 $(libsolvSources) 61 ; 62 63# libsolvext 64 65UseHeaders $(libsolvextSourceDirectory) ; 66 67local libsolvextSources = [ FGristFiles 68 solv_xfopen.c testcase.c 69 repo_haiku.cpp 70 ] ; 71 72LOCATE on $(libsolvextSources) = $(libsolvextSourceDirectory) ; 73Depends $(libsolvextSources) : [ BuildFeatureAttribute libsolv : sources ] ; 74 75USES_BE_API on libsolvext_build.so = true ; 76 77MakeLocate libsolvext_build.so : $(HOST_BUILD_COMPATIBILITY_LIB_DIR) ; 78 79BuildPlatformSharedLibrary libsolvext_build.so 80 : 81 $(libsolvextSources) 82 : 83 libsolv_build.so 84 libpackage_build.so 85 z 86 ; 87 88 89# generate solvversion.h 90 91actions GenerateLibsolvVersionHeader 92{ 93 sed -e s,@VERSION@,$(LIBSOLV_VERSION),g \ 94 -e s,@LIBSOLV_MAJOR@,$(LIBSOLV_MAJOR),g \ 95 -e s,@LIBSOLV_MINOR@,$(LIBSOLV_MINOR),g \ 96 -e s,@LIBSOLV_PATCH@,$(LIBSOLV_PATCH),g \ 97 $(2) > $(1) 98} 99 100local versionHeaderIn = solvversion.h.in ; 101LOCATE on $(versionHeaderIn) = $(libsolvSourceDirectory) ; 102Depends $(versionHeaderIn) : [ BuildFeatureAttribute libsolv : sources ] ; 103 104local versionHeader = [ FGristFiles solvversion.h ] ; 105MakeLocate $(versionHeader) : $(LOCATE_SOURCE) ; 106Depends $(versionHeader) : $(versionHeaderIn) ; 107LIBSOLV_VERSION on $(versionHeader) = $(libsolvVersion) ; 108LIBSOLV_MAJOR on $(versionHeader) = $(libsolvMajor) ; 109LIBSOLV_MINOR on $(versionHeader) = $(libsolvMinor) ; 110LIBSOLV_PATCH on $(versionHeader) = $(libsolvPatch) ; 111GenerateLibsolvVersionHeader $(versionHeader) : $(versionHeaderIn) ; 112 113Includes $(libsolvSources) $(libsolvextSources) : $(versionHeader) ; 114