Browse Source

Fix various things — bundle compiles

Théophile Bastian 1 year ago
parent
commit
ec160ec899
3 changed files with 41 additions and 4 deletions
  1. 15 1
      bundle.sh
  2. 18 0
      dwarf-compilation.base/Makefile
  3. 8 3
      dwarf-compilation.base/contrib/Makefile

+ 15 - 1
bundle.sh

@@ -14,15 +14,29 @@ function download_repo {
     echo "OK"
 }
 
+function download_tgz {
+    echo -n "Downloading $3… "
+    wget -q "$1" -O archive.tar.gz
+    tar xzf archive.tar.gz
+    mv "$2" "$3"
+    rm archive.tar.gz
+    echo "OK"
+}
+
 function download {
     cd dwarf-compilation
     download_repo "dwarf-assembly"
     download_repo "libunwind-eh_elf"
-    cd ..
+    cd contrib
+    download_tgz "http://www.mr511.de/software/libelf-0.8.13.tar.gz" \
+        'libelf-0.8.13' 'libelf'
+    cd ../..
 }
 
 function package {
+    echo -n "Packaging… "
     tar czf dwarf-compilation.tar.gz dwarf-compilation
+    echo "OK"
 }
 
 copy_dir

+ 18 - 0
dwarf-compilation.base/Makefile

@@ -0,0 +1,18 @@
+LOCAL = $(CURDIR)/local
+ENV = CPATH=$(LOCAL)/include LD_RUN_PATH=$(LOCAL)/lib LIBRARY_PATH=$(LOCAL)/lib
+all: contrib dwarf-assembly libunwind-eh_elf
+
+.PHONY: contrib dwarf-assembly libunwind-eh_elf
+
+contrib:
+	$(MAKE) -C $@
+
+dwarf-assembly: contrib
+	$(ENV) $(MAKE) -C $@
+
+libunwind-eh_elf: contrib
+	cd $@ \
+		&& ./autogen.sh \
+		&& ./configure --prefix=$(LOCAL)
+	$(ENV) $(MAKE) -C $@
+	$(ENV) $(MAKE) -C $@ install

+ 8 - 3
dwarf-compilation.base/contrib/Makefile

@@ -1,7 +1,7 @@
-LOCAL=$(PWD)/local
+LOCAL=$(CURDIR)/../local
 ENV=LD_RUN_PATH=$(LOCAL)/lib LD_LIBRARY_PATH=$(LOCAL)/lib CPATH=$(LOCAL)/include
 
-all: libdwarf libcxxfileno libsrk31cxx libdwarfpp
+all: libelf libdwarf libcxxfileno libsrk31cxx libdwarfpp
 
 .PHONY: local
 local:
@@ -9,7 +9,12 @@ local:
 
 .PHONY: libdwarf libcxxfileno libsrk31cxx libdwarfpp
 
-libdwarf: local
+libelf: local
+	cd $@ && ./configure --prefix=$(LOCAL)
+	$(ENV) $(MAKE) -C $@
+	$(ENV) $(MAKE) -C $@ install
+
+libdwarf: local libelf
 	cd $@ && $(ENV) ./configure --prefix=$(LOCAL) --enable-shared
 	$(ENV) $(MAKE) -C $@
 	cp $@/libdwarf/libdwarf.a $@/libdwarf/libdwarf.so $(LOCAL)/lib