mirror of
https://github.com/bazelbuild/rules_cc
synced 2024-11-27 20:43:26 +00:00
c2549f6eb0
- @bazel_tools//tools/cpp:toolchain_type is not moved. - Added cc/toolchains/toolchain_config_utils.bzl for exposing util functions for cc toolchain configuration. Closes https://github.com/bazelbuild/rules_cc/pull/247 Working towards https://github.com/bazelbuild/bazel/issues/23809 PiperOrigin-RevId: 681913803 Change-Id: I16ff456a212ab0e579c137bd74344255f4e49bd8
55 lines
1.3 KiB
Smarty
55 lines
1.3 KiB
Smarty
#!/bin/bash
|
|
#
|
|
# Copyright 2015 The Bazel Authors. All rights reserved.
|
|
#
|
|
# 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.
|
|
#
|
|
# Ship the environment to the C++ action
|
|
#
|
|
set -eu
|
|
|
|
OUTPUT=
|
|
|
|
function parse_option() {
|
|
local -r opt="$1"
|
|
if [[ "${OUTPUT}" = "1" ]]; then
|
|
OUTPUT=$opt
|
|
elif [[ "$opt" = "-o" ]]; then
|
|
# output is coming
|
|
OUTPUT=1
|
|
fi
|
|
}
|
|
|
|
# let parse the option list
|
|
for i in "$@"; do
|
|
if [[ "$i" = @* && -r "${i:1}" ]]; then
|
|
while IFS= read -r opt
|
|
do
|
|
parse_option "$opt"
|
|
done < "${i:1}" || exit 1
|
|
else
|
|
parse_option "$i"
|
|
fi
|
|
done
|
|
|
|
# Set-up the environment
|
|
%{env}
|
|
|
|
# Call the C++ compiler
|
|
%{cc} "$@"
|
|
|
|
# Generate an empty file if header processing succeeded.
|
|
if [[ "${OUTPUT}" == *.h.processed ]]; then
|
|
echo -n > "${OUTPUT}"
|
|
fi
|