Skip to content
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

NG plan for Zig / C build / build.zig #1724

Closed
11 of 13 tasks
plajjan opened this issue Mar 7, 2024 · 1 comment
Closed
11 of 13 tasks

NG plan for Zig / C build / build.zig #1724

plajjan opened this issue Mar 7, 2024 · 1 comment
Assignees
Labels
build system enhancement New feature or request
Milestone

Comments

@plajjan
Copy link
Contributor

plajjan commented Mar 7, 2024

  • reduce data sent between actonc and builder
    • this was due to ease of joining paths in Haskell vs Zig
    • but just get on with it, write a function in Zig to join paths and compute more paths in Zig
  • add builder flag for only compiling library part (not executable binaries) which is the relevant stuff when used as a dependency
  • get rid of prebuilt libActon - always build from source
  • use user global zig cache, e.g. ~/.cache/acton/...
  • add cache cleaning functionality into acton
    • let cache grow up to X bytes (maybe hard coded for now!?)
    • preferably cleaning only old files periodically, like LRU
    • but if it somehow interferes with zig cache then we'll just have to wipe whole cache when it reaches the maximum allowable size
  • have separate caches for Acton base and Acton projects
    • not sure this is possible with Zig today? there is some support for overriding stuff, but still, can we achieve this?
  • get rid of out/ rel / dev, if we always build from sources we won't have prebuilt libraries so it is not necessary to have rel or dev. Output just goes in out/. So it'll be like out/lib/libActonProject.a and out/bin/foo
  • add acton(c) option to skip C compilation
  • skip C compilation when building base for Acton distribution
  • stop include of library archives of external library dependencies, like libuv, as part of distribution, Only include deps as sources, do not bundle built libs in distribution #1871
  • avoid building external library dependencies at distribution build time since we don't need them, only build what is necessary for actondb and preferably out-of-tree (hard with includes!?) Only include deps as sources, do not bundle built libs in distribution #1871
  • can we clear out the oldest stuff from the cache rather than everything? LRU style? Zig issues / feature improvements affecting Acton (tracking issue) #1603 Automatically evict zig-cache to stop it growing too large ziglang/zig#15358
  • support inclusion of external libraries
@plajjan plajjan added enhancement New feature or request build system labels Aug 28, 2024
@plajjan plajjan self-assigned this Aug 28, 2024
@plajjan
Copy link
Contributor Author

plajjan commented Aug 28, 2024

All done here, closing.

@plajjan plajjan closed this as completed Aug 28, 2024
@plajjan plajjan added this to the v0.24 milestone Aug 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build system enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant