|
1 | 1 | #!/bin/bash |
2 | 2 | set -euo pipefail |
3 | 3 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" |
| 4 | +FLOW_ROOT=$(realpath "${FLOW_HOME}") |
| 5 | +ORFS_ROOT=$(realpath "${FLOW_HOME}/../") |
4 | 6 |
|
5 | 7 | # exclude system and CI variables |
6 | | -EXCLUDED_VARS="MAKE|PERL5LIB" |
7 | | -EXCLUDED_VARS+="|HOME|PWD|MAIL|QT_QPA_PLATFORM" |
8 | | -EXCLUDED_VARS+="|SHELL|OPENROAD_EXE|YOSYS_EXE|RESULTS_ODB" |
9 | | -EXCLUDED_VARS+="|NPROC|NUM_CORES|PUBLIC|ISSUE_SCRIPTS|MAKEFLAGS" |
| 8 | +EXCLUDED_VARS="MAKE|MAKEFLAGS|PERL5LIB|QT_QPA_PLATFORM" |
| 9 | +EXCLUDED_VARS+="|RESULTS_ODB|PUBLIC|ISSUE_SCRIPTS" |
| 10 | +EXCLUDED_VARS+="|HOME|PWD|MAIL|SHELL|NPROC|NUM_CORES" |
10 | 11 | EXCLUDED_VARS+="|UNSET_VARIABLES_NAMES|do-step|get_variables|do-copy" |
11 | 12 |
|
12 | | -EXCLUDED_PATTERNS="_EXE$|PATH$|_DIR$|_CMD$|^\." |
| 13 | +EXCLUDED_PATTERNS="_EXE$|PATH$|_CMD$|\." |
13 | 14 |
|
14 | 15 | while read -r VAR; do |
15 | 16 | if [[ ${VAR} != *"="* ]] ; then |
@@ -41,14 +42,14 @@ while read -r VAR; do |
41 | 42 | # skip variables that match the exclude patterns |
42 | 43 | continue |
43 | 44 | fi |
44 | | - if [[ ${value} == *"\""* ]]; then |
45 | | - # remove double quotes from value to avoid syntax issues on final |
46 | | - # generated script |
47 | | - value=$(sed -e 's/^"//' -e 's/"$//' <<< "${value}") |
| 45 | + if [[ ${value} == /* ]]; then |
| 46 | + # convert absolute paths if possible to use FLOW_HOME variable |
| 47 | + value=$(sed -e "s,${FLOW_ROOT},\${FLOW_HOME},g" <<< "${value}") |
| 48 | + value=$(sed -e "s,${ORFS_ROOT},\${FLOW_HOME}/\.\.,g" <<< "${value}") |
48 | 49 | fi |
49 | 50 | # handle special case where the variable needs to be splitted in Tcl code |
50 | 51 | if [[ "${name}" == "GND_NETS_VOLTAGES" || "${name}" == "PWR_NETS_VOLTAGES" ]]; then |
51 | | - echo "export ${name}='\"${value}\"'" >> $1.sh; |
| 52 | + echo "export ${name}='${value}'" >> $1.sh; |
52 | 53 | else |
53 | 54 | echo "export ${name}=\"${value}\"" >> $1.sh; |
54 | 55 | fi |
|
0 commit comments