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