Subject: bug#21425: [PATCH] Remove needless mkstemp() check

From: Kouhei Sutou <[email-masked]>
Date: Sun, 06 Sep 2015 16:40:42 +0900 (JST)

There is mkstemp() check by AC_REPLACE_FUNCS() in
configure.ac. If mkstemp() isn't found, mkstemp() is defined
by gnulib-tool.

But mkstemp() is always defined in libguile/mkstemp.c. If we
define mkstemp() by gnulib-tool, mkstemp() is defined
twice. It caused a link error.

The situation is caused when we cross-compile Guile by MinGW
because mkstemp() doesn't exist on Windows.

Here is an error message on my environment:

      CCLD     libguile-2.0.la
    ../lib/.libs/libgnu.a(mkstemp.o): In function `mkstemp':
    .../lib/mkstemp.c:48: multiple definition of `mkstemp'
    .libs/libguile_2.0_la-mkstemp.o:.../libguile/mkstemp.c:68: first defined here
    collect2: error: ld returned 1 exit status
    Makefile:2242: recipe for target 'libguile-2.0.la' failed
    make[3]: *** [libguile-2.0.la] Error 1

I attach a patch to fix this problem.

>From 6fca60d595f464b7f505d9132087836ca48d4947 Mon Sep 17 00:00:00 2001
From: Kouhei Sutou <[email-masked]>
Date: Sun, 6 Sep 2015 15:53:20 +0900
Subject: [PATCH] Remove needless mkstemp() check

It causes build error on cross-compiling for Windows by the following
multiple definitions error:

      CCLD     libguile-2.0.la
    ../lib/.libs/libgnu.a(mkstemp.o): In function `mkstemp':
    .../lib/mkstemp.c:48: multiple definition of `mkstemp'
    .libs/libguile_2.0_la-mkstemp.o:.../libguile/mkstemp.c:68: first defined here
    collect2: error: ld returned 1 exit status
    Makefile:2242: recipe for target 'libguile-2.0.la' failed
    make[3]: *** [libguile-2.0.la] Error 1

* configure.ac: Remove mkstemp() check. mkstemp() is always defined in
  libguile/mkstemp.c.
---
 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index 19e00d8..49e937b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1124,7 +1124,7 @@ if test "$enable_regex" = yes; then
    AC_DEFINE([ENABLE_REGEX], 1, [Define when regex support is enabled.])
 fi
 
-AC_REPLACE_FUNCS([strerror memmove mkstemp])
+AC_REPLACE_FUNCS([strerror memmove])
 
 # Reasons for testing:
 #   asinh, acosh, atanh, trunc - C99 standard, generally not available on
-- 
2.5.1