From 056633514fcb735f2a11a1354d71896262e1b92c Mon Sep 17 00:00:00 2001 From: Vasili Skurydzin Date: Wed, 1 Aug 2018 12:31:42 -0400 Subject: Port to AIX platform. Taking care of printf format specifiers and large files using compiler macros in configure.py --- configure.py | 5 +++++ src/disk_interface.cc | 2 ++ 2 files changed, 7 insertions(+) diff --git a/configure.py b/configure.py index 9e23a5a..5841f8d 100755 --- a/configure.py +++ b/configure.py @@ -356,6 +356,11 @@ else: if platform.uses_usr_local(): cflags.append('-I/usr/local/include') ldflags.append('-L/usr/local/lib') + if platform.is_aix(): + # printf formats for int64_t, uint64_t; large file support + cflags.append('-D__STDC_FORMAT_MACROS') + cflags.append('-D_LARGE_FILES') + libs = [] diff --git a/src/disk_interface.cc b/src/disk_interface.cc index 504c679..3fe35fe 100644 --- a/src/disk_interface.cc +++ b/src/disk_interface.cc @@ -212,6 +212,8 @@ TimeStamp RealDiskInterface::Stat(const string& path, string* err) const { // For bionic, C and POSIX API is always enabled. // For solaris, see https://docs.oracle.com/cd/E88353_01/html/E37841/stat-2.html. return (int64_t)st.st_mtim.tv_sec * 1000000000LL + st.st_mtim.tv_nsec; +#elif defined(_AIX) + return (int64_t)st.st_mtime * 1000000000LL + st.st_mtime_n; #else return (int64_t)st.st_mtime * 1000000000LL + st.st_mtimensec; #endif -- cgit v0.12