From ba0c89fc5e3ce04192e7558278437eb26d668f93 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Sat, 16 Dec 2023 15:06:58 +0100 Subject: [PATCH] build-gnu.sh: build in debug by default. Easier for local dev --- .github/workflows/GnuTests.yml | 4 ++-- DEVELOPMENT.md | 4 ++-- util/build-gnu.sh | 17 +++++++++++++---- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/.github/workflows/GnuTests.yml b/.github/workflows/GnuTests.yml index 5215ab24f8..3ce6e8be27 100644 --- a/.github/workflows/GnuTests.yml +++ b/.github/workflows/GnuTests.yml @@ -116,7 +116,7 @@ jobs: run: | ## Build binaries cd '${{ steps.vars.outputs.path_UUTILS }}' - bash util/build-gnu.sh + bash util/build-gnu.sh --release-build - name: Run GNU tests shell: bash run: | @@ -354,7 +354,7 @@ jobs: run: | ## Build binaries cd uutils - UU_MAKE_PROFILE=debug bash util/build-gnu.sh + bash util/build-gnu.sh - name: Run GNU tests run: bash uutils/util/run-gnu-test.sh - name: Generate coverage data (via `grcov`) diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index 67b201e9cc..29cfe2b2a3 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -226,8 +226,8 @@ To run uutils against the GNU test suite locally, run the following commands: ```shell bash util/build-gnu.sh -# Build uutils without release optimizations -UU_MAKE_PROFILE=debug bash util/build-gnu.sh +# Build uutils with release optimizations +bash util/build-gnu.sh --release-build bash util/run-gnu-test.sh # To run a single test: bash util/run-gnu-test.sh tests/touch/not-owner.sh # for example diff --git a/util/build-gnu.sh b/util/build-gnu.sh index 7c0691c069..4a14f3f6c4 100755 --- a/util/build-gnu.sh +++ b/util/build-gnu.sh @@ -1,7 +1,6 @@ #!/bin/bash # `build-gnu.bash` ~ builds GNU coreutils (from supplied sources) # -# UU_MAKE_PROFILE == 'debug' | 'release' ## build profile for *uutils* build; may be supplied by caller, defaults to 'release' # spell-checker:ignore (paths) abmon deref discrim eacces getlimits getopt ginstall inacc infloop inotify reflink ; (misc) INT_OFLOW OFLOW baddecode submodules ; (vars/env) SRCDIR vdir rcexp xpart dired @@ -11,6 +10,19 @@ ME="${0}" ME_dir="$(dirname -- "$(readlink -fm -- "${ME}")")" REPO_main_dir="$(dirname -- "${ME_dir}")" +# Default profile is 'debug' +UU_MAKE_PROFILE='debug' + +for arg in "$@" +do + if [ "$arg" == "--release-build" ]; then + UU_MAKE_PROFILE='release' + break + fi +done + +echo "UU_MAKE_PROFILE='${UU_MAKE_PROFILE}'" + ### * config (from environment with fallback defaults); note: GNU is expected to be a sibling repo directory path_UUTILS=${path_UUTILS:-${REPO_main_dir}} @@ -56,9 +68,6 @@ echo "path_GNU='${path_GNU}'" ### -UU_MAKE_PROFILE=${UU_MAKE_PROFILE:-release} -echo "UU_MAKE_PROFILE='${UU_MAKE_PROFILE}'" - UU_BUILD_DIR="${path_UUTILS}/target/${UU_MAKE_PROFILE}" echo "UU_BUILD_DIR='${UU_BUILD_DIR}'"