From 28cb22e3c20676c42a08593b5553ee896b53e030 Mon Sep 17 00:00:00 2001 From: Allan McRae Date: Wed, 26 Jun 2013 14:37:53 +1000 Subject: [PATCH] Patch ltmain on autoreconf We used to carry a patched version of ltmain in our repos to fix libtools issues with -Wl,-as-needed. Now that ltmain is "generated" by autoreconf, we manually patch it afterwards. Signed-off-by: Allan McRae --- autogen.sh | 3 ++- build-aux/.gitignore | 3 ++- build-aux/ltmain-asneeded.patch | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 build-aux/ltmain-asneeded.patch diff --git a/autogen.sh b/autogen.sh index c31f34fb..d11badcb 100755 --- a/autogen.sh +++ b/autogen.sh @@ -1,3 +1,4 @@ #!/bin/sh -xu -autoreconf -i \ No newline at end of file +autoreconf -i +(cd build-aux && patch -Np0 -i ltmain-asneeded.patch) diff --git a/build-aux/.gitignore b/build-aux/.gitignore index f59ec20a..3ec659c2 100644 --- a/build-aux/.gitignore +++ b/build-aux/.gitignore @@ -1 +1,2 @@ -* \ No newline at end of file +* +!ltmain-asneeded.patch diff --git a/build-aux/ltmain-asneeded.patch b/build-aux/ltmain-asneeded.patch new file mode 100644 index 00000000..af5ae6b2 --- /dev/null +++ b/build-aux/ltmain-asneeded.patch @@ -0,0 +1,33 @@ +--- ltmain.sh.orig 2013-06-26 14:31:53.472627840 +1000 ++++ ltmain.sh 2013-06-26 14:30:56.137038936 +1000 +@@ -5800,6 +5800,14 @@ + arg=$func_stripname_result + ;; + ++ -Wl,*--as-needed*) ++ deplibs="$deplibs $wl--as-needed" ++ ;; ++ ++ -Wl,*--no-as-needed*) ++ deplibs="$deplibs $wl--no-as-needed" ++ ;; ++ + -Wl,*) + func_stripname '-Wl,' '' "$arg" + args=$func_stripname_result +@@ -6160,6 +6168,15 @@ + lib= + found=no + case $deplib in ++ -Wl,--as-needed|-Wl,--no-as-needed) ++ if test "$linkmode,$pass" = "prog,link"; then ++ compile_deplibs="$deplib $compile_deplibs" ++ finalize_deplibs="$deplib $finalize_deplibs" ++ else ++ deplibs="$deplib $deplibs" ++ fi ++ continue ++ ;; + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ + |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) + if test "$linkmode,$pass" = "prog,link"; then