From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:47339) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ScC50-0005xf-Un for qemu-devel@nongnu.org; Wed, 06 Jun 2012 04:59:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ScC4y-0002gw-Oi for qemu-devel@nongnu.org; Wed, 06 Jun 2012 04:59:02 -0400 Received: from mail-pb0-f45.google.com ([209.85.160.45]:59707) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ScC4y-0002gA-Ed for qemu-devel@nongnu.org; Wed, 06 Jun 2012 04:59:00 -0400 Received: by pbbro12 with SMTP id ro12so9410670pbb.4 for ; Wed, 06 Jun 2012 01:58:57 -0700 (PDT) Message-ID: <4FCF1BCC.1090208@codemonkey.ws> Date: Wed, 06 Jun 2012 16:58:52 +0800 From: Anthony Liguori MIME-Version: 1.0 References: <1338964592-22223-1-git-send-email-pbonzini@redhat.com> <1338964592-22223-26-git-send-email-pbonzini@redhat.com> In-Reply-To: <1338964592-22223-26-git-send-email-pbonzini@redhat.com> Content-Type: multipart/mixed; boundary="------------000006090707030909080100" Subject: Re: [Qemu-devel] [PATCH v2 25/25] build: do not create directories at configure time List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: qemu-devel@nongnu.org This is a multi-part message in MIME format. --------------000006090707030909080100 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit 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 > --- > 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 --------------000006090707030909080100 Content-Type: text/x-patch; name="0001-configure-ensure-directory-exists-when-creating-syml.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename*0="0001-configure-ensure-directory-exists-when-creating-syml.pa"; filename*1="tch" >>From e0e6e5b689cbcb782bca8f158fad89b3389e9e11 Mon Sep 17 00:00:00 2001 From: Anthony Liguori Date: Wed, 6 Jun 2012 16:57:00 +0800 Subject: [PATCH] configure: ensure directory exists when creating symlink Signed-off-by: Anthony Liguori --- 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 --------------000006090707030909080100--