diff mbox series

[1/1] package/glog: bump to version 0.7.0

Message ID 20240321211145.508153-1-fontaine.fabrice@gmail.com
State Accepted
Headers show
Series [1/1] package/glog: bump to version 0.7.0 | expand

Commit Message

Fabrice Fontaine March 21, 2024, 9:11 p.m. UTC
- Drop patch (already in version)
- Update hash of COPYING (year updated and gettimeofday license
  dropped with:
  https://github.com/google/glog/commit/70285fddc728cd5dbc2d1a20b373d358f6ae62ae)
- elf detection has been reworked with
  https://github.com/google/glog/commit/7e6fca90e8bc69c6500ec61a6cc334dd8f682224
- threads are mandatory since
  https://github.com/google/glog/commit/fe46778bd326e3c012875eb756acaa4a1ca304f7

https://github.com/google/glog/releases/tag/v0.7.0

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
 .checkpackageignore                           |   1 -
 .../glog/0001-added-emscripten-support.patch  | 292 ------------------
 package/glog/Config.in                        |   9 +-
 package/glog/glog.hash                        |   4 +-
 package/glog/glog.mk                          |   6 +-
 5 files changed, 8 insertions(+), 304 deletions(-)
 delete mode 100644 package/glog/0001-added-emscripten-support.patch

Comments

Arnout Vandecappelle March 23, 2024, 8:35 p.m. UTC | #1
On 21/03/2024 22:11, Fabrice Fontaine wrote:
> - Drop patch (already in version)
> - Update hash of COPYING (year updated and gettimeofday license
>    dropped with:
>    https://github.com/google/glog/commit/70285fddc728cd5dbc2d1a20b373d358f6ae62ae)
> - elf detection has been reworked with
>    https://github.com/google/glog/commit/7e6fca90e8bc69c6500ec61a6cc334dd8f682224
> - threads are mandatory since
>    https://github.com/google/glog/commit/fe46778bd326e3c012875eb756acaa4a1ca304f7
> 
> https://github.com/google/glog/releases/tag/v0.7.0
> 
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>

  Applied to master, thanks.

  Regards,
  Arnout

> ---
>   .checkpackageignore                           |   1 -
>   .../glog/0001-added-emscripten-support.patch  | 292 ------------------
>   package/glog/Config.in                        |   9 +-
>   package/glog/glog.hash                        |   4 +-
>   package/glog/glog.mk                          |   6 +-
>   5 files changed, 8 insertions(+), 304 deletions(-)
>   delete mode 100644 package/glog/0001-added-emscripten-support.patch
> 
> diff --git a/.checkpackageignore b/.checkpackageignore
> index 73b76bbd46..5fec73eb52 100644
> --- a/.checkpackageignore
> +++ b/.checkpackageignore
> @@ -460,7 +460,6 @@ package/gerbera/S99gerbera Indent
>   package/giblib/0001-fix-imlib2-detection.patch Upstream
>   package/giflib/0001-Makefile-add-targets-to-manage-static-building.patch Upstream
>   package/git-crypt/0001-fix-build-with-libressl-3.5.0.patch Upstream
> -package/glog/0001-added-emscripten-support.patch Upstream
>   package/glorytun/0001-Add-support-for-Apple-silicon.patch Upstream
>   package/glorytun/0002-aegis256.c-fix-aarch64-build-with-uclibc.patch Upstream
>   package/gnu-efi/0001-Make.defaults-don-t-override-ARCH-when-cross-compili.patch Upstream
> diff --git a/package/glog/0001-added-emscripten-support.patch b/package/glog/0001-added-emscripten-support.patch
> deleted file mode 100644
> index bb601affce..0000000000
> --- a/package/glog/0001-added-emscripten-support.patch
> +++ /dev/null
> @@ -1,292 +0,0 @@
> -From 6ed0c9e58b11680779c571996a3007bd972e0853 Mon Sep 17 00:00:00 2001
> -From: Sergiu Deitsch <sergiud@users.noreply.github.com>
> -Date: Thu, 4 Aug 2022 22:52:47 +0200
> -Subject: [PATCH] added emscripten support (#846)
> -
> -[Retrieved from:
> -https://github.com/google/glog/commit/6ed0c9e58b11680779c571996a3007bd972e0853,
> -to fix build without threads, a fix that is lost in the middle of a
> -larger commit adding emscripten support.]
> -Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> ----
> - .github/workflows/emscripten.yml | 60 ++++++++++++++++++++++++++++++++
> - CMakeLists.txt                   | 14 ++++----
> - src/config.h.cmake.in            |  6 ++--
> - src/glog/logging.h.in            |  6 ++--
> - src/glog/platform.h              |  2 ++
> - src/logging.cc                   | 11 ++++--
> - src/raw_logging.cc               |  9 ++---
> - src/stacktrace_unwind-inl.h      |  2 +-
> - src/symbolize.cc                 |  2 +-
> - src/utilities.h                  |  2 +-
> - 10 files changed, 93 insertions(+), 21 deletions(-)
> - create mode 100644 .github/workflows/emscripten.yml
> -
> -diff --git a/.github/workflows/emscripten.yml b/.github/workflows/emscripten.yml
> -new file mode 100644
> -index 00000000..566c67eb
> ---- /dev/null
> -+++ b/.github/workflows/emscripten.yml
> -@@ -0,0 +1,60 @@
> -+name: Emscripten
> -+
> -+on: [push, pull_request]
> -+
> -+jobs:
> -+  build-linux:
> -+    defaults:
> -+      run:
> -+        shell: bash
> -+    name: Emscripten-C++${{matrix.std}}-${{matrix.build_type}}-${{matrix.lib}}-${{matrix.extra}}
> -+    runs-on: ubuntu-latest
> -+    container: emscripten/emsdk
> -+    strategy:
> -+      fail-fast: true
> -+      matrix:
> -+        build_type: [Release, Debug]
> -+        extra: [no-custom-prefix, custom-prefix]
> -+        lib: [static]
> -+        std: [98, 11, 14, 17, 20]
> -+
> -+    steps:
> -+      - uses: actions/checkout@v2
> -+
> -+      - name: Setup Dependencies
> -+        run: |
> -+          apt-get update
> -+          DEBIAN_FRONTEND=noninteractive sudo apt-get install -y \
> -+            cmake \
> -+            ninja-build
> -+
> -+      - name: Setup C++98 Environment
> -+        if: matrix.std == '98'
> -+        run: |
> -+          echo 'CXXFLAGS=-Wno-error=variadic-macros -Wno-error=long-long ${{env.CXXFLAGS}}' >> $GITHUB_ENV
> -+
> -+      - name: Configure
> -+        env:
> -+          CXXFLAGS: -Wall -Wextra -Wsign-conversion -Wtautological-compare -Wformat-nonliteral -Wundef -Werror -Wno-error=wasm-exception-spec ${{env.CXXFLAGS}}
> -+        run: |
> -+          cmake -S . -B build_${{matrix.build_type}} \
> -+            -DBUILD_SHARED_LIBS=${{matrix.lib == 'shared'}} \
> -+            -DCMAKE_AR=$(which emar) \
> -+            -DCMAKE_C_COMPILER=$(which emcc) \
> -+            -DCMAKE_CXX_COMPILER=$(which em++) \
> -+            -DCMAKE_CXX_STANDARD=${{matrix.std}} \
> -+            -DCMAKE_CXX_STANDARD_REQUIRED=ON \
> -+            -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \
> -+            -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
> -+            -DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ONLY \
> -+            -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \
> -+            -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/install \
> -+            -DCMAKE_RANLIB=$(which emranlib) \
> -+            -DWITH_CUSTOM_PREFIX=${{matrix.extra == 'custom-prefix'}} \
> -+            -G Ninja \
> -+            -Werror
> -+
> -+      - name: Build
> -+        run: |
> -+          cmake --build build_${{matrix.build_type}} \
> -+                --config ${{matrix.build_type}}
> -diff --git a/CMakeLists.txt b/CMakeLists.txt
> -index 643a8b8a..ce6daa40 100644
> ---- a/CMakeLists.txt
> -+++ b/CMakeLists.txt
> -@@ -93,11 +93,11 @@ find_package (Unwind)
> - if (Unwind_FOUND)
> -   set (HAVE_LIB_UNWIND 1)
> - else (Unwind_FOUND)
> --  check_include_file_cxx (unwind.h HAVE_UNWIND_H)
> -   # Check whether linking actually succeeds. ARM toolchains of LLVM unwind
> -   # implementation do not necessarily provide the _Unwind_Backtrace function
> -   # which causes the previous check to succeed but the linking to fail.
> -   check_cxx_symbol_exists (_Unwind_Backtrace unwind.h HAVE__UNWIND_BACKTRACE)
> -+  check_cxx_symbol_exists (_Unwind_GetIP unwind.h HAVE__UNWIND_GETIP)
> - endif (Unwind_FOUND)
> -
> - check_include_file_cxx (dlfcn.h HAVE_DLFCN_H)
> -@@ -197,9 +197,10 @@ int main(void)
> - }
> - " HAVE___SYNC_VAL_COMPARE_AND_SWAP)
> -
> --cmake_push_check_state (RESET)
> --set (CMAKE_REQUIRED_LIBRARIES Threads::Threads)
> --check_cxx_source_compiles ("
> -+if (Threads_FOUND)
> -+  cmake_push_check_state (RESET)
> -+  set (CMAKE_REQUIRED_LIBRARIES Threads::Threads)
> -+  check_cxx_source_compiles ("
> - #define _XOPEN_SOURCE 500
> - #include <pthread.h>
> - int main(void)
> -@@ -209,8 +210,9 @@ int main(void)
> -   pthread_rwlock_rdlock(&l);
> -   return 0;
> - }
> --" HAVE_RWLOCK)
> --cmake_pop_check_state ()
> -+  " HAVE_RWLOCK)
> -+  cmake_pop_check_state ()
> -+endif (Threads_FOUND)
> -
> - check_cxx_source_compiles ("
> - __declspec(selectany) int a;
> -diff --git a/src/config.h.cmake.in b/src/config.h.cmake.in
> -index b67e8a77..20b5f1c4 100644
> ---- a/src/config.h.cmake.in
> -+++ b/src/config.h.cmake.in
> -@@ -118,12 +118,12 @@
> - /* Define to 1 if you have the <unistd.h> header file. */
> - #cmakedefine HAVE_UNISTD_H ${HAVE_UNISTD_H}
> -
> --/* Define if you have the <unwind.h> header file. */
> --#cmakedefine HAVE_UNWIND_H
> --
> - /* Define if you linking to _Unwind_Backtrace is possible. */
> - #cmakedefine HAVE__UNWIND_BACKTRACE
> -
> -+/* Define if you linking to _Unwind_GetIP is possible. */
> -+#cmakedefine HAVE__UNWIND_GETIP
> -+
> - /* define if the compiler supports using expression for operator */
> - #cmakedefine HAVE_USING_OPERATOR
> -
> -diff --git a/src/glog/logging.h.in b/src/glog/logging.h.in
> -index c6def152..098e28fe 100644
> ---- a/src/glog/logging.h.in
> -+++ b/src/glog/logging.h.in
> -@@ -97,7 +97,7 @@
> -
> - @ac_google_start_namespace@
> -
> --#if @ac_cv_have_uint16_t@      // the C99 format
> -+#if @ac_cv_have_stdint_h@      // the C99 format
> - typedef int32_t int32;
> - typedef uint32_t uint32;
> - typedef int64_t int64;
> -@@ -1822,8 +1822,8 @@ GLOG_EXPORT void SetEmailLogging(LogSeverity min_severity,
> -
> - // A simple function that sends email. dest is a commma-separated
> - // list of addressess.  Thread-safe.
> --GLOG_EXPORT bool SendEmail(const char *dest,
> --                                    const char *subject, const char *body);
> -+GLOG_EXPORT bool SendEmail(const char* dest, const char* subject,
> -+                           const char* body);
> -
> - GLOG_EXPORT const std::vector<std::string>& GetLoggingDirectories();
> -
> -diff --git a/src/glog/platform.h b/src/glog/platform.h
> -index e6144119..7893c45d 100644
> ---- a/src/glog/platform.h
> -+++ b/src/glog/platform.h
> -@@ -50,6 +50,8 @@
> - #define GLOG_OS_NETBSD
> - #elif defined(__OpenBSD__)
> - #define GLOG_OS_OPENBSD
> -+#elif defined(__EMSCRIPTEN__)
> -+#define GLOG_OS_EMSCRIPTEN
> - #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.
> -diff --git a/src/logging.cc b/src/logging.cc
> -index e65e80e9..1df1034a 100644
> ---- a/src/logging.cc
> -+++ b/src/logging.cc
> -@@ -2188,6 +2188,7 @@ void SetExitOnDFatal(bool value) {
> - }  // namespace internal
> - }  // namespace base
> -
> -+#ifndef GLOG_OS_EMSCRIPTEN
> - // Shell-escaping as we need to shell out ot /bin/mail.
> - static const char kDontNeedShellEscapeChars[] =
> -             "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
> -@@ -2222,14 +2223,14 @@ static string ShellEscape(const string& src) {
> -   }
> -   return result;
> - }
> --
> -+#endif
> -
> - // use_logging controls whether the logging functions LOG/VLOG are used
> - // to log errors.  It should be set to false when the caller holds the
> - // log_mutex.
> - static bool SendEmailInternal(const char*dest, const char *subject,
> -                               const char*body, bool use_logging) {
> --#ifndef __EMSCRIPTEN__
> -+#ifndef GLOG_OS_EMSCRIPTEN
> -   if (dest && *dest) {
> -     if ( use_logging ) {
> -       VLOG(1) << "Trying to send TITLE:" << subject
> -@@ -2275,6 +2276,12 @@ static bool SendEmailInternal(const char*dest, const char *subject,
> -       }
> -     }
> -   }
> -+#else
> -+  (void)dest;
> -+  (void)subject;
> -+  (void)body;
> -+  (void)use_logging;
> -+  LOG(WARNING) << "Email support not available; not sending message";
> - #endif
> -   return false;
> - }
> -diff --git a/src/raw_logging.cc b/src/raw_logging.cc
> -index 43159832..befeac89 100644
> ---- a/src/raw_logging.cc
> -+++ b/src/raw_logging.cc
> -@@ -59,11 +59,12 @@
> - # include <unistd.h>
> - #endif
> -
> --#if (defined(HAVE_SYSCALL_H) || defined(HAVE_SYS_SYSCALL_H)) && (!(defined(GLOG_OS_MACOSX)))
> --# define safe_write(fd, s, len)  syscall(SYS_write, fd, s, len)
> -+#if (defined(HAVE_SYSCALL_H) || defined(HAVE_SYS_SYSCALL_H)) && \
> -+    (!(defined(GLOG_OS_MACOSX))) && !defined(GLOG_OS_EMSCRIPTEN)
> -+#define safe_write(fd, s, len) syscall(SYS_write, fd, s, len)
> - #else
> --  // Not so safe, but what can you do?
> --# define safe_write(fd, s, len)  write(fd, s, len)
> -+// Not so safe, but what can you do?
> -+#define safe_write(fd, s, len) write(fd, s, len)
> - #endif
> -
> - _START_GOOGLE_NAMESPACE_
> -diff --git a/src/stacktrace_unwind-inl.h b/src/stacktrace_unwind-inl.h
> -index fbb5f988..dc1665b4 100644
> ---- a/src/stacktrace_unwind-inl.h
> -+++ b/src/stacktrace_unwind-inl.h
> -@@ -73,7 +73,7 @@ static _Unwind_Reason_Code GetOneFrame(struct _Unwind_Context *uc, void *opq) {
> -   if (targ->skip_count > 0) {
> -     targ->skip_count--;
> -   } else {
> --    targ->result[targ->count++] = (void *) _Unwind_GetIP(uc);
> -+    targ->result[targ->count++] = reinterpret_cast<void *>(_Unwind_GetIP(uc));
> -   }
> -
> -   if (targ->count == targ->max_depth) {
> -diff --git a/src/symbolize.cc b/src/symbolize.cc
> -index 51025018..f56e97c9 100644
> ---- a/src/symbolize.cc
> -+++ b/src/symbolize.cc
> -@@ -834,7 +834,7 @@ static ATTRIBUTE_NOINLINE bool SymbolizeAndDemangle(void *pc, char *out,
> -
> - _END_GOOGLE_NAMESPACE_
> -
> --#elif defined(GLOG_OS_MACOSX) && defined(HAVE_DLADDR)
> -+#elif (defined(GLOG_OS_MACOSX) || defined(GLOG_OS_EMSCRIPTEN)) && defined(HAVE_DLADDR)
> -
> - #include <dlfcn.h>
> - #include <cstring>
> -diff --git a/src/utilities.h b/src/utilities.h
> -index bd0ec632..760c142c 100644
> ---- a/src/utilities.h
> -+++ b/src/utilities.h
> -@@ -88,7 +88,7 @@
> -
> - #if defined(HAVE_LIB_UNWIND)
> - # define STACKTRACE_H "stacktrace_libunwind-inl.h"
> --#elif defined(HAVE__UNWIND_BACKTRACE)
> -+#elif defined(HAVE__UNWIND_BACKTRACE) && defined(HAVE__UNWIND_GETIP)
> - # define STACKTRACE_H "stacktrace_unwind-inl.h"
> - #elif !defined(NO_FRAME_POINTER)
> - # if defined(__i386__) && __GNUC__ >= 2
> diff --git a/package/glog/Config.in b/package/glog/Config.in
> index 3376323004..bbdd1e2151 100644
> --- a/package/glog/Config.in
> +++ b/package/glog/Config.in
> @@ -1,13 +1,12 @@
>   config BR2_PACKAGE_GLOG
>   	bool "glog"
> -	# __ELF__ not defined on Microblaze
> -	depends on !BR2_microblaze
>   	depends on BR2_INSTALL_LIBSTDCPP
> +	depends on BR2_TOOLCHAIN_HAS_THREADS
>   	help
>   	  C++ implementation of the Google logging module
>   
>   	  https://github.com/google/glog
>   
> -comment "glog needs a toolchain w/ C++"
> -	depends on !BR2_microblaze
> -	depends on !BR2_INSTALL_LIBSTDCPP
> +comment "glog needs a toolchain w/ C++, threads"
> +	depends on !BR2_INSTALL_LIBSTDCPP || \
> +		!BR2_TOOLCHAIN_HAS_THREADS
> diff --git a/package/glog/glog.hash b/package/glog/glog.hash
> index fab77c522b..fb0ea93979 100644
> --- a/package/glog/glog.hash
> +++ b/package/glog/glog.hash
> @@ -1,5 +1,5 @@
>   # Locally computed
> -sha256  8a83bf982f37bb70825df71a9709fa90ea9f4447fb3c099e1d720a439d88bad6  glog-0.6.0.tar.gz
> +sha256  375106b5976231b92e66879c1a92ce062923b9ae573c42b56ba28b112ee4cc11  glog-0.7.0.tar.gz
>   
>   # Hash for License file:
> -sha256  0fc497129c5c69ff6f22da6933c7e4aaef082fde8437fd57680c2780100772a4  COPYING
> +sha256  136d48dea7a681413691f3db3098f6cf5ffaa3119d96d97bb83b8cff3ce38c4a  COPYING
> diff --git a/package/glog/glog.mk b/package/glog/glog.mk
> index ddf71fd15a..4b3f39be3a 100644
> --- a/package/glog/glog.mk
> +++ b/package/glog/glog.mk
> @@ -4,14 +4,12 @@
>   #
>   ################################################################################
>   
> -GLOG_VERSION = 0.6.0
> +GLOG_VERSION = 0.7.0
>   GLOG_SITE = $(call github,google,glog,v$(GLOG_VERSION))
>   GLOG_INSTALL_STAGING = YES
>   GLOG_LICENSE = BSD-3-Clause
>   GLOG_LICENSE_FILES = COPYING
> -GLOG_CONF_OPTS = \
> -	-DWITH_GTEST=OFF \
> -	$(if $(BR2_TOOLCHAIN_HAS_THREADS),-DWITH_THREADS=ON, -DWITH_THREADS=OFF)
> +GLOG_CONF_OPTS = -DWITH_GTEST=OFF
>   
>   ifeq ($(BR2_PACKAGE_GFLAGS),y)
>   GLOG_DEPENDENCIES += gflags
diff mbox series

Patch

diff --git a/.checkpackageignore b/.checkpackageignore
index 73b76bbd46..5fec73eb52 100644
--- a/.checkpackageignore
+++ b/.checkpackageignore
@@ -460,7 +460,6 @@  package/gerbera/S99gerbera Indent
 package/giblib/0001-fix-imlib2-detection.patch Upstream
 package/giflib/0001-Makefile-add-targets-to-manage-static-building.patch Upstream
 package/git-crypt/0001-fix-build-with-libressl-3.5.0.patch Upstream
-package/glog/0001-added-emscripten-support.patch Upstream
 package/glorytun/0001-Add-support-for-Apple-silicon.patch Upstream
 package/glorytun/0002-aegis256.c-fix-aarch64-build-with-uclibc.patch Upstream
 package/gnu-efi/0001-Make.defaults-don-t-override-ARCH-when-cross-compili.patch Upstream
diff --git a/package/glog/0001-added-emscripten-support.patch b/package/glog/0001-added-emscripten-support.patch
deleted file mode 100644
index bb601affce..0000000000
--- a/package/glog/0001-added-emscripten-support.patch
+++ /dev/null
@@ -1,292 +0,0 @@ 
-From 6ed0c9e58b11680779c571996a3007bd972e0853 Mon Sep 17 00:00:00 2001
-From: Sergiu Deitsch <sergiud@users.noreply.github.com>
-Date: Thu, 4 Aug 2022 22:52:47 +0200
-Subject: [PATCH] added emscripten support (#846)
-
-[Retrieved from:
-https://github.com/google/glog/commit/6ed0c9e58b11680779c571996a3007bd972e0853,
-to fix build without threads, a fix that is lost in the middle of a
-larger commit adding emscripten support.]
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
----
- .github/workflows/emscripten.yml | 60 ++++++++++++++++++++++++++++++++
- CMakeLists.txt                   | 14 ++++----
- src/config.h.cmake.in            |  6 ++--
- src/glog/logging.h.in            |  6 ++--
- src/glog/platform.h              |  2 ++
- src/logging.cc                   | 11 ++++--
- src/raw_logging.cc               |  9 ++---
- src/stacktrace_unwind-inl.h      |  2 +-
- src/symbolize.cc                 |  2 +-
- src/utilities.h                  |  2 +-
- 10 files changed, 93 insertions(+), 21 deletions(-)
- create mode 100644 .github/workflows/emscripten.yml
-
-diff --git a/.github/workflows/emscripten.yml b/.github/workflows/emscripten.yml
-new file mode 100644
-index 00000000..566c67eb
---- /dev/null
-+++ b/.github/workflows/emscripten.yml
-@@ -0,0 +1,60 @@
-+name: Emscripten
-+
-+on: [push, pull_request]
-+
-+jobs:
-+  build-linux:
-+    defaults:
-+      run:
-+        shell: bash
-+    name: Emscripten-C++${{matrix.std}}-${{matrix.build_type}}-${{matrix.lib}}-${{matrix.extra}}
-+    runs-on: ubuntu-latest
-+    container: emscripten/emsdk
-+    strategy:
-+      fail-fast: true
-+      matrix:
-+        build_type: [Release, Debug]
-+        extra: [no-custom-prefix, custom-prefix]
-+        lib: [static]
-+        std: [98, 11, 14, 17, 20]
-+
-+    steps:
-+      - uses: actions/checkout@v2
-+
-+      - name: Setup Dependencies
-+        run: |
-+          apt-get update
-+          DEBIAN_FRONTEND=noninteractive sudo apt-get install -y \
-+            cmake \
-+            ninja-build
-+
-+      - name: Setup C++98 Environment
-+        if: matrix.std == '98'
-+        run: |
-+          echo 'CXXFLAGS=-Wno-error=variadic-macros -Wno-error=long-long ${{env.CXXFLAGS}}' >> $GITHUB_ENV
-+
-+      - name: Configure
-+        env:
-+          CXXFLAGS: -Wall -Wextra -Wsign-conversion -Wtautological-compare -Wformat-nonliteral -Wundef -Werror -Wno-error=wasm-exception-spec ${{env.CXXFLAGS}}
-+        run: |
-+          cmake -S . -B build_${{matrix.build_type}} \
-+            -DBUILD_SHARED_LIBS=${{matrix.lib == 'shared'}} \
-+            -DCMAKE_AR=$(which emar) \
-+            -DCMAKE_C_COMPILER=$(which emcc) \
-+            -DCMAKE_CXX_COMPILER=$(which em++) \
-+            -DCMAKE_CXX_STANDARD=${{matrix.std}} \
-+            -DCMAKE_CXX_STANDARD_REQUIRED=ON \
-+            -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \
-+            -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
-+            -DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ONLY \
-+            -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \
-+            -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/install \
-+            -DCMAKE_RANLIB=$(which emranlib) \
-+            -DWITH_CUSTOM_PREFIX=${{matrix.extra == 'custom-prefix'}} \
-+            -G Ninja \
-+            -Werror
-+
-+      - name: Build
-+        run: |
-+          cmake --build build_${{matrix.build_type}} \
-+                --config ${{matrix.build_type}}
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 643a8b8a..ce6daa40 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -93,11 +93,11 @@ find_package (Unwind)
- if (Unwind_FOUND)
-   set (HAVE_LIB_UNWIND 1)
- else (Unwind_FOUND)
--  check_include_file_cxx (unwind.h HAVE_UNWIND_H)
-   # Check whether linking actually succeeds. ARM toolchains of LLVM unwind
-   # implementation do not necessarily provide the _Unwind_Backtrace function
-   # which causes the previous check to succeed but the linking to fail.
-   check_cxx_symbol_exists (_Unwind_Backtrace unwind.h HAVE__UNWIND_BACKTRACE)
-+  check_cxx_symbol_exists (_Unwind_GetIP unwind.h HAVE__UNWIND_GETIP)
- endif (Unwind_FOUND)
- 
- check_include_file_cxx (dlfcn.h HAVE_DLFCN_H)
-@@ -197,9 +197,10 @@ int main(void)
- }
- " HAVE___SYNC_VAL_COMPARE_AND_SWAP)
- 
--cmake_push_check_state (RESET)
--set (CMAKE_REQUIRED_LIBRARIES Threads::Threads)
--check_cxx_source_compiles ("
-+if (Threads_FOUND)
-+  cmake_push_check_state (RESET)
-+  set (CMAKE_REQUIRED_LIBRARIES Threads::Threads)
-+  check_cxx_source_compiles ("
- #define _XOPEN_SOURCE 500
- #include <pthread.h>
- int main(void)
-@@ -209,8 +210,9 @@ int main(void)
-   pthread_rwlock_rdlock(&l);
-   return 0;
- }
--" HAVE_RWLOCK)
--cmake_pop_check_state ()
-+  " HAVE_RWLOCK)
-+  cmake_pop_check_state ()
-+endif (Threads_FOUND)
- 
- check_cxx_source_compiles ("
- __declspec(selectany) int a;
-diff --git a/src/config.h.cmake.in b/src/config.h.cmake.in
-index b67e8a77..20b5f1c4 100644
---- a/src/config.h.cmake.in
-+++ b/src/config.h.cmake.in
-@@ -118,12 +118,12 @@
- /* Define to 1 if you have the <unistd.h> header file. */
- #cmakedefine HAVE_UNISTD_H ${HAVE_UNISTD_H}
- 
--/* Define if you have the <unwind.h> header file. */
--#cmakedefine HAVE_UNWIND_H
--
- /* Define if you linking to _Unwind_Backtrace is possible. */
- #cmakedefine HAVE__UNWIND_BACKTRACE
- 
-+/* Define if you linking to _Unwind_GetIP is possible. */
-+#cmakedefine HAVE__UNWIND_GETIP
-+
- /* define if the compiler supports using expression for operator */
- #cmakedefine HAVE_USING_OPERATOR
- 
-diff --git a/src/glog/logging.h.in b/src/glog/logging.h.in
-index c6def152..098e28fe 100644
---- a/src/glog/logging.h.in
-+++ b/src/glog/logging.h.in
-@@ -97,7 +97,7 @@
- 
- @ac_google_start_namespace@
- 
--#if @ac_cv_have_uint16_t@      // the C99 format
-+#if @ac_cv_have_stdint_h@      // the C99 format
- typedef int32_t int32;
- typedef uint32_t uint32;
- typedef int64_t int64;
-@@ -1822,8 +1822,8 @@ GLOG_EXPORT void SetEmailLogging(LogSeverity min_severity,
- 
- // A simple function that sends email. dest is a commma-separated
- // list of addressess.  Thread-safe.
--GLOG_EXPORT bool SendEmail(const char *dest,
--                                    const char *subject, const char *body);
-+GLOG_EXPORT bool SendEmail(const char* dest, const char* subject,
-+                           const char* body);
- 
- GLOG_EXPORT const std::vector<std::string>& GetLoggingDirectories();
- 
-diff --git a/src/glog/platform.h b/src/glog/platform.h
-index e6144119..7893c45d 100644
---- a/src/glog/platform.h
-+++ b/src/glog/platform.h
-@@ -50,6 +50,8 @@
- #define GLOG_OS_NETBSD
- #elif defined(__OpenBSD__)
- #define GLOG_OS_OPENBSD
-+#elif defined(__EMSCRIPTEN__)
-+#define GLOG_OS_EMSCRIPTEN
- #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.
-diff --git a/src/logging.cc b/src/logging.cc
-index e65e80e9..1df1034a 100644
---- a/src/logging.cc
-+++ b/src/logging.cc
-@@ -2188,6 +2188,7 @@ void SetExitOnDFatal(bool value) {
- }  // namespace internal
- }  // namespace base
- 
-+#ifndef GLOG_OS_EMSCRIPTEN
- // Shell-escaping as we need to shell out ot /bin/mail.
- static const char kDontNeedShellEscapeChars[] =
-             "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
-@@ -2222,14 +2223,14 @@ static string ShellEscape(const string& src) {
-   }
-   return result;
- }
--
-+#endif
- 
- // use_logging controls whether the logging functions LOG/VLOG are used
- // to log errors.  It should be set to false when the caller holds the
- // log_mutex.
- static bool SendEmailInternal(const char*dest, const char *subject,
-                               const char*body, bool use_logging) {
--#ifndef __EMSCRIPTEN__
-+#ifndef GLOG_OS_EMSCRIPTEN
-   if (dest && *dest) {
-     if ( use_logging ) {
-       VLOG(1) << "Trying to send TITLE:" << subject
-@@ -2275,6 +2276,12 @@ static bool SendEmailInternal(const char*dest, const char *subject,
-       }
-     }
-   }
-+#else
-+  (void)dest;
-+  (void)subject;
-+  (void)body;
-+  (void)use_logging;
-+  LOG(WARNING) << "Email support not available; not sending message";
- #endif
-   return false;
- }
-diff --git a/src/raw_logging.cc b/src/raw_logging.cc
-index 43159832..befeac89 100644
---- a/src/raw_logging.cc
-+++ b/src/raw_logging.cc
-@@ -59,11 +59,12 @@
- # include <unistd.h>
- #endif
- 
--#if (defined(HAVE_SYSCALL_H) || defined(HAVE_SYS_SYSCALL_H)) && (!(defined(GLOG_OS_MACOSX)))
--# define safe_write(fd, s, len)  syscall(SYS_write, fd, s, len)
-+#if (defined(HAVE_SYSCALL_H) || defined(HAVE_SYS_SYSCALL_H)) && \
-+    (!(defined(GLOG_OS_MACOSX))) && !defined(GLOG_OS_EMSCRIPTEN)
-+#define safe_write(fd, s, len) syscall(SYS_write, fd, s, len)
- #else
--  // Not so safe, but what can you do?
--# define safe_write(fd, s, len)  write(fd, s, len)
-+// Not so safe, but what can you do?
-+#define safe_write(fd, s, len) write(fd, s, len)
- #endif
- 
- _START_GOOGLE_NAMESPACE_
-diff --git a/src/stacktrace_unwind-inl.h b/src/stacktrace_unwind-inl.h
-index fbb5f988..dc1665b4 100644
---- a/src/stacktrace_unwind-inl.h
-+++ b/src/stacktrace_unwind-inl.h
-@@ -73,7 +73,7 @@ static _Unwind_Reason_Code GetOneFrame(struct _Unwind_Context *uc, void *opq) {
-   if (targ->skip_count > 0) {
-     targ->skip_count--;
-   } else {
--    targ->result[targ->count++] = (void *) _Unwind_GetIP(uc);
-+    targ->result[targ->count++] = reinterpret_cast<void *>(_Unwind_GetIP(uc));
-   }
- 
-   if (targ->count == targ->max_depth) {
-diff --git a/src/symbolize.cc b/src/symbolize.cc
-index 51025018..f56e97c9 100644
---- a/src/symbolize.cc
-+++ b/src/symbolize.cc
-@@ -834,7 +834,7 @@ static ATTRIBUTE_NOINLINE bool SymbolizeAndDemangle(void *pc, char *out,
- 
- _END_GOOGLE_NAMESPACE_
- 
--#elif defined(GLOG_OS_MACOSX) && defined(HAVE_DLADDR)
-+#elif (defined(GLOG_OS_MACOSX) || defined(GLOG_OS_EMSCRIPTEN)) && defined(HAVE_DLADDR)
- 
- #include <dlfcn.h>
- #include <cstring>
-diff --git a/src/utilities.h b/src/utilities.h
-index bd0ec632..760c142c 100644
---- a/src/utilities.h
-+++ b/src/utilities.h
-@@ -88,7 +88,7 @@
- 
- #if defined(HAVE_LIB_UNWIND)
- # define STACKTRACE_H "stacktrace_libunwind-inl.h"
--#elif defined(HAVE__UNWIND_BACKTRACE)
-+#elif defined(HAVE__UNWIND_BACKTRACE) && defined(HAVE__UNWIND_GETIP)
- # define STACKTRACE_H "stacktrace_unwind-inl.h"
- #elif !defined(NO_FRAME_POINTER)
- # if defined(__i386__) && __GNUC__ >= 2
diff --git a/package/glog/Config.in b/package/glog/Config.in
index 3376323004..bbdd1e2151 100644
--- a/package/glog/Config.in
+++ b/package/glog/Config.in
@@ -1,13 +1,12 @@ 
 config BR2_PACKAGE_GLOG
 	bool "glog"
-	# __ELF__ not defined on Microblaze
-	depends on !BR2_microblaze
 	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_TOOLCHAIN_HAS_THREADS
 	help
 	  C++ implementation of the Google logging module
 
 	  https://github.com/google/glog
 
-comment "glog needs a toolchain w/ C++"
-	depends on !BR2_microblaze
-	depends on !BR2_INSTALL_LIBSTDCPP
+comment "glog needs a toolchain w/ C++, threads"
+	depends on !BR2_INSTALL_LIBSTDCPP || \
+		!BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/glog/glog.hash b/package/glog/glog.hash
index fab77c522b..fb0ea93979 100644
--- a/package/glog/glog.hash
+++ b/package/glog/glog.hash
@@ -1,5 +1,5 @@ 
 # Locally computed
-sha256  8a83bf982f37bb70825df71a9709fa90ea9f4447fb3c099e1d720a439d88bad6  glog-0.6.0.tar.gz
+sha256  375106b5976231b92e66879c1a92ce062923b9ae573c42b56ba28b112ee4cc11  glog-0.7.0.tar.gz
 
 # Hash for License file:
-sha256  0fc497129c5c69ff6f22da6933c7e4aaef082fde8437fd57680c2780100772a4  COPYING
+sha256  136d48dea7a681413691f3db3098f6cf5ffaa3119d96d97bb83b8cff3ce38c4a  COPYING
diff --git a/package/glog/glog.mk b/package/glog/glog.mk
index ddf71fd15a..4b3f39be3a 100644
--- a/package/glog/glog.mk
+++ b/package/glog/glog.mk
@@ -4,14 +4,12 @@ 
 #
 ################################################################################
 
-GLOG_VERSION = 0.6.0
+GLOG_VERSION = 0.7.0
 GLOG_SITE = $(call github,google,glog,v$(GLOG_VERSION))
 GLOG_INSTALL_STAGING = YES
 GLOG_LICENSE = BSD-3-Clause
 GLOG_LICENSE_FILES = COPYING
-GLOG_CONF_OPTS = \
-	-DWITH_GTEST=OFF \
-	$(if $(BR2_TOOLCHAIN_HAS_THREADS),-DWITH_THREADS=ON, -DWITH_THREADS=OFF)
+GLOG_CONF_OPTS = -DWITH_GTEST=OFF
 
 ifeq ($(BR2_PACKAGE_GFLAGS),y)
 GLOG_DEPENDENCIES += gflags