From a20eb7f497fd5789baee973d9f381d155c231951 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Fri, 14 Jun 2013 00:33:23 +0200 Subject: [PATCH] Update libsolv package Also make use of new build feature rules. --- build/jam/BuildFeatures | 33 ++++++++++++++------------------- build/jam/OptionalPackages | 4 ++-- src/kits/package/solver/Jamfile | 12 ++++++++---- 3 files changed, 24 insertions(+), 25 deletions(-) diff --git a/build/jam/BuildFeatures b/build/jam/BuildFeatures index 94badd63bf..f6911a923b 100644 --- a/build/jam/BuildFeatures +++ b/build/jam/BuildFeatures @@ -623,32 +623,27 @@ if $(TARGET_ARCH) != x86 { Echo "Libsolv not available for $(TARGET_ARCH)." ; } else if $(HAIKU_GCC_VERSION[1]) = 2 { HAIKU_LIBSOLV_PACKAGE - = libsolv-0.3.0_haiku_2013_05_30-1-x86_gcc2.hpkg ; + = libsolv-0.3.0_haiku_2013_05_30-2-x86_gcc2.hpkg ; + HAIKU_LIBSOLV_DEVEL_PACKAGE + = libsolv_devel-0.3.0_haiku_2013_05_30-2-x86_gcc2.hpkg ; } else { Echo "Libsolv not available for gcc4." ; } if $(HAIKU_LIBSOLV_PACKAGE) { - # download package - HAIKU_LIBSOLV_PACKAGE_FILE = [ DownloadFile $(HAIKU_LIBSOLV_PACKAGE) - : $(hpkgBaseURL)/$(HAIKU_LIBSOLV_PACKAGE) ] ; - HAIKU_LIBSOLV_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR) - $(HAIKU_LIBSOLV_PACKAGE:B) ] ; + HAIKU_LIBSOLV_URL = $(hpkgBaseURL)/$(HAIKU_LIBSOLV_PACKAGE) ; + HAIKU_LIBSOLV_DEVEL_URL = $(hpkgBaseURL)/$(HAIKU_LIBSOLV_DEVEL_PACKAGE) ; - # extract headers and libraries - HAIKU_LIBSOLV_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_LIBSOLV_DIR) - : develop/headers/ : $(HAIKU_LIBSOLV_PACKAGE_FILE) : extracted-libsolv - ] ; + ExtractBuildFeatureArchives libsolv : + file: base $(HAIKU_LIBSOLV_URL) + runtime: lib + file: devel $(HAIKU_LIBSOLV_DEVEL_URL) + depends: base + libraries: develop/lib/libsolv.so develop/lib/libsolvext.so + headers: develop/headers + ; - HAIKU_LIBSOLV_LIBS = [ ExtractArchive $(HAIKU_LIBSOLV_DIR) - : - develop/lib/libsolv.so - develop/lib/libsolvext.so - : $(HAIKU_LIBSOLV_PACKAGE_FILE) - : extracted-libsolv - ] ; - - HAIKU_LIBSOLV_HEADERS = [ FDirName $(HAIKU_LIBSOLV_DIR) develop/headers ] ; + EnableBuildFeatures libsolv ; } diff --git a/build/jam/OptionalPackages b/build/jam/OptionalPackages index e271026517..3a5290ad5d 100644 --- a/build/jam/OptionalPackages +++ b/build/jam/OptionalPackages @@ -1295,11 +1295,11 @@ if [ IsOptionalHaikuImagePackageAdded Libpng-devel ] { # LibSolv if [ IsOptionalHaikuImagePackageAdded LibSolv ] { - if ! $(HAIKU_LIBSOLV_PACKAGE) { + if ! $(HAIKU_LIBSOLV_URL) { Echo "No optional package LibSolv available for $(TARGET_ARCH)" ; } else { InstallOptionalHaikuImagePackage - $(hpkgBaseURL)/$(HAIKU_LIBSOLV_PACKAGE) + $(HAIKU_LIBSOLV_URL) : system ; } } diff --git a/src/kits/package/solver/Jamfile b/src/kits/package/solver/Jamfile index 5109fad226..4152f59e31 100644 --- a/src/kits/package/solver/Jamfile +++ b/src/kits/package/solver/Jamfile @@ -2,8 +2,10 @@ SubDir HAIKU_TOP src kits package solver ; # add-on implementing a libsolv based BSolver -SubDirSysHdrs $(HAIKU_LIBSOLV_HEADERS) ; -SubDirHdrs $(HAIKU_LIBSOLV_HEADERS)/solv ; +UseBuildFeatureHeaders libsolv ; + +local libsolvHeaders = [ BuildFeatureAttribute libsolv : headers : path ] ; +UseHeaders [ FDirName $(libsolvHeaders) solv ] ; UsePrivateHeaders shared ; @@ -12,9 +14,11 @@ SharedLibrary libpackage-add-on-libsolv.so : LibsolvSolver.cpp : - package $(HAIKU_LIBSOLV_LIBS) be $(TARGET_LIBSTDC++) + package + [ BuildFeatureAttribute libsolv : libraries ] + be $(TARGET_LIBSTDC++) ; Includes [ FGristFiles LibsolvSolver.cpp ] - : $(HAIKU_LIBSOLV_HEADERS_DEPENDENCY) ; + : [ BuildFeatureAttribute libsolv : headers ] ;