diff --git a/bundle.sh b/bundle.sh index 95c062a..e86d438 100755 --- a/bundle.sh +++ b/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 diff --git a/dwarf-compilation.base/Makefile b/dwarf-compilation.base/Makefile new file mode 100644 index 0000000..8d55b1f --- /dev/null +++ b/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 diff --git a/dwarf-compilation.base/contrib/Makefile b/dwarf-compilation.base/contrib/Makefile index 8599038..11c68ff 100644 --- a/dwarf-compilation.base/contrib/Makefile +++ b/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