- start populating perl stuff into the rootfs to make automake work
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Mon, 29 Jan 2007 20:06:00 +0000 (20:06 -0000)
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Mon, 29 Jan 2007 20:06:00 +0000 (20:06 -0000)
package/automake/automake.mk
package/microperl/microperl.mk

index 96f6f99e947c26f290935ff49216c5335199f63a..0f7ab01e0ccdb3326b0d80a437a01106432b49d4 100644 (file)
@@ -18,6 +18,7 @@ automake-source: $(DL_DIR)/$(AUTOMAKE_SOURCE)
 
 $(AUTOMAKE_DIR)/.unpacked: $(DL_DIR)/$(AUTOMAKE_SOURCE)
        $(AUTOMAKE_CAT) $(DL_DIR)/$(AUTOMAKE_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+       $(CONFIG_UPDATE) $(AUTOMAKE_DIR)
        touch $@
 
 $(AUTOMAKE_DIR)/.configured: $(AUTOMAKE_DIR)/.unpacked
@@ -61,7 +62,7 @@ $(TARGET_DIR)/$(AUTOMAKE_TARGET_BINARY): $(AUTOMAKE_DIR)/$(AUTOMAKE_BINARY)
            infodir=$(TARGET_DIR)/usr/info \
            mandir=$(TARGET_DIR)/usr/man \
            includedir=$(TARGET_DIR)/usr/include \
-           -C $(AUTOMAKE_DIR) install;
+           -C $(AUTOMAKE_DIR) install
        rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \
                $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc
        touch -c $(TARGET_DIR)/$(AUTOMAKE_TARGET_BINARY)
index 08c8356b3cf460523c8a67b238cd302d12bcf709..aa77ceb7ad000a1d52f48365597a889274b948ab 100644 (file)
@@ -13,7 +13,11 @@ MICROPERL_DIR=$(BUILD_DIR)/perl-$(MICROPERL_VER)
 MICROPERL_MODS_DIR=/usr/lib/perl$(MICROPERL_MAJ)/$(MICROPERL_VER)
 MICROPERL_MODS=$(subst ",,$(BR2_PACKAGE_MICROPERL_MODULES))
 # ")
-
+ifeq ($(BR2_PACKAGE_AUTOMAKE),y)
+MICROPERL_MODS+=File/Basename.pm Errno.pm Config.pm IO/File.pm Symbol.pm \
+       SelectSaver.pm IO/Seekable.pm IO/Handle.pm IO.pm XSLoader.pm \
+       DynaLoader.pm AutoLoader.pm
+endif
 $(DL_DIR)/$(MICROPERL_SOURCE):
        $(WGET) -P $(DL_DIR) $(MICROPERL_SITE)/$(MICROPERL_SOURCE)
 
@@ -22,6 +26,13 @@ $(MICROPERL_DIR)/.source: $(DL_DIR)/$(MICROPERL_SOURCE)
        touch $@
 
 $(MICROPERL_DIR)/.configured: $(MICROPERL_DIR)/.source
+ifeq ($(BR2_PACKAGE_AUTOMAKE),y)
+       # we need to build a perl for the host just for Errno.pm
+       (cd $(MICROPERL_DIR) ; ./Configure -de ; \
+        $(MAKE) CC="$(HOSTCC)" ; \
+        $(SHELL) ext/util/make_ext nonxs Errno MAKE="$(firstword $(MAKE))" ; \
+       )
+endif
        (cd $(MICROPERL_DIR) ; chmod u+w uconfig.h ; . ./uconfig.sh ; \
         $(MAKE) -f Makefile.micro regen_uconfig ; \
         $(SED) 's,PRIVLIB ".*,PRIVLIB "/$(MICROPERL_MODS_DIR)",' \
@@ -34,6 +45,11 @@ $(MICROPERL_DIR)/.configured: $(MICROPERL_DIR)/.source
 $(MICROPERL_DIR)/microperl: $(MICROPERL_DIR)/.configured
        $(MAKE) -f Makefile.micro CC=$(TARGET_CC) \
                OPTIMIZE="$(TARGET_CFLAGS)" -C $(MICROPERL_DIR)
+ifeq ($(BR2_PACKAGE_AUTOMAKE),y)
+       #(cd $(@D) ; \
+       # CONFIG=uconfig.h $(SHELL) ext/util/make_ext nonxs Errno MAKE="$(firstword $(MAKE))" ; \
+       #)
+endif
 
 $(TARGET_DIR)/usr/bin/microperl: $(MICROPERL_DIR)/microperl
 ifneq ($(MICROPERL_MODS),)
@@ -47,13 +63,15 @@ ifneq ($(MICROPERL_MODS),)
        )
 endif
        cp -dpf $(MICROPERL_DIR)/microperl $(TARGET_DIR)/usr/bin/microperl
+       (cd $(TARGET_DIR)/usr/bin ; rm -f perl ; ln -s microperl perl ;)
 
 microperl: uclibc $(TARGET_DIR)/usr/bin/microperl
 
 microperl-source: $(DL_DIR)/$(MICROPERL_SOURCE)
 
 microperl-clean:
-       rm -rf $(TARGET_DIR)/usr/bin/microperl $(TARGET_DIR)/$(MICROPERL_MODS_DIR)
+       rm -rf $(TARGET_DIR)/usr/bin/microperl \
+               $(TARGET_DIR)/$(MICROPERL_MODS_DIR) $(TARGET_DIR)/usr/bin/perl
        -rmdir $(TARGET_DIR)/usr/lib/perl$(MICROPERL_MAJ)
        -$(MAKE) -C $(MICROPERL_DIR) -f Makefile.micro clean