diff options
author | Kevin Adler <kadler@us.ibm.com> | 2020-11-02 17:21:17 (GMT) |
---|---|---|
committer | Kevin Adler <kadler@us.ibm.com> | 2020-11-13 21:40:51 (GMT) |
commit | 1cb029b33cefe5a5937ca446a00528787f5bafe4 (patch) | |
tree | da0a09e49cdd8ecebc404a9f7503e3be52f79e57 | |
parent | 3094b5c289b418b31e63ad2e7f52a38cf64e3dfc (diff) | |
download | Ninja-1cb029b33cefe5a5937ca446a00528787f5bafe4.zip Ninja-1cb029b33cefe5a5937ca446a00528787f5bafe4.tar.gz Ninja-1cb029b33cefe5a5937ca446a00528787f5bafe4.tar.bz2 |
Use internal getopt for IBM i and AIX
-rw-r--r-- | CMakeLists.txt | 10 | ||||
-rw-r--r-- | src/manifest_parser_perftest.cc | 3 |
2 files changed, 9 insertions, 4 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index e02849d..efc4090 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -112,6 +112,9 @@ if(WIN32) endif() else() target_sources(libninja PRIVATE src/subprocess-posix.cc) + if(CMAKE_SYSTEM_NAME STREQUAL "OS400" OR CMAKE_SYSTEM_NAME STREQUAL "AIX") + target_sources(libninja PRIVATE src/getopt.c) + endif() endif() #Fixes GetActiveProcessorCount on MinGW @@ -119,11 +122,10 @@ if(MINGW) target_compile_definitions(libninja PRIVATE _WIN32_WINNT=0x0601 __USE_MINGW_ANSI_STDIO=1) endif() -# On IBM i (identified as "OS400" for compatibility reasons), this fixes missing -# PRId64 (and others) at compile time, and links to libutil for getopt_long -if(CMAKE_SYSTEM_NAME STREQUAL "OS400") +# On IBM i (identified as "OS400" for compatibility reasons) and AIX, this fixes missing +# PRId64 (and others) at compile time in C++ sources +if(CMAKE_SYSTEM_NAME STREQUAL "OS400" OR CMAKE_SYSTEM_NAME STREQUAL "AIX") string(APPEND CMAKE_CXX_FLAGS " -D__STDC_FORMAT_MACROS") - string(APPEND CMAKE_EXE_LINKER_FLAGS " -lutil") endif() # Main executable is library plus main() function. diff --git a/src/manifest_parser_perftest.cc b/src/manifest_parser_perftest.cc index 92f5e13..853d8e0 100644 --- a/src/manifest_parser_perftest.cc +++ b/src/manifest_parser_perftest.cc @@ -25,6 +25,9 @@ #ifdef _WIN32 #include "getopt.h" #include <direct.h> +#elif defined(_AIX) +#include "getopt.h" +#include <unistd.h> #else #include <getopt.h> #include <unistd.h> |