patches/dmalloc/5.5.2/160-strdup_macro.patch
author Daniel Price <daniel.price@gmail.com>
Tue Nov 20 16:59:17 2012 -0800 (2012-11-20)
changeset 3126 333d3e40cbd1
parent 569 147a29d2e81f
permissions -rw-r--r--
scripts: refine static linking check to better guide the user

The current mechanism to check if static linking is possible, and the mesage
displayed on failure, can be puzzling to the unsuspecting user.

Also, the current implementation is not using the existing infrastructure,
and is thus difficult to enhance with new tests.

So, switch to using the standard CT_DoExecLog infra, and use four tests to
check for the host compiler:
- check we can run it
- check it can build a trivial program
- check it can statically link that program
- check if it statically link with libstdc++

That should cover most of the problems. Hopefully.

(At the same time, fix a typo in a comment)

Signed-off-by: Daniel Price <daniel.price@gmail.com>
[yann.morin.1998@free.fr: split original patch for self-contained changes]
[yann.morin.1998@free.fr: use steps to better see gcc's output]
[yann.morin.1998@free.fr: commit log]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <163f86b5216fc08c672a.1353459722@nipigon.dssd.com>
Patchwork-Id: 200536
yann@569
     1
--- dmalloc-5.5.2.orig/configure	2008-06-17 13:10:09.000000000 +0200
yann@569
     2
+++ dmalloc-5.5.2/configure	2008-06-17 13:11:25.000000000 +0200
yann@569
     3
@@ -4691,8 +4691,35 @@
yann@569
     4
 echo "$as_me:$LINENO: checking strdup macro" >&5
yann@569
     5
 echo $ECHO_N "checking strdup macro... $ECHO_C" >&6
yann@569
     6
 if test "$cross_compiling" = yes; then
yann@569
     7
-  ac_cv_strdup_macro=no
yann@569
     8
+  cat >conftest.$ac_ext <<_ACEOF
yann@569
     9
+/* confdefs.h */
yann@569
    10
+_ACEOF
yann@569
    11
+cat confdefs.h >>conftest.$ac_ext
yann@569
    12
+cat >>conftest.$ac_ext <<_ACEOF
yann@569
    13
+/* end confdefs.h.  */
yann@569
    14
+
yann@569
    15
+#if HAVE_STDLIB_H
yann@569
    16
+#  include <string.h>
yann@569
    17
+#endif
yann@569
    18
+
yann@569
    19
+#ifndef strdup
yann@569
    20
+       choke me
yann@569
    21
+#endif
yann@569
    22
 
yann@569
    23
+main() { exit(0); }
yann@569
    24
+
yann@569
    25
+_ACEOF
yann@569
    26
+rm -f conftest.o conftest.obj
yann@569
    27
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
yann@569
    28
+  (eval $ac_compile) 2>&5
yann@569
    29
+  ac_status=$?
yann@569
    30
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
yann@569
    31
+  (exit $ac_status); }; then
yann@569
    32
+  ac_cv_strdup_macro=yes
yann@569
    33
+else
yann@569
    34
+  ac_cv_strdup_macro=no
yann@569
    35
+fi
yann@569
    36
+  
yann@569
    37
 else
yann@569
    38
   cat >conftest.$ac_ext <<_ACEOF
yann@569
    39
 /* confdefs.h.  */