yuzu/externals/vcpkg/ports/glog/fix_log_every_n.patch

840 lines
28 KiB
Diff
Executable File

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 61e5f6c..889df87 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -501,6 +501,7 @@ set (GLOG_PUBLIC_H
${CMAKE_CURRENT_BINARY_DIR}/glog/stl_logging.h
${CMAKE_CURRENT_BINARY_DIR}/glog/vlog_is_on.h
src/glog/log_severity.h
+ src/glog/platform.h
)
set (GLOG_SRCS
diff --git a/src/demangle.cc b/src/demangle.cc
index f3e6ad7..8c0bdc7 100644
--- a/src/demangle.cc
+++ b/src/demangle.cc
@@ -38,14 +38,14 @@
#include "utilities.h"
#include "demangle.h"
-#if defined(OS_WINDOWS)
+#if defined(GLOG_OS_WINDOWS)
#include <dbghelp.h>
#pragma comment(lib, "dbghelp")
#endif
_START_GOOGLE_NAMESPACE_
-#if !defined(OS_WINDOWS)
+#if !defined(GLOG_OS_WINDOWS)
typedef struct {
const char *abbrev;
const char *real_name;
@@ -1324,7 +1324,7 @@ static bool ParseTopLevelMangledName(State *state) {
// The demangler entry point.
bool Demangle(const char *mangled, char *out, int out_size) {
-#if defined(OS_WINDOWS)
+#if defined(GLOG_OS_WINDOWS)
// When built with incremental linking, the Windows debugger
// library provides a more complicated `Symbol->Name` with the
// Incremental Linking Table offset, which looks like
diff --git a/src/demangle_unittest.cc b/src/demangle_unittest.cc
index be48341..c65adc4 100644
--- a/src/demangle_unittest.cc
+++ b/src/demangle_unittest.cc
@@ -62,7 +62,7 @@ static const char *DemangleIt(const char * const mangled) {
}
}
-#if defined(OS_WINDOWS)
+#if defined(GLOG_OS_WINDOWS)
TEST(Demangle, Windows) {
EXPECT_STREQ(
diff --git a/src/glog/logging.h.in b/src/glog/logging.h.in
index 421f1e0..3ecacfb 100644
--- a/src/glog/logging.h.in
+++ b/src/glog/logging.h.in
@@ -35,7 +35,6 @@
//
#ifndef _LOGGING_H_
#define _LOGGING_H_
-
#include <cerrno>
#include <cstddef>
#include <cstring>
@@ -58,6 +57,8 @@
#define GLOG_MSVC_POP_WARNING()
#endif
+#include <glog/platform.h>
+
#if @ac_cv_have_glog_export@
#include "glog/export.h"
#endif
@@ -101,7 +102,7 @@
#ifdef HAVE_CXX11_ATOMIC
#include <atomic>
-#elif defined(OS_WINDOWS)
+#elif defined(GLOG_OS_WINDOWS)
#include <Windows.h>
#endif
@@ -1057,7 +1058,7 @@ namespace google {
__FILE__, __LINE__, @ac_google_namespace@::GLOG_ ## severity, LOG_OCCURRENCES, \
&what_to_do).stream()
-#elif defined(OS_WINDOWS)
+#elif defined(GLOG_OS_WINDOWS)
#define SOME_KIND_OF_LOG_EVERY_N(severity, n, what_to_do) \
static int LOG_OCCURRENCES = 0, LOG_OCCURRENCES_MOD_N = 0; \
diff --git a/src/glog/platform.h b/src/glog/platform.h
new file mode 100644
index 0000000..e614411
--- /dev/null
+++ b/src/glog/platform.h
@@ -0,0 +1,58 @@
+// Copyright (c) 2008, Google Inc.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+//
+// Author: Shinichiro Hamaji
+//
+// Detect supported platforms.
+
+#ifndef GLOG_PLATFORM_H
+#define GLOG_PLATFORM_H
+
+#if defined(WIN32) || defined(_WIN32) || defined(__WIN32__)
+#define GLOG_OS_WINDOWS
+#elif defined(__CYGWIN__) || defined(__CYGWIN32__)
+#define GLOG_OS_CYGWIN
+#elif defined(linux) || defined(__linux) || defined(__linux__)
+#ifndef GLOG_OS_LINUX
+#define GLOG_OS_LINUX
+#endif
+#elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)
+#define GLOG_OS_MACOSX
+#elif defined(__FreeBSD__)
+#define GLOG_OS_FREEBSD
+#elif defined(__NetBSD__)
+#define GLOG_OS_NETBSD
+#elif defined(__OpenBSD__)
+#define GLOG_OS_OPENBSD
+#else
+// TODO(hamaji): Add other platforms.
+#error Platform not supported by glog. Please consider to contribute platform information by submitting a pull request on Github.
+#endif
+
+#endif // GLOG_PLATFORM_H
diff --git a/src/googletest.h b/src/googletest.h
index 7230606..a7ce3c2 100644
--- a/src/googletest.h
+++ b/src/googletest.h
@@ -72,7 +72,7 @@ _END_GOOGLE_NAMESPACE_
#define GOOGLE_GLOG_DLL_DECL
static inline string GetTempDir() {
-#ifndef OS_WINDOWS
+#ifndef GLOG_OS_WINDOWS
return "/tmp";
#else
char tmp[MAX_PATH];
@@ -81,7 +81,7 @@ static inline string GetTempDir() {
#endif
}
-#if defined(OS_WINDOWS) && defined(_MSC_VER) && !defined(TEST_SRC_DIR)
+#if defined(GLOG_OS_WINDOWS) && defined(_MSC_VER) && !defined(TEST_SRC_DIR)
// The test will run in glog/vsproject/<project name>
// (e.g., glog/vsproject/logging_unittest).
static const char TEST_SRC_DIR[] = "../..";
@@ -207,7 +207,7 @@ static inline void CalledAbort() {
longjmp(g_jmp_buf, 1);
}
-#ifdef OS_WINDOWS
+#ifdef GLOG_OS_WINDOWS
// TODO(hamaji): Death test somehow doesn't work in Windows.
#define ASSERT_DEATH(fn, msg)
#else
@@ -490,7 +490,7 @@ static inline bool MungeAndDiffTestStderr(const string& golden_filename) {
WriteToFile(golden, munged_golden);
string munged_captured = cap->filename() + ".munged";
WriteToFile(captured, munged_captured);
-#ifdef OS_WINDOWS
+#ifdef GLOG_OS_WINDOWS
string diffcmd("fc " + munged_golden + " " + munged_captured);
#else
string diffcmd("diff -u " + munged_golden + " " + munged_captured);
@@ -532,7 +532,7 @@ class Thread {
virtual ~Thread() {}
void SetJoinable(bool) {}
-#if defined(OS_WINDOWS) && !defined(OS_CYGWIN)
+#if defined(GLOG_OS_WINDOWS) && !defined(GLOG_OS_CYGWIN)
void Start() {
handle_ = CreateThread(NULL,
0,
@@ -565,7 +565,7 @@ class Thread {
return NULL;
}
-#if defined(OS_WINDOWS) && !defined(OS_CYGWIN)
+#if defined(GLOG_OS_WINDOWS) && !defined(GLOG_OS_CYGWIN)
HANDLE handle_;
DWORD th_;
#else
@@ -574,7 +574,7 @@ class Thread {
};
static inline void SleepForMilliseconds(int t) {
-#ifndef OS_WINDOWS
+#ifndef GLOG_OS_WINDOWS
# if defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 199309L
const struct timespec req = {0, t * 1000 * 1000};
nanosleep(&req, NULL);
diff --git a/src/logging.cc b/src/logging.cc
index 71de91d..f251d67 100644
--- a/src/logging.cc
+++ b/src/logging.cc
@@ -59,7 +59,7 @@
#include <vector>
#include <cerrno> // for errno
#include <sstream>
-#ifdef OS_WINDOWS
+#ifdef GLOG_OS_WINDOWS
#include "windows/dirent.h"
#else
#include <dirent.h> // for automatic removal of old logs
@@ -122,7 +122,7 @@ GLOG_DEFINE_bool(alsologtostderr, BoolFromEnv("GOOGLE_ALSOLOGTOSTDERR", false),
"log messages go to stderr in addition to logfiles");
GLOG_DEFINE_bool(colorlogtostderr, false,
"color messages logged to stderr (if supported by terminal)");
-#ifdef OS_LINUX
+#ifdef GLOG_OS_LINUX
GLOG_DEFINE_bool(drop_log_memory, true, "Drop in-memory buffers of log contents. "
"Logs can grow very quickly and they are rarely read before they "
"need to be evicted from memory. Instead, drop them from memory "
@@ -198,7 +198,7 @@ GLOG_DEFINE_bool(log_utc_time, false,
#define PATH_SEPARATOR '/'
#ifndef HAVE_PREAD
-#if defined(OS_WINDOWS)
+#if defined(GLOG_OS_WINDOWS)
#include <basetsd.h>
#define ssize_t SSIZE_T
#endif
@@ -241,7 +241,7 @@ static void GetHostName(string* hostname) {
*buf.nodename = '\0';
}
*hostname = buf.nodename;
-#elif defined(OS_WINDOWS)
+#elif defined(GLOG_OS_WINDOWS)
char buf[MAX_COMPUTERNAME_LENGTH + 1];
DWORD len = MAX_COMPUTERNAME_LENGTH + 1;
if (GetComputerNameA(buf, &len)) {
@@ -258,7 +258,7 @@ static void GetHostName(string* hostname) {
// Returns true iff terminal supports using colors in output.
static bool TerminalSupportsColor() {
bool term_supports_color = false;
-#ifdef OS_WINDOWS
+#ifdef GLOG_OS_WINDOWS
// on Windows TERM variable is usually not set, but the console does
// support colors.
term_supports_color = true;
@@ -312,7 +312,7 @@ static GLogColor SeverityToColor(LogSeverity severity) {
return color;
}
-#ifdef OS_WINDOWS
+#ifdef GLOG_OS_WINDOWS
// Returns the character attribute for the given color.
static WORD GetColorAttribute(GLogColor color) {
@@ -337,7 +337,7 @@ static const char* GetAnsiColorCode(GLogColor color) {
return NULL; // stop warning about return type.
}
-#endif // OS_WINDOWS
+#endif // GLOG_OS_WINDOWS
// Safely get max_log_size, overriding to 1 if it somehow gets defined as 0
static int32 MaxLogSize() {
@@ -753,7 +753,7 @@ static void ColoredWriteToStderr(LogSeverity severity,
fwrite(message, len, 1, stderr);
return;
}
-#ifdef OS_WINDOWS
+#ifdef GLOG_OS_WINDOWS
const HANDLE stderr_handle = GetStdHandle(STD_ERROR_HANDLE);
// Gets the current text color.
@@ -775,7 +775,7 @@ static void ColoredWriteToStderr(LogSeverity severity,
fprintf(stderr, "\033[0;3%sm", GetAnsiColorCode(color));
fwrite(message, len, 1, stderr);
fprintf(stderr, "\033[m"); // Resets the terminal to default.
-#endif // OS_WINDOWS
+#endif // GLOG_OS_WINDOWS
}
static void WriteToStderr(const char* message, size_t len) {
@@ -788,7 +788,7 @@ inline void LogDestination::MaybeLogToStderr(LogSeverity severity,
const char* message, size_t message_len, size_t prefix_len) {
if ((severity >= FLAGS_stderrthreshold) || FLAGS_alsologtostderr) {
ColoredWriteToStderr(severity, message, message_len);
-#ifdef OS_WINDOWS
+#ifdef GLOG_OS_WINDOWS
// On Windows, also output to the debugger
::OutputDebugStringA(message);
#elif defined(__ANDROID__)
@@ -1056,7 +1056,7 @@ bool LogFileObject::CreateLogfile(const string& time_pid_string) {
}
return false;
}
-#ifdef OS_WINDOWS
+#ifdef GLOG_OS_WINDOWS
// https://github.com/golang/go/issues/27638 - make sure we seek to the end to append
// empirically replicated with wine over mingw build
if (!FLAGS_timestamp_in_logfile_name) {
@@ -1080,7 +1080,7 @@ bool LogFileObject::CreateLogfile(const string& time_pid_string) {
linkpath += linkname;
unlink(linkpath.c_str()); // delete old one if it exists
-#if defined(OS_WINDOWS)
+#if defined(GLOG_OS_WINDOWS)
// TODO(hamaji): Create lnk file on Windows?
#elif defined(HAVE_UNISTD_H)
// We must have unistd.h.
@@ -1270,7 +1270,7 @@ void LogFileObject::Write(bool force_flush,
(bytes_since_flush_ >= 1000000) ||
(CycleClock_Now() >= next_flush_time_) ) {
FlushUnlocked();
-#ifdef OS_LINUX
+#ifdef GLOG_OS_LINUX
// Only consider files >= 3MiB
if (FLAGS_drop_log_memory && file_length_ >= (3 << 20)) {
// Don't evict the most recent 1-2MiB so as not to impact a tailer
@@ -1305,7 +1305,7 @@ void LogFileObject::Write(bool force_flush,
LogCleaner::LogCleaner() : enabled_(false), overdue_days_(7), dir_delim_('/') {
-#ifdef OS_WINDOWS
+#ifdef GLOG_OS_WINDOWS
dir_delim_ = '\\';
#endif
}
@@ -1898,7 +1898,7 @@ void LogMessage::RecordCrashReason(
# define ATTRIBUTE_NORETURN
#endif
-#if defined(OS_WINDOWS)
+#if defined(GLOG_OS_WINDOWS)
__declspec(noreturn)
#endif
static void logging_fail() ATTRIBUTE_NORETURN;
@@ -2223,7 +2223,7 @@ bool SendEmail(const char*dest, const char *subject, const char*body){
static void GetTempDirectories(vector<string>* list) {
list->clear();
-#ifdef OS_WINDOWS
+#ifdef GLOG_OS_WINDOWS
// On windows we'll try to find a directory in this order:
// C:/Documents & Settings/whomever/TEMP (or whatever GetTempPath() is)
// C:/TMP/
@@ -2282,7 +2282,7 @@ const vector<string>& GetLoggingDirectories() {
logging_directories_list->push_back(FLAGS_log_dir.c_str());
} else {
GetTempDirectories(logging_directories_list);
-#ifdef OS_WINDOWS
+#ifdef GLOG_OS_WINDOWS
char tmp[MAX_PATH];
if (GetWindowsDirectoryA(tmp, MAX_PATH))
logging_directories_list->push_back(tmp);
@@ -2325,7 +2325,7 @@ void TruncateLogFile(const char *path, int64 limit, int64 keep) {
// Don't follow symlinks unless they're our own fd symlinks in /proc
int flags = O_RDWR;
// TODO(hamaji): Support other environments.
-#ifdef OS_LINUX
+#ifdef GLOG_OS_LINUX
const char *procfd_prefix = "/proc/self/fd/";
if (strncmp(procfd_prefix, path, strlen(procfd_prefix))) flags |= O_NOFOLLOW;
#endif
@@ -2464,7 +2464,7 @@ int posix_strerror_r(int err, char *buf, size_t len) {
return 0;
} else {
buf[0] = '\000';
-#if defined(OS_MACOSX) || defined(OS_FREEBSD) || defined(OS_OPENBSD)
+#if defined(GLOG_OS_MACOSX) || defined(GLOG_OS_FREEBSD) || defined(GLOG_OS_OPENBSD)
if (reinterpret_cast<intptr_t>(rc) < sys_nerr) {
// This means an error on MacOSX or FreeBSD.
return -1;
diff --git a/src/logging_custom_prefix_unittest.cc b/src/logging_custom_prefix_unittest.cc
index c9fb5b8..8740fad 100644
--- a/src/logging_custom_prefix_unittest.cc
+++ b/src/logging_custom_prefix_unittest.cc
@@ -588,7 +588,7 @@ void TestCHECK() {
// Tests using CHECK*() on anonymous enums.
// Apple's GCC doesn't like this.
-#if !defined(OS_MACOSX)
+#if !defined(GLOG_OS_MACOSX)
CHECK_EQ(CASE_A, CASE_A);
CHECK_NE(CASE_A, CASE_B);
CHECK_GE(CASE_A, CASE_A);
@@ -670,7 +670,7 @@ static void GetFiles(const string& pattern, vector<string>* files) {
files->push_back(string(g.gl_pathv[i]));
}
globfree(&g);
-#elif defined(OS_WINDOWS)
+#elif defined(GLOG_OS_WINDOWS)
WIN32_FIND_DATAA data;
HANDLE handle = FindFirstFileA(pattern.c_str(), &data);
size_t index = pattern.rfind('\\');
@@ -799,7 +799,7 @@ static void TestTwoProcessesWrite() {
}
static void TestSymlink() {
-#ifndef OS_WINDOWS
+#ifndef GLOG_OS_WINDOWS
fprintf(stderr, "==== Test setting log file symlink\n");
string dest = FLAGS_test_tmpdir + "/logging_test_symlink";
string sym = FLAGS_test_tmpdir + "/symlinkbase";
@@ -942,7 +942,7 @@ static void TestTruncate() {
// MacOSX 10.4 doesn't fail in this case.
// Windows doesn't have symlink.
// Let's just ignore this test for these cases.
-#if !defined(OS_MACOSX) && !defined(OS_WINDOWS)
+#if !defined(GLOG_OS_MACOSX) && !defined(GLOG_OS_WINDOWS)
// Through a symlink should fail to truncate
string linkname = path + ".link";
unlink(linkname.c_str());
@@ -951,7 +951,7 @@ static void TestTruncate() {
#endif
// The /proc/self path makes sense only for linux.
-#if defined(OS_LINUX)
+#if defined(GLOG_OS_LINUX)
// Through an open fd symlink should work
int fd;
CHECK_ERR(fd = open(path.c_str(), O_APPEND | O_WRONLY));
@@ -1205,7 +1205,7 @@ TEST(Strerror, logging) {
CHECK_EQ(posix_strerror_r(errcode, buf, 0), -1);
CHECK_EQ(buf[0], 'A');
CHECK_EQ(posix_strerror_r(errcode, NULL, buf_size), -1);
-#if defined(OS_MACOSX) || defined(OS_FREEBSD) || defined(OS_OPENBSD)
+#if defined(GLOG_OS_MACOSX) || defined(GLOG_OS_FREEBSD) || defined(GLOG_OS_OPENBSD)
// MacOSX or FreeBSD considers this case is an error since there is
// no enough space.
CHECK_EQ(posix_strerror_r(errcode, buf, 1), -1);
diff --git a/src/logging_unittest.cc b/src/logging_unittest.cc
index edc7d35..ce3c483 100644
--- a/src/logging_unittest.cc
+++ b/src/logging_unittest.cc
@@ -561,7 +561,7 @@ void TestCHECK() {
// Tests using CHECK*() on anonymous enums.
// Apple's GCC doesn't like this.
-#if !defined(OS_MACOSX)
+#if !defined(GLOG_OS_MACOSX)
CHECK_EQ(CASE_A, CASE_A);
CHECK_NE(CASE_A, CASE_B);
CHECK_GE(CASE_A, CASE_A);
@@ -643,7 +643,7 @@ static void GetFiles(const string& pattern, vector<string>* files) {
files->push_back(string(g.gl_pathv[i]));
}
globfree(&g);
-#elif defined(OS_WINDOWS)
+#elif defined(GLOG_OS_WINDOWS)
WIN32_FIND_DATAA data;
HANDLE handle = FindFirstFileA(pattern.c_str(), &data);
size_t index = pattern.rfind('\\');
@@ -772,7 +772,7 @@ static void TestTwoProcessesWrite() {
}
static void TestSymlink() {
-#ifndef OS_WINDOWS
+#ifndef GLOG_OS_WINDOWS
fprintf(stderr, "==== Test setting log file symlink\n");
string dest = FLAGS_test_tmpdir + "/logging_test_symlink";
string sym = FLAGS_test_tmpdir + "/symlinkbase";
@@ -915,7 +915,7 @@ static void TestTruncate() {
// MacOSX 10.4 doesn't fail in this case.
// Windows doesn't have symlink.
// Let's just ignore this test for these cases.
-#if !defined(OS_MACOSX) && !defined(OS_WINDOWS)
+#if !defined(GLOG_OS_MACOSX) && !defined(GLOG_OS_WINDOWS)
// Through a symlink should fail to truncate
string linkname = path + ".link";
unlink(linkname.c_str());
@@ -924,7 +924,7 @@ static void TestTruncate() {
#endif
// The /proc/self path makes sense only for linux.
-#if defined(OS_LINUX)
+#if defined(GLOG_OS_LINUX)
// Through an open fd symlink should work
int fd;
CHECK_ERR(fd = open(path.c_str(), O_APPEND | O_WRONLY));
@@ -1178,7 +1178,7 @@ TEST(Strerror, logging) {
CHECK_EQ(posix_strerror_r(errcode, buf, 0), -1);
CHECK_EQ(buf[0], 'A');
CHECK_EQ(posix_strerror_r(errcode, NULL, buf_size), -1);
-#if defined(OS_MACOSX) || defined(OS_FREEBSD) || defined(OS_OPENBSD)
+#if defined(GLOG_OS_MACOSX) || defined(GLOG_OS_FREEBSD) || defined(GLOG_OS_OPENBSD)
// MacOSX or FreeBSD considers this case is an error since there is
// no enough space.
CHECK_EQ(posix_strerror_r(errcode, buf, 1), -1);
diff --git a/src/signalhandler.cc b/src/signalhandler.cc
index b6d6e25..ababf86 100644
--- a/src/signalhandler.cc
+++ b/src/signalhandler.cc
@@ -63,7 +63,7 @@ const struct {
{ SIGILL, "SIGILL" },
{ SIGFPE, "SIGFPE" },
{ SIGABRT, "SIGABRT" },
-#if !defined(OS_WINDOWS)
+#if !defined(GLOG_OS_WINDOWS)
{ SIGBUS, "SIGBUS" },
#endif
{ SIGTERM, "SIGTERM" },
@@ -208,7 +208,7 @@ void DumpSignalInfo(int signal_number, siginfo_t *siginfo) {
formatter.AppendUint64((uintptr_t)pthread_self(), 16);
formatter.AppendString(") ");
// Only linux has the PID of the signal sender in si_pid.
-#ifdef OS_LINUX
+#ifdef GLOG_OS_LINUX
formatter.AppendString("from PID ");
formatter.AppendUint64(siginfo->si_pid, 10);
formatter.AppendString("; ");
@@ -253,7 +253,7 @@ void InvokeDefaultSignalHandler(int signal_number) {
sig_action.sa_handler = SIG_DFL;
sigaction(signal_number, &sig_action, NULL);
kill(getpid(), signal_number);
-#elif defined(OS_WINDOWS)
+#elif defined(GLOG_OS_WINDOWS)
signal(signal_number, SIG_DFL);
raise(signal_number);
#endif
@@ -267,7 +267,7 @@ static pthread_t* g_entered_thread_id_pointer = NULL;
// Dumps signal and stack frame information, and invokes the default
// signal handler once our job is done.
-#if defined(OS_WINDOWS)
+#if defined(GLOG_OS_WINDOWS)
void FailureSignalHandler(int signal_number)
#else
void FailureSignalHandler(int signal_number,
@@ -314,7 +314,7 @@ void FailureSignalHandler(int signal_number,
// First dump time info.
DumpTimeInfo();
-#if !defined(OS_WINDOWS)
+#if !defined(GLOG_OS_WINDOWS)
// Get the program counter from ucontext.
void *pc = GetPC(ucontext);
DumpStackFrameInfo("PC: ", pc);
@@ -364,7 +364,7 @@ bool IsFailureSignalHandlerInstalled() {
sigaction(SIGABRT, NULL, &sig_action);
if (sig_action.sa_sigaction == &FailureSignalHandler)
return true;
-#elif defined(OS_WINDOWS)
+#elif defined(GLOG_OS_WINDOWS)
return kFailureSignalHandlerInstalled;
#endif // HAVE_SIGACTION
return false;
@@ -385,7 +385,7 @@ void InstallFailureSignalHandler() {
CHECK_ERR(sigaction(kFailureSignals[i].number, &sig_action, NULL));
}
kFailureSignalHandlerInstalled = true;
-#elif defined(OS_WINDOWS)
+#elif defined(GLOG_OS_WINDOWS)
for (size_t i = 0; i < ARRAYSIZE(kFailureSignals); ++i) {
CHECK_NE(signal(kFailureSignals[i].number, &FailureSignalHandler),
SIG_ERR);
@@ -395,7 +395,7 @@ void InstallFailureSignalHandler() {
}
void InstallFailureWriter(void (*writer)(const char* data, int size)) {
-#if defined(HAVE_SIGACTION) || defined(OS_WINDOWS)
+#if defined(HAVE_SIGACTION) || defined(GLOG_OS_WINDOWS)
g_failure_writer = writer;
#endif // HAVE_SIGACTION
}
diff --git a/src/stacktrace_x86-inl.h b/src/stacktrace_x86-inl.h
index af2783d..99c5de7 100644
--- a/src/stacktrace_x86-inl.h
+++ b/src/stacktrace_x86-inl.h
@@ -31,9 +31,9 @@
#include <stdint.h> // for uintptr_t
-#include "utilities.h" // for OS_* macros
+#include "utilities.h" // for GLOG_OS_* macros
-#if !defined(OS_WINDOWS)
+#if !defined(GLOG_OS_WINDOWS)
#include <unistd.h>
#include <sys/mman.h>
#endif
@@ -74,7 +74,7 @@ static void **NextStackFrame(void **old_sp) {
// last two pages in the address space
if ((uintptr_t)new_sp >= 0xffffe000) return NULL;
#endif
-#if !defined(OS_WINDOWS)
+#if !defined(GLOG_OS_WINDOWS)
if (!STRICT_UNWINDING) {
// Lax sanity checks cause a crash in 32-bit tcmalloc/crash_reason_test
// on AMD-based machines with VDSO-enabled kernels.
diff --git a/src/symbolize.cc b/src/symbolize.cc
index f7fbc53..8688ca2 100644
--- a/src/symbolize.cc
+++ b/src/symbolize.cc
@@ -46,7 +46,7 @@
// and memmove(). We assume they are async-signal-safe.
//
// Additional header can be specified by the GLOG_BUILD_CONFIG_INCLUDE
-// macro to add platform specific defines (e.g. OS_OPENBSD).
+// macro to add platform specific defines (e.g. GLOG_OS_OPENBSD).
#ifdef GLOG_BUILD_CONFIG_INCLUDE
#include GLOG_BUILD_CONFIG_INCLUDE
@@ -113,7 +113,7 @@ _END_GOOGLE_NAMESPACE_
#if defined(HAVE_DLFCN_H)
#include <dlfcn.h>
#endif
-#if defined(OS_OPENBSD)
+#if defined(GLOG_OS_OPENBSD)
#include <sys/exec_elf.h>
#else
#include <elf.h>
@@ -846,7 +846,7 @@ static ATTRIBUTE_NOINLINE bool SymbolizeAndDemangle(void *pc, char *out,
_END_GOOGLE_NAMESPACE_
-#elif defined(OS_MACOSX) && defined(HAVE_DLADDR)
+#elif defined(GLOG_OS_MACOSX) && defined(HAVE_DLADDR)
#include <dlfcn.h>
#include <cstring>
@@ -871,7 +871,7 @@ static ATTRIBUTE_NOINLINE bool SymbolizeAndDemangle(void *pc, char *out,
_END_GOOGLE_NAMESPACE_
-#elif defined(OS_WINDOWS) || defined(OS_CYGWIN)
+#elif defined(GLOG_OS_WINDOWS) || defined(GLOG_OS_CYGWIN)
#include <windows.h>
#include <dbghelp.h>
diff --git a/src/symbolize_unittest.cc b/src/symbolize_unittest.cc
index 0b53230..7e8f6d4 100644
--- a/src/symbolize_unittest.cc
+++ b/src/symbolize_unittest.cc
@@ -359,7 +359,7 @@ static void ATTRIBUTE_NOINLINE TestWithReturnAddress() {
#endif
}
-# elif defined(OS_WINDOWS) || defined(OS_CYGWIN)
+# elif defined(GLOG_OS_WINDOWS) || defined(GLOG_OS_CYGWIN)
#ifdef _MSC_VER
#include <intrin.h>
@@ -411,10 +411,10 @@ int main(int argc, char **argv) {
TestWithPCInsideNonInlineFunction();
TestWithReturnAddress();
return RUN_ALL_TESTS();
-# elif defined(OS_WINDOWS) || defined(OS_CYGWIN)
+# elif defined(GLOG_OS_WINDOWS) || defined(GLOG_OS_CYGWIN)
TestWithReturnAddress();
return RUN_ALL_TESTS();
-# else // OS_WINDOWS
+# else // GLOG_OS_WINDOWS
printf("PASS (no symbolize_unittest support)\n");
return 0;
# endif // __ELF__
diff --git a/src/utilities.cc b/src/utilities.cc
index 6b9a69e..ecda730 100644
--- a/src/utilities.cc
+++ b/src/utilities.cc
@@ -151,7 +151,7 @@ static void DumpStackTraceAndExit() {
sigemptyset(&sig_action.sa_mask);
sig_action.sa_handler = SIG_DFL;
sigaction(SIGABRT, &sig_action, NULL);
-#elif defined(OS_WINDOWS)
+#elif defined(GLOG_OS_WINDOWS)
signal(SIGABRT, SIG_DFL);
#endif // HAVE_SIGACTION
}
@@ -180,7 +180,7 @@ bool IsGoogleLoggingInitialized() {
return g_program_invocation_short_name != NULL;
}
-#ifdef OS_WINDOWS
+#ifdef GLOG_OS_WINDOWS
struct timeval {
long tv_sec, tv_usec;
};
@@ -236,9 +236,9 @@ bool PidHasChanged() {
pid_t GetTID() {
// On Linux and MacOSX, we try to use gettid().
-#if defined OS_LINUX || defined OS_MACOSX
+#if defined GLOG_OS_LINUX || defined GLOG_OS_MACOSX
#ifndef __NR_gettid
-#ifdef OS_MACOSX
+#ifdef GLOG_OS_MACOSX
#define __NR_gettid SYS_gettid
#elif ! defined __i386__
#error "Must define __NR_gettid for non-x86 platforms"
@@ -258,12 +258,12 @@ pid_t GetTID() {
// the value change to "true".
lacks_gettid = true;
}
-#endif // OS_LINUX || OS_MACOSX
+#endif // GLOG_OS_LINUX || GLOG_OS_MACOSX
// If gettid() could not be used, we use one of the following.
-#if defined OS_LINUX
+#if defined GLOG_OS_LINUX
return getpid(); // Linux: getpid returns thread ID when gettid is absent
-#elif defined OS_WINDOWS && !defined OS_CYGWIN
+#elif defined GLOG_OS_WINDOWS && !defined GLOG_OS_CYGWIN
return GetCurrentThreadId();
#elif defined(HAVE_PTHREAD)
// If none of the techniques above worked, we use pthread_self().
@@ -275,7 +275,7 @@ pid_t GetTID() {
const char* const_basename(const char* filepath) {
const char* base = strrchr(filepath, '/');
-#ifdef OS_WINDOWS // Look for either path separator in Windows
+#ifdef GLOG_OS_WINDOWS // Look for either path separator in Windows
if (!base)
base = strrchr(filepath, '\\');
#endif
@@ -288,7 +288,7 @@ const string& MyUserName() {
}
static void MyUserNameInitializer() {
// TODO(hamaji): Probably this is not portable.
-#if defined(OS_WINDOWS)
+#if defined(GLOG_OS_WINDOWS)
const char* user = getenv("USERNAME");
#else
const char* user = getenv("USER");
@@ -337,7 +337,7 @@ void InitGoogleLoggingUtilities(const char* argv0) {
CHECK(!IsGoogleLoggingInitialized())
<< "You called InitGoogleLogging() twice!";
const char* slash = strrchr(argv0, '/');
-#ifdef OS_WINDOWS
+#ifdef GLOG_OS_WINDOWS
if (!slash) slash = strrchr(argv0, '\\');
#endif
g_program_invocation_short_name = slash ? slash + 1 : argv0;
diff --git a/src/utilities.h b/src/utilities.h
index e4115ad..86bc296 100644
--- a/src/utilities.h
+++ b/src/utilities.h
@@ -34,25 +34,6 @@
#ifndef UTILITIES_H__
#define UTILITIES_H__
-#if defined(WIN32) || defined(_WIN32) || defined(__WIN32__)
-# define OS_WINDOWS
-#elif defined(__CYGWIN__) || defined(__CYGWIN32__)
-# define OS_CYGWIN
-#elif defined(linux) || defined(__linux) || defined(__linux__)
-# ifndef OS_LINUX
-# define OS_LINUX
-# endif
-#elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)
-# define OS_MACOSX
-#elif defined(__FreeBSD__)
-# define OS_FREEBSD
-#elif defined(__NetBSD__)
-# define OS_NETBSD
-#elif defined(__OpenBSD__)
-# define OS_OPENBSD
-#else
-// TODO(hamaji): Add other platforms.
-#endif
// printf macros for size_t, in the style of inttypes.h
#ifdef _LP64
@@ -76,12 +57,12 @@
#include <string>
-#if defined(OS_WINDOWS)
+#include "glog/logging.h"
+#if defined(GLOG_OS_WINDOWS)
# include "port.h"
#endif
#include "config.h"
-#include "glog/logging.h"
// There are three different ways we can try to get the stack trace:
//
@@ -114,7 +95,7 @@
# define STACKTRACE_H "stacktrace_x86_64-inl.h"
# elif (defined(__ppc__) || defined(__PPC__)) && __GNUC__ >= 2
# define STACKTRACE_H "stacktrace_powerpc-inl.h"
-# elif defined(OS_WINDOWS)
+# elif defined(GLOG_OS_WINDOWS)
# define STACKTRACE_H "stacktrace_windows-inl.h"
# endif
#endif
@@ -130,12 +111,12 @@
#ifndef GLOG_NO_SYMBOLIZE_DETECTION
#ifndef HAVE_SYMBOLIZE
// defined by gcc
-#if defined(__ELF__) && defined(OS_LINUX)
+#if defined(__ELF__) && defined(GLOG_OS_LINUX)
# define HAVE_SYMBOLIZE
-#elif defined(OS_MACOSX) && defined(HAVE_DLADDR)
+#elif defined(GLOG_OS_MACOSX) && defined(HAVE_DLADDR)
// Use dladdr to symbolize.
# define HAVE_SYMBOLIZE
-#elif defined(OS_WINDOWS)
+#elif defined(GLOG_OS_WINDOWS)
// Use DbgHelp to symbolize
# define HAVE_SYMBOLIZE
#endif
@@ -154,7 +135,7 @@ namespace glog_internal_namespace_ {
#ifdef HAVE___ATTRIBUTE__
# define ATTRIBUTE_NOINLINE __attribute__ ((noinline))
# define HAVE_ATTRIBUTE_NOINLINE
-#elif defined(OS_WINDOWS)
+#elif defined(GLOG_OS_WINDOWS)
# define ATTRIBUTE_NOINLINE __declspec(noinline)
# define HAVE_ATTRIBUTE_NOINLINE
#else