diff --git a/.github/workflows/emscripten.yml b/.github/workflows/emscripten.yml index adbff66..f583061 100644 --- a/.github/workflows/emscripten.yml +++ b/.github/workflows/emscripten.yml @@ -40,7 +40,6 @@ jobs: cmake -S . -B build_${{matrix.build_type}} \ -DBUILD_SHARED_LIBS=${{matrix.lib == 'shared'}} \ -DCMAKE_AR=$(which emar) \ - -DCMAKE_C_COMPILER=$(which emcc) \ -DCMAKE_CXX_COMPILER=$(which em++) \ -DCMAKE_CXX_STANDARD=${{matrix.std}} \ -DCMAKE_CXX_STANDARD_REQUIRED=ON \ diff --git a/CMakeLists.txt b/CMakeLists.txt index 43fa1bf..582758a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -503,15 +503,25 @@ if (WITH_SYMBOLIZE) if (HAVE_SYMBOLIZE) set (HAVE_STACKTRACE 1) endif (HAVE_SYMBOLIZE) - elseif (UNIX OR (APPLE AND HAVE_DLADDR)) + elseif (UNIX) + cmake_push_check_state (RESET) + check_cxx_source_compiles ([=[ + int main() + { + #ifndef __ELF__ + #error __ELF__ not defined + #endif + } + ]=] HAVE_SYMBOLIZE) + cmake_pop_check_state () + elseif (APPLE AND HAVE_DLADDR) set (HAVE_SYMBOLIZE 1) endif (WIN32 OR CYGWIN) endif (WITH_SYMBOLIZE) # CMake manages symbolize availability. The definition is necessary only when -# building the library. Switch to add_compile_definitions once we drop support -# for CMake below version 3.12. -add_definitions (-DGLOG_NO_SYMBOLIZE_DETECTION) +# building the library. +add_compile_definitions (GLOG_NO_SYMBOLIZE_DETECTION) check_cxx_source_compiles (" #include diff --git a/src/symbolize.cc b/src/symbolize.cc index f56e97c..5102501 100644 --- a/src/symbolize.cc +++ b/src/symbolize.cc @@ -834,7 +834,7 @@ static ATTRIBUTE_NOINLINE bool SymbolizeAndDemangle(void *pc, char *out, _END_GOOGLE_NAMESPACE_ -#elif (defined(GLOG_OS_MACOSX) || defined(GLOG_OS_EMSCRIPTEN)) && defined(HAVE_DLADDR) +#elif defined(GLOG_OS_MACOSX) && defined(HAVE_DLADDR) #include #include