This is an automated email from the ASF dual-hosted git repository.
kou pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow.git
The following commit(s) were added to refs/heads/master by this push:
new 8c8ff6f ARROW-4287: [C++] Ensure minimal bison version on OSX for
Thrift
8c8ff6f is described below
commit 8c8ff6ff4777d695a3f101e6fe40c84d16f9b491
Author: Uwe L. Korn <[email protected]>
AuthorDate: Mon Jan 21 05:23:42 2019 +0900
ARROW-4287: [C++] Ensure minimal bison version on OSX for Thrift
Author: Uwe L. Korn <[email protected]>
Author: Korn, Uwe <[email protected]>
Closes #3427 from xhochy/ARROW-4287 and squashes the following commits:
64a740a4 <Uwe L. Korn> Simplify searching for brew
027e5e8e <Korn, Uwe> ARROW-4287: Ensure minimal bison version on OSX for
Thrift
---
cpp/cmake_modules/ThirdpartyToolchain.cmake | 27 ++++++++++++++++++++++++---
1 file changed, 24 insertions(+), 3 deletions(-)
diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake
b/cpp/cmake_modules/ThirdpartyToolchain.cmake
index 5a8c28f..b33848f 100644
--- a/cpp/cmake_modules/ThirdpartyToolchain.cmake
+++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake
@@ -1428,10 +1428,31 @@ if (NOT THRIFT_FOUND)
"-DWITH_PLUGIN=OFF"
${THRIFT_CMAKE_ARGS})
elseif (APPLE)
- if (DEFINED BISON_EXECUTABLE)
- set(THRIFT_CMAKE_ARGS "-DBISON_EXECUTABLE=${BISON_EXECUTABLE}"
- ${THRIFT_CMAKE_ARGS})
+ # Some other process always resets BISON_EXECUTABLE to the system default,
+ # thus we use our own variable here.
+ if (NOT DEFINED THRIFT_BISON_EXECUTABLE)
+ find_package(BISON 2.5.1)
+
+ # In the case where we cannot find a system-wide installation, look for
+ # homebrew and ask for its bison installation.
+ if (NOT BISON_FOUND)
+ find_program(BREW_BIN brew)
+ if (BREW_BIN)
+ execute_process(
+ COMMAND ${BREW_BIN} --prefix bison
+ OUTPUT_VARIABLE BISON_PREFIX
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+ set(BISON_EXECUTABLE "${BISON_PREFIX}/bin/bison")
+ find_package(BISON 2.5.1)
+ set(THRIFT_BISON_EXECUTABLE "${BISON_EXECUTABLE}")
+ endif()
+ else()
+ set(THRIFT_BISON_EXECUTABLE "${BISON_EXECUTABLE}")
+ endif()
endif()
+ set(THRIFT_CMAKE_ARGS "-DBISON_EXECUTABLE=${THRIFT_BISON_EXECUTABLE}"
+ ${THRIFT_CMAKE_ARGS})
endif()
ExternalProject_Add(thrift_ep