From 6c52451c6c085dc8e3cae240bfb2a066fb3ddfda Mon Sep 17 00:00:00 2001 From: crazywhalecc Date: Tue, 24 Mar 2026 12:18:06 +0800 Subject: [PATCH] Add qdbm --- config/pkg/lib/qdbm.yml | 2 ++ src/Package/Library/qdbm.php | 11 +++++++++++ 2 files changed, 13 insertions(+) diff --git a/config/pkg/lib/qdbm.yml b/config/pkg/lib/qdbm.yml index 1b46e304..86b881d7 100644 --- a/config/pkg/lib/qdbm.yml +++ b/config/pkg/lib/qdbm.yml @@ -10,3 +10,5 @@ qdbm: license: 'GPL-2.0-only OR LGPL-2.1-only' static-libs@unix: - libqdbm.a + static-libs@windows: + - qdbm_a.lib diff --git a/src/Package/Library/qdbm.php b/src/Package/Library/qdbm.php index 3b5c276c..358846fb 100644 --- a/src/Package/Library/qdbm.php +++ b/src/Package/Library/qdbm.php @@ -23,4 +23,15 @@ class qdbm $ac->make(SystemTarget::getTargetOS() === 'Darwin' ? 'mac' : ''); $lib->patchPkgconfPrefix(['qdbm.pc']); } + + #[BuildFor('Windows')] + public function buildWin(LibraryPackage $lib): void + { + cmd()->cd($lib->getSourceDir()) + ->exec('nmake /f VCMakefile'); + FileSystem::createDir($lib->getLibDir()); + FileSystem::createDir($lib->getIncludeDir()); + FileSystem::copy("{$lib->getSourceDir()}\\qdbm_a.lib", "{$lib->getLibDir()}\\qdbm_a.lib"); + FileSystem::copy("{$lib->getSourceDir()}\\depot.h", "{$lib->getIncludeDir()}\\depot.h"); + } }