On Wed, 01 Jul 2015 13:01:34 -0400, Martin Michlmayr wrote:

> netrek-client-cow fails to build with GCC 5.  Even though the
> configure script finds gmp.h, HAVE_GMP2_H is not set, therefore mp.h
> is used instead of gmp.h.

Nice finding; now I tried to find out why this is happening, and I
don't really have an answer, but maybe this helps someone else:

IIUIC, what configure does is create a temporary file conftests.h
with something like:

#v+
/* confdefs.h.  */
/* end confdefs.h.  */

#include <gmp.h>

gmp=__GNU_MP__;
#v-

and then runs `gcc -E confdefs.h | egrep "gmp=$something"

The end of the diff between the output with gcc 4.9 and gcc 5 is:

#v+
-extern __inline__
+extern __inline__ __attribute__ ((__gnu_inline__))
 
 mp_limb_t
 __gmpn_neg (mp_ptr __gmp_rp, mp_srcptr __gmp_up, mp_size_t __gmp_n)
@@ -1457,4 +1464,10 @@
 };
 # 5 "conftests.h" 2
 
-gmp=5;
+
+# 6 "conftests.h"
+gmp=
+# 6 "conftests.h" 3 4
+   5
+# 6 "conftests.h"
+             ;
#v-

So 4.9 outputs 'gmp=5;' and egrep is happy, and gcc5 has an
interesting output where "gmp=" "5" ";" is split over 3 lines with
some comments inbetween.


Cheers,
gregor

-- 
 .''`.  Homepage: http://info.comodo.priv.at/ - OpenPGP key 0xBB3A68018649AA06
 : :' : Debian GNU/Linux user, admin, and developer -  https://www.debian.org/
 `. `'  Member of VIBE!AT & SPI, fellow of the Free Software Foundation Europe
   `-   NP: Alanis Morisette: A Man

Attachment: signature.asc
Description: Digital Signature

Reply via email to