-
Notifications
You must be signed in to change notification settings - Fork 85
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add windows precompiled binary workflow and shared library to pre-compiled binary archive #1686
Conversation
Codecov ReportPatch and project coverage have no change.
Additional details and impacted files@@ Coverage Diff @@
## master #1686 +/- ##
========================================
Coverage 91.16% 91.16%
========================================
Files 733 735 +2
Lines 26623 26773 +150
========================================
+ Hits 24270 24407 +137
- Misses 2353 2366 +13 ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Could you please teat that all of the pre-compiled workflows are still working correctly by running
Build-Linux-Precompiled-Binaries
andBuild-Mac-Precompiled-Binaries
? You may not be able to test the Windows workflow itself before the PR has been merged but let's ensure it does not break the existing ones. - Before releasing 0.0.4, @acquamarin tested the
lib
anddll
we built manually but it seems he cannot get thedll
work. Could you please check if thedll
itself is working by building and running the Introduction Examples. If thedll
is working for you, could you please also update the documentation on how to make thedll
work on Windows? - Since we did not get the
dll
working, we did not include it in the last release. I think DuckDB releases both thelib
anddll
for Windows, so we can follow that. The namekuzu.dll
andkuzu.lib
are fine.
I tested it prior to making this PR, though not with those examples. I'll test it again and update those docs. |
It looks like renaming the dll is more complicated than just renaming the file, since the import library refers to the dll by name. It's still possible (https://stackoverflow.com/a/280567), but I'm not sure it's worthwhile compared to leaving it as Duckdb has duckdb as the name of its shared library, and duckdb_static as the name of its static library which is presumably why they release shared libraries as just duckdb.lib/dll. |
OK. If renaming the DLL is not easy, let’s just leave it as is. |
On windows the headers may get added to the map with both types of path separators, resulting in duplicated code in the merged header file.
I also modified the script which produces the pre-compiled binaries so that it includes both the shared library
.dll
and the import library.lib
(needed for linking stuff against thedll
; thedll
is only needed at runtime as far as I know). The last release just included a libkuzu.lib (presumably just the static library? I didn't check; the pre-compiled-bin script wasn't working, so I'm guessing that was created manually).One question though: should the libraries be
kuzu_shared.dll
andkuzu_shared.lib
(to distinguish them from kuzu.lib, which is the name of the static library), or just bekuzu.dll
andkuzu.lib
?