Abseil Team | 7fda099 | 2018-02-27 13:38:47 -0800 | [diff] [blame] | 1 | // Copyright 2018 The Abseil Authors. |
| 2 | // |
| 3 | // Licensed under the Apache License, Version 2.0 (the "License"); |
| 4 | // you may not use this file except in compliance with the License. |
| 5 | // You may obtain a copy of the License at |
| 6 | // |
nik7273 | 38b7043 | 2019-03-08 10:27:53 -0500 | [diff] [blame] | 7 | // https://www.apache.org/licenses/LICENSE-2.0 |
Abseil Team | 7fda099 | 2018-02-27 13:38:47 -0800 | [diff] [blame] | 8 | // |
| 9 | // Unless required by applicable law or agreed to in writing, software |
| 10 | // distributed under the License is distributed on an "AS IS" BASIS, |
| 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 12 | // See the License for the specific language governing permissions and |
| 13 | // limitations under the License. |
| 14 | |
| 15 | #include "absl/debugging/symbolize.h" |
| 16 | |
Abseil Team | c03c18e | 2020-08-26 12:25:17 -0700 | [diff] [blame] | 17 | #ifdef _WIN32 |
| 18 | #include <winapifamily.h> |
| 19 | #if !(WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)) || \ |
| 20 | WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) |
| 21 | // UWP doesn't have access to win32 APIs. |
| 22 | #define ABSL_INTERNAL_HAVE_SYMBOLIZE_WIN32 |
| 23 | #endif |
| 24 | #endif |
| 25 | |
Abseil Team | 19b3c95 | 2018-04-23 15:50:21 -0700 | [diff] [blame] | 26 | #if defined(ABSL_INTERNAL_HAVE_ELF_SYMBOLIZE) |
Abseil Team | 7fda099 | 2018-02-27 13:38:47 -0800 | [diff] [blame] | 27 | #include "absl/debugging/symbolize_elf.inc" |
Abseil Team | c03c18e | 2020-08-26 12:25:17 -0700 | [diff] [blame] | 28 | #elif defined(ABSL_INTERNAL_HAVE_SYMBOLIZE_WIN32) |
Loo Rong Jie | ecc0033 | 2019-10-22 08:34:46 +0800 | [diff] [blame] | 29 | // The Windows Symbolizer only works if PDB files containing the debug info |
| 30 | // are available to the program at runtime. |
Abseil Team | 19b3c95 | 2018-04-23 15:50:21 -0700 | [diff] [blame] | 31 | #include "absl/debugging/symbolize_win32.inc" |
Abseil Team | 1d31b5c | 2020-06-03 14:03:13 -0700 | [diff] [blame] | 32 | #elif defined(__APPLE__) |
| 33 | #include "absl/debugging/symbolize_darwin.inc" |
Abseil Team | 7fda099 | 2018-02-27 13:38:47 -0800 | [diff] [blame] | 34 | #else |
| 35 | #include "absl/debugging/symbolize_unimplemented.inc" |
| 36 | #endif |