Upstream-Status: Pending

This patch makes configure use the cross ld and ar rather than the native tools.

It was build up by Yann E. MORIN <yann.morin.1998@anciens.enib.fr> from some
bits gathered from buildroot, which is LGPL v2.1
License for dmalloc is:
 * Permission to use, copy, modify, and distribute this software for
 * any purpose and without fee is hereby granted, provided that the
 * above copyright notice and this permission notice appear in all
 * copies, and that the name of Gray Watson not be used in advertising
 * or publicity pertaining to distribution of the document or software
 * without specific, written prior permission.
 *
 * Gray Watson makes no representations about the suitability of the
 * software described herein for any purpose.  It is provided "as is"
 * without express or implied warranty.

I personnaly believe that the resulting code should therefore be
LGPL v2.1, but don't believe me, ask your lawyers!

Index: dmalloc-5.5.2/configure.ac
===================================================================
--- dmalloc-5.5.2.orig/configure.ac
+++ dmalloc-5.5.2/configure.ac
@@ -69,6 +69,15 @@ if test "$ac_cv_prog_cc_stdc" = "no" ; t
 fi
 AC_PROG_INSTALL
 AC_PROG_RANLIB
+AN_MAKEVAR([AR], [AC_PROG_AR])
+AN_PROGRAM([ar], [AC_PROG_AR])
+AC_DEFUN([AC_PROG_AR], [AC_CHECK_TOOL(AR, ar, :)])
+AC_PROG_AR
+AN_MAKEVAR([LD], [AC_PROG_LD])
+AN_PROGRAM([ld], [AC_PROG_LD])
+AC_DEFUN([AC_PROG_LD], [AC_CHECK_TOOL(LD, ld, :)])
+AC_PROG_LD
+
 AC_C_CONST
 
 # we need this for various settings
@@ -131,14 +140,14 @@ AC_SUBST(shlibdir)
 AC_MSG_CHECKING([shared library link args])
 AC_COMPILE_IFELSE([ int foo(int val) { return val + 1; } ],[
 	# so now we try to create an archive from the compiled .o file
-	(ar cr conftest.a conftest.o) 2>&5
+	(${ac_cv_prog_AR} cr conftest.a conftest.o) 2>&5
 	# see which shared-library ld commands work
 	#
 	# Darwin/Mac OS X - Terry Teague
 	# username terry_teague at domain users.sourceforge.net
 	ac_cv_shared_lib_link_objs=no
 	if test `uname` = "Darwin"; then
-          if (ld -dylib -o conftest.so.t -lc conftest.a) 2>&5; then
+          if (${ac_cv_prog_LD} -dylib -o conftest.so.t -lc conftest.a) 2>&5; then
             # By convention on some platforms
             # libLLL.so, libLLL.X.so are symlinks to libLLL.X.Y.Z.so
             # where X.Y.Z is version # (major.minor.increment) of the library
@@ -156,12 +165,12 @@ AC_COMPILE_IFELSE([ int foo(int val) { r
             ac_cv_shared_link_args='# Could not configure shlib linking'
             enable_shlib=no
           fi
-       elif (ld -shared --whole-archive -soname conftest.so -o conftest.so.t conftest.a) 2>&5; then
-		ac_cv_shared_link_args='ld -shared --whole-archive -soname $@ -o $@.t'
-	elif (ld -shared -o conftest.so.t -all -soname conftest.so.t -none -lc -all conftest.a) 2>&5; then
-		ac_cv_shared_link_args='ld -shared -o $@.t -all -soname $@ -none -lc -all'
-	elif (ld -G -o conftest.so.t conftest.a) 2>&5; then
-		ac_cv_shared_link_args='ld -G -o $@.t'
+        elif (${ac_cv_prog_LD} -shared --whole-archive -soname conftest.so -o conftest.so.t conftest.a) 2>&5; then
+		ac_cv_shared_link_args='${CC} -Wl,-shared -Wl,--whole-archive -Wl,-soname,$@ -o $@.t -Wl,--no-whole-archive'
+	elif (${ac_cv_prog_LD} -shared -o conftest.so.t -all -soname conftest.so.t -none -lc -all conftest.a) 2>&5; then
+		ac_cv_shared_link_args='${CC} -Wl,-shared -o $@.t -Wl,-all -Wl,-soname,$@ -Wl,-none -lc -Wl,-all'
+	elif (${ac_cv_prog_LD} -G -o conftest.so.t conftest.a) 2>&5; then
+		ac_cv_shared_link_args='${CC} -Wl,-G -o $@.t'
 	else
 		# oh well, toss an error
 		ac_cv_shared_link_args='# Could not configure shlib linking'
Index: dmalloc-5.5.2/Makefile.in
===================================================================
--- dmalloc-5.5.2.orig/Makefile.in
+++ dmalloc-5.5.2/Makefile.in
@@ -263,25 +263,25 @@ $(LIB_SL) : $(OBJS_SL) $(NORMAL_OBJS_SL)
 	$(CC) $(LDFLAGS) -shared -Wl,-soname,libdmalloc.so.5 -o $@ $(OBJS_SL) $(NORMAL_OBJS_SL)
 
 $(LIBRARY) : $(OBJS) $(NORMAL_OBJS)
-	ar cr $@ $?
+	@AR@ cr $@ $?
 	@RANLIB@ $@
 
 $(LIB_TH) : $(OBJS) $(THREAD_OBJS)
-	ar cr $@ $?
+	@AR@ cr $@ $?
 	@RANLIB@ $@
 
 $(LIB_TH_SL) : $(OBJS_SL) $(THREAD_OBJS_SL)
 	$(CC) $(LDFLAGS) -shared -Wl,-soname,libdmallocth.so.5 -o $@ $(OBJS_SL) $(THREAD_OBJS_SL)
 
 $(LIB_CXX) : $(OBJS) $(NORMAL_OBJS) $(CXX_OBJS)
-	ar cr $@ $?
+	@AR@ cr $@ $?
 	@RANLIB@ $@
 
 $(LIB_CXX_SL) : $(OBJS_SL) $(NORMAL_OBJS_SL) $(CXX_OBJS_SL)
 	$(CC) $(LDFLAGS) -shared -Wl,-soname,libdmalloccxx.so.5 -o $@ $(OBJS_SL) $(NORMAL_OBJS_SL) $(CXX_OBJS_SL)
 
 $(LIB_TH_CXX) : $(OBJS) $(THREAD_OBJS) $(CXX_OBJS)
-	ar cr $@ $?
+	@AR@ cr $@ $?
 	@RANLIB@ $@
 
 $(LIB_TH_CXX_SL) : $(OBJS_SL) $(THREAD_OBJS_SL) $(CXX_OBJS_SL)
