Browse Source

- start populating perl stuff into the rootfs to make automake work

Bernhard Reutner-Fischer 18 years ago
parent
commit
6f07d3907e
2 changed files with 22 additions and 3 deletions
  1. 2 1
      package/automake/automake.mk
  2. 20 2
      package/microperl/microperl.mk

+ 2 - 1
package/automake/automake.mk

@@ -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)

+ 20 - 2
package/microperl/microperl.mk

@@ -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