1*08ab5237SOystein Eftevaag // Note: This header file is only used internally. It is not part of public interface! 2*08ab5237SOystein Eftevaag 3*08ab5237SOystein Eftevaag #ifndef GFLAGS_CONFIG_H_ 4*08ab5237SOystein Eftevaag #define GFLAGS_CONFIG_H_ 5*08ab5237SOystein Eftevaag 6*08ab5237SOystein Eftevaag 7*08ab5237SOystein Eftevaag // --------------------------------------------------------------------------- 8*08ab5237SOystein Eftevaag // System checks 9*08ab5237SOystein Eftevaag 10*08ab5237SOystein Eftevaag // CMake build configuration is written to defines.h file, unused by Bazel build 11*08ab5237SOystein Eftevaag #if !defined(GFLAGS_BAZEL_BUILD) 12*08ab5237SOystein Eftevaag # include "defines.h" 13*08ab5237SOystein Eftevaag #endif 14*08ab5237SOystein Eftevaag 15*08ab5237SOystein Eftevaag // gcc requires this to get PRId64, etc. 16*08ab5237SOystein Eftevaag #if defined(HAVE_INTTYPES_H) && !defined(__STDC_FORMAT_MACROS) 17*08ab5237SOystein Eftevaag # define __STDC_FORMAT_MACROS 1 18*08ab5237SOystein Eftevaag #endif 19*08ab5237SOystein Eftevaag 20*08ab5237SOystein Eftevaag // --------------------------------------------------------------------------- 21*08ab5237SOystein Eftevaag // Path separator 22*08ab5237SOystein Eftevaag #ifndef PATH_SEPARATOR 23*08ab5237SOystein Eftevaag # ifdef OS_WINDOWS 24*08ab5237SOystein Eftevaag # define PATH_SEPARATOR '\\' 25*08ab5237SOystein Eftevaag # else 26*08ab5237SOystein Eftevaag # define PATH_SEPARATOR '/' 27*08ab5237SOystein Eftevaag # endif 28*08ab5237SOystein Eftevaag #endif 29*08ab5237SOystein Eftevaag 30*08ab5237SOystein Eftevaag // --------------------------------------------------------------------------- 31*08ab5237SOystein Eftevaag // Windows 32*08ab5237SOystein Eftevaag 33*08ab5237SOystein Eftevaag // Always export symbols when compiling a shared library as this file is only 34*08ab5237SOystein Eftevaag // included by internal modules when building the gflags library itself. 35*08ab5237SOystein Eftevaag // The gflags_declare.h header file will set it to import these symbols otherwise. 36*08ab5237SOystein Eftevaag #ifndef GFLAGS_DLL_DECL 37*08ab5237SOystein Eftevaag # if GFLAGS_IS_A_DLL && defined(_MSC_VER) 38*08ab5237SOystein Eftevaag # define GFLAGS_DLL_DECL __declspec(dllexport) 39*08ab5237SOystein Eftevaag # elif defined(__GNUC__) && __GNUC__ >= 4 40*08ab5237SOystein Eftevaag # define GFLAGS_DLL_DECL __attribute__((visibility("default"))) 41*08ab5237SOystein Eftevaag # else 42*08ab5237SOystein Eftevaag # define GFLAGS_DLL_DECL 43*08ab5237SOystein Eftevaag # endif 44*08ab5237SOystein Eftevaag #endif 45*08ab5237SOystein Eftevaag // Flags defined by the gflags library itself must be exported 46*08ab5237SOystein Eftevaag #ifndef GFLAGS_DLL_DEFINE_FLAG 47*08ab5237SOystein Eftevaag # define GFLAGS_DLL_DEFINE_FLAG GFLAGS_DLL_DECL 48*08ab5237SOystein Eftevaag #endif 49*08ab5237SOystein Eftevaag 50*08ab5237SOystein Eftevaag #ifdef OS_WINDOWS 51*08ab5237SOystein Eftevaag // The unittests import the symbols of the shared gflags library 52*08ab5237SOystein Eftevaag # if GFLAGS_IS_A_DLL && defined(_MSC_VER) 53*08ab5237SOystein Eftevaag # define GFLAGS_DLL_DECL_FOR_UNITTESTS __declspec(dllimport) 54*08ab5237SOystein Eftevaag # endif 55*08ab5237SOystein Eftevaag # include "windows_port.h" 56*08ab5237SOystein Eftevaag #endif 57*08ab5237SOystein Eftevaag 58*08ab5237SOystein Eftevaag 59*08ab5237SOystein Eftevaag #endif // GFLAGS_CONFIG_H_ 60