diff options
author | Loo Rong Jie <loorongjie@gmail.com> | 2018-07-27 08:14:11 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-07-27 08:15:37 -0700 |
commit | f0d57711d474d4b7ef4de2ee813f3c42e73bc162 (patch) | |
tree | c446d89e4a44c51393cc4a80e6e319fdf8392c7b /src/tools/singlejar | |
parent | 9d23d4da1038da55edb15ac8769087f9e737c047 (diff) |
[singlejar] cleanup port library
/cc @laszlocsomor
Closes #5655.
PiperOrigin-RevId: 206319221
Diffstat (limited to 'src/tools/singlejar')
-rw-r--r-- | src/tools/singlejar/BUILD | 1 | ||||
-rw-r--r-- | src/tools/singlejar/output_jar.h | 10 | ||||
-rw-r--r-- | src/tools/singlejar/port.cc | 2 | ||||
-rw-r--r-- | src/tools/singlejar/port.h | 19 |
4 files changed, 22 insertions, 10 deletions
diff --git a/src/tools/singlejar/BUILD b/src/tools/singlejar/BUILD index edf806bd95..0caba91565 100644 --- a/src/tools/singlejar/BUILD +++ b/src/tools/singlejar/BUILD @@ -401,6 +401,7 @@ cc_library( ":input_jar", ":mapped_file", ":options", + ":port", "//src/main/cpp/util", "//third_party/zlib", ], diff --git a/src/tools/singlejar/output_jar.h b/src/tools/singlejar/output_jar.h index 3f66d4081e..c3b0ec5a53 100644 --- a/src/tools/singlejar/output_jar.h +++ b/src/tools/singlejar/output_jar.h @@ -24,15 +24,13 @@ #include <unordered_map> #include <vector> +// Must be included before <io.h> (on Windows) and <fcntl.h>. +#include "src/tools/singlejar/port.h" +// Need newline so clang-format won't alpha-sort with other headers. + #include "src/tools/singlejar/combiners.h" #include "src/tools/singlejar/options.h" -#if defined(__APPLE__) -typedef off_t off64_t; -#elif defined(_WIN32) -typedef __int64 off64_t; -#endif - /* * Jar file we are writing. */ diff --git a/src/tools/singlejar/port.cc b/src/tools/singlejar/port.cc index 298eea173e..3b096784a0 100644 --- a/src/tools/singlejar/port.cc +++ b/src/tools/singlejar/port.cc @@ -18,7 +18,7 @@ #ifndef WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN -#endif +#endif // WIN32_LEAN_AND_MEAN #include <windows.h> ssize_t pread(int fd, void *buf, size_t count, off64_t offset) { diff --git a/src/tools/singlejar/port.h b/src/tools/singlejar/port.h index 8d244602d0..5e017397fa 100644 --- a/src/tools/singlejar/port.h +++ b/src/tools/singlejar/port.h @@ -21,11 +21,24 @@ #define _CRT_DECLARE_NONSTDC_NAMES 1 #include <fcntl.h> #include <io.h> +#endif // _WIN32 + #include <stddef.h> -#include <stdio.h> +#include <sys/stat.h> #include <sys/types.h> #include <time.h> +#if defined(__APPLE__) +typedef off_t off64_t; +#elif defined(_WIN32) +typedef __int64 off64_t; +#endif +static_assert(sizeof(off64_t) == 8, "File offset type must be 64-bit"); + +#ifdef _WIN32 + +#define F_OK 0 + #ifdef _WIN64 // MSVC by default defines stat and related functions to a version with 32-bit // st_size even for Win64. We want 64-bit st_size instead so that we can handle @@ -36,7 +49,7 @@ #define fstat _fstat64 #endif // _WIN64 -typedef ptrdiff ssize_t; +typedef ptrdiff_t ssize_t; // Various MSVC polyfills for POSIX functions. @@ -52,4 +65,4 @@ ssize_t pread(int fd, void* buf, size_t count, off64_t offset); #endif // _WIN32 -#endif // BAZEL_SRC_TOOLS_SINGLEJAR_PORT_H_ +#endif // BAZEL_SRC_TOOLS_SINGLEJAR_PORT_H_ |