[Cmake-commits] CMake branch, master, updated. v3.15.3-1150-g3d1fb99

Kitware Robot kwrobot at kitware.com
Mon Sep 23 10:42:03 EDT 2019


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, master has been updated
       via  3d1fb997e5322d6b6e7c4b0b467792995428ebb7 (commit)
       via  ba315f2035bc048068b36ae22cc3e2c4bbc19d21 (commit)
       via  5ffb2dbff65bdd5db713ba0c177cecc122cac0d8 (commit)
       via  1059f9a96da377af771fe643abc1d060db6d64bb (commit)
      from  aebb1af7a2ca9c20b6ed5bbb4dc1fed233223481 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3d1fb997e5322d6b6e7c4b0b467792995428ebb7
commit 3d1fb997e5322d6b6e7c4b0b467792995428ebb7
Merge: aebb1af ba315f2
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Sep 23 14:32:30 2019 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Mon Sep 23 10:32:42 2019 -0400

    Merge topic 'HP-UX_Port_GCC'
    
    ba315f2035 bootstrap: Require GCC 4.9 or higher on HP-UX
    5ffb2dbff6 libuv: Add partial port to HP-UX
    1059f9a96d jsoncpp: Fix compilation on HP-UX 11.31 ia64 with GCC 4.9.3
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !3508


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ba315f2035bc048068b36ae22cc3e2c4bbc19d21
commit ba315f2035bc048068b36ae22cc3e2c4bbc19d21
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Fri Sep 20 10:15:23 2019 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Fri Sep 20 10:30:01 2019 -0400

    bootstrap: Require GCC 4.9 or higher on HP-UX
    
    Revise for future removal of the early rejection checks on HP-UX.
    Our code may now work with GCC 4.9 on HP-UX when manually using
    `env CXXFLAGS=-D_GLIBCXX_USE_C99` to make the C++11 `std::to_string`
    available on this platform.  However, without nightly testing we
    cannot officially enable support for the platform.
    
    Issue: #17137
    Co-Author: Earle Lowe <elowe at elowe.com>

diff --git a/bootstrap b/bootstrap
index ded4637..4f387bc 100755
--- a/bootstrap
+++ b/bootstrap
@@ -1059,6 +1059,10 @@ echo '
 #error "On Solaris we need C99."
 #endif
 
+#if defined(__hpux) && !(defined(__GNUC__) && ((__GNUC__ * 100) + __GNUC_MINOR__) >= 409)
+#error "On HP-UX we need GCC 4.9 or higher."
+#endif
+
 #include <stdio.h>
 
 int main(int argc, char* argv[])
@@ -1127,6 +1131,10 @@ echo '
 #error "SunPro <= 5.13 mode not supported due to bug in move semantics."
 #endif
 
+#if defined(__hpux) && !(defined(__GNUC__) && ((__GNUC__ * 100) + __GNUC_MINOR__) >= 409)
+#error "On HP-UX we need GCC 4.9 or higher."
+#endif
+
 #if __cplusplus > 201103L
 #include <iterator>
 int check_cxx14()

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5ffb2dbff65bdd5db713ba0c177cecc122cac0d8
commit 5ffb2dbff65bdd5db713ba0c177cecc122cac0d8
Author:     Earle Lowe <elowe at elowe.com>
AuthorDate: Tue Jul 2 18:20:41 2019 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Fri Sep 20 10:30:01 2019 -0400

    libuv: Add partial port to HP-UX
    
    Port enough of libuv to HP-UX 11.31 ia64 with GCC 4.9.3 to work for
    CMake.

diff --git a/Utilities/cmlibuv/CMakeLists.txt b/Utilities/cmlibuv/CMakeLists.txt
index 2e781f1..fe2ef75 100644
--- a/Utilities/cmlibuv/CMakeLists.txt
+++ b/Utilities/cmlibuv/CMakeLists.txt
@@ -300,6 +300,23 @@ if(CMAKE_SYSTEM_NAME STREQUAL "SunOS")
     )
 endif()
 
