Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | test.c: clean up macros | Tomasz Kramkowski | 2021-09-21 | 1 | -15/+14 |
| | |||||
* | test.c: minor cleanup | Tomasz Kramkowski | 2021-09-21 | 1 | -2/+2 |
| | |||||
* | clean: always manually remove, use redo-targets to check | Tomasz Kramkowski | 2021-09-21 | 1 | -6/+15 |
| | | | | | | | | | clean will now always use the non-redo-targets clean method, but if redo-targets is available it will check that there's nothing missing from the logic. This isn't bulletproof but it's better than having a working clean when using a redo with redo-targets and then having a broken clean logic because I forgot to add something when not using a redo-targets redo. | ||||
* | pack: Simplify signed integer packing calculation | Tomasz Kramkowski | 2021-08-14 | 1 | -7/+1 |
| | | | | | | | | | | | | | Because of the fact that uintmax_t guarantees at least a full 64 bit width and because of C's behavior when a signed type is converted to an unsigned type and the value is out of range, the new code just sign-extends and converts to a uintmax_t wide two's complement signed value. As an aside, the old code was written forgetting the fact that that uintmax_t + intmax_t would be first converted to uintmax_t + uintmax_t before being evaluated. The end result was the same except it ended up being offset by 2^8s. | ||||
* | test_gen: implement unpack_struct test generation | Tomasz Kramkowski | 2021-08-11 | 1 | -10/+97 |
| | |||||
* | test.c: add simple unpack_struct test | Tomasz Kramkowski | 2021-08-11 | 1 | -0/+46 |
| | |||||
* | implement unpack_struct | Tomasz Kramkowski | 2021-08-11 | 2 | -0/+73 |
| | |||||
* | make [HT]CC full paths for redo-ifchange in .tool | Tomasz Kramkowski | 2021-08-11 | 2 | -1/+7 |
| | | | | | | | | | | | | This should force rebuilding targets which depend on tools which have changed in the filesystem and prevent envrionment changes from causing build changes. But this should be documented. Ideally a redo with a redo-always (or more aptly named redo-ifredo) would mark an env target as needing redoing every time you run redo on a deptree which includes it and this would in turn cause rebuilding of things which rely on the environment (like tools which run from the path). | ||||
* | add bash ft modelines to bash do files | Tomasz Kramkowski | 2021-08-08 | 7 | -0/+7 |
| | |||||
* | add the PACK_TYPE_COUNT pack_type | Tomasz Kramkowski | 2021-08-08 | 2 | -1/+3 |
| | |||||
* | default.tool.do: make things cleaner hopefully | Tomasz Kramkowski | 2021-08-08 | 1 | -19/+19 |
| | |||||
* | factor unpack core into read_fields | Tomasz Kramkowski | 2021-08-07 | 1 | -69/+77 |
| | |||||
* | always va_end even when an error occurs | Tomasz Kramkowski | 2021-08-07 | 3 | -9/+17 |
| | |||||
* | set -o pipefail when it is necessary | Tomasz Kramkowski | 2021-08-07 | 2 | -2/+2 |
| | |||||
* | fix up missed pack_type chars | Tomasz Kramkowski | 2021-08-06 | 2 | -11/+14 |
| | |||||
* | README.md: move to using link references everywhere | Tomasz Kramkowski | 2021-08-06 | 1 | -15/+29 |
| | |||||
* | use xmacros to generate type related code | Tomasz Kramkowski | 2021-08-06 | 3 | -64/+65 |
| | |||||
* | add pack_type and pack_endian and use them | Tomasz Kramkowski | 2021-08-06 | 5 | -47/+68 |
| | |||||
* | remove unused 's' from getsize switch | Tomasz Kramkowski | 2021-08-06 | 1 | -1/+1 |
| | |||||
* | test: signal test failure with exit code | Tomasz Kramkowski | 2021-08-06 | 1 | -0/+5 |
| | |||||
* | cleanup readme | Tomasz Kramkowski | 2021-08-06 | 1 | -12/+17 |
| | |||||
* | Revert ".builds: use my own minimal/do version" | Tomasz Kramkowski | 2021-08-06 | 5 | -5/+5 |
| | | | | This reverts commit 98e18c714bf1668e9c041f1be4abcab548f22294. | ||||
* | make do-link executable from /usr/bin/env | Tomasz Kramkowski | 2021-08-06 | 4 | -6/+8 |
| | | | | | | | On openbsd the script interpreter of an interpreter script can't be an interpreter script (script(7)) so do-link must be ran with /usr/bin/env which means the type parameter needs to be a variable set in the do file. | ||||
* | .builds: use my own minimal/do version | Tomasz Kramkowski | 2021-08-06 | 5 | -5/+5 |
| | | | | | | | The upstream minimal/do does not support relative shebangs and breaks builds. This fixes it. | ||||
* | implement do-link to simplify linking .do files | Tomasz Kramkowski | 2021-08-06 | 4 | -15/+11 |
| | |||||
* | default.o.do: rename compiler to tool | Tomasz Kramkowski | 2021-08-06 | 1 | -4/+4 |
| | |||||
* | sort .gitignore | Tomasz Kramkowski | 2021-08-06 | 1 | -1/+1 |
| | |||||
* | Implement compile_commands.json generation | Tomasz Kramkowski | 2021-08-06 | 14 | -18/+46 |
| | |||||
* | compile_flags.txt.do: use target flags for now | Tomasz Kramkowski | 2021-08-06 | 1 | -1/+1 |
| | |||||
* | README: Fix email addresses | Tomasz Kramkowski | 2021-08-06 | 1 | -2/+4 |
| | |||||
* | Update contributing and bugs information | Tomasz Kramkowski | 2021-08-06 | 1 | -3/+15 |
| | |||||
* | README: Sort and line up badges | Tomasz Kramkowski | 2021-08-06 | 1 | -8/+4 |
| | |||||
* | Fix license information content and format | Tomasz Kramkowski | 2021-08-05 | 12 | -11/+12 |
| | |||||
* | clean: fix all the non-redo-targets bugs | Tomasz Kramkowski | 2021-08-05 | 1 | -2/+2 |
| | |||||
* | Cross compilation support | Tomasz Kramkowski | 2021-08-05 | 14 | -48/+77 |
| | |||||
* | Define PRIuSIZE to avoid issues compiling with msvcrt | Tomasz Kramkowski | 2021-08-05 | 3 | -6/+18 |
| | | | | | | | | On windows and when cross compiling with mingw the standard library only supports C89 which means that print format arguments cannot take "%zu". To fix this, a PRIuSIZE macros is needed which expands to PRIu32 on windows 32 bit and PRIu64 on windows 64 bit. | ||||
* | Separate gcc specific warnings | Tomasz Kramkowski | 2021-08-05 | 6 | -9/+17 |
| | |||||
* | README: Make build health badges into a list | Tomasz Kramkowski | 2021-08-05 | 1 | -8/+10 |
| | |||||
* | README: Add alpine build health badge | Tomasz Kramkowski | 2021-08-05 | 1 | -0/+2 |
| | |||||
* | add builds.sr.ht manifest for alpine | Tomasz Kramkowski | 2021-08-05 | 1 | -0/+20 |
| | |||||
* | .parse-deps: No longer executable, called with sed -f | Tomasz Kramkowski | 2021-08-05 | 3 | -4/+3 |
| | | | | as #!/usr/bin/sed is not portable, it is easier to just use sed -f | ||||
* | add builds.sr.ht manifest for freebsd | Tomasz Kramkowski | 2021-08-05 | 2 | -1/+21 |
| | |||||
* | README: Add sourcehut build health badges | Tomasz Kramkowski | 2021-08-05 | 1 | -0/+5 |
| | |||||
* | README: mention apenwarr's minimal do | Tomasz Kramkowski | 2021-08-05 | 1 | -0/+4 |
| | |||||
* | add builds.sr.ht manifest for openbsd | Tomasz Kramkowski | 2021-08-05 | 1 | -0/+17 |
| | |||||
* | unpack.c: don't drop const in void * cast | Tomasz Kramkowski | 2021-08-05 | 1 | -1/+1 |
| | |||||
* | Add reference to -B-lm to README.md for OpenBSD | Tomasz Kramkowski | 2021-08-05 | 1 | -0/+4 |
| | |||||
* | Change to #!/usr/bin/env bash for openbsd portability | Tomasz Kramkowski | 2021-08-05 | 10 | -10/+19 |
| | | | | any flags are now passed with set -e | ||||
* | fix .parse-deps when input spans multiple lines | Tomasz Kramkowski | 2021-08-05 | 1 | -2/+4 |
| | | | | | | | | | | | | | | | | | | | | | | | .parse-deps breaks when inputs such as the following are passed: foo.o: \ foo.c \ foo.h There's 3 issues: 1. The first \ wouldn't be folded as the space prior to the \ would be removed by the removal of the target name. 2. Extra spaces would end up in front of every name in the final output. 3. \n in the pattern of the s command is not portable to non-gnu-sed. The new version's folding loop: 1. Removes any double forward slashes currently present in the pattern space. 2. Adds a double forward slash at the end of the line. 3. Removes the backslash, double forward slash, character following it (newline) and any spaces following that character. This solves all three problems. | ||||
* | explicitly cast printf %p params to (void *) | Tomasz Kramkowski | 2021-08-05 | 3 | -3/+3 |
| |