From 31fe6bb6391c2fb10cafe94e43bca830861bd362 Mon Sep 17 00:00:00 2001 From: Nicolas Thill Date: Tue, 18 Jul 2006 08:33:54 +0000 Subject: [PATCH] port libelf to buildroot-ng, update it to v0.8.8 SVN-Revision: 4135 --- libs/libelf/Makefile | 98 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 libs/libelf/Makefile diff --git a/libs/libelf/Makefile b/libs/libelf/Makefile new file mode 100644 index 000000000..ac481b7d3 --- /dev/null +++ b/libs/libelf/Makefile @@ -0,0 +1,98 @@ +# +# Copyright (C) 2006 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +# $Id$ + +include $(TOPDIR)/rules.mk + +PKG_NAME:=libelf +PKG_VERSION:=0.8.8 +PKG_RELEASE:=1 + +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=http://www.mr511.de/software/ +PKG_MD5SUM:=be84e553686dd50c8b6d520f86f46521 +PKG_CAT:=zcat + +PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install + +include $(INCLUDE_DIR)/package.mk + +define Package/libelf + SECTION:=libs + CATEGORY:=Libraries + TITLE:=ELF object file access library + DESCRIPTION:=ELF object file access library + URL:=http://www.stud.uni-hannover.de/~michael/software/ +endef + +define Build/Configure + (cd $(PKG_BUILD_DIR); rm -rf config.cache; \ + $(TARGET_CONFIGURE_OPTS) \ + CFLAGS="$(TARGET_CFLAGS)" \ + CPPFLAGS="-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include" \ + LDFLAGS="-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib" \ + mr_cv_target_elf=yes \ + libelf_64bit=yes \ + libelf_cv_struct_elf64_ehdr=yes \ + libelf_cv_type_elf64_addr=no \ + libelf_cv_struct_elf64_rel=yes \ + ac_cv_sizeof_long_long=8 \ + ./configure \ + --target=$(GNU_TARGET_NAME) \ + --host=$(GNU_TARGET_NAME) \ + --build=$(GNU_HOST_NAME) \ + --program-prefix="" \ + --program-suffix="" \ + --prefix=/usr \ + --exec-prefix=/usr \ + --bindir=/usr/bin \ + --datadir=/usr/share \ + --includedir=/usr/include \ + --infodir=/usr/share/info \ + --libdir=/usr/lib \ + --libexecdir=/usr/lib \ + --localstatedir=/var \ + --mandir=/usr/share/man \ + --sbindir=/usr/sbin \ + --sysconfdir=/etc \ + $(DISABLE_LARGEFILE) \ + $(DISABLE_NLS) \ + --enable-shared \ + --enable-static \ + --enable-elf64=yes \ + ); +endef + +define Build/Compile + rm -rf $(PKG_INSTALL_DIR) + mkdir -p $(PKG_INSTALL_DIR) + $(MAKE) -C $(PKG_BUILD_DIR) -j1 \ + CC=$(TARGET_CC) LD=$(TARGET_CROSS)ld ARCH=$(ARCH) \ + instroot="$(PKG_INSTALL_DIR)" \ + all install +endef + +define Package/libelf/install + install -d -m0755 $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelf.so.* $(1)/usr/lib/ +endef + +define Build/InstallDev + mkdir -p $(STAGING_DIR)/usr/include + $(CP) $(PKG_INSTALL_DIR)/usr/include/libelf* $(STAGING_DIR)/usr/include/ + mkdir -p $(STAGING_DIR)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelf.{a,so*} $(STAGING_DIR)/usr/lib/ +endef + +define Build/UninstallDev + rm -rf \ + $(STAGING_DIR)/usr/include/libelf* \ + $(STAGING_DIR)/usr/lib/libelf.{a,so*} +endef + +$(eval $(call BuildPackage,libelf)) -- 2.30.2