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

Build liblmdb, associated tools and tests with zig build system #1

Merged
merged 16 commits into from
Sep 30, 2024

Commits on Sep 26, 2024

  1. Configuration menu
    Copy the full SHA
    5fc2188 View commit details
    Browse the repository at this point in the history
  2. [lmdb]: fix build issues while testing with recblock

    add strip and lto options
    use zig native backend and linker in debug mode
    
    test is still not compiling, look into it
    Ultra-Code committed Sep 26, 2024
    Configuration menu
    Copy the full SHA
    b3869d6 View commit details
    Browse the repository at this point in the history
  3. [lmdb]: add a test and tool step

    The test step runs all the test, they currently are all failing
    this would be fixed in a future commit
    
    The tool step installs all the lmdb binary tools
    
    Rename some varibles to make their intent clear
    Ultra-Code committed Sep 26, 2024
    Configuration menu
    Copy the full SHA
    e1fb1f8 View commit details
    Browse the repository at this point in the history

Commits on Sep 27, 2024

  1. [lmdb]: add step to create the testdb in test folder

    The step currently isn't robust but will fix it soon
    check if addIncludePath is available else use addIncludeDir
    Ultra-Code committed Sep 27, 2024
    Configuration menu
    Copy the full SHA
    dd41fbc View commit details
    Browse the repository at this point in the history

Commits on Sep 28, 2024

  1. [lmdb]: rename src to include

    don't set preferred mode to allow library users to specify optimize mode
    
    always translate the headers in debug mode
    Ultra-Code committed Sep 28, 2024
    Configuration menu
    Copy the full SHA
    c5bc594 View commit details
    Browse the repository at this point in the history

Commits on Sep 29, 2024

  1. fix(build): make create_testdb run after dependencies of install-test

    from discussions on discord step dependencies are run concurrently
    so when create_testdb is run as a dependency of install-test it is
    usually run early, my assumption is because it performs a simple
    operation
    
    to fix this I made the make fn of create_testdb the make of the
    install-step, this ensures that is is only run after all dependencies
    have runned
    
    another way to go would be
    
    ```zig
        const install_test_step = b.step("test", "install testdb");
        const create_testdb_step = create_testdb.create_testdb(b);
        install_test_step.dependOn(create_testdb_step);
        create_testdb_step.dependOn(create_test_step);
    
    ```
    as was suggested by @kprotty on discord but I chose the solution
    in this commit because it has the benefit that it is simple
    and it won't show up in `zig build` so that users don't just run
    the `create_testdb` step without actually installing the test
    Ultra-Code committed Sep 29, 2024
    Configuration menu
    Copy the full SHA
    d24b521 View commit details
    Browse the repository at this point in the history
  2. fix(test): build liblmdb with -fno-sanitize-c

    test 3 and 5 panic with illegal instruction when built with -fsanitize-c
    Ultra-Code committed Sep 29, 2024
    Configuration menu
    Copy the full SHA
    20989e4 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    7dc8c25 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    2156683 View commit details
    Browse the repository at this point in the history

Commits on Sep 30, 2024

  1. Configuration menu
    Copy the full SHA
    bf64584 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d05a03f View commit details
    Browse the repository at this point in the history
  3. fix(zld): fix linker issue on windows

    And don't use lld on macos
    Ultra-Code committed Sep 30, 2024
    Configuration menu
    Copy the full SHA
    af8242b View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    05dab50 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    81e73dd View commit details
    Browse the repository at this point in the history
  6. fix(build): fix unknown type u_char|int|long on macos builds

    pass -D_DARWIN_C_SOURCE to macos builds, from my reading online this
    macro defines some legacy typedefs from BSD that are still lingering
    in macos headers
    Ultra-Code committed Sep 30, 2024
    Configuration menu
    Copy the full SHA
    a9e5247 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    4c08e24 View commit details
    Browse the repository at this point in the history