1SubDir HAIKU_TOP src build libpackage ; 2 3UsePrivateBuildHeaders kernel package shared storage ; 4 5SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits package ] ; 6SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits package hpkg ] ; 7SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits package hpkg v1 ] ; 8SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits package manager ] ; 9SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits package solver ] ; 10 11USES_BE_API on libpackage_build.so = true ; 12LINKFLAGS on libpackage_build.so += $(HOST_PTHREAD_LINKFLAGS) ; 13 14 15{ 16 # The package writer needs to know where the license files are located. 17 local dataDir = [ FDirName $(HAIKU_TOP) data system data ] ; 18 # The directory path we compile in must be absolute. If it isn't prepend 19 # pwd. 20 local defines ; 21 if ! [ Match "(^/.*)" : $(dataDir) ] { 22 dataDir = `pwd`/$(dataDir) ; 23 } 24 local defines = [ FDefines 25 \"HAIKU_BUILD_SYSTEM_DATA_DIRECTORY="\\\"$(dataDir)\\\""\" 26 ] ; 27 ObjectC++Flags PackageWriterImpl.cpp : $(defines) ; 28} 29 30 31HPKG_SOURCES = 32 AttributeDataReader.cpp 33 BlockBufferPool.cpp 34 BlockBufferPoolImpl.cpp 35 BlockBufferPoolNoLock.cpp 36 BufferPool.cpp 37 PoolBuffer.cpp 38 DataOutput.cpp 39 DataReader.cpp 40 DataWriters.cpp 41 ErrorOutput.cpp 42 FDDataReader.cpp 43 GlobalWritableFileInfo.cpp 44 HPKGDefs.cpp 45 PackageContentHandler.cpp 46 PackageData.cpp 47 PackageDataReader.cpp 48 PackageEntry.cpp 49 PackageEntryAttribute.cpp 50 PackageFileHeapAccessorBase.cpp 51 PackageFileHeapReader.cpp 52 PackageFileHeapWriter.cpp 53 PackageReader.cpp 54 PackageReaderImpl.cpp 55 PackageWriter.cpp 56 PackageWriterImpl.cpp 57 ReaderImplBase.cpp 58 RepositoryContentHandler.cpp 59 RepositoryReader.cpp 60 RepositoryReaderImpl.cpp 61 RepositoryWriter.cpp 62 RepositoryWriterImpl.cpp 63 Strings.cpp 64 UserSettingsFileInfo.cpp 65 WriterImplBase.cpp 66 67 # V1 support 68 HPKGDefsV1.cpp 69 PackageContentHandlerV1.cpp 70 PackageDataReaderV1.cpp 71 PackageDataV1.cpp 72 PackageEntryAttributeV1.cpp 73 PackageEntryV1.cpp 74 PackageInfoContentHandlerV1.cpp 75 PackageReaderImplV1.cpp 76 PackageReaderV1.cpp 77 ReaderImplBaseV1.cpp 78 79 # compression 80 ZlibCompressionBase.cpp 81 ZlibCompressor.cpp 82 ZlibDecompressor.cpp 83; 84 85# TODO: remove this hack once gcc2 has -iquote implemented 86if $(HOST_PLATFORM) = haiku_host && $(HOST_GCC_VERSION[1]) < 3 { 87 local locations = common/non-packaged common system ; 88 SourceHdrs FetchFileJob.cpp : /boot/$(locations)/develop/headers/curl ; 89} 90 91# locate the library 92MakeLocate libpackage_build.so : $(HOST_BUILD_COMPATIBILITY_LIB_DIR) ; 93 94BuildPlatformSharedLibrary libpackage_build.so 95 : 96 ActivateRepositoryCacheJob.cpp 97 ActivateRepositoryConfigJob.cpp 98 ActivationTransaction.cpp 99 AddRepositoryRequest.cpp 100 Attributes.cpp 101 ChecksumAccessors.cpp 102 CommitTransactionResult.cpp 103 Context.cpp 104 DownloadFileRequest.cpp 105 DropRepositoryRequest.cpp 106 FetchFileJob.cpp 107 InstallationLocationInfo.cpp 108 Job.cpp 109 JobQueue.cpp 110 PackageInfo.cpp 111 PackageInfoContentHandler.cpp 112 PackageInfoParser.cpp 113 PackageInfoSet.cpp 114 PackageResolvable.cpp 115 PackageResolvableExpression.cpp 116 PackageRoster.cpp 117 PackageVersion.cpp 118 RefreshRepositoryRequest.cpp 119 RemoveRepositoryJob.cpp 120 RepositoryCache.cpp 121 RepositoryConfig.cpp 122 RepositoryInfo.cpp 123 Request.cpp 124 TempfileManager.cpp 125 User.cpp 126 ValidateChecksumJob.cpp 127 128 $(HPKG_SOURCES) 129 130 # hpkg, but only libpackage 131 NoErrorOutput.cpp 132 StandardErrorOutput.cpp 133 134 # manager 135 Exceptions.cpp 136 RepositoryBuilder.cpp 137 138 # solver 139 Solver.cpp 140 SolverPackage.cpp 141 SolverPackageSpecifier.cpp 142 SolverPackageSpecifierList.cpp 143 SolverProblem.cpp 144 SolverProblemSolution.cpp 145 SolverRepository.cpp 146 SolverResult.cpp 147 : 148 libshared_build.a $(HOST_LIBBE) curl z $(HOST_LIBSTDC++) 149; 150 151HaikuSubInclude solver ; 152