From d41c940c8a4ae2da9c2ccf11ce61d39693aa086b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se> Date: Tue, 17 Jan 2012 12:15:44 +0100 Subject: [PATCH] * Makefile.in ($(LIBNETTLE_FORLINK)): Always create a .lib symlink to the library file. Use LN_S. ($(LIBHOGWEED_FORLINK)): Likewise. * configure.ac: Use AC_PROG_LN_S. * config.make.in (LN_S): New substitution. Rev: nettle/Makefile.in:1.43 Rev: nettle/config.make.in:1.7 Rev: nettle/configure.ac:1.54 --- Makefile.in | 28 +++++++++++++++++++--------- config.make.in | 1 + configure.ac | 2 ++ 3 files changed, 22 insertions(+), 9 deletions(-) diff --git a/Makefile.in b/Makefile.in index c771f112..f3fa571c 100644 --- a/Makefile.in +++ b/Makefile.in @@ -161,18 +161,26 @@ libhogweed.a: $(hogweed_OBJS) $(COMPILE) $(CCPIC_MAYBE) -c $< \ && $(DEP_PROCESS) -# Rules building shared libraries +# Rules building shared libraries. $(LIBNETTLE_FORLINK): $(nettle_PURE_OBJS) $(LIBNETTLE_LINK) $(nettle_PURE_OBJS) -o $@ $(LIBNETTLE_LIBS) -mkdir .lib 2>/dev/null - [ -z "$(LIBNETTLE_SONAME)" ] || (cd .lib \ - && ln -sf ../$(LIBNETTLE_FORLINK) $(LIBNETTLE_SONAME)) + (cd .lib \ + && rm -f $(LIBNETTLE_FORLINK) \ + && $(LN_S) ../$(LIBNETTLE_FORLINK) $(LIBNETTLE_FORLINK) \ + && [ -n "$(LIBNETTLE_SONAME)"] \ + || { rm -f $(LIBNETTLE_SONAME) \ + && $(LN_S) $(LIBNETTLE_FORLINK) $(LIBNETTLE_SONAME) ; } ) $(LIBHOGWEED_FORLINK): $(hogweed_PURE_OBJS) $(LIBNETTLE_FORLINK) $(LIBHOGWEED_LINK) $(hogweed_PURE_OBJS) -o $@ $(LIBHOGWEED_LIBS) -mkdir .lib 2>/dev/null - [ -z "$(LIBHOGWEED_SONAME)" ] || (cd .lib \ - && ln -sf ../$(LIBHOGWEED_FORLINK) $(LIBHOGWEED_SONAME)) + (cd .lib \ + && rm -f $(LIBHOGWEED_FORLINK) \ + && $(LN_S) ../$(LIBHOGWEED_FORLINK) $(LIBHOGWEED_FORLINK) \ + && [ -n "$(LIBHOGWEED_SONAME)"] \ + || { rm -f $(LIBHOGWEED_SONAME) \ + && $(LN_S) $(LIBHOGWEED_FORLINK) $(LIBHOGWEED_SONAME) ; } ) .c.p$(OBJEXT): $(COMPILE) $(SHLIBCFLAGS) -c $< -o $@ \ @@ -295,8 +303,9 @@ install-shared-nettle: $(LIBNETTLE_FORLINK) @IF_DLL@ install-dll-nettle $(INSTALL_DATA) $(LIBNETTLE_FILE_SRC) $(DESTDIR)$(libdir)/$(LIBNETTLE_FILE) [ -z "$(LIBNETTLE_SONAME)" ] \ || (cd $(DESTDIR)$(libdir) \ - && ln -sf $(LIBNETTLE_FILE) $(LIBNETTLE_SONAME) \ - && ln -sf $(LIBNETTLE_FILE) $(LIBNETTLE_FORLINK)) + && rm -f $(LIBNETTLE_SONAME) $(LIBNETTLE_FORLINK) \ + && $(LN_S) $(LIBNETTLE_FILE) $(LIBNETTLE_SONAME) \ + && $(LN_S) $(LIBNETTLE_FILE) $(LIBNETTLE_FORLINK)) install-dll-hogweed: $(MKDIR_P) $(DESTDIR)$(bindir) @@ -307,8 +316,9 @@ install-shared-hogweed: $(LIBHOGWEED_FORLINK) @IF_DLL@ install-dll-hogweed $(INSTALL_DATA) $(LIBHOGWEED_FILE_SRC) $(DESTDIR)$(libdir)/$(LIBHOGWEED_FILE) [ -z "$(LIBHOGWEED_SONAME)" ] \ || (cd $(DESTDIR)$(libdir) \ - && ln -sf $(LIBHOGWEED_FILE) $(LIBHOGWEED_SONAME) \ - && ln -sf $(LIBHOGWEED_FILE) $(LIBHOGWEED_FORLINK)) + && rm -f $(LIBHOGWEED_SONAME) $(LIBHOGWEED_FORLINK) \ + && $(LN_S) $(LIBHOGWEED_FILE) $(LIBHOGWEED_SONAME) \ + && $(LN_S) $(LIBHOGWEED_FILE) $(LIBHOGWEED_FORLINK)) # I'd like to use makes VPATH search to locate the files to be # installed. But it seems most make programs don't set $<, $^, $? and diff --git a/config.make.in b/config.make.in index 73aecc96..58ee19c1 100644 --- a/config.make.in +++ b/config.make.in @@ -53,6 +53,7 @@ AUTOHEADER = autoheader M4 = @M4@ MAKEINFO = makeinfo RANLIB = @RANLIB@ +LN_S = @LN_S@ prefix = @prefix@ exec_prefix = @exec_prefix@ diff --git a/configure.ac b/configure.ac index 334bab08..9c9de1ed 100644 --- a/configure.ac +++ b/configure.ac @@ -107,6 +107,8 @@ AC_PROG_INSTALL # autoconf-2.60 or automake-1.10 to avoid races. AC_PROG_MKDIR_P +AC_PROG_LN_S + LSH_DEPENDENCY_TRACKING if test x$enable_dependency_tracking = xyes ; then -- GitLab