From 5e3e6d3cab012f7550a5f5b55fdc8ff9906e5d52 Mon Sep 17 00:00:00 2001 From: jiayuehua <3423893+jiayuehua@users.noreply.github.com> Date: Wed, 2 Mar 2022 06:48:02 +0000 Subject: [PATCH] [glog] fix log_every_n --- ports/glog/fix_glog_config.h.patch | 40 -- ports/glog/fix_log_every_n.patch | 848 +++++++++++++++++++++++++++++ ports/glog/platforminfo.patch | 32 -- ports/glog/portfile.cmake | 3 +- versions/g-/glog.json | 2 +- 5 files changed, 850 insertions(+), 75 deletions(-) delete mode 100644 ports/glog/fix_glog_config.h.patch create mode 100644 ports/glog/fix_log_every_n.patch delete mode 100644 ports/glog/platforminfo.patch diff --git a/ports/glog/fix_glog_config.h.patch b/ports/glog/fix_glog_config.h.patch deleted file mode 100644 index 8fc01914192587..00000000000000 --- a/ports/glog/fix_glog_config.h.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index cf87798..1f76d80 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -469,6 +469,7 @@ endif (WITH_THREADS AND Threads_FOUND) - set (TEST_SRC_DIR \"${CMAKE_CURRENT_SOURCE_DIR}\") - - configure_file (src/config.h.cmake.in config.h) -+configure_file (src/config.h.cmake.in glog/config.h) - configure_file (src/glog/logging.h.in glog/logging.h @ONLY) - configure_file (src/glog/raw_logging.h.in glog/raw_logging.h @ONLY) - configure_file (src/glog/stl_logging.h.in glog/stl_logging.h @ONLY) -@@ -497,6 +498,7 @@ endif (WITH_PKGCONFIG) - set (GLOG_PUBLIC_H - ${CMAKE_CURRENT_BINARY_DIR}/glog/export.h - ${CMAKE_CURRENT_BINARY_DIR}/glog/logging.h -+ ${CMAKE_CURRENT_BINARY_DIR}/glog/config.h - ${CMAKE_CURRENT_BINARY_DIR}/glog/raw_logging.h - ${CMAKE_CURRENT_BINARY_DIR}/glog/stl_logging.h - ${CMAKE_CURRENT_BINARY_DIR}/glog/vlog_is_on.h -diff --git a/src/glog/logging.h.in b/src/glog/logging.h.in -index 1148c27..9857c4a 100644 ---- a/src/glog/logging.h.in -+++ b/src/glog/logging.h.in -@@ -35,7 +35,6 @@ - // - #ifndef _LOGGING_H_ - #define _LOGGING_H_ -- - #include - #include - #include -@@ -48,6 +47,7 @@ - # include - #endif - #include -+#include "glog/config.h" - - #if defined(_MSC_VER) - #define GLOG_MSVC_PUSH_DISABLE_WARNING(n) __pragma(warning(push)) \ diff --git a/ports/glog/fix_log_every_n.patch b/ports/glog/fix_log_every_n.patch new file mode 100644 index 00000000000000..529715ff0bc44b --- /dev/null +++ b/ports/glog/fix_log_every_n.patch @@ -0,0 +1,848 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 61e5f6c..889df87 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -65,7 +65,7 @@ include (GenerateExportHeader) + include (GetCacheVariables) + include (GNUInstallDirs) + +-#set (CMAKE_DEBUG_POSTFIX d) ++#set (CMAKE_DEBUG_POSTFIX d) + set (CMAKE_THREAD_PREFER_PTHREAD 1) + + find_package (GTest) +@@ -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 + #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 + #include + #include +@@ -58,6 +57,8 @@ + #define GLOG_MSVC_POP_WARNING() + #endif + ++#include ++ + #if @ac_cv_have_glog_export@ + #include "glog/export.h" + #endif +@@ -101,7 +102,7 @@ + + #ifdef HAVE_CXX11_ATOMIC + #include +-#elif defined(OS_WINDOWS) ++#elif defined(GLOG_OS_WINDOWS) + #include + #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/ + // (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 + #include // for errno + #include +-#ifdef OS_WINDOWS ++#ifdef GLOG_OS_WINDOWS + #include "windows/dirent.h" + #else + #include // 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 + #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* 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& 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(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* 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* 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 // 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 + #include + #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 + #endif +-#if defined(OS_OPENBSD) ++#if defined(GLOG_OS_OPENBSD) + #include + #else + #include +@@ -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 + #include +@@ -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 + #include +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 +@@ -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 + +-#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 diff --git a/ports/glog/platforminfo.patch b/ports/glog/platforminfo.patch deleted file mode 100644 index 47acf5c8ebd63c..00000000000000 --- a/ports/glog/platforminfo.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/src/glog/logging.h.in b/src/glog/logging.h.in -index 421f1e0..1148c27 100644 ---- a/src/glog/logging.h.in -+++ b/src/glog/logging.h.in -@@ -58,6 +58,27 @@ - #define GLOG_MSVC_POP_WARNING() - #endif - -+#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 -+ - #if @ac_cv_have_glog_export@ - #include "glog/export.h" - #endif diff --git a/ports/glog/portfile.cmake b/ports/glog/portfile.cmake index af6b49894baeea..85c2b10e131dd2 100644 --- a/ports/glog/portfile.cmake +++ b/ports/glog/portfile.cmake @@ -7,8 +7,7 @@ vcpkg_from_github( PATCHES glog_disable_debug_postfix.patch fix_glog_CMAKE_MODULE_PATH.patch - platforminfo.patch - fix_glog_config.h.patch + fix_log_every_n.patch ) vcpkg_cmake_configure( diff --git a/versions/g-/glog.json b/versions/g-/glog.json index b7182aa11e41c9..78b1d44a4a81fb 100644 --- a/versions/g-/glog.json +++ b/versions/g-/glog.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "bea8a08096b9dd6e73e978abfedb50df66f5c0cd", + "git-tree": "10b4d3749ec228518f7771108a92ef1a88a6d9b8", "version": "0.5.0", "port-version": 0 },