diff mbox series

[PULL,03/33] configure: Rename FILES variable to LINKS

Message ID 20181105181353.39804-4-mst@redhat.com
State Accepted
Commit e29e5c6ee0b2770912dfea6a05926352ff30171d
Headers show
Series [PULL,01/33] tests: Move tests/acpi-test-data/ to tests/data/acpi/ | expand

Commit Message

Michael S. Tsirkin Nov. 5, 2018, 6:14 p.m. UTC
From: Peter Maydell <peter.maydell@linaro.org>


The FILES variable is used to accumulate a list of things to symlink
from the source tree into the build tree.  These don't have to be
individual files; symlinking an entire directory of data files is
also fine.  Rename it to something less confusing before we add a few
directories to it.

Improve the comment to clarify what DIRS and LINKS do and why
it's not a good idea to add things to LINKS with wildcarding.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

---
 configure | 35 ++++++++++++++++++++++-------------
 1 file changed, 22 insertions(+), 13 deletions(-)

-- 
MST

Comments

Philippe Mathieu-Daudé Nov. 6, 2018, 1:27 p.m. UTC | #1
On 5/11/18 19:14, Michael S. Tsirkin wrote:
> From: Peter Maydell <peter.maydell@linaro.org>

> 

> The FILES variable is used to accumulate a list of things to symlink

> from the source tree into the build tree.  These don't have to be

> individual files; symlinking an entire directory of data files is

> also fine.  Rename it to something less confusing before we add a few

> directories to it.

> 

> Improve the comment to clarify what DIRS and LINKS do and why

> it's not a good idea to add things to LINKS with wildcarding.

> 

> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Again, I reviewed/tested this patch.

> ---

>   configure | 35 ++++++++++++++++++++++-------------

>   1 file changed, 22 insertions(+), 13 deletions(-)

> 

> diff --git a/configure b/configure

> index bfdca8b814..52408ed307 100755

> --- a/configure

> +++ b/configure

> @@ -7392,22 +7392,31 @@ if test "$ccache_cpp2" = "yes"; then

>     echo "export CCACHE_CPP2=y" >> $config_host_mak

>   fi

>   

> -# build tree in object directory in case the source is not in the current directory

> +# If we're using a separate build tree, set it up now.

> +# DIRS are directories which we simply mkdir in the build tree;

> +# LINKS are things to symlink back into the source tree

> +# (these can be both files and directories).

> +# Caution: do not add files or directories here using wildcards. This

> +# will result in problems later if a new file matching the wildcard is

> +# added to the source tree -- nothing will cause configure to be rerun

> +# so the build tree will be missing the link back to the new file, and

> +# tests might fail. Prefer to keep the relevant files in their own

> +# directory and symlink the directory instead.

>   DIRS="tests tests/tcg tests/tcg/cris tests/tcg/lm32 tests/libqos tests/qapi-schema tests/tcg/xtensa tests/qemu-iotests tests/vm"

>   DIRS="$DIRS tests/fp"

>   DIRS="$DIRS docs docs/interop fsdev scsi"

>   DIRS="$DIRS pc-bios/optionrom pc-bios/spapr-rtas pc-bios/s390-ccw"

>   DIRS="$DIRS roms/seabios roms/vgabios"

> -FILES="Makefile tests/tcg/Makefile qdict-test-data.txt"

> -FILES="$FILES tests/tcg/cris/Makefile tests/tcg/cris/.gdbinit"

> -FILES="$FILES tests/tcg/lm32/Makefile tests/tcg/xtensa/Makefile po/Makefile"

> -FILES="$FILES tests/fp/Makefile"

> -FILES="$FILES pc-bios/optionrom/Makefile pc-bios/keymaps"

> -FILES="$FILES pc-bios/spapr-rtas/Makefile"

> -FILES="$FILES pc-bios/s390-ccw/Makefile"

> -FILES="$FILES roms/seabios/Makefile roms/vgabios/Makefile"

> -FILES="$FILES pc-bios/qemu-icon.bmp"

> -FILES="$FILES .gdbinit scripts" # scripts needed by relative path in .gdbinit

> +LINKS="Makefile tests/tcg/Makefile qdict-test-data.txt"

> +LINKS="$LINKS tests/tcg/cris/Makefile tests/tcg/cris/.gdbinit"

> +LINKS="$LINKS tests/tcg/lm32/Makefile tests/tcg/xtensa/Makefile po/Makefile"

> +LINKS="$LINKS tests/fp/Makefile"

> +LINKS="$LINKS pc-bios/optionrom/Makefile pc-bios/keymaps"

> +LINKS="$LINKS pc-bios/spapr-rtas/Makefile"

> +LINKS="$LINKS pc-bios/s390-ccw/Makefile"

