From 4d33b107cae302b97c0267b3da972a10c1229635 Mon Sep 17 00:00:00 2001 From: dekken Date: Sun, 5 Apr 2026 00:13:53 +0200 Subject: [PATCH 1/2] windwoes --- mod.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/mod.cpp b/mod.cpp index c534a43..1ecf32c 100644 --- a/mod.cpp +++ b/mod.cpp @@ -176,7 +176,8 @@ class Python3Module : public maiken::Module { void Python3Module::compile(maiken::Application& a, YAML::Node const& node) KTHROW(std::exception) { VALIDATE_NODE(node); - std::vector incs{py_include()}; + std::vector incs{py_include(), kul::Dir{"include", python_exe.dir()}.escm()}; + try { if (node["with"]) { @@ -197,8 +198,7 @@ void Python3Module::compile(maiken::Application& a, YAML::Node const& node) KTHR if (req_include) { a.addInclude(req_include.real()); for (auto* rep : a.revendencies()) rep->addInclude(req_include.real()); - } else - throw std::runtime_error("include doesn't exist: " + req_include.real()); + } } } catch (kul::Exception const& e) { KERR << e.stack(); @@ -213,7 +213,6 @@ void Python3Module::link(maiken::Application& a, YAML::Node const& node) KTHROW( VALIDATE_NODE(node); auto const embed = kul::String::BOOL(kul::env::GET("MKN_PYTHON_LIB_EMBED", "0")); - auto linker = py_cflags(); auto const libpath = py_libdir(); auto const prefx = py_prefix(); @@ -227,6 +226,10 @@ void Python3Module::link(maiken::Application& a, YAML::Node const& node) KTHROW( } } + if (prefx.size()) + if(auto const lib = kul::Dir{"libs", python_exe.dir()}) // windows fallback + a.addLibpath(lib.escm()); + if (embed) a.addLib(py_libname()); if (a.mode() != maiken::compiler::Mode::STAT) a.prependLinkString(linker); From 03aa4199d671c24e10b82eac12c356c2d8896ef9 Mon Sep 17 00:00:00 2001 From: PhilipDeegan Date: Sun, 5 Apr 2026 12:29:25 +0200 Subject: [PATCH 2/2] ++ --- mod.cpp | 10 +++++++--- test.cpp | 1 + 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/mod.cpp b/mod.cpp index 1ecf32c..4c120e7 100644 --- a/mod.cpp +++ b/mod.cpp @@ -176,8 +176,10 @@ class Python3Module : public maiken::Module { void Python3Module::compile(maiken::Application& a, YAML::Node const& node) KTHROW(std::exception) { VALIDATE_NODE(node); - std::vector incs{py_include(), kul::Dir{"include", python_exe.dir()}.escm()}; - + std::vector incs{py_include()}; +#if defined(_WIN32) // or fallback + incs.push_back(kul::Dir{"include", python_exe.dir()}.escm()); +#endif try { if (node["with"]) { @@ -226,9 +228,11 @@ void Python3Module::link(maiken::Application& a, YAML::Node const& node) KTHROW( } } +#if defined(_WIN32) // or fallback if (prefx.size()) - if(auto const lib = kul::Dir{"libs", python_exe.dir()}) // windows fallback + if (auto const lib = kul::Dir{"libs", python_exe.dir()}) // windows fallback a.addLibpath(lib.escm()); +#endif if (embed) a.addLib(py_libname()); diff --git a/test.cpp b/test.cpp index c20ca1f..73c4abe 100644 --- a/test.cpp +++ b/test.cpp @@ -7,6 +7,7 @@ std::string const yArgs = ""; int main(int argc, char* argv[]) { + KOUT(NON) << __FILE__; mkn::kul::Signal sig; try { YAML::Node node = mkn::kul::yaml::String(yArgs).root();