patches/dmalloc/5.5.2/140-shared_library.patch
author Daniel Price <daniel.price@gmail.com>
Tue Nov 20 16:59:17 2012 -0800 (2012-11-20)
changeset 3126 333d3e40cbd1
parent 103 b6e20abe9256
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@103
     1
This patch makes building the shared library possible.
yann@103
     2
yann@103
     3
Copyright 2007 Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
yann@103
     4
Licensed to you as dmalloc-5.5.2 is.
yann@103
     5
yann@103
     6
diff -dur dmalloc-5.5.2.orig/Makefile.in dmalloc-5.5.2/Makefile.in
yann@103
     7
--- dmalloc-5.5.2.orig/Makefile.in	2007-05-14 19:26:14.000000000 +0200
yann@103
     8
+++ dmalloc-5.5.2/Makefile.in	2007-05-18 15:54:04.000000000 +0200
yann@103
     9
@@ -257,7 +257,7 @@
yann@103
    10
 # via: http://256.com/gray/email.html
yann@103
    11
 $(LIB_SL) : $(LIBRARY)
yann@103
    12
 	rm -f $@ $@.t
yann@103
    13
-	@shlinkargs@ $(LIBRARY) $(OBJS) $(NORMAL_OBJS)
yann@103
    14
+	@shlinkargs@ $(LIBRARY)
yann@103
    15
 	mv $@.t $@
yann@103
    16
 
yann@103
    17
 $(LIBRARY) : $(OBJS) $(NORMAL_OBJS)
yann@103
    18
@@ -270,7 +270,7 @@
yann@103
    19
 
yann@103
    20
 $(LIB_TH_SL) : $(LIB_TH)
yann@103
    21
 	rm -f $@ $@.t
yann@103
    22
-	@shlinkargs@ $(LIB_TH) $(OBJS) $(THREAD_OBJS)
yann@103
    23
+	@shlinkargs@ $(LIB_TH)
yann@103
    24
 	mv $@.t $@
yann@103
    25
 
yann@103
    26
 $(LIB_CXX) : $(OBJS) $(NORMAL_OBJS) $(CXX_OBJS)
yann@103
    27
@@ -279,7 +279,7 @@
yann@103
    28
 
yann@103
    29
 $(LIB_CXX_SL) : $(LIB_CXX)
yann@103
    30
 	rm -f $@ $@.t
yann@103
    31
-	@shlinkargs@ $(LIB_CXX) $(OBJS) $(NORMAL_OBJS) $(CXX_OBJS)
yann@103
    32
+	@shlinkargs@ $(LIB_CXX)
yann@103
    33
 	mv $@.t $@
yann@103
    34
 
yann@103
    35
 $(LIB_TH_CXX) : $(OBJS) $(THREAD_OBJS) $(CXX_OBJS)
yann@103
    36
@@ -288,7 +288,7 @@
yann@103
    37
 
yann@103
    38
 $(LIB_TH_CXX_SL) : $(LIB_TH_CXX)
yann@103
    39
 	rm -f $@ $@.t
yann@103
    40
-	@shlinkargs@ $(LIB_TH_CXX) $(OBJS) $(THREAD_OBJS) $(CXX_OBJS)
yann@103
    41
+	@shlinkargs@ $(LIB_TH_CXX)
yann@103
    42
 	mv $@.t $@
yann@103
    43
 
yann@103
    44
 threadssl : $(LIB_TH_SL)