1SubDir HAIKU_TOP src build libpackage ; 2 3UsePrivateBuildHeaders kernel package shared storage support ; 4 5UseHeaders [ FDirName $(HAIKU_TOP) headers os net ] : true ; 6 7SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits package ] ; 8SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits package hpkg ] ; 9SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits package hpkg v1 ] ; 10SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits package manager ] ; 11SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits package solver ] ; 12 13USES_BE_API on libpackage_build.so = true ; 14LINKFLAGS on libpackage_build.so += $(HOST_PTHREAD_LINKFLAGS) ; 15 16 17{ 18 # The package writer needs to know where the license files are located. 19 local dataDir = [ FDirName $(HAIKU_TOP) data system data ] ; 20 # The directory path we compile in must be absolute. If it isn't prepend 21 # pwd. 22 local defines ; 23 if ! [ Match "(^/.*)" : $(dataDir) ] { 24 dataDir = `pwd`/$(dataDir) ; 25 } 26 local defines = [ FDefines 27 \"HAIKU_BUILD_SYSTEM_DATA_DIRECTORY="\\\"$(dataDir)\\\""\" 28 ] ; 29 ObjectC++Flags PackageWriterImpl.cpp : $(defines) ; 30} 31 32 33HPKG_SOURCES = 34 AttributeDataReader.cpp 35 BlockBufferPool.cpp 36 BlockBufferPoolImpl.cpp 37 BlockBufferPoolNoLock.cpp 38 BufferPool.cpp 39 PoolBuffer.cpp 40 DataReader.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 80# TODO: remove this hack once gcc2 has -iquote implemented 81if $(HOST_PLATFORM) = haiku_host && $(HOST_GCC_VERSION[1]) < 3 { 82 local locations = common/non-packaged common system ; 83 SourceHdrs FetchFileJob.cpp : /boot/$(locations)/develop/headers/curl ; 84} 85 86# locate the library 87MakeLocate libpackage_build.so : $(HOST_BUILD_COMPATIBILITY_LIB_DIR) ; 88 89BuildPlatformSharedLibrary libpackage_build.so 90 : 91 ActivateRepositoryCacheJob.cpp 92 ActivateRepositoryConfigJob.cpp 93 ActivationTransaction.cpp 94 AddRepositoryRequest.cpp 95 Attributes.cpp 96 ChecksumAccessors.cpp 97 CommitTransactionResult.cpp 98 Context.cpp 99 DownloadFileRequest.cpp 100 DropRepositoryRequest.cpp 101 FetchFileJob.cpp 102 InstallationLocationInfo.cpp 103 Job.cpp 104 PackageInfo.cpp 105 PackageInfoContentHandler.cpp 106 PackageInfoParser.cpp 107 PackageInfoSet.cpp 108 PackageResolvable.cpp 109 PackageResolvableExpression.cpp 110 PackageRoster.cpp 111 PackageVersion.cpp 112 RefreshRepositoryRequest.cpp 113 RemoveRepositoryJob.cpp 114 RepositoryCache.cpp 115 RepositoryConfig.cpp 116 RepositoryInfo.cpp 117 Request.cpp 118 TempfileManager.cpp 119 User.cpp 120 ValidateChecksumJob.cpp 121 122 $(HPKG_SOURCES) 123 124 # hpkg, but only libpackage 125 NoErrorOutput.cpp 126 StandardErrorOutput.cpp 127 128 # manager 129 Exceptions.cpp 130 RepositoryBuilder.cpp 131 132 # solver 133 Solver.cpp 134 SolverPackage.cpp 135 SolverPackageSpecifier.cpp 136 SolverPackageSpecifierList.cpp 137 SolverProblem.cpp 138 SolverProblemSolution.cpp 139 SolverRepository.cpp 140 SolverResult.cpp 141 : 142 libshared_build.a $(HOST_LIBBE) curl $(HOST_LIBSTDC++) 143; 144 145HaikuSubInclude solver ; 146