1# Customization Points 2 3The custom directory is an injection point for custom user configurations. 4 5## Header `gtest.h` 6 7### The following macros can be defined: 8 9* `GTEST_OS_STACK_TRACE_GETTER_` - The name of an implementation of 10 `OsStackTraceGetterInterface`. 11* `GTEST_CUSTOM_TEMPDIR_FUNCTION_` - An override for `testing::TempDir()`. See 12 `testing::TempDir` for semantics and signature. 13 14## Header `gtest-port.h` 15 16The following macros can be defined: 17 18### Flag related macros: 19 20* `GTEST_FLAG(flag_name)` 21* `GTEST_USE_OWN_FLAGFILE_FLAG_` - Define to 0 when the system provides its 22 own flagfile flag parsing. 23* `GTEST_DECLARE_bool_(name)` 24* `GTEST_DECLARE_int32_(name)` 25* `GTEST_DECLARE_string_(name)` 26* `GTEST_DEFINE_bool_(name, default_val, doc)` 27* `GTEST_DEFINE_int32_(name, default_val, doc)` 28* `GTEST_DEFINE_string_(name, default_val, doc)` 29 30### Logging: 31 32* `GTEST_LOG_(severity)` 33* `GTEST_CHECK_(condition)` 34* Functions `LogToStderr()` and `FlushInfoLog()` have to be provided too. 35 36### Threading: 37 38* `GTEST_HAS_NOTIFICATION_` - Enabled if Notification is already provided. 39* `GTEST_HAS_MUTEX_AND_THREAD_LOCAL_` - Enabled if `Mutex` and `ThreadLocal` 40 are already provided. Must also provide `GTEST_DECLARE_STATIC_MUTEX_(mutex)` 41 and `GTEST_DEFINE_STATIC_MUTEX_(mutex)` 42* `GTEST_EXCLUSIVE_LOCK_REQUIRED_(locks)` 43* `GTEST_LOCK_EXCLUDED_(locks)` 44 45### Underlying library support features 46 47* `GTEST_HAS_CXXABI_H_` 48 49### Exporting API symbols: 50 51* `GTEST_API_` - Specifier for exported symbols. 52 53## Header `gtest-printers.h` 54 55* See documentation at `gtest/gtest-printers.h` for details on how to define a 56 custom printer. 57