1SubDir HAIKU_TOP src build libpackage ; 2 3UsePrivateBuildHeaders kernel package shared storage support ; 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 BufferDataOutput.cpp 37 BufferPool.cpp 38 PoolBuffer.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 ZlibCompressor.cpp 81; 82 83# TODO: remove this hack once gcc2 has -iquote implemented 84if $(HOST_PLATFORM) = haiku_host && $(HOST_GCC_VERSION[1]) < 3 { 85 local locations = common/non-packaged common system ; 86 SourceHdrs FetchFileJob.cpp : /boot/$(locations)/develop/headers/curl ; 87} 88 89# locate the library 90MakeLocate libpackage_build.so : $(HOST_BUILD_COMPATIBILITY_LIB_DIR) ; 91 92BuildPlatformSharedLibrary libpackage_build.so 93 : 94 ActivateRepositoryCacheJob.cpp 95 ActivateRepositoryConfigJob.cpp 96 ActivationTransaction.cpp 97 AddRepositoryRequest.cpp 98 Attributes.cpp 99 ChecksumAccessors.cpp 100 Context.cpp 101 DownloadFileRequest.cpp 102 DropRepositoryRequest.cpp 103 FetchFileJob.cpp 104 InstallationLocationInfo.cpp 105 Job.cpp 106 JobQueue.cpp 107 PackageInfo.cpp 108 PackageInfoContentHandler.cpp 109 PackageInfoParser.cpp 110 PackageInfoSet.cpp 111 PackageResolvable.cpp 112 PackageResolvableExpression.cpp 113 PackageRoster.cpp 114 PackageVersion.cpp 115 RefreshRepositoryRequest.cpp 116 RemoveRepositoryJob.cpp 117 RepositoryCache.cpp 118 RepositoryConfig.cpp 119 RepositoryInfo.cpp 120 Request.cpp 121 TempfileManager.cpp 122 User.cpp 123 ValidateChecksumJob.cpp 124 125 $(HPKG_SOURCES) 126 127 # hpkg, but only libpackage 128 NoErrorOutput.cpp 129 StandardErrorOutput.cpp 130 131 # manager 132 Exceptions.cpp 133 RepositoryBuilder.cpp 134 135 # solver 136 Solver.cpp 137 SolverPackage.cpp 138 SolverPackageSpecifier.cpp 139 SolverPackageSpecifierList.cpp 140 SolverProblem.cpp 141 SolverProblemSolution.cpp 142 SolverRepository.cpp 143 SolverResult.cpp 144 : 145 libshared_build.a $(HOST_LIBBE) curl z $(HOST_LIBSTDC++) 146; 147 148HaikuSubInclude solver ; 149