Move linker inputs to the LD_FLAGS
Add an option to compile the project with clang instead of gcc
Remove the tmp_key variable. remove the element from the dynamic array and free the memory in one call
Remove the tmp_key variable, and remove the key from the hashmap without it, since it is not used afterwards
Clang's scan-build tool complained that tmp might be uninitialized in function call, so I initialized it