aboutsummaryrefslogtreecommitdiffstatshomepage
AgeCommit message (Collapse)Author
2023-04-11build: restore compatibility supportManlio Perillo
Commit 0d56ba3 (build: restore the exercise chain) broke the compatibility support for old compilers, due to the use of the multi-object for loop syntax. Use the normal for loop syntax; the change still keep the code readable. Use the variable `n`, instead of `i`, when referring to the exercise number; this will improve the readability. Closes #227
2023-04-11build: improve PrintStep, SkipStep and PatchStep namesManlio Perillo
Use lover case for the step names. Add the exercise name for the SkipStep and PatchStep step name.
2023-04-11build: simplify code and add testsManlio Perillo
Simplify the code finding the exercise number from the exercise index, when the -Dn option is set. This is now possible since the exercise numbers have no holes. Add the validate_exercises function to check that exercise number are in the correct order, and call it at the start of the build function. Add tests, with 2 test cases.
2023-04-11build: add support for skipping exercisesManlio Perillo
Currently, exercises not working with the current Zig compiler are commented. This is problematic, since the exercise key and exercise index are no longer consistent. Add the skip field to the Excercise struct. Update ZiglingStep to support it and add a new SkipStep step to support it when using the standard build step.
2023-04-11build: ensure the exercise links libc, when neededManlio Perillo
When running, as an example, `zig build -Dhealed -Dn=93 test`, the build fails, because the `test` step use the standard CompileStep, instead of ZiglingStep. Ensure that exercises using libc are correctly built. Closes #229
2023-04-09Update README.mdChris Boesch
2023-04-09Merge pull request #226 from chrboesch/adjust_advanceChris Boesch
Adjustment of the 'Advanced usage' in the README
2023-04-09closes https://github.com/ratfactor/ziglings/issues/223Chris Boesch
2023-04-08build: enable full parallelism when -Dhealed is setManlio Perillo
The eowyn.sh script is used in a github workflow, but after commit 0d56ba3 (build: restore the exercise chain), the github action will take more time to complete. Enable full build parallelism, when -Dhealed is true and -Dn is null. Use the standard CompileStep and RunStep, instead of ZiglingStep. On my PC, this change reduces the build time by about 30%.
2023-04-07Update README.mdChris Boesch
changed zig version number
2023-04-07Merge pull request #212 from perillo/improve-buildChris Boesch
build: make the logo a build step
2023-04-07Insert current zig version for compatiblity!Chris Boesch
This is primarily to make users aware that there has been a change in the call for individual exercises.
2023-04-07help text for parameters adaptedChris Boesch
2023-04-07build: restore the exercise chainManlio Perillo
The new parallel build support in Zig broke the exercise chain, so that each esercise check is no longer strictly serialized. 1. Add the Dexno option, in order to isolate the chain starting from a named exercise from the normal chain, thus simplify the code. The current code have an additional issue: it added 4 x n steps, making reading the help message or the list of steps very hard. Add only the `install`, `uninstall`, `zigling`, `test` and `start` steps. The last three steps match the old steps `n`, `n_test` and `n_start`. The default step is zigling (note the singular form). The `install` step override the builtin install step, showing a custom description and matches the old `n_install` step. The uninstall step was added for consistency, so that the description is consistent. Setup a new chain starting at `zig build -Dexno=n start` so that it is stricly serialized. The behavior should be the same as the old one. 2. Handle the code for all the exercises separately. Add only the `ziglings step`, making it the default step, in addition to the install and uninstall steps. Setup a new chain starting at the first exercise, to that it is strictly serialized. The behavior should be the same as the old one. The current code has a know issue: the messages from the ZiglingStep and the ones from the compiler compilation progress are interleaved, but each message is written atomically, due to the use of `std.debug.getStderrMutex()`. Update the README.md file. Closes #202
2023-04-05build: fix the description of the named_install stepManlio Perillo
Replace the description of the named_install step from "Install {s} to zig-cache/bin" to "Copy {s} to prefix path". The latter has been adapded from the description of the builtin install step. Ad an empty line before the build_step variable, in order to improve readability. Closes #213
2023-04-05Merge pull request #216 from chrboesch/i215Chris Boesch
improving the explanation
2023-04-05improving the explanationChris Boesch
2023-04-04build: replace the logo step with the header stepManlio Perillo
Remove the logo step, and use PrintStep for the header step. The logo step was added as a quick fix after the Builder.addLog function was removed. Now the logo is no longer shown when running `zig build -l` or `zig build -h`.
2023-04-03build: restore support for Zig 0.6.0Manlio Perillo
The version check for Zig 0.6.0 was incorrect since commit 971ab7f (Use a zig build script to run ziglings). Move compatibility support to a separate file, in order to simplify build.zig. In case of incompatible version, exit with code 3 instead of 0, in order to detect the case of failure in a test (to be implemented). Remove the use of comptime when checking compatibility at the start of the build function, since it is not necessary. Closes #210.
2023-04-02build: make the logo a build stepManlio Perillo
Currently, the logo is always printed when the build script is executed, resulting in the logo being printed twice with `zig build -h` and `zig build -l`. Make the logo a build step, so that the logo is printed to stderr only when necessary. Closes #211
2023-03-31Merge pull request #209 from chrboesch/e70Chris Boesch
changed self parameter in connect to pointer
2023-03-31changed self parameter in connect to pointerChris Boesch
2023-03-30Merge pull request #208 from chrboesch/issue_140Chris Boesch
function made more elegant
2023-03-30function made more elegantChris Boesch
2023-03-30Merge pull request #207 from chrboesch/i205Chris Boesch
changed self paramter in waddle to pointer
2023-03-30changed self paramter in waddle to pointerChris Boesch
2023-03-30Merge pull request #206 from ZoloZithro/my-branchChris Boesch
Exercise 094: Correct spelling and grammar Thanks!
2023-03-30Exercise 094: Correct spelling and grammarZolo Zithro
2023-03-20Update README.mdChris Boesch
change note to attention for new build system
2023-03-19Merge pull request #203 from chrboesch/new_buildChris Boesch
workaround for new build system
2023-03-19workaround for parallel processing of the build stepsChris Boesch
2023-03-19first test for new build systemChris Boesch
2023-03-15Merge pull request #199 from joburgard/mainDave Gauer
Fix typos
2023-03-14Fix typoJo Burgard
2023-03-14Fix typoJo Burgard
2023-03-12Update README.mdChris Boesch
2023-03-12Update README.mdChris Boesch
2023-03-12Update README.mdChris Boesch
see https://github.com/ratfactor/ziglings/issues/198
2023-03-09Merge pull request #197 from chrboesch/memallChris Boesch
added line feed
2023-03-09added line feedChris Boesch
2023-03-09Merge pull request #195 from Seanny123/memory-allocationChris Boesch
Memory allocation exercise
2023-03-08change empty init to '???' placeholderSean Aubin
2023-03-08rename memory allocation 095 -> 096Sean Aubin
2023-03-08add 095_memory_allocation.patchSean Aubin
2023-03-08fix allocate exampleSean Aubin
2023-03-08move memory allocation example to 095Sean Aubin
2023-03-08rephrase/reformat commentsSean Aubin
2023-03-08first draft of memory allocation exerciseSean Aubin
2023-03-04Merge pull request #196 from chrboesch/for-loopsChris Boesch
exercise for new for-loops
2023-03-04exercise for new for-loopsChris Boesch