diff options
-rw-r--r-- | src/nvim/if_cscope.c | 21 | ||||
-rw-r--r-- | third-party/CMakeLists.txt | 10 | ||||
-rw-r--r-- | third-party/cmake/BuildLibtermkey.cmake | 1 | ||||
-rw-r--r-- | third-party/cmake/BuildLibvterm.cmake | 7 | ||||
-rw-r--r-- | third-party/cmake/BuildLuarocks.cmake | 20 | ||||
-rw-r--r-- | third-party/cmake/BuildUnibilium.cmake | 1 |
6 files changed, 42 insertions, 18 deletions
diff --git a/src/nvim/if_cscope.c b/src/nvim/if_cscope.c index 5c3dfb0caf..b78b56562c 100644 --- a/src/nvim/if_cscope.c +++ b/src/nvim/if_cscope.c @@ -1689,8 +1689,15 @@ static int cs_read_prompt(size_t i) assert(IOSIZE >= cs_emsg_len); size_t maxlen = IOSIZE - cs_emsg_len; - for (;; ) { - while ((ch = getc(csinfo[i].fr_fp)) != EOF && ch != CSCOPE_PROMPT[0]) { + while (1) { + while (1) { + do { + errno = 0; + ch = fgetc(csinfo[i].fr_fp); + } while (ch == EOF && errno == EINTR && ferror(csinfo[i].fr_fp)); + if (ch == EOF || ch == CSCOPE_PROMPT[0]) { + break; + } // if there is room and char is printable if (bufpos < maxlen - 1 && vim_isprintc(ch)) { // lazy buffer allocation @@ -1719,9 +1726,13 @@ static int cs_read_prompt(size_t i) } } - for (size_t n = 0; n < strlen(CSCOPE_PROMPT); ++n) { - if (n > 0) - ch = (char)getc(csinfo[i].fr_fp); + for (size_t n = 0; n < strlen(CSCOPE_PROMPT); n++) { + if (n > 0) { + do { + errno = 0; + ch = fgetc(csinfo[i].fr_fp); + } while (ch == EOF && errno == EINTR && ferror(csinfo[i].fr_fp)); + } if (ch == EOF) { PERROR("cs_read_prompt EOF"); if (buf != NULL && buf[0] != NUL) diff --git a/third-party/CMakeLists.txt b/third-party/CMakeLists.txt index ceebb4cf1d..c523ecea00 100644 --- a/third-party/CMakeLists.txt +++ b/third-party/CMakeLists.txt @@ -2,6 +2,9 @@ cmake_minimum_required (VERSION 2.8.7) project(NVIM_DEPS) +# Needed for: check_c_compiler_flag() +include(CheckCCompilerFlag) + # Point CMake at any custom modules we may ship list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake") @@ -11,6 +14,13 @@ if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE Release) endif() +set(DEFAULT_MAKE_CFLAGS CFLAGS+=-g) + +check_c_compiler_flag(-Og HAS_OG_FLAG) +if(HAS_OG_FLAG) + set(DEFAULT_MAKE_CFLAGS CFLAGS+=-Og ${DEFAULT_MAKE_CFLAGS}) +endif() + set(DEPS_INSTALL_DIR "${CMAKE_BINARY_DIR}/usr" CACHE PATH "Dependencies install directory.") set(DEPS_BIN_DIR "${DEPS_INSTALL_DIR}/bin" CACHE PATH "Dependencies binary install directory.") set(DEPS_LIB_DIR "${DEPS_INSTALL_DIR}/lib" CACHE PATH "Dependencies library install directory.") diff --git a/third-party/cmake/BuildLibtermkey.cmake b/third-party/cmake/BuildLibtermkey.cmake index 4b581c2a01..bc4db4c9b1 100644 --- a/third-party/cmake/BuildLibtermkey.cmake +++ b/third-party/cmake/BuildLibtermkey.cmake @@ -43,6 +43,7 @@ ExternalProject_Add(libtermkey PREFIX=${DEPS_INSTALL_DIR} PKG_CONFIG_PATH=${DEPS_LIB_DIR}/pkgconfig CFLAGS=-fPIC + ${DEFAULT_MAKE_CFLAGS} install) endif() diff --git a/third-party/cmake/BuildLibvterm.cmake b/third-party/cmake/BuildLibvterm.cmake index 5ea8314da5..12e8fdd7d0 100644 --- a/third-party/cmake/BuildLibvterm.cmake +++ b/third-party/cmake/BuildLibvterm.cmake @@ -47,9 +47,10 @@ if(WIN32) set(LIBVTERM_INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install --config ${CMAKE_BUILD_TYPE}) else() set(LIBVTERM_INSTALL_COMMAND ${MAKE_PRG} CC=${DEPS_C_COMPILER} - PREFIX=${DEPS_INSTALL_DIR} - CFLAGS=-fPIC - install) + PREFIX=${DEPS_INSTALL_DIR} + CFLAGS=-fPIC + ${DEFAULT_MAKE_CFLAGS} + install) endif() BuildLibvterm(CONFIGURE_COMMAND ${LIBVTERM_CONFIGURE_COMMAND} diff --git a/third-party/cmake/BuildLuarocks.cmake b/third-party/cmake/BuildLuarocks.cmake index 2d9c77ff97..2a59ad3b46 100644 --- a/third-party/cmake/BuildLuarocks.cmake +++ b/third-party/cmake/BuildLuarocks.cmake @@ -104,7 +104,7 @@ endif() # DEPENDS on the previous module, because Luarocks breaks if parallel. add_custom_command(OUTPUT ${HOSTDEPS_LIB_DIR}/luarocks/rocks/mpack COMMAND ${LUAROCKS_BINARY} - ARGS build mpack ${LUAROCKS_BUILDARGS} + ARGS build mpack 1.0.7-0 ${LUAROCKS_BUILDARGS} DEPENDS luarocks) add_custom_target(mpack DEPENDS ${HOSTDEPS_LIB_DIR}/luarocks/rocks/mpack) @@ -113,7 +113,7 @@ list(APPEND THIRD_PARTY_DEPS mpack) # DEPENDS on the previous module, because Luarocks breaks if parallel. add_custom_command(OUTPUT ${HOSTDEPS_LIB_DIR}/luarocks/rocks/lpeg COMMAND ${LUAROCKS_BINARY} - ARGS build lpeg ${LUAROCKS_BUILDARGS} + ARGS build lpeg 1.0.1-1 ${LUAROCKS_BUILDARGS} DEPENDS mpack) add_custom_target(lpeg DEPENDS ${HOSTDEPS_LIB_DIR}/luarocks/rocks/lpeg) @@ -123,7 +123,7 @@ list(APPEND THIRD_PARTY_DEPS lpeg) # DEPENDS on the previous module, because Luarocks breaks if parallel. add_custom_command(OUTPUT ${HOSTDEPS_LIB_DIR}/luarocks/rocks/inspect COMMAND ${LUAROCKS_BINARY} - ARGS build inspect ${LUAROCKS_BUILDARGS} + ARGS build inspect 3.1.1-0 ${LUAROCKS_BUILDARGS} DEPENDS lpeg) add_custom_target(inspect DEPENDS ${HOSTDEPS_LIB_DIR}/luarocks/rocks/inspect) @@ -134,7 +134,7 @@ if((NOT USE_BUNDLED_LUAJIT) AND USE_BUNDLED_LUA) # DEPENDS on the previous module, because Luarocks breaks if parallel. add_custom_command(OUTPUT ${HOSTDEPS_LIB_DIR}/luarocks/rocks/luabitop COMMAND ${LUAROCKS_BINARY} - ARGS build luabitop ${LUAROCKS_BUILDARGS} + ARGS build luabitop 1.0.2-3 ${LUAROCKS_BUILDARGS} DEPENDS inspect) add_custom_target(luabitop DEPENDS ${HOSTDEPS_LIB_DIR}/luarocks/rocks/luabitop) @@ -150,12 +150,12 @@ if(USE_BUNDLED_BUSTED) endif() # DEPENDS on the previous module, because Luarocks breaks if parallel. - add_custom_command(OUTPUT ${HOSTDEPS_LIB_DIR}/luarocks/rocks/penlight/1.3.2-2 + add_custom_command(OUTPUT ${HOSTDEPS_LIB_DIR}/luarocks/rocks/penlight COMMAND ${LUAROCKS_BINARY} - ARGS build penlight 1.3.2-2 ${LUAROCKS_BUILDARGS} + ARGS build penlight 1.5.4-1 ${LUAROCKS_BUILDARGS} DEPENDS ${PENLIGHT_DEPENDS}) add_custom_target(penlight - DEPENDS ${HOSTDEPS_LIB_DIR}/luarocks/rocks/penlight/1.3.2-2) + DEPENDS ${HOSTDEPS_LIB_DIR}/luarocks/rocks/penlight) if(WIN32) set(BUSTED_EXE "${HOSTDEPS_BIN_DIR}/busted.bat") @@ -167,7 +167,7 @@ if(USE_BUNDLED_BUSTED) # DEPENDS on the previous module, because Luarocks breaks if parallel. add_custom_command(OUTPUT ${BUSTED_EXE} COMMAND ${LUAROCKS_BINARY} - ARGS build https://raw.githubusercontent.com/Olivine-Labs/busted/v2.0.rc12-1/busted-2.0.rc12-1.rockspec ${LUAROCKS_BUILDARGS} + ARGS build busted 2.0.rc12-1 ${LUAROCKS_BUILDARGS} DEPENDS penlight) add_custom_target(busted DEPENDS ${BUSTED_EXE}) @@ -175,7 +175,7 @@ if(USE_BUNDLED_BUSTED) # DEPENDS on the previous module, because Luarocks breaks if parallel. add_custom_command(OUTPUT ${LUACHECK_EXE} COMMAND ${LUAROCKS_BINARY} - ARGS build https://raw.githubusercontent.com/mpeterv/luacheck/master/luacheck-dev-1.rockspec ${LUAROCKS_BUILDARGS} + ARGS build luacheck 0.21.2-1 ${LUAROCKS_BUILDARGS} DEPENDS busted) add_custom_target(luacheck DEPENDS ${LUACHECK_EXE}) @@ -200,7 +200,7 @@ if(USE_BUNDLED_BUSTED) # DEPENDS on the previous module, because Luarocks breaks if parallel. add_custom_command(OUTPUT ${HOSTDEPS_LIB_DIR}/luarocks/rocks/nvim-client COMMAND ${LUAROCKS_BINARY} - ARGS build https://raw.githubusercontent.com/neovim/lua-client/0.0.1-26/nvim-client-0.0.1-26.rockspec ${LUAROCKS_BUILDARGS} + ARGS build nvim-client 0.0.1-26 ${LUAROCKS_BUILDARGS} DEPENDS luv) add_custom_target(nvim-client DEPENDS ${HOSTDEPS_LIB_DIR}/luarocks/rocks/nvim-client) diff --git a/third-party/cmake/BuildUnibilium.cmake b/third-party/cmake/BuildUnibilium.cmake index a5ec6c01eb..a1b9a39bb6 100644 --- a/third-party/cmake/BuildUnibilium.cmake +++ b/third-party/cmake/BuildUnibilium.cmake @@ -20,6 +20,7 @@ ExternalProject_Add(unibilium BUILD_COMMAND ${MAKE_PRG} CC=${DEPS_C_COMPILER} PREFIX=${DEPS_INSTALL_DIR} CFLAGS=-fPIC + ${DEFAULT_MAKE_CFLAGS} INSTALL_COMMAND ${MAKE_PRG} PREFIX=${DEPS_INSTALL_DIR} install) list(APPEND THIRD_PARTY_DEPS unibilium) |