mirror of
https://github.com/apache/impala.git
synced 2026-01-07 18:02:33 -05:00
This change removes the option to build without specifying the environment variable $IMPALA_TOOLCHAIN. By default, if it's not set, sourcing impala-config.sh will set it to $IMPALA_HOME/toolchain. A user can override it by setting $IMPALA_TOOLCHAIN to his/her own toolchain directory. The user can also set $SKIP_TOOLCHAIN_BOOTSTRAP to true to avoid running the toolchain bootstrapping script (e.g. a particular component in toolchain is at a version not checked into S3). $IMPALA_TOOLCHAIN holds some third party binaries which Impala relies on. They can be compiled from source in the native toolchain which is public. This commit also removes build_thirdparty.sh as it's no longer used. By default, Impala will be built with the compiler in $IMPALA_TOOLCHAIN but this option can be overridden by setting environment variable $USE_SYSTEM_GCC to 1. Change-Id: I42b60e99fb9caf1294be7ab242856ca3b9a5ab73 Reviewed-on: http://gerrit.cloudera.org:8080/3259 Reviewed-by: Michael Ho <kwho@cloudera.com> Tested-by: Michael Ho <kwho@cloudera.com>
35 lines
1.4 KiB
CMake
35 lines
1.4 KiB
CMake
# Copyright 2015 Cloudera Inc.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
# Set the root directory for the toolchain
|
|
set(TOOLCHAIN_ROOT $ENV{IMPALA_TOOLCHAIN})
|
|
|
|
if($ENV{USE_SYSTEM_GCC} EQUAL "0")
|
|
# If Impala is built with the GCC from the toolchain, change compiler and link paths
|
|
set(GCC_ROOT $ENV{IMPALA_TOOLCHAIN}/gcc-$ENV{IMPALA_GCC_VERSION})
|
|
set(CMAKE_C_COMPILER ${GCC_ROOT}/bin/gcc)
|
|
set(CMAKE_CXX_COMPILER ${GCC_ROOT}/bin/g++)
|
|
|
|
# The rpath is needed to be able to run the binaries produced by the toolchain without
|
|
# specifying an LD_LIBRARY_PATH
|
|
set(TOOLCHAIN_LINK_FLAGS "-Wl,-rpath,${GCC_ROOT}/lib64")
|
|
set(TOOLCHAIN_LINK_FLAGS "${TOOLCHAIN_LINK_FLAGS} -L${GCC_ROOT}/lib64")
|
|
endif()
|
|
|
|
if(NOT $ENV{IMPALA_CXX_COMPILER} STREQUAL "default")
|
|
set(CMAKE_CXX_COMPILER $ENV{IMPALA_CXX_COMPILER})
|
|
endif()
|
|
|
|
message(STATUS "Setup toolchain link flags ${TOOLCHAIN_LINK_FLAGS}")
|