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 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