automake-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: multilibs (Was: Re: -recursive)


From: Ralf Corsepius
Subject: Re: multilibs (Was: Re: -recursive)
Date: 17 Jul 2003 18:29:55 +0200

On Thu, 2003-07-17 at 01:27, Alexandre Duret-Lutz wrote:
> >>> "Ralf" == Ralf Corsepius <address@hidden> writes:
> 
> [...]
> 
>  Ralf> Anyway, below is a test case triggering some of the nastinesses lurking
>  Ralf> in autoconf/automake and config-ml.in.
> 
> Thanks a lot!
> 
> [...]
> 
>  Ralf> Note: The tarball only works with VPATH builds (in-source-tree builds
>  Ralf> with multilibs also don't work.)
> 
>  >> (I'm not familiar with the multilib stuff though.)
>  Ralf> ... and I don't understand what you are doing with the recursive make
>  Ralf> targets in automake ... :(
> 
> Here is my attempt to turn your tarball into an Automake test
> case and to fix the issues that popped up.  The patch is against
> branch-1-7.

Thanks, I've tried your patch with a real world example and things are
starting to become promising.

* The *.am conflicts seem to be gone.
* "make all" and "make install" seem to be functional

"make clean" seems to be broken. AFAICT, in multilib'ed subdirs it
recurses on mostly-clean first and then once again on "clean" 

Below is an extended example to demonstrate the problem.

Try this 
mkdir build
cd build
../configure --enable-multilib CC=`pwd`/../mycc
make
make clean

Then check how "make clean" is processed for libfoo (multilib'ed) in
comparison to libbar (non-multilib'ed)

Furthermore, during "make clean", this caught my eye:
..
make  DO=mostlyclean multi-clean
make[2]: Entering directory `/tmp/automake-multilib-0.2/build/libfoo'
if [ -z "debug" ]; then \
  true; \
else \
  lib=`${PWDCMD-pwd} | sed -e 's,^.*/\([^/][^/]*\)$,\1,'`; \
  for dir in Makefile debug; do \
    if [ -f ../${dir}/${lib}/Makefile ]; then \
      if (cd ../${dir}/${lib}; make  mostlyclean); \
      then true; \
      else exit 1; \
      fi; \
    else true; \
    fi; \
  done; \
fi
..

Note the "for dir in Makefile debug; do". I haven't had enough time to
investigate this yet, but this looks suspicious to me.

Ralf


Attachment: automake-multilib-0.2.tar.bz2
Description: application/bzip


reply via email to

[Prev in Thread] Current Thread [Next in Thread]