xref: /aosp_15_r20/external/libwebm/infra/common.sh (revision 103e46e4cd4b6efcf6001f23fa8665fb110abf8d)
1# Copyright (c) 2021, Google Inc. All rights reserved.
2#
3# Redistribution and use in source and binary forms, with or without
4# modification, are permitted provided that the following conditions are
5# met:
6#
7#   * Redistributions of source code must retain the above copyright
8#     notice, this list of conditions and the following disclaimer.
9#
10#   * Redistributions in binary form must reproduce the above copyright
11#     notice, this list of conditions and the following disclaimer in
12#     the documentation and/or other materials provided with the
13#     distribution.
14#
15#   * Neither the name of Google nor the names of its contributors may
16#     be used to endorse or promote products derived from this software
17#     without specific prior written permission.
18#
19# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
31log_err() {
32  echo "[$(date +'%Y-%m-%dT%H:%M:%S%z')]: $*" >&2
33}
34
35#######################################
36# Create build directory. Build directory will be deleted if it exists.
37# Outputs:
38#   build dir path
39# Returns:
40#   mkdir result
41#######################################
42make_build_dir() {
43  if [[ "$#" -ne 1 ]]; then
44    return 1
45  fi
46
47  local build_dir
48  build_dir="$1"
49  [[ -d "${build_dir}" ]] && rm -rf "${build_dir}"
50  mkdir -p "${build_dir}"
51}
52
53#######################################
54# Cleanup files from the backup directory.
55# Globals:
56#   BUILD_DIR     build directory
57#   LIBWEBM_ROOT  repository's root path
58#######################################
59cleanup() {
60  # BUILD_DIR is not completely removed to allow for binary artifacts to be
61  # extracted.
62  find "${BUILD_DIR:?}" \( -name "*.[ao]" -o -name "*.l[ao]" \) -exec rm \
63    -f {} +
64  make -C "${LIBWEBM_ROOT:?}" -f Makefile.unix clean
65}
66