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 DataReader.cpp 39 DataWriters.cpp 40 ErrorOutput.cpp 41 FDDataReader.cpp 42 GlobalWritableFileInfo.cpp 43 HPKGDefs.cpp 44 PackageContentHandler.cpp 45 PackageData.cpp 46 PackageDataReader.cpp 47 PackageEntry.cpp 48 PackageEntryAttribute.cpp 49 PackageFileHeapAccessorBase.cpp 50 PackageFileHeapReader.cpp 51 PackageFileHeapWriter.cpp 52 PackageReader.cpp 53 PackageReaderImpl.cpp 54 PackageWriter.cpp 55 PackageWriterImpl.cpp 56 ReaderImplBase.cpp 57 RepositoryContentHandler.cpp 58 RepositoryReader.cpp 59 RepositoryReaderImpl.cpp 60 RepositoryWriter.cpp 61 RepositoryWriterImpl.cpp 62 Strings.cpp 63 UserSettingsFileInfo.cpp 64 WriterImplBase.cpp 65 66 # V1 support 67 HPKGDefsV1.cpp 68 PackageContentHandlerV1.cpp 69 PackageDataReaderV1.cpp 70 PackageDataV1.cpp 71 PackageEntryAttributeV1.cpp 72 PackageEntryV1.cpp 73 PackageInfoContentHandlerV1.cpp 74 PackageReaderImplV1.cpp 75 PackageReaderV1.cpp 76 ReaderImplBaseV1.cpp 77 78 # compression 79 ZlibCompressionBase.cpp 80 ZlibCompressor.cpp 81 ZlibDecompressor.cpp 82; 83 84# TODO: remove this hack once gcc2 has -iquote implemented 85if $(HOST_PLATFORM) = haiku_host && $(HOST_GCC_VERSION[1]) < 3 { 86 local locations = common/non-packaged common system ; 87 SourceHdrs FetchFileJob.cpp : /boot/$(locations)/develop/headers/curl ; 88} 89 90# locate the library 91MakeLocate libpackage_build.so : $(HOST_BUILD_COMPATIBILITY_LIB_DIR) ; 92 93BuildPlatformSharedLibrary libpackage_build.so 94 : 95 ActivateRepositoryCacheJob.cpp 96 ActivateRepositoryConfigJob.cpp 97 ActivationTransaction.cpp 98 AddRepositoryRequest.cpp 99 Attributes.cpp 100 ChecksumAccessors.cpp 101 CommitTransactionResult.cpp 102 Context.cpp 103 DownloadFileRequest.cpp 104 DropRepositoryRequest.cpp 105 FetchFileJob.cpp 106 InstallationLocationInfo.cpp 107 Job.cpp 108 JobQueue.cpp 109 PackageInfo.cpp 110 PackageInfoContentHandler.cpp 111 PackageInfoParser.cpp 112 PackageInfoSet.cpp 113 PackageResolvable.cpp 114 PackageResolvableExpression.cpp 115 PackageRoster.cpp 116 PackageVersion.cpp 117 RefreshRepositoryRequest.cpp 118 RemoveRepositoryJob.cpp 119 RepositoryCache.cpp 120 RepositoryConfig.cpp 121 RepositoryInfo.cpp 122 Request.cpp 123 TempfileManager.cpp 124 User.cpp 125 ValidateChecksumJob.cpp 126 127 $(HPKG_SOURCES) 128 129 # hpkg, but only libpackage 130 NoErrorOutput.cpp 131 StandardErrorOutput.cpp 132 133 # manager 134 Exceptions.cpp 135 RepositoryBuilder.cpp 136 137 # solver 138 Solver.cpp 139 SolverPackage.cpp 140 SolverPackageSpecifier.cpp 141 SolverPackageSpecifierList.cpp 142 SolverProblem.cpp 143 SolverProblemSolution.cpp 144 SolverRepository.cpp 145 SolverResult.cpp 146 : 147 libshared_build.a $(HOST_LIBBE) curl z $(HOST_LIBSTDC++) 148; 149 150HaikuSubInclude solver ; 151