Configurable CC/CXX compiler toolchain in Dockerfiles. (#1402)
Allows to build Docker images with Clang.master
							parent
							
								
									01af348100
								
							
						
					
					
						commit
						aaa8a9a652
					
				|  | @ -22,14 +22,15 @@ cache: | |||
|     - /home/travis/docker/ | ||||
| 
 | ||||
| env: | ||||
|   - LSB_RELEASE=trusty DOCKER_CACHE_FILE=/home/travis/docker/trusty-cache.tar.gz | ||||
|   - LSB_RELEASE=xenial DOCKER_CACHE_FILE=/home/travis/docker/xenial-cache.tar.gz | ||||
|   - LSB_RELEASE=jessie DOCKER_CACHE_FILE=/home/travis/docker/jessie-cache.tar.gz | ||||
|   - LSB_RELEASE=stretch DOCKER_CACHE_FILE=/home/travis/docker/stretch-cache.tar.gz | ||||
|   - LSB_RELEASE=trusty DOCKER_CACHE_FILE=/home/travis/docker/trusty-cache.tar.gz CC=gcc CXX=g++ | ||||
|   - LSB_RELEASE=xenial DOCKER_CACHE_FILE=/home/travis/docker/xenial-cache.tar.gz CC=gcc CXX=g++ | ||||
|   - LSB_RELEASE=jessie DOCKER_CACHE_FILE=/home/travis/docker/jessie-cache.tar.gz CC=gcc CXX=g++ | ||||
|   - LSB_RELEASE=stretch DOCKER_CACHE_FILE=/home/travis/docker/stretch-cache.tar.gz CC=gcc CXX=g++ | ||||
| 
 | ||||
| before_install: scripts/load_docker_cache.sh | ||||
| 
 | ||||
| install: true | ||||
| script: | ||||
|   - docker build ${TRAVIS_BUILD_DIR} -t cartographer:${LSB_RELEASE} -f Dockerfile.${LSB_RELEASE} | ||||
|       --build-arg cc=$CC --build-arg cxx=$CXX | ||||
|   - scripts/save_docker_cache.sh | ||||
|  |  | |||
|  | @ -14,6 +14,13 @@ | |||
| 
 | ||||
| FROM debian:jessie | ||||
| 
 | ||||
| ARG cc | ||||
| ARG cxx | ||||
| 
 | ||||
| # Set the preferred C/C++ compiler toolchain, if given (otherwise default). | ||||
| ENV CC=$cc | ||||
| ENV CXX=$cxx | ||||
| 
 | ||||
| # This base image doesn't ship with sudo. | ||||
| RUN apt-get update && apt-get install -y sudo && rm -rf /var/lib/apt/lists/* | ||||
| 
 | ||||
|  |  | |||
|  | @ -14,6 +14,13 @@ | |||
| 
 | ||||
| FROM debian:stretch | ||||
| 
 | ||||
| ARG cc | ||||
| ARG cxx | ||||
| 
 | ||||
| # Set the preferred C/C++ compiler toolchain, if given (otherwise default). | ||||
| ENV CC=$cc | ||||
| ENV CXX=$cxx | ||||
| 
 | ||||
| # This base image doesn't ship with sudo. | ||||
| RUN apt-get update && apt-get install -y sudo && rm -rf /var/lib/apt/lists/* | ||||
| 
 | ||||
|  |  | |||
|  | @ -13,6 +13,14 @@ | |||
| # limitations under the License. | ||||
| 
 | ||||
| FROM ubuntu:trusty | ||||
| 
 | ||||
| ARG cc | ||||
| ARG cxx | ||||
| 
 | ||||
| # Set the preferred C/C++ compiler toolchain, if given (otherwise default). | ||||
| ENV CC=$cc | ||||
| ENV CXX=$cxx | ||||
| 
 | ||||
| COPY scripts/install_debs_cmake.sh cartographer/scripts/ | ||||
| RUN cartographer/scripts/install_debs_cmake.sh && rm -rf /var/lib/apt/lists/* | ||||
| COPY scripts/install_ceres.sh cartographer/scripts/ | ||||
|  |  | |||
|  | @ -13,6 +13,14 @@ | |||
| # limitations under the License. | ||||
| 
 | ||||
| FROM ubuntu:trusty | ||||
| 
 | ||||
| ARG cc | ||||
| ARG cxx | ||||
| 
 | ||||
| # Set the preferred C/C++ compiler toolchain, if given (otherwise default). | ||||
| ENV CC=$cc | ||||
| ENV CXX=$cxx | ||||
| 
 | ||||
| COPY scripts/install_debs_bazel.sh cartographer/scripts/ | ||||
| RUN cartographer/scripts/install_debs_bazel.sh && rm -rf /var/lib/apt/lists/* | ||||
| COPY . cartographer | ||||
|  |  | |||
|  | @ -12,8 +12,16 @@ | |||
| # See the License for the specific language governing permissions and | ||||
| # limitations under the License. | ||||
| 
 | ||||
| 
 | ||||
| FROM ubuntu:xenial | ||||
| 
 | ||||
| ARG cc | ||||
| ARG cxx | ||||
| 
 | ||||
| # Set the preferred C/C++ compiler toolchain, if given (otherwise default). | ||||
| ENV CC=$cc | ||||
| ENV CXX=$cxx | ||||
| 
 | ||||
| # This base image doesn't ship with sudo. | ||||
| RUN apt-get update && apt-get install -y sudo && rm -rf /var/lib/apt/lists/* | ||||
| 
 | ||||
|  |  | |||
|  | @ -35,6 +35,7 @@ else | |||
| fi | ||||
| 
 | ||||
| sudo apt-get install -y \ | ||||
|     clang \ | ||||
|     g++ \ | ||||
|     git \ | ||||
|     google-mock \ | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue