4 ms·
Comparison of different C libraries providing generic containers capabilities
- fuhsnn 1y agoI'd love to have some of these libraries in slimcc's test pool, but almost every one of them have hard-coded assumptions to gcc/clang/msvc/tcc in their scripts that are tiresome to undo. For example: MLIB: assumed GCC https://github.com/P-p-H-d/mlib/blob/4b9c213831624486814a48317eff3718da575f43/tests/Makefile#L29 https://github.com/P-p-H-d/mlib/blob/4b9c213831624486814a483... STC: assumed -fopenmp https://github.com/stclib/STC/blob/de7313a58f748d9a6da751eb93cbc8394bc82607/Makefile#L16 https://github.com/stclib/STC/blob/de7313a58f748d9a6da751eb9... CC: assumed clang https://github.com/JacksonAllan/CC/blob/main/tests/run_unit_tests.sh https://github.com/JacksonAllan/CC/blob/main/tests/run_unit_...
- mananaysiempre 1y agoThe first two should be fixable by invoking make WCFLAGS_GCC= and make LDFLAGS= respectively. (An assignment like FOO=bar in the makefile is a default[1], overridable by passing FOO=baz as one of the arguments to make. FOO?=bar can additionally be overridden by setting FOO to a different value in the environment.) [1] https://www.gnu.org/software/make/manual/html_node/Overriding.html https://www.gnu.org/software/make/manual/html_node/Overridin...
- fuhsnn 1y agoThanks for the tips! Yes it can always be worked around, however the intuition I developed from doing it for over a hundred of projects [1] is that, with script like that there usually would be more compiler assumptions in C code as well, then I just move on to other projects. (And it also feels awkward whether to report portability issues to projects with such script because it's like a clear "not for other compilers" message, similar to projects that adopted Meson) [1] https://github.com/fuhsnn/slimcc/blob/94dde1b8080e02b188ea89df55b615a63f8889c1/scripts/linux_thirdparty.bash https://github.com/fuhsnn/slimcc/blob/94dde1b8080e02b188ea89...
- rurban 1y agoHa, he includes mine. Thanks