From 2534b2ee7952919146f810802e675621b55062bb Mon Sep 17 00:00:00 2001 From: Bernhard Reutner-Fischer Date: Fri, 6 Apr 2007 14:21:00 +0000 Subject: [PATCH] - someone disabled shared lib support without fixing the libelf rule leading to useless rebuilds. Add option to install the lib to the target and not only to the staging_dir. --- package/libelf/Config.in | 8 ++++++++ package/libelf/libelf.mk | 16 ++++++++++++---- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/package/libelf/Config.in b/package/libelf/Config.in index 3fc933f005..3afde80d37 100644 --- a/package/libelf/Config.in +++ b/package/libelf/Config.in @@ -7,3 +7,11 @@ config BR2_PACKAGE_LIBELF library. http://www.stud.uni-hannover.de/~michael/software/ + +config BR2_PACKAGE_LIBELF_HEADERS + bool "headers on the target" + default n + depends on BR2_PACKAGE_LIBELF + help + Whether to copy the lib and the headers to the + target system. diff --git a/package/libelf/libelf.mk b/package/libelf/libelf.mk index 4ff4d7a195..b7a776b202 100644 --- a/package/libelf/libelf.mk +++ b/package/libelf/libelf.mk @@ -28,6 +28,7 @@ $(LIBELF_DIR)/.configured: $(LIBELF_DIR)/.unpacked CFLAGS="$(TARGET_CFLAGS)" \ LDFLAGS="$(TARGET_LDFLAGS)" \ libelf_cv_working_memmove=yes \ + mr_cv_target_elf=yes \ ./configure \ --target=$(GNU_TARGET_NAME) \ --host=$(GNU_TARGET_NAME) \ @@ -35,25 +36,32 @@ $(LIBELF_DIR)/.configured: $(LIBELF_DIR)/.unpacked --prefix=/usr \ --sysconfdir=/etc \ $(DISABLE_NLS) \ - --disable-shared \ + --enable-shared \ ); touch $@ -$(LIBELF_DIR)/libelf.so.$(LIBELF_VER): $(LIBELF_DIR)/.configured +$(LIBELF_DIR)/lib/libelf.so.$(LIBELF_VER): $(LIBELF_DIR)/.configured $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(LIBELF_DIR) -$(STAGING_DIR)/usr/lib/libelf.a: $(LIBELF_DIR)/libelf.so.$(LIBELF_VER) +$(STAGING_DIR)/usr/lib/libelf.a: $(LIBELF_DIR)/lib/libelf.so.$(LIBELF_VER) $(MAKE1) $(TARGET_CONFIGURE_OPTS) \ instroot=$(STAGING_DIR) -C $(LIBELF_DIR) install +ifeq ($(BR2_PACKAGE_LIBELF_HEADERS),y) $(TARGET_DIR)/usr/lib/libelf.so.$(LIBELF_VER): $(STAGING_DIR)/usr/lib/libelf.a + $(INSTALL) $(STAGING_DIR)/usr/lib/libelf* $(@D) + cp -dpR $(STAGING_DIR)/usr/include/{gelf.h,libelf*} $(TARGET_DIR)/usr/include/ + $(STRIP) $@ libelf: uclibc $(TARGET_DIR)/usr/lib/libelf.so.$(LIBELF_VER) - +else +libelf: uclibc $(STAGING_DIR)/usr/lib/libelf.so.$(LIBELF_VER) +endif libelf-source: $(DL_DIR)/$(LIBELF_SOURCE) libelf-clean: $(MAKE) prefix=$(TARGET_DIR)/usr -C $(LIBELF_DIR) uninstall + $(MAKE) instroot=$(STAGING_DIR) -C $(LIBELF_DIR) uninstall -$(MAKE) -C $(LIBELF_DIR) clean libelf-dirclean: -- 2.30.2