> +LINKS="$LINKS roms/seabios/Makefile roms/vgabios/Makefile"

> +LINKS="$LINKS pc-bios/qemu-icon.bmp"

> +LINKS="$LINKS .gdbinit scripts" # scripts needed by relative path in .gdbinit

>   for bios_file in \

>       $source_path/pc-bios/*.bin \

>       $source_path/pc-bios/*.lid \

> @@ -7419,10 +7428,10 @@ for bios_file in \

>       $source_path/pc-bios/u-boot.* \

>       $source_path/pc-bios/palcode-*

>   do

> -    FILES="$FILES pc-bios/$(basename $bios_file)"

> +    LINKS="$LINKS pc-bios/$(basename $bios_file)"

>   done

>   mkdir -p $DIRS

> -for f in $FILES ; do

> +for f in $LINKS ; do

>       if [ -e "$source_path/$f" ] && [ "$pwd_is_source_path" != "y" ]; then

>           symlink "$source_path/$f" "$f"

>       fi

>
diff mbox series

Patch

diff --git a/configure b/configure
index bfdca8b814..52408ed307 100755
--- a/configure
+++ b/configure
@@ -7392,22 +7392,31 @@  if test "$ccache_cpp2" = "yes"; then
   echo "export CCACHE_CPP2=y" >> $config_host_mak
 fi
 
-# build tree in object directory in case the source is not in the current directory
+# If we're using a separate build tree, set it up now.
+# DIRS are directories which we simply mkdir in the build tree;
+# LINKS are things to symlink back into the source tree
+# (these can be both files and directories).
+# Caution: do not add files or directories here using wildcards. This
+# will result in problems later if a new file matching the wildcard is
+# added to the source tree -- nothing will cause configure to be rerun
+# so the build tree will be missing the link back to the new file, and
+# tests might fail. Prefer to keep the relevant files in their own
+# directory and symlink the directory instead.
 DIRS="tests tests/tcg tests/tcg/cris tests/tcg/lm32 tests/libqos tests/qapi-schema tests/tcg/xtensa tests/qemu-iotests tests/vm"
 DIRS="$DIRS tests/fp"
 DIRS="$DIRS docs docs/interop fsdev scsi"
 DIRS="$DIRS pc-bios/optionrom pc-bios/spapr-rtas pc-bios/s390-ccw"
 DIRS="$DIRS roms/seabios roms/vgabios"
-FILES="Makefile tests/tcg/Makefile qdict-test-data.txt"
-FILES="$FILES tests/tcg/cris/Makefile tests/tcg/cris/.gdbinit"
-FILES="$FILES tests/tcg/lm32/Makefile tests/tcg/xtensa/Makefile po/Makefile"
-FILES="$FILES tests/fp/Makefile"
-FILES="$FILES pc-bios/optionrom/Makefile pc-bios/keymaps"
-FILES="$FILES pc-bios/spapr-rtas/Makefile"
-FILES="$FILES pc-bios/s390-ccw/Makefile"
-FILES="$FILES roms/seabios/Makefile roms/vgabios/Makefile"
-FILES="$FILES pc-bios/qemu-icon.bmp"
-FILES="$FILES .gdbinit scripts" # scripts needed by relative path in .gdbinit
+LINKS="Makefile tests/tcg/Makefile qdict-test-data.txt"
+LINKS="$LINKS tests/tcg/cris/Makefile tests/tcg/cris/.gdbinit"
+LINKS="$LINKS tests/tcg/lm32/Makefile tests/tcg/xtensa/Makefile po/Makefile"
+LINKS="$LINKS tests/fp/Makefile"
+LINKS="$LINKS pc-bios/optionrom/Makefile pc-bios/keymaps"
+LINKS="$LINKS pc-bios/spapr-rtas/Makefile"
+LINKS="$LINKS pc-bios/s390-ccw/Makefile"
+LINKS="$LINKS roms/seabios/Makefile roms/vgabios/Makefile"
+LINKS="$LINKS pc-bios/qemu-icon.bmp"
+LINKS="$LINKS .gdbinit scripts" # scripts needed by relative path in .gdbinit
 for bios_file in \
     $source_path/pc-bios/*.bin \
     $source_path/pc-bios/*.lid \
@@ -7419,10 +7428,10 @@  for bios_file in \
     $source_path/pc-bios/u-boot.* \
     $source_path/pc-bios/palcode-*
 do
-    FILES="$FILES pc-bios/$(basename $bios_file)"
+    LINKS="$LINKS pc-bios/$(basename $bios_file)"
 done
 mkdir -p $DIRS
-for f in $FILES ; do
+for f in $LINKS ; do
     if [ -e "$source_path/$f" ] && [ "$pwd_is_source_path" != "y" ]; then
         symlink "$source_path/$f" "$f"
     fi