Subject: [clisp-list] Re: problem with compiling clisp 2.31 on RH 9.0 (uniq fails)

From: Sam Steingold <[email-masked]>
Date: Mon Nov 3 09:55:06 2003

> * Bruno Haible <[email-masked]> [2003-11-03 17:45:47 +0100]:
>
>> but then "make" failed in the same way. Namely, in
>> subdir avcall, "make check" fails.
>
> Sam, can you tell why "make" recurses into the avcall directory when
> makemake was invoked without --with-dynamic-ffi?

no idea.  Minko should look at his build/Makefile for clues.
specifically, the Makefile: target should ensure that
--with-dynamic-ffi was indeed omitted.
the presence of targets like avcall* and callback* will tell us whether
--with-dynamic-ffi was obeyed.

-- 
Sam Steingold (http://www.podval.org/~sds) running w2k
<http://www.camera.org> <http://www.iris.org.il> <http://www.memri.org/>
<http://www.mideasttruth.com/> <http://www.honestreporting.com>
Those who value Life above Freedom are destined to lose both.

---

From: Minko Markov <[email-masked]>
Date: Tue Nov 4 06:10:06 2003

Hello Sam,

> --with-dynamic-ffi was indeed omitted.

I am not sure what you mean here. If you like, I can email
you the build/Makefile. It is output by

./makemake --with-readme --with-gettext --with-dynamic-ffi
--with-module=regexp > Makefile

Why do you think that --with-dynamic-ffi  was omitted?

BTW, the patch that Bruno offered solved the compilation
problem. An error in make testsuite showed up, but that
is different.

Regards,
Minko Markov

__________________________________
Do you Yahoo!?
Protect your identity with Yahoo! Mail AddressGuard
http://antispam.yahoo.com/whatsnewfree

---

From: Sam Steingold <[email-masked]>
Date: Tue Nov 4 06:18:05 2003

> * Minko Markov <[email-masked]> [2003-11-04 06:09:14 -0800]:
>
>> > Sam, can you tell why "make" recurses into the avcall directory
>> > when makemake was invoked without --with-dynamic-ffi?

we are different from autoconf-generated configure scripts: if you pass
--without-foo or --with-foo=no to a configure script, $with_foo is set
to "no", but if you pass it to makemake, it is set to 0 but the checks
test for an empty string. I fixed makemake.in to set it to an empty
string. patch appended.
to make clisp conform to autoconf, one has to change makemake.in and
clisp-link.in.

> BTW, the patch that Bruno offered solved the compilation problem.

good - I hope Bruno will check it in.

-- 
Sam Steingold (http://www.podval.org/~sds) running w2k
<http://www.camera.org> <http://www.iris.org.il> <http://www.memri.org/>
<http://www.mideasttruth.com/> <http://www.honestreporting.com>
.sigs are like your face - rarely seen by you and uglier than you think

Index: makemake.in
===================================================================
RCS file: /cvsroot/clisp/clisp/src/makemake.in,v
retrieving revision 1.376
retrieving revision 1.377
diff -u -w -b -u -b -w -i -B -r1.376 -r1.377
--- makemake.in	27 Oct 2003 12:44:48 -0000	1.376
+++ makemake.in	4 Nov 2003 14:03:43 -0000	1.377
@@ -193,12 +193,17 @@
       shift
       ;;
     -without-* | --without-* | -with-no* | --with-no*)
+    ## we are different from autoconf-generated configure scripts:
+    ## if you pass --without-foo or --with-foo=no to a configure script,
+    ## $with_foo is set to "no", but if you pass it to makemake,
+    ## it is set to an empty string.  to fix this, one has to change
+    ## this file and clisp-link.in -- sds 2003-11-04
       package=`echol "$1"|sed 's/-*with\(out-\|-no-*\)//'`
       # Delete all the valid chars; see if any are left.
       if test -n "`echol $package|sed 's/[-a-zA-Z0-9_]*//g'`"; then
         echol "makemake: $package: invalid package name" >&2; exit 1
       fi
-      my_eval "with_`echol $package|sed s/-/_/g`=0"
+      my_eval "with_`echol $package|sed s/-/_/g`="
       shift
       ;;
     -with-* | --with-*)
@@ -206,9 +211,9 @@
       packopt=`echol "${package}" | sed -e 's/^.*=\(.*\)$/\1/'`
       if test -z "${packopt}"; then packopt=1;
       elif [ "${packopt}" = "on" ];  then packopt=1;
-      elif [ "${packopt}" = "off" ]; then packopt=0;
+      elif [ "${packopt}" = "off" ]; then packopt=;
       elif [ "${packopt}" = "yes" ]; then packopt=1;
-      elif [ "${packopt}" = "no" ];  then packopt=0;
+      elif [ "${packopt}" = "no" ];  then packopt=;
       fi
       package=`echol "${package}" | sed -e 's/=.*//'`
       # Delete all the valid chars; see if any are left.