Check for __GNUC__ instead of HAVE_VISIBILITY

Change-Id: I74848480d33ce14b50232b765e592c37ef370b53
Fixed invalid C89 code

Change-Id: Ia4f3b54b5e7cc89aaa65a3c234ba8bf8055c0d07
Transition to CMake

Change-Id: Ia99b910a5ae9b90e559f395b736288937a81e01f