diff options
| author | Liz Kammer <eakammer@google.com> | 2024-01-31 15:44:57 -0500 |
|---|---|---|
| committer | Liz Kammer <eakammer@google.com> | 2024-01-31 17:20:13 -0500 |
| commit | 79effa56c544b28bdce928964d08f2de6acf3fa1 (patch) | |
| tree | 6170c2ff4955232b351649905b64cd8f07cf632b /cogsetup.sh | |
| parent | 0a45b9e89f2bdd7a07274fd8b17ebd49aec39c11 (diff) | |
Fix cogsetup.sh to work from non-root dirs
Test: source make/envsetup.sh
Change-Id: I36de407dbbb0cf266f1701d0895ba71d3ad41dba
Diffstat (limited to 'cogsetup.sh')
| -rw-r--r-- | cogsetup.sh | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/cogsetup.sh b/cogsetup.sh index 6439af056e..44538f2a65 100644 --- a/cogsetup.sh +++ b/cogsetup.sh @@ -21,18 +21,21 @@ function _create_out_symlink_for_cog() { OUT_DIR="out" fi - if [[ -L "${OUT_DIR}" ]]; then + # getoutdir ensures paths are absolute. envsetup could be called from a + # directory other than the root of the source tree + local outdir=$(getoutdir) + if [[ -L "${outdir}" ]]; then return fi - if [ -d "${OUT_DIR}" ]; then - echo -e "\tOutput directory ${OUT_DIR} cannot be present in a Cog workspace." - echo -e "\tDelete \"${OUT_DIR}\" or create a symlink from \"${OUT_DIR}\" to a directory outside your workspace." + if [ -d "${outdir}" ]; then + echo -e "\tOutput directory ${outdir} cannot be present in a Cog workspace." + echo -e "\tDelete \"${outdir}\" or create a symlink from \"${outdir}\" to a directory outside your workspace." return 1 fi DEFAULT_OUTPUT_DIR="${HOME}/.cog/android-build-out" mkdir -p ${DEFAULT_OUTPUT_DIR} - ln -s ${DEFAULT_OUTPUT_DIR} `pwd`/out + ln -s ${DEFAULT_OUTPUT_DIR} ${outdir} } # This function sets up the build environment to be appropriate for Cog. @@ -63,4 +66,4 @@ if [[ "${PWD}" != /google/cog/* ]]; then echo -e "\e[01;31mERROR:\e[0m This script must be run from a Cog workspace." fi -_setup_cog_env
\ No newline at end of file +_setup_cog_env |
