- someone disabled shared lib support without fixing the libelf rule leading to
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Fri, 6 Apr 2007 14:21:00 +0000 (14:21 -0000)
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Fri, 6 Apr 2007 14:21:00 +0000 (14:21 -0000)
  useless rebuilds. Add option to install the lib to the target and not only to
  the staging_dir.

package/libelf/Config.in
package/libelf/libelf.mk

index 3fc933f005f01ebd0c573eb0e898368a0ef1e23b..3afde80d37663dcc20056fbf1c4995e7a1e041fa 100644 (file)
@@ -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.
index 4ff4d7a1957dedf2f8a4c7c0403868008d7be216..b7a776b202273eb30028db49950959c2f8d81d58 100644 (file)
@@ -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: