xref: /aosp_15_r20/external/bazelbuild-rules_cc/examples/custom_toolchain/sample_linker (revision eed53cd41c5909d05eedc7ad9720bb158fd93452)
1#!/bin/bash
2#
3# Sample script demonstrating custom C++ toolchain selection: handles
4# the command that translates a cc_library's .o (object file) into
5# .a (archive).
6
7echo "$0: running sample cc_library linker (produces .a output)."
8
9# https://docs.bazel.build/versions/master/cc-toolchain-config-reference.html
10# defines fancier ways to generate custom command lines. This script just shows
11# the default, which looks like:
12#
13# examples/custom_toolchain/sample_linker @bazel-out/x86-fastbuild/bin/examples/custom_toolchain/libbuildme.a-2.params.
14
15# Get "@bazel-out/.../libbuildme.a-2.params".
16PARAMS_FILE=${@: -1}
17# Remove the "@" prefix.
18OUTFILE=${PARAMS_FILE#?}
19# Replace "libbuildme.a-2.params" with "libbuildme.a".
20OUTFILE=${OUTFILE%-*}
21
22echo "$0: sample output"  >  $OUTFILE
23
24