diff options
author | Chris Robinson <[email protected]> | 2010-11-28 14:27:07 -0800 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2010-11-28 14:27:07 -0800 |
commit | 490d1c6a8ec45bb6cfd80f92155ae6ae93098785 (patch) | |
tree | aeab3a5d2b3a7e14165437c2e0921797d6648575 | |
parent | 0e748d98d5db22d259e0803f5318fb61bc7e9c2e (diff) |
Prefer GCC's constructor, even in Windows
-rw-r--r-- | Alc/ALc.c | 8 | ||||
-rw-r--r-- | CMakeLists.txt | 6 |
2 files changed, 7 insertions, 7 deletions
@@ -377,6 +377,10 @@ static FILE *LogFile; /////////////////////////////////////////////////////// // ALC Related helper functions +#ifdef HAVE_GCC_DESTRUCTOR +static void alc_init(void) __attribute__((constructor)); +static void alc_deinit(void) __attribute__((destructor)); +#else #ifdef _WIN32 static void alc_init(void); static void alc_deinit(void); @@ -399,10 +403,6 @@ BOOL APIENTRY DllMain(HANDLE hModule,DWORD ul_reason_for_call,LPVOID lpReserved) } return TRUE; } -#else -#ifdef HAVE_GCC_DESTRUCTOR -static void alc_init(void) __attribute__((constructor)); -static void alc_deinit(void) __attribute__((destructor)); #endif #endif diff --git a/CMakeLists.txt b/CMakeLists.txt index c629c425..c9de3285 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -119,11 +119,11 @@ ELSE() "Flags used by the compiler during debug builds." FORCE) + CHECK_C_SOURCE_COMPILES("int foo() __attribute__((destructor)); + int main() {return 0;}" HAVE_GCC_DESTRUCTOR) + # Set visibility options if available IF(NOT WIN32) - CHECK_C_SOURCE_COMPILES("int foo() __attribute__((destructor)); - int main() {return 0;}" HAVE_GCC_DESTRUCTOR) - CHECK_C_COMPILER_FLAG(-fvisibility=hidden HAVE_VISIBILITY_SWITCH) IF(HAVE_VISIBILITY_SWITCH) CHECK_C_SOURCE_COMPILES("int foo() __attribute__((visibility(\"default\"))); |