xref: /aosp_15_r20/external/crosvm/rutabaga_gfx/ffi/build.sh (revision bb4ee6a4ae7042d18b07a98463b9c8b875e44b39)
1#!/bin/bash
2
3# Copyright 2024 The ChromiumOS Authors
4# Use of this source code is governed by a BSD-style license that can be
5# found in the LICENSE file.
6
7
8FEATURES="$1"
9TARGET_DIR="$2"
10SHARED_LIB="$3"
11VERSION="$4"
12BUILDTYPE="$5"
13CARGO_RELEASE="$6"
14
15SHARED_LIB_FULL="$SHARED_LIB"".$VERSION"
16SHARED_LIB_MAJOR="$SHARED_LIB"".0"
17
18# The following returns true if $CARGO_RELASE is the empty string
19if [[ -z "$CARGO_RELEASE" ]]
20then
21  CARGO_TARGET_DIR="$TARGET_DIR" cargo build --features="$FEATURES" --target-dir="$TARGET_DIR"
22else
23  CARGO_TARGET_DIR="$TARGET_DIR" cargo build --features="$FEATURES" --target-dir="$TARGET_DIR" --release
24fi
25
26rm "$SHARED_LIB" 2>/dev/null
27rm "$SHARED_LIB_FULL" 2>/dev/null
28rm "$SHARED_LIB_MAJOR" 2>/dev/null
29cp "$BUILDTYPE"/"$SHARED_LIB" "$SHARED_LIB_FULL"
30ln -s "$SHARED_LIB_FULL" "$SHARED_LIB"
31ln -s "$SHARED_LIB_FULL" "$SHARED_LIB_MAJOR"
32