aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package/autoconf/autoconf.mk2
-rw-r--r--package/m4/m4.mk46
2 files changed, 45 insertions, 3 deletions
diff --git a/package/autoconf/autoconf.mk b/package/autoconf/autoconf.mk
index 5b1af6788..b7ef6fc8f 100644
--- a/package/autoconf/autoconf.mk
+++ b/package/autoconf/autoconf.mk
@@ -111,7 +111,7 @@ $(AUTOCONF_HOST_DIR)/bin/$(AUTOCONF_BINARY): $(AUTOCONF_HOST_DIR)/.configured
$(AUTOCONF): $(AUTOCONF_HOST_DIR)/bin/$(AUTOCONF_BINARY)
$(MAKE) -C $(AUTOCONF_HOST_DIR) install;
-host-autoconf: m4-host host-libtool $(AUTOCONF)
+host-autoconf: host-m4 host-libtool $(AUTOCONF)
host-autoconf-clean:
$(MAKE) CC=$(HOST_CC) -C $(AUTOCONF_HOST_DIR) uninstall
diff --git a/package/m4/m4.mk b/package/m4/m4.mk
index 6742f80bb..587144e3d 100644
--- a/package/m4/m4.mk
+++ b/package/m4/m4.mk
@@ -8,6 +8,7 @@ M4_SOURCE:=m4-$(M4_VER).tar.bz2
M4_CAT:=$(BZCAT)
M4_SITE:=http://ftp.gnu.org/pub/gnu/m4
M4_DIR:=$(BUILD_DIR)/m4-$(M4_VER)
+M4_HOST_DIR:=$(TOOL_BUILD_DIR)/m4-$(M4_VER)
M4_BINARY:=m4
M4_TARGET_BINARY:=usr/bin/m4
@@ -24,7 +25,7 @@ $(M4_DIR)/.unpacked: $(DL_DIR)/$(M4_SOURCE)
$(M4_CAT) $(DL_DIR)/$(M4_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
toolchain/patch-kernel.sh $(M4_DIR) package/m4 m4\*.patch
$(CONFIG_UPDATE) $(@D)
- touch $(M4_DIR)/.unpacked
+ touch $@
$(M4_DIR)/.configured: $(M4_DIR)/.unpacked
(cd $(M4_DIR); rm -rf config.cache; \
@@ -40,7 +41,7 @@ $(M4_DIR)/.configured: $(M4_DIR)/.unpacked
--exec-prefix=/usr \
$(DISABLE_LARGEFILE) \
);
- touch $(M4_DIR)/.configured
+ touch $@
$(M4_DIR)/src/$(M4_BINARY): $(M4_DIR)/.configured
$(MAKE) CC=$(TARGET_CC) -C $(M4_DIR)
@@ -63,6 +64,7 @@ $(TARGET_DIR)/$(M4_TARGET_BINARY): $(M4_DIR)/src/$(M4_BINARY)
$(STRIP) $(TARGET_DIR)/$(M4_TARGET_BINARY) > /dev/null 2>&1
rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \
$(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc
+ touch -c $@
m4: uclibc $(TARGET_DIR)/$(M4_TARGET_BINARY)
@@ -75,6 +77,46 @@ m4-dirclean:
#############################################################
#
+# m4 for the host
+#
+#############################################################
+
+$(M4_HOST_DIR)/.unpacked: $(DL_DIR)/$(M4_SOURCE)
+ $(M4_CAT) $(DL_DIR)/$(M4_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) -
+ toolchain/patch-kernel.sh $(M4_HOST_DIR) package/m4 m4\*.patch
+ $(CONFIG_UPDATE) $(@D)
+ touch $@
+
+$(M4_HOST_DIR)/.configured: $(M4_HOST_DIR)/.unpacked
+ (cd $(M4_HOST_DIR); rm -rf config.cache; \
+ $(HOST_CONFIGURE_OPTS) \
+ CFLAGS="$(HOST_CFLAGS)" \
+ LDFLAGS="$(HOST_LDFLAGS)" \
+ gl_cv_func_gettimeofday_clobber=no \
+ $(gl_cv_func_re_compile_pattern_working) \
+ ./configure \
+ --prefix=$(STAGING_DIR)/usr \
+ $(DISABLE_LARGEFILE) \
+ );
+ touch $@
+
+$(M4_HOST_DIR)/src/$(M4_BINARY): $(M4_HOST_DIR)/.configured
+ $(MAKE) -C $(M4_HOST_DIR)
+
+$(STAGING_DIR)/$(M4_TARGET_BINARY): $(M4_HOST_DIR)/src/$(M4_BINARY)
+ $(MAKE) -C $(M4_HOST_DIR) install;
+
+host-m4: uclibc $(STAGING_DIR)/$(M4_TARGET_BINARY)
+
+host-m4-clean:
+ $(MAKE) -C $(M4_HOST_DIR) uninstall
+ -$(MAKE) -C $(M4_HOST_DIR) clean
+
+host-m4-dirclean:
+ rm -rf $(M4_HOST_DIR)
+
+#############################################################
+#
# Toplevel Makefile options
#
#############################################################