[libdwarf] Fixed to build properly in a clean environment

Tom Hughes tomh at fedoraproject.org
Fri Feb 8 14:46:31 UTC 2013


commit ce8e563dc00e181d801e0ab593fe0002cc8a8e85
Author: Tom Hughes <tom at compton.nu>
Date:   Fri Feb 8 14:46:04 2013 +0000

    Fixed to build properly in a clean environment

 libdwarf-soname.patch |   18 ++++++++++++++++++
 libdwarf.spec         |    6 +++---
 2 files changed, 21 insertions(+), 3 deletions(-)
---
diff --git a/libdwarf-soname.patch b/libdwarf-soname.patch
new file mode 100644
index 0000000..a392439
--- /dev/null
+++ b/libdwarf-soname.patch
@@ -0,0 +1,18 @@
+diff --git a/libdwarf/Makefile.in b/libdwarf/Makefile.in
+index 76add35..1876507 100644
+--- a/libdwarf/Makefile.in
++++ b/libdwarf/Makefile.in
+@@ -131,8 +131,11 @@ all: @build_shared@ @build_nonshared@
+ libdwarf.a: dwarf_names.h dwarf_names.c  $(OBJS) dwarf_names.o
+ 	$(AR) $(ARFLAGS) $@ $(OBJS)  dwarf_names.o
+ 
+-libdwarf.so: dwarf_names.h dwarf_names.c $(OBJS) dwarf_names.o
+-	$(CC) $(CFLAGS) -shared $(OBJS)  dwarf_names.o -o $@
++libdwarf.so: $(SONAME)
++	ln -s $(SONAME) $@
++
++$(SONAME): dwarf_names.h dwarf_names.c $(OBJS) dwarf_names.o
++	$(CC) $(CFLAGS) -shared $(OBJS) -Wl,-soname,$(SONAME)  dwarf_names.o -o $@
+ 
+ none:
+ 	echo "do nothing"
diff --git a/libdwarf.spec b/libdwarf.spec
index b037655..addc566 100644
--- a/libdwarf.spec
+++ b/libdwarf.spec
@@ -11,6 +11,7 @@ Group:         Development/Libraries
 License:       LGPLv2
 URL:           http://reality.sgiweb.org/davea/dwarf.html
 Source0:       http://reality.sgiweb.org/davea/%{name}-%{version}.tar.gz
+Patch0:        libdwarf-soname.patch
 
 BuildRequires: binutils-devel elfutils-libelf-devel
 
@@ -49,12 +50,11 @@ to access DWARF debug information.
 
 %prep
 %setup -q -n dwarf-%{version}
-mv libdwarf/Makefile.in libdwarf/Makefile.in.orig
-sed -e 's/-shared $(OBJS)/-shared $(OBJS) -Wl,-soname,%{soname}/' < libdwarf/Makefile.in.orig > libdwarf/Makefile.in
+%patch0 -p1 -b .soname
 
 %build
 CFLAGS="$RPM_OPT_FLAGS" %configure --enable-shared
-make %{?_smp_mflags}
+LD_LIBRARY_PATH="../libdwarf" make %{?_smp_mflags} SONAME="%{soname}"
 
 %install
 install -pDm 0644 libdwarf/dwarf.h         %{buildroot}%{_includedir}/libdwarf/dwarf.h


More information about the scm-commits mailing list