aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* test.c: clean up macrosTomasz Kramkowski2021-09-211-15/+14
|
* test.c: minor cleanupTomasz Kramkowski2021-09-211-2/+2
|
* clean: always manually remove, use redo-targets to checkTomasz Kramkowski2021-09-211-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 calculationTomasz Kramkowski2021-08-141-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 generationTomasz Kramkowski2021-08-111-10/+97
|
* test.c: add simple unpack_struct testTomasz Kramkowski2021-08-111-0/+46
|
* implement unpack_structTomasz Kramkowski2021-08-112-0/+73
|
* make [HT]CC full paths for redo-ifchange in .toolTomasz Kramkowski2021-08-112-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 filesTomasz Kramkowski2021-08-087-0/+7
|
* add the PACK_TYPE_COUNT pack_typeTomasz Kramkowski2021-08-082-1/+3
|
* default.tool.do: make things cleaner hopefullyTomasz Kramkowski2021-08-081-19/+19
|
* factor unpack core into read_fieldsTomasz Kramkowski2021-08-071-69/+77
|
* always va_end even when an error occursTomasz Kramkowski2021-08-073-9/+17
|
* set -o pipefail when it is necessaryTomasz Kramkowski2021-08-072-2/+2
|
* fix up missed pack_type charsTomasz Kramkowski2021-08-062-11/+14
|
* README.md: move to using link references everywhereTomasz Kramkowski2021-08-061-15/+29
|
* use xmacros to generate type related codeTomasz Kramkowski2021-08-063-64/+65
|
* add pack_type and pack_endian and use themTomasz Kramkowski2021-08-065-47/+68
|
* remove unused 's' from getsize switchTomasz Kramkowski2021-08-061-1/+1
|
* test: signal test failure with exit codeTomasz Kramkowski2021-08-061-0/+5
|
* cleanup readmeTomasz Kramkowski2021-08-061-12/+17
|
* Revert ".builds: use my own minimal/do version"Tomasz Kramkowski2021-08-065-5/+5
| | | | This reverts commit 98e18c714bf1668e9c041f1be4abcab548f22294.
* make do-link executable from /usr/bin/envTomasz Kramkowski2021-08-064-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 versionTomasz Kramkowski2021-08-065-5/+5
| | | | | | | The upstream minimal/do does not support relative shebangs and breaks builds. This fixes it.
* implement do-link to simplify linking .do filesTomasz Kramkowski2021-08-064-15/+11
|
* default.o.do: rename compiler to toolTomasz Kramkowski2021-08-061-4/+4
|
* sort .gitignoreTomasz Kramkowski2021-08-061-1/+1
|
* Implement compile_commands.json generationTomasz Kramkowski2021-08-0614-18/+46
|
* compile_flags.txt.do: use target flags for nowTomasz Kramkowski2021-08-061-1/+1
|
* README: Fix email addressesTomasz Kramkowski2021-08-061-2/+4
|
* Update contributing and bugs informationTomasz Kramkowski2021-08-061-3/+15
|
* README: Sort and line up badgesTomasz Kramkowski2021-08-061-8/+4
|
* Fix license information content and formatTomasz Kramkowski2021-08-0512-11/+12
|
* clean: fix all the non-redo-targets bugsTomasz Kramkowski2021-08-051-2/+2
|
* Cross compilation supportTomasz Kramkowski2021-08-0514-48/+77
|
* Define PRIuSIZE to avoid issues compiling with msvcrtTomasz Kramkowski2021-08-053-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 warningsTomasz Kramkowski2021-08-056-9/+17
|
* README: Make build health badges into a listTomasz Kramkowski2021-08-051-8/+10
|
* README: Add alpine build health badgeTomasz Kramkowski2021-08-051-0/+2
|
* add builds.sr.ht manifest for alpineTomasz Kramkowski2021-08-051-0/+20
|
* .parse-deps: No longer executable, called with sed -fTomasz Kramkowski2021-08-053-4/+3
| | | | as #!/usr/bin/sed is not portable, it is easier to just use sed -f
* add builds.sr.ht manifest for freebsdTomasz Kramkowski2021-08-052-1/+21
|
* README: Add sourcehut build health badgesTomasz Kramkowski2021-08-051-0/+5
|
* README: mention apenwarr's minimal doTomasz Kramkowski2021-08-051-0/+4
|
* add builds.sr.ht manifest for openbsdTomasz Kramkowski2021-08-051-0/+17
|
* unpack.c: don't drop const in void * castTomasz Kramkowski2021-08-051-1/+1
|
* Add reference to -B-lm to README.md for OpenBSDTomasz Kramkowski2021-08-051-0/+4
|
* Change to #!/usr/bin/env bash for openbsd portabilityTomasz Kramkowski2021-08-0510-10/+19
| | | | any flags are now passed with set -e
* fix .parse-deps when input spans multiple linesTomasz Kramkowski2021-08-051-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 Kramkowski2021-08-053-3/+3
|