summaryrefslogtreecommitdiffstats
path: root/rules
diff options
context:
space:
mode:
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>2016-04-28 16:35:43 +0200
committerMichael Olbrich <m.olbrich@pengutronix.de>2016-05-01 09:12:26 +0200
commitab12d380e70f4536a8fb043774e877901fa2d27e (patch)
treeed624297b6cf2bdf44d49e5c92e35314532031b4 /rules
parent68f1992a39ca9c28157facbfd6bdf50aedd5c733 (diff)
downloadptxdist-ab12d380e70f4536a8fb043774e877901fa2d27e.tar.gz
ptxdist-ab12d380e70f4536a8fb043774e877901fa2d27e.tar.xz
libelf: version bump to 0.166
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Diffstat (limited to 'rules')
-rw-r--r--rules/libelf.in36
-rw-r--r--rules/libelf.make55
2 files changed, 63 insertions, 28 deletions
diff --git a/rules/libelf.in b/rules/libelf.in
index 5e9b19d86..0abe93303 100644
--- a/rules/libelf.in
+++ b/rules/libelf.in
@@ -1,13 +1,35 @@
## SECTION=system_libraries
-config LIBELF
+menuconfig LIBELF
tristate
prompt "libelf"
+ select ZLIB
help
- an ELF object file access library
+ The libelf1 package provides a shared library which allows reading
+ and writing ELF files on a high level. Third party programs depend
+ on this package to read internals of ELF files.
- The elf library provides routines to access, and manipulate,
- Elf object files. It is still not complete, but is required
- for a number of programs, such as Eli (a state of the art
- compiler generation system), and Elk (the Extension Language
- Kit - an implementation of the Scheme programming language.)
+if LIBELF
+
+config LIBELF_LIBDW
+ bool
+ prompt "libdw"
+ help
+ libdw1 provides a library that provides access to DWARF debug
+ information stored inside ELF files.
+
+config LIBELF_LIBASM
+ bool
+ prompt "libasm"
+ help
+ The libasm1 package provides a library with a programmable assembler
+ interface. It allows you to create ELF files on a low level.
+
+config LIBELF_ELFSUTILS
+ bool
+ prompt "elfutils"
+ select LIBELF_LIBDW
+ help
+ Elfutils is a collection of utilities to handle ELF objects.
+
+endif
diff --git a/rules/libelf.make b/rules/libelf.make
index e86259438..2f68fe48e 100644
--- a/rules/libelf.make
+++ b/rules/libelf.make
@@ -1,6 +1,7 @@
# -*-makefile-*-
#
# Copyright (C) 2006, 2008, 2009 by Marc Kleine-Budde <mkl@pengutronix.de>
+# 2016 by Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de>
#
# See CREDITS for details about who has contributed to this project.
#
@@ -16,36 +17,28 @@ PACKAGES-$(PTXCONF_LIBELF) += libelf
#
# Paths and names
#
-LIBELF_VERSION := 0.8.13
-LIBELF_MD5 := 4136d7b4c04df68b686570afa26988ac
-LIBELF := libelf-$(LIBELF_VERSION)
-LIBELF_SUFFIX := tar.gz
-LIBELF_URL := http://www.mr511.de/software/$(LIBELF).$(LIBELF_SUFFIX)
+LIBELF_VERSION := 0.166
+LIBELF_MD5 := d4e462b7891915dc5326bccefa2024ff
+LIBELF := elfutils-$(LIBELF_VERSION)
+LIBELF_SUFFIX := tar.bz2
+LIBELF_URL := https://fedorahosted.org/releases/e/l/elfutils/$(LIBELF_VERSION)/$(LIBELF).$(LIBELF_SUFFIX)
LIBELF_SOURCE := $(SRCDIR)/$(LIBELF).$(LIBELF_SUFFIX)
LIBELF_DIR := $(BUILDDIR)/$(LIBELF)
-LIBELF_LICENSE := LGPL
+LIBELF_LICENSE := (LGPL-3.0+ OR GPL-2.0+) AND GPL-3.0+
# ----------------------------------------------------------------------------
# Prepare
# ----------------------------------------------------------------------------
-LIBELF_PATH := PATH=$(CROSS_PATH)
-LIBELF_ENV := \
- $(CROSS_ENV) \
- mr_cv_target_elf=yes \
- ac_cv_func_mmap_fixed_mapped=yes \
- libelf_cv_working_memmove=yes \
- mr_cv_coffee_machine='author is a tee drinker'
-
-LIBELF_MAKEVARS := instroot=$(PKGDIR)/$(LIBELF)
-
#
# autoconf
#
-LIBELF_AUTOCONF := \
+LIBELF_CONF_TOOL := autoconf
+LIBELF_CONF_OPT := \
$(CROSS_AUTOCONF_USR) \
- --enable-shared \
- --enable-elf64
+ --with-zlib \
+ --without-bzlib \
+ --without-lzma
# ----------------------------------------------------------------------------
# Target-Install
@@ -57,10 +50,30 @@ $(STATEDIR)/libelf.targetinstall:
@$(call install_init, libelf)
@$(call install_fixup, libelf,PRIORITY,optional)
@$(call install_fixup, libelf,SECTION,base)
- @$(call install_fixup, libelf,AUTHOR,"Marc Kleine-Budde <mkl@pengutronix.de>")
+ @$(call install_fixup, libelf,AUTHOR,"Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de>")
@$(call install_fixup, libelf,DESCRIPTION,missing)
- @$(call install_lib, libelf, 0, 0, 0644, libelf)
+ @$(call install_lib, libelf, 0, 0, 0644, libelf-$(LIBELF_VERSION))
+
+ifdef PTXCONF_LIBELF_LIBDW
+ @$(call install_lib, libelf, 0, 0, 0644, libdw-$(LIBELF_VERSION))
+ @$(foreach arch, i386 sh x86_64 ia64 alpha arm aarch64 sparc ppc ppc64 \
+ s390 tilegx, \
+ $(call install_lib, libelf, 0, 0, 0644, \
+ elfutils/libebl_$(arch)-$(LIBELF_VERSION));)
+endif
+
+ifdef PTXCONF_LIBELF_LIBASM
+ @$(call install_lib, libelf, 0, 0, 0644, libasm-$(LIBELF_VERSION))
+endif
+
+ifdef PTXCONF_LIBELF_ELFSUTILS
+ @$(foreach bin, addr2line ar elfcmp elfcompress elflint findtextrel ld \
+ make-debug-archive nm objdump ranlib readelf size stack strings \
+ strip unstrip, \
+ $(call install_copy, libelf, 0, 0, 0755, -, \
+ /usr/bin/eu-$(bin));)
+endif
@$(call install_finish, libelf)