+if(CMAKE_SYSTEM_NAME STREQUAL "HP-UX")
+  list(APPEND uv_libraries
+    rt
+    )
+  list(APPEND uv_headers
+    include/uv/posix.h
+    )
+  list(APPEND uv_defines
+    _XOPEN_SOURCE_EXTENDED
+    )
+  list(APPEND uv_sources
+    src/unix/hpux.c
+    src/unix/no-fsevents.c
+    src/unix/posix-poll.c
+    )
+endif()
+
 include_directories(
   ${uv_includes}
   ${KWSYS_HEADER_ROOT}
diff --git a/Utilities/cmlibuv/include/uv/unix.h b/Utilities/cmlibuv/include/uv/unix.h
index 011abcf..4e26108 100644
--- a/Utilities/cmlibuv/include/uv/unix.h
+++ b/Utilities/cmlibuv/include/uv/unix.h
@@ -55,6 +55,8 @@
 # include "aix.h"
 #elif defined(__sun)
 # include "sunos.h"
+#elif defined(__hpux)
+# include "posix.h"
 #elif defined(__APPLE__)
 # include "darwin.h"
 #elif defined(__DragonFly__)       || \
diff --git a/Utilities/cmlibuv/src/unix/core.c b/Utilities/cmlibuv/src/unix/core.c
index 93df7af..cf7dea0 100644
--- a/Utilities/cmlibuv/src/unix/core.c
+++ b/Utilities/cmlibuv/src/unix/core.c
@@ -587,7 +587,7 @@ int uv__nonblock_ioctl(int fd, int set) {
 }
 
 
-#if !defined(__CYGWIN__) && !defined(__MSYS__) && !defined(__HAIKU__)
+#if !defined(__hpux) && !defined(__CYGWIN__) && !defined(__MSYS__) && !defined(__HAIKU__)
 int uv__cloexec_ioctl(int fd, int set) {
   int r;
 
diff --git a/Utilities/cmlibuv/src/unix/fs.c b/Utilities/cmlibuv/src/unix/fs.c
index 3023b1e..5fb34f1b 100644
--- a/Utilities/cmlibuv/src/unix/fs.c
+++ b/Utilities/cmlibuv/src/unix/fs.c
@@ -234,7 +234,7 @@ static ssize_t uv__fs_futime(uv_fs_t* req) {
 #endif
 }
 
-#if defined(__sun) && (_XOPEN_SOURCE < 600 || defined(CMAKE_BOOTSTRAP))
+#if (defined(__sun) || defined(__hpux)) && (_XOPEN_SOURCE < 600 || defined(CMAKE_BOOTSTRAP))
 static char* uv__mkdtemp(char *template)
 {
   if (!mktemp(template) || mkdir(template, 0700))
diff --git a/Utilities/cmlibuv/src/unix/posix-hrtime.c b/Utilities/cmlibuv/src/unix/hpux.c
similarity index 63%
copy from Utilities/cmlibuv/src/unix/posix-hrtime.c
copy to Utilities/cmlibuv/src/unix/hpux.c
index a264250..4d3f628 100644
--- a/Utilities/cmlibuv/src/unix/posix-hrtime.c
+++ b/Utilities/cmlibuv/src/unix/hpux.c
@@ -22,39 +22,9 @@
 #include "uv.h"
 #include "internal.h"
 
-#if defined(__APPLE__)
-/* Special case for CMake bootstrap: no clock_gettime on macOS < 10.12 */
-
-#ifndef CMAKE_BOOTSTRAP
-#error "This code path meant only for use during CMake bootstrap."
-#endif
-
-#include <mach/mach.h>
-#include <mach/mach_time.h>
-
-uint64_t uv__hrtime(uv_clocktype_t type) {
-  static mach_timebase_info_data_t info;
-
-  if ((ACCESS_ONCE(uint32_t, info.numer) == 0 ||
-       ACCESS_ONCE(uint32_t, info.denom) == 0) &&
-      mach_timebase_info(&info) != KERN_SUCCESS)
-    abort();
-
-  return mach_absolute_time() * info.numer / info.denom;
-}
-
-#else
-
 #include <stdint.h>
 #include <time.h>
 
-#undef NANOSEC
-#define NANOSEC ((uint64_t) 1e9)
-
 uint64_t uv__hrtime(uv_clocktype_t type) {
-  struct timespec ts;
-  clock_gettime(CLOCK_MONOTONIC, &ts);
-  return (((uint64_t) ts.tv_sec) * NANOSEC + ts.tv_nsec);
+  return (uint64_t) gethrtime();
 }
-
-#endif
diff --git a/Utilities/cmlibuv/src/unix/posix-hrtime.c b/Utilities/cmlibuv/src/unix/posix-hrtime.c
index a264250..870b45c 100644
--- a/Utilities/cmlibuv/src/unix/posix-hrtime.c
+++ b/Utilities/cmlibuv/src/unix/posix-hrtime.c
@@ -43,6 +43,20 @@ uint64_t uv__hrtime(uv_clocktype_t type) {
   return mach_absolute_time() * info.numer / info.denom;
 }
 
+#elif defined(__hpux)
+/* Special case for CMake bootstrap: no CLOCK_MONOTONIC on HP-UX */
+
+#ifndef CMAKE_BOOTSTRAP
+#error "This code path meant only for use during CMake bootstrap."
+#endif
+
+#include <stdint.h>
+#include <time.h>
+
+uint64_t uv__hrtime(uv_clocktype_t type) {
+  return (uint64_t) gethrtime();
+}
+
 #else
 
 #include <stdint.h>
diff --git a/Utilities/cmlibuv/src/unix/thread.c b/Utilities/cmlibuv/src/unix/thread.c
index cd0b7aa..0453221 100644
--- a/Utilities/cmlibuv/src/unix/thread.c
+++ b/Utilities/cmlibuv/src/unix/thread.c
@@ -700,7 +700,7 @@ int uv_cond_init(uv_cond_t* cond) {
   if (err)
     return UV__ERR(err);
 
-#if !(defined(__ANDROID_API__) && __ANDROID_API__ < 21)
+#if !(defined(__ANDROID_API__) && __ANDROID_API__ < 21) && !defined(__hpux)
   err = pthread_condattr_setclock(&attr, CLOCK_MONOTONIC);
   if (err)
     goto error2;
diff --git a/Utilities/cmlibuv/src/unix/tty.c b/Utilities/cmlibuv/src/unix/tty.c
index b8bc283..db479d6 100644
--- a/Utilities/cmlibuv/src/unix/tty.c
+++ b/Utilities/cmlibuv/src/unix/tty.c
@@ -200,7 +200,7 @@ skip:
 static void uv__tty_make_raw(struct termios* tio) {
   assert(tio != NULL);
 
-#if defined __sun || defined __MVS__
+#if defined __sun || defined __MVS__ || defined __hpux
   /*
    * This implementation of cfmakeraw for Solaris and derivatives is taken from
    * http://www.perkin.org.uk/posts/solaris-portability-cfmakeraw.html.
diff --git a/bootstrap b/bootstrap
index ca5441f..ded4637 100755
--- a/bootstrap
+++ b/bootstrap
@@ -1435,6 +1435,9 @@ else
     *Darwin*)
       uv_c_flags="${uv_c_flags} -D_DARWIN_USE_64_BIT_INODE=1 -D_DARWIN_UNLIMITED_SELECT=1"
       ;;
+    *HP-UX*)
+      uv_c_flags="${uv_c_flags} -D_XOPEN_SOURCE_EXTENDED"
+      ;;
     *Linux*)
       uv_c_flags="${uv_c_flags} -D_GNU_SOURCE"
       libs="${libs} -ldl -lrt"

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1059f9a96da377af771fe643abc1d060db6d64bb
commit 1059f9a96da377af771fe643abc1d060db6d64bb
Author:     Earle Lowe <elowe at elowe.com>
AuthorDate: Tue Jul 2 18:20:41 2019 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Fri Sep 20 10:30:01 2019 -0400

    jsoncpp: Fix compilation on HP-UX 11.31 ia64 with GCC 4.9.3
    
    In particular, fix the `isfinite` definition.

diff --git a/Utilities/cmjsoncpp/src/lib_json/json_writer.cpp b/Utilities/cmjsoncpp/src/lib_json/json_writer.cpp
index 6e6e57e..fc86505 100644
--- a/Utilities/cmjsoncpp/src/lib_json/json_writer.cpp
+++ b/Utilities/cmjsoncpp/src/lib_json/json_writer.cpp
@@ -30,7 +30,7 @@
 #define isfinite finite
 #endif
 #elif defined(__hpux)
-#if !defined(isfinite)
+#if !defined(isfinite) && !defined(__GNUC__)
 #if defined(__ia64) && !defined(finite)
 #define isfinite(x) ((sizeof(x) == sizeof(float) ? \
                      _Isfinitef(x) : _IsFinite(x)))
@@ -86,10 +86,11 @@
 // HP-UX
 #if defined(__hpux)
 # if !defined(isfinite)
-#  if defined(__ia64) && !defined(finite)
+#  if defined(__ia64) && !defined(finite) && !defined(__GNUC__)
 #   define isfinite(x) ((sizeof(x) == sizeof(float) ? \
                         _Isfinitef(x) : _Isfinite(x)))
 #  else
+#   include <math.h>
 #   define isfinite finite
 #  endif
 # endif

-----------------------------------------------------------------------

Summary of changes:
 Utilities/cmjsoncpp/src/lib_json/json_writer.cpp        |  5 +++--
 Utilities/cmlibuv/CMakeLists.txt                        | 17 +++++++++++++++++
 Utilities/cmlibuv/include/uv/unix.h                     |  2 ++
 Utilities/cmlibuv/src/unix/core.c                       |  2 +-
 Utilities/cmlibuv/src/unix/fs.c                         |  2 +-
 .../cmlibuv/src/unix/{sysinfo-loadavg.c => hpux.c}      | 12 +++---------
 Utilities/cmlibuv/src/unix/posix-hrtime.c               | 14 ++++++++++++++
 Utilities/cmlibuv/src/unix/thread.c                     |  2 +-
 Utilities/cmlibuv/src/unix/tty.c                        |  2 +-
 bootstrap                                               | 11 +++++++++++
 10 files changed, 54 insertions(+), 15 deletions(-)
 copy Utilities/cmlibuv/src/unix/{sysinfo-loadavg.c => hpux.c} (82%)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list