1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121
|
Author: Luke Yelavich <themuso@ubuntu.com>
Description: Fix library symbolic link creation and library linking.
--- a/1.0.0.rc16/configure
+++ b/1.0.0.rc16/configure
@@ -693,6 +693,7 @@ DEBUG_MALLOC
DMRAID_TEST
DMRAID_VERSION
DMRAID_LIB_VERSION
+DMRAID_LIB_MAJOR_VERSION
DIETLIBC
GROUP
JOBS
@@ -5767,8 +5768,10 @@ fi
if test "-f lib/version.h"; then
DMRAID_LIB_VERSION="`sed --quiet 's/^.*\(DMRAID_LIB_VERSION\)[^_].*"\(.*\)"/\2/p' lib/version.h`"
+ DMRAID_LIB_MAJOR_VERSION="`grep DMRAID_LIB_MAJOR_VERSION lib/version.h | tr '\t' ' ' | cut -f 3 -d ' '`"
else
DMRAID_LIB_VERSION="Unknown"
+ DMRAID_LIB_MAJOR_VERSION="Unknown"
fi
--- a/1.0.0.rc16/configure.in
+++ b/1.0.0.rc16/configure.in
@@ -178,7 +178,7 @@ if test x$DEBUG_MALLOC = xyes; then
fi
dnl Mess with default exec_prefix
-if [[ "x$exec_prefix" = xNONE -a "x$prefix" = xNONE ]];
+if [ "x$exec_prefix" = xNONE -a "x$prefix" = xNONE ];
then exec_prefix="";
fi;
@@ -220,8 +220,10 @@ fi
if test "-f lib/version.h"; then
DMRAID_LIB_VERSION="`sed --quiet 's/^.*\(DMRAID_LIB_VERSION\)[[^_]].*"\(.*\)"/\2/p' lib/version.h`"
+ DMRAID_LIB_MAJOR_VERSION="`grep DMRAID_LIB_MAJOR_VERSION lib/version.h | tr '\t' ' ' | cut -f 3 -d ' '`"
else
DMRAID_LIB_VERSION="Unknown"
+ DMRAID_LIB_MAJOR_VERSION="Unknown"
fi
AC_SUBST(CC)
@@ -232,6 +234,7 @@ AC_SUBST(DEBUG_MALLOC)
AC_SUBST(DMRAID_TEST)
AC_SUBST(DMRAID_VERSION)
AC_SUBST(DMRAID_LIB_VERSION)
+AC_SUBST(DMRAID_LIB_MAJOR_VERSION)
AC_SUBST(DIETLIBC)
AC_SUBST(GROUP)
AC_SUBST(JOBS)
--- a/1.0.0.rc16/lib/Makefile.in
+++ b/1.0.0.rc16/lib/Makefile.in
@@ -65,6 +65,11 @@ ifeq ("@KLIBC@", "no")
LIB_EVENTS_SHARED=$(top_srcdir)/lib/$(LIB_EVENTS_NAME).so
TARGETS += $(LIB_SHARED) $(LIB_EVENTS_SHARED)
INSTALL_TARGETS += $(LIB_SHARED) $(LIB_EVENTS_SHARED)
+ ifeq ("@DIETLIBC@", "yes")
+ LIBDMRAIDLIBS += -ldevmapper_dietc
+ else
+ LIBDMRAIDLIBS += -ldevmapper
+ endif
endif
endif
@@ -82,10 +87,11 @@ install_dmraid_libs: $(INSTALL_TARGETS)
for f in $(INSTALL_TARGETS); \
do \
n=$$(basename $${f}) ; \
- if [[ "$$n" =~ '.so$$' ]]; then \
+ if echo "$$n" | grep -q '.so$$'; then \
$(INSTALL) -m 555 $(STRIP) \
$$f $(libdir)/$${n}.@DMRAID_LIB_VERSION@; \
- $(LN_S) -f $${n}.@DMRAID_LIB_VERSION@ $(libdir)/$${n}; \
+ mkdir -p $(prefix)/lib; \
+ cd $(prefix)/lib/ && $(LN_S) -f /lib/$${n}.@DMRAID_LIB_VERSION@ $${n}; \
else \
$(INSTALL) -m 555 $(STRIP) $$f $(libdir)/$${n}; \
fi \
--- a/1.0.0.rc16/make.tmpl.in
+++ b/1.0.0.rc16/make.tmpl.in
@@ -44,6 +44,7 @@ endif
OWNER = @OWNER@
GROUP = @GROUP@
DMRAID_LIB_VERSION = @DMRAID_LIB_VERSION@
+DMRAID_LIB_MAJOR_VERSION = @DMRAID_LIB_MAJOR_VERSION@
# The number of jobs to run, if blank, defaults to the make standard
ifndef MAKEFLAGS
@@ -136,7 +137,7 @@ $(TARGETS): $(OBJECTS)
%.so: $(OBJECTS)
$(CC) -shared -Wl,-soname,$(notdir $@).$(DMRAID_LIB_VERSION) \
- -Wl,--version-script,.export.sym $(OBJECTS) -o $@ -ldevmapper-event
+ -Wl,--version-script,.export.sym $(OBJECTS) $(LIBDMRAIDLIBS) -o $@ -ldevmapper-event
$(LIB_STATIC): $(OBJECTS)
$(RM) $@
--- a/1.0.0.rc16/tools/Makefile.in
+++ b/1.0.0.rc16/tools/Makefile.in
@@ -34,12 +34,16 @@ ifeq ("@KLIBC@", "yes")
DMRAIDLIBS += -ldevmapper_klibc
else
ifeq ("@DIETLIBC@", "yes")
- DMRAIDLIBS += -ldevmapper_dietc
+ ifeq ("@LIB_SO@", "no")
+ DMRAIDLIBS += -ldevmapper_dietc
+ endif
ifeq ("@STATIC_LINK@", "no")
DMEVENTTOOLLIBS = -ldevmapper-event_dietc
endif
else
- DMRAIDLIBS += -ldevmapper
+ ifeq ("@LIB_SO@", "no")
+ DMRAIDLIBS += -ldevmapper
+ endif
ifeq ("@STATIC_LINK@", "no")
DMEVENTTOOLLIBS = -ldevmapper-event
endif
|