Thanks. That almost works. I need this additional change [check_crs_criu_good=yes])
# If we do not want CRIU, then do not compile this component - AS_IF([test "$with_criu" = "no"], + AS_IF([test "$with_criu" = "no" || test $check_crs_criu_good = no], [check_crs_criu_good=no], [check_crs_criu_good=yes]) I will commit your patch with this additional change. On Fri, Feb 14, 2014 at 04:59:50PM +0000, Jeff Squyres (jsquyres) wrote: > Check out this patch: > > > https://github.com/jsquyres/fork-from-adrian-ft/commit/f5962184f3ea6dffc182a18f7603c5e70e82ac99 > > > > On Feb 14, 2014, at 11:35 AM, "Jeff Squyres (jsquyres)" <jsquy...@cisco.com> > wrote: > > > Perfect; cloning now. Thanks! > > > > On Feb 14, 2014, at 11:34 AM, Adrian Reber <adr...@lisas.de> > > wrote: > > > >> Sure. I added the cloneurl information: > >> > >> https://lisas.de/~adrian/open-mpi.git > >> > >> On Fri, Feb 14, 2014 at 04:30:05PM +0000, Jeff Squyres (jsquyres) wrote: > >>> Can I clone your git tree and send you a patch? > >>> > >>> On Feb 11, 2014, at 4:45 PM, Adrian Reber <adr...@lisas.de> wrote: > >>> > >>>> On Tue, Feb 11, 2014 at 08:09:35PM +0000, Jeff Squyres (jsquyres) wrote: > >>>>> On Feb 8, 2014, at 4:49 PM, Adrian Reber <adr...@lisas.de> wrote: > >>>>> > >>>>>>> I note you have a stray $3 at the end of your configure.m4, too (it > >>>>>>> might supposed to be $2?). > >>>>>> > >>>>>> I think I do not really understand configure.m4 and was happy to just > >>>>>> copy it from blcr. Especially what $2 and $3 mean and how they are > >>>>>> supposed to be used. I will try to simplify my configure.m4. Is there > >>>>>> an > >>>>>> example which I can have a look at? > >>>>> > >>>>> Sorry -- been a bit busy with releasing OMPI 1.7.4 and preparing for > >>>>> 1.7.5... > >>>>> > >>>>> m4 is a macro language, so think of it as templates with some > >>>>> intelligence. > >>>>> > >>>>> $1, $2, and $3 are the "parameters" passed in to the macro. So when > >>>>> you do something like: > >>>>> > >>>>> AC_DEFUN([FOO], [ > >>>>> echo 1 is $1 > >>>>> echo 2 is $2]) > >>>>> > >>>>> and you invoke that macro via > >>>>> > >>>>> FOO([hello world], [goodbye world]) > >>>>> > >>>>> the generated script will contain: > >>>>> > >>>>> echo 1 is hello world > >>>>> echo 2 is goodbye world > >>>>> > >>>>> In our case, $1 is the action to execute if the package is happy / > >>>>> wants to build, and $2 is the action to execute if the package is > >>>>> unhappy / does not want to build. > >>>>> > >>>>> Meaning: we have a top-level engine that is iterating over all > >>>>> frameworks and components, and calling their *_CONFIG macros with > >>>>> appropriate $1 and $2 values that expand to actions-to-execute-if-happy > >>>>> / actions-to-execute-if-unhappy. > >>>>> > >>>>> Make sense? > >>>> > >>>> Thanks. I also tried to understand the macros better and with the > >>>> generated output and your description I think I understand it. > >>>> > >>>> Trying to simplify configure.m4 like you suggested I would change this: > >>>> > >>>> AS_IF([test "$check_crs_criu_good" != "yes"], [$2], > >>>> [AS_IF([test ! -z "$with_criu" -a "$with_criu" != "yes"], > >>>> [check_crs_criu_dir="$with_criu" > >>>> check_crs_criu_dir_msg="$with_criu (from --with-criu)"]) > >>>> AS_IF([test ! -z "$with_criu_libdir" -a "$with_criu_libdir" != > >>>> "yes"], > >>>> [check_crs_criu_libdir="$with_criu_libdir" > >>>> check_crs_criu_libdir_msg="$with_criu_libdir (from > >>>> --with-criu-libdir)"]) > >>>> ]) > >>>> > >>>> to this: > >>>> > >>>> AS_IF([test "$check_crs_criu_good" = "yes" -a ! -z "$with_criu" -a > >>>> "$with_criu" != "yes"], > >>>> [check_crs_criu_dir="$with_criu" > >>>> check_crs_criu_dir_msg="$with_criu (from --with-criu)"], > >>>> [$2 > >>>> check_crs_criu_good="no"]) > >>>> > >>>> AS_IF([test "$check_crs_criu_good" = "yes" -a ! -z "$with_criu_libdir" > >>>> -a "$with_criu_libdir" != "yes"], > >>>> [check_crs_criu_dir_libdir="$with_criu_libdir" > >>>> check_crs_criu_dir_libdir_msg="$with_criu_libdir (from > >>>> --with-criu)"], > >>>> [$2 > >>>> check_crs_criu_good="no"]) > >>>> > >>>> > >>>> correct? With three checks in one line it seems bit unreadable > >>>> and the nested AS_IF seems easier for me to understand. > >>>> Did I understand it correctly what you meant or did you > >>>> mean something else? > >>>> > >>>> Adrian > >>>> _______________________________________________ > >>>> devel mailing list > >>>> de...@open-mpi.org > >>>> http://www.open-mpi.org/mailman/listinfo.cgi/devel > >>> > >>> > >>> -- > >>> Jeff Squyres > >>> jsquy...@cisco.com > >>> For corporate legal information go to: > >>> http://www.cisco.com/web/about/doing_business/legal/cri/ > >>> > >>> _______________________________________________ > >>> devel mailing list > >>> de...@open-mpi.org > >>> http://www.open-mpi.org/mailman/listinfo.cgi/devel > >> _______________________________________________ > >> devel mailing list > >> de...@open-mpi.org > >> http://www.open-mpi.org/mailman/listinfo.cgi/devel > > > > > > -- > > Jeff Squyres > > jsquy...@cisco.com > > For corporate legal information go to: > > http://www.cisco.com/web/about/doing_business/legal/cri/ > > > > _______________________________________________ > > devel mailing list > > de...@open-mpi.org > > http://www.open-mpi.org/mailman/listinfo.cgi/devel > > > -- > Jeff Squyres > jsquy...@cisco.com > For corporate legal information go to: > http://www.cisco.com/web/about/doing_business/legal/cri/ > > _______________________________________________ > devel mailing list > de...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/devel