--- /dev/null
+static/shared: use available libraries when linking our tools/examples/testsuite
+
+For a shared-only build, static libraries do not exist, so the build fails as
+soon as we try to link either of our tools, examples or testsuite utils.
+
+Use whatever libraries are available, with a preference toward using shared
+libraries.
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+diff -durN nettle-2.7.1.orig/config.make.in nettle-2.7.1/config.make.in
+--- nettle-2.7.1.orig/config.make.in 2013-05-28 16:21:53.000000000 +0200
++++ nettle-2.7.1/config.make.in 2014-12-12 19:56:07.031292752 +0100
+@@ -30,6 +30,8 @@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+
+ SHLIBCFLAGS = @SHLIBCFLAGS@
++@IF_STATIC@LIBS_EXT = .a
++@IF_SHARED@LIBS_EXT = .so
+
+ LIBNETTLE_MAJOR = @LIBNETTLE_MAJOR@
+ LIBNETTLE_MINOR = @LIBNETTLE_MINOR@
+diff -durN nettle-2.7.1.orig/tools/Makefile.in nettle-2.7.1/tools/Makefile.in
+--- nettle-2.7.1.orig/tools/Makefile.in 2013-05-28 16:21:54.000000000 +0200
++++ nettle-2.7.1/tools/Makefile.in 2014-12-12 19:57:12.499805574 +0100
+@@ -34,19 +34,19 @@
+ DISTFILES = $(SOURCES) Makefile.in input.h misc.h output.h parse.h
+
+ sexp_conv_OBJS = $(sexp_conv_SOURCES:.c=.$(OBJEXT)) $(getopt_OBJS)
+-sexp-conv$(EXEEXT): $(sexp_conv_OBJS) ../libnettle.a
++sexp-conv$(EXEEXT): $(sexp_conv_OBJS) ../libnettle$(LIBS_EXT)
+ $(LINK) $(sexp_conv_OBJS) -lnettle $(LIBS) -o $@
+
+-nettle-lfib-stream$(EXEEXT): nettle-lfib-stream.$(OBJEXT) ../libnettle.a
++nettle-lfib-stream$(EXEEXT): nettle-lfib-stream.$(OBJEXT) ../libnettle$(LIBS_EXT)
+ $(LINK) nettle-lfib-stream.$(OBJEXT) -lnettle $(LIBS) -o $@
+
+ pkcs1_conv_OBJS = $(pkcs1_conv_SOURCES:.c=.$(OBJEXT)) $(getopt_OBJS)
+-pkcs1-conv$(EXEEXT): $(pkcs1_conv_OBJS) ../libnettle.a ../libhogweed.a
++pkcs1-conv$(EXEEXT): $(pkcs1_conv_OBJS) ../libnettle$(LIBS_EXT) ../libhogweed$(LIBS_EXT)
+ $(LINK) $(pkcs1_conv_OBJS) -lhogweed -lnettle $(LIBS) -o $@
+
+ # FIXME: Avoid linking with gmp
+ nettle_hash_OBJS = $(nettle_hash_SOURCES:.c=.$(OBJEXT)) $(getopt_OBJS)
+-nettle-hash$(EXEEXT): $(nettle_hash_OBJS) ../libnettle.a
++nettle-hash$(EXEEXT): $(nettle_hash_OBJS) ../libnettle$(LIBS_EXT)
+ $(LINK) $(nettle_hash_OBJS) -lnettle $(LIBS) -o $@
+
+
+diff -durN nettle-2.7.1.orig/examples/Makefile.in nettle-2.7.1/examples/Makefile.in
+--- nettle-2.7.1.orig/examples/Makefile.in 2013-05-28 16:21:54.000000000 +0200
++++ nettle-2.7.1/examples/Makefile.in 2014-12-12 21:54:48.286251022 +0100
+@@ -117,8 +117,8 @@
+ -lhogweed -lnettle $(BENCH_LIBS) $(LIBS) $(OPENSSL_LIBFLAGS) \
+ -o hogweed-benchmark$(EXEEXT)
+
+-$(TARGETS) : io.$(OBJEXT) ../libnettle.a
+-$(HOGWEED_TARGETS): ../libhogweed.a
++$(TARGETS) : io.$(OBJEXT) ../libnettle$(LIBS_EXT)
++$(HOGWEED_TARGETS): ../libhogweed$(LIBS_EXT)
+
+ check: $(TS_ALL)
+ LD_LIBRARY_PATH=../.lib PATH="../.lib:$$PATH" srcdir="$(srcdir)" \
+diff -durN nettle-2.7.1.orig/testsuite/Makefile.in nettle-2.7.1/testsuite/Makefile.in
+--- nettle-2.7.1.orig/testsuite/Makefile.in 2013-05-28 16:21:54.000000000 +0200
++++ nettle-2.7.1/testsuite/Makefile.in 2014-12-12 21:55:30.414814549 +0100
+@@ -96,7 +96,7 @@
+ include $(srcdir)/.test-rules.make
+
+ $(TARGETS) $(EXTRA_TARGETS): testutils.$(OBJEXT) ../nettle-internal.$(OBJEXT) \
+- ../libnettle.a @IF_HOGWEED@ ../libhogweed.a
++ ../libnettle$(LIBS_EXT) @IF_HOGWEED@ ../libhogweed$(LIBS_EXT)
+
+ # For use as, e.g.,
+ #