All of lore.kernel.org
 help / color / mirror / Atom feed
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


  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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.