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)
|