fix build with ld --as-needed when building with ld --as-needed libraries must be placed after object files needing them on the command line so the symbols of the libraries are registered as needed.
Include missing headers to fix implicit-declaration warning - str(n)casecmp is defined in <strings.h> - as a strings.h also exists in the source directory and the source directory is added to the search path, the system-wide strings.h was not found -> drop the source directory from source path - make sure util.h can be included by looking in the source directory