From: Anthony Liguori <anthony@codemonkey.ws>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v2 25/25] build: do not create directories at configure time
Date: Wed, 06 Jun 2012 16:58:52 +0800 [thread overview]
Message-ID: <4FCF1BCC.1090208@codemonkey.ws> (raw)
In-Reply-To: <1338964592-22223-26-git-send-email-pbonzini@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 2958 bytes --]
This results in failures to create symlinks in a new build directory. The
following patch seems to resolve it though.
Regards,
Anthony Liguori
On 06/06/2012 02:36 PM, Paolo Bonzini wrote:
> Signed-off-by: Paolo Bonzini<pbonzini@redhat.com>
> ---
> configure | 35 ++---------------------------------
> rules.mak | 1 +
> 2 files changed, 3 insertions(+), 33 deletions(-)
>
> diff --git a/configure b/configure
> index 301b574..07e3ff1 100755
> --- a/configure
> +++ b/configure
> @@ -3672,26 +3672,6 @@ if [ "$TARGET_BASE_ARCH" = "" ]; then
> TARGET_BASE_ARCH=$TARGET_ARCH
> fi
>
> -mkdir -p $target_dir/fpu
> -mkdir -p $target_dir/tcg
> -mkdir -p $target_dir/9pfs
> -mkdir -p $target_dir/hw
> -mkdir -p $target_dir/hw/ide
> -mkdir -p $target_dir/hw/usb
> -mkdir -p $target_dir/hw/9pfs
> -mkdir -p $target_dir/hw/kvm
> -mkdir -p $target_dir/hw/$TARGET_ARCH
> -mkdir -p $target_dir/hw/$TARGET_BASE_ARCH
> -mkdir -p $target_dir/target-$TARGET_BASE_ARCH
> -if test "$target_linux_user" = yes; then
> - mkdir -p $target_dir/linux-user
> -fi
> -if test "$target_bsd_user" = yes; then
> - mkdir -p $target_dir/bsd-user
> -fi
> -if test "$target" = "arm-linux-user" -o "$target" = "armeb-linux-user" -o "$target" = "arm-bsd-user" -o "$target" = "armeb-bsd-user" ; then
> - mkdir -p $target_dir/linux-user/arm/nwfpe
> -fi
> symlink "$source_path/Makefile.target" "$target_dir/Makefile"
>
>
> @@ -3948,12 +3928,9 @@ done # for target in $targets
>
> # build tree in object directory in case the source is not in the current directory
> DIRS="tests tests/tcg tests/tcg/cris tests/tcg/lm32"
> -DIRS="$DIRS slirp audio block net pc-bios/optionrom"
> -DIRS="$DIRS pc-bios/spapr-rtas"
> +DIRS="$DIRS pc-bios/optionrom pc-bios/spapr-rtas"
> DIRS="$DIRS roms/seabios roms/vgabios"
> -DIRS="$DIRS fsdev ui hw hw/usb"
> -DIRS="$DIRS qapi qapi-generated"
> -DIRS="$DIRS qga trace qom"
> +DIRS="$DIRS qapi-generated"
> DIRS="$DIRS libcacard libcacard/libcacard libcacard/trace"
> FILES="Makefile tests/tcg/Makefile qdict-test-data.txt"
> FILES="$FILES tests/tcg/cris/Makefile tests/tcg/cris/.gdbinit"
> @@ -3992,19 +3969,11 @@ done
>
> for hwlib in 32 64; do
> d=libhw$hwlib
> - mkdir -p $d
> - mkdir -p $d/hw
> - mkdir -p $d/hw/ide
> - mkdir -p $d/hw/usb
> symlink "$source_path/Makefile.hw" "$d/Makefile"
> - mkdir -p $d/hw/9pfs
> echo "QEMU_CFLAGS+=-DTARGET_PHYS_ADDR_BITS=$hwlib"> $d/config.mak
> done
>
> d=libuser
> -mkdir -p $d
> -mkdir -p $d/trace
> -mkdir -p $d/qom
> symlink "$source_path/Makefile.user" "$d/Makefile"
>
> if test "$docs" = "yes" ; then
> diff --git a/rules.mak b/rules.mak
> index f65283c..4bc5e52 100644
> --- a/rules.mak
> +++ b/rules.mak
> @@ -111,4 +111,5 @@ endef
> define unnest-vars
> $(call unnest-vars-1)
> $(foreach var,$(nested-vars),$(eval $(var) := $(filter-out %/, $($(var)))))
> +$(shell mkdir -p $(sort $(foreach var,$(nested-vars),$(dir $($(var))))))
> endef
[-- Attachment #2: 0001-configure-ensure-directory-exists-when-creating-syml.patch --]
[-- Type: text/x-patch, Size: 1039 bytes --]
>From e0e6e5b689cbcb782bca8f158fad89b3389e9e11 Mon Sep 17 00:00:00 2001
From: Anthony Liguori <aliguori@us.ibm.com>
Date: Wed, 6 Jun 2012 16:57:00 +0800
Subject: [PATCH] configure: ensure directory exists when creating symlink
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
---
configure | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/configure b/configure
index 07e3ff1..4a7f027 100755
--- a/configure
+++ b/configure
@@ -42,6 +42,7 @@ compile_prog() {
# symbolically link $1 to $2. Portable version of "ln -sf".
symlink() {
rm -rf "$2"
+ mkdir -p `dirname $2`
ln -s "$1" "$2"
}
@@ -3454,14 +3455,12 @@ if test -f ${config_host_ld}~ ; then
fi
for d in libdis libdis-user; do
- mkdir -p $d
symlink "$source_path/Makefile.dis" "$d/Makefile"
echo > $d/config.mak
done
# use included Linux headers
if test "$linux" = "yes" ; then
- mkdir -p linux-headers
case "$cpu" in
i386|x86_64)
symlink "$source_path/linux-headers/asm-x86" linux-headers/asm
--
1.7.5.4
next prev parent reply other threads:[~2012-06-06 8:59 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-06 6:36 [Qemu-devel] [PATCH v2 00/25] per-directory Makefile.objs snippets, limit vpath (ab)use Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 01/25] build: remove trace-nested-y Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 02/25] build: do not sprinkle around GENERATED_HEADERS dependencies Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 03/25] build: add rules for nesting Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 04/25] build: move *-user/ objects to nested Makefile.objs Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 05/25] build: move obj-TARGET-y variables " Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 06/25] build: move libobj-y variable " Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 07/25] build: move other target-*/ objects " Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 08/25] build: move rules for nesting to Makefile.objs Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 09/25] build: put qom/ rules in a Makefile.objs file Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 10/25] build: move block/ objects to nested Makefile.objs Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 11/25] build: move net/ " Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 12/25] build: move fsdev/ " Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 13/25] build: move ui/ " Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 14/25] build: move audio/ " Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 15/25] build: move slirp/ " Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 16/25] build: move qapi/ " Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 17/25] build: move qga/ " Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 18/25] build: move target-independent hw/ objects to nested Makefiles Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 19/25] build: convert libhw to nested Makefile.objs Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 20/25] build: move per-target hw/ objects " Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 21/25] build: move device tree to per-target Makefile Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 22/25] build: libcacard Makefile cleanups Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 23/25] build: limit usage of vpath Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 24/25] build: compile oslib-obj-y once Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 25/25] build: do not create directories at configure time Paolo Bonzini
2012-06-06 8:58 ` Anthony Liguori [this message]
2012-06-06 11:54 ` Paolo Bonzini
2012-06-06 12:03 ` Peter Maydell
2012-06-06 12:16 ` Paolo Bonzini
2012-06-07 3:15 ` Anthony Liguori
2012-06-07 3:21 ` Eric Blake
2012-06-07 3:16 ` Anthony Liguori
2012-06-07 5:26 ` Paolo Bonzini
2012-06-07 5:28 ` Anthony Liguori
2012-06-06 9:23 ` [Qemu-devel] [PATCH v2 00/25] per-directory Makefile.objs snippets, limit vpath (ab)use Anthony Liguori
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4FCF1BCC.1090208@codemonkey.ws \
--to=anthony@codemonkey.ws \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).