Source files like unittest/ut_rh_hash.c are always compiled, but if UNITTESTS is disabled then this file is effectively empty. ISO C forbids empty translation units (although gcc allows it unless you turn on pedantic mode).
These files should be removed from the makefile if UNITTESTS is disabled, not #ifdef'd out.
Fixed - the unit test files are only compiled when UNITTESTS is set, and the UNITTESTS #ifdef is used only for whether or not the unit test functions are called.
Source files like
unittest/ut_rh_hash.c
are always compiled, but if UNITTESTS is disabled then this file is effectively empty. ISO C forbids empty translation units (although gcc allows it unless you turn on pedantic mode).These files should be removed from the makefile if UNITTESTS is disabled, not
#ifdef
'd out.