Replace all defined(linux) to defined(__linux__).

Compile with --std=c99 no longer defines linux, this caused some
old macro to fail.
Adds COMPILER_FLAGS, allow auto 32bit build tests.