summaryrefslogtreecommitdiff
path: root/package/busybox/busybox-1.15.2-buildsys.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/busybox/busybox-1.15.2-buildsys.patch')
-rw-r--r--package/busybox/busybox-1.15.2-buildsys.patch92
1 files changed, 92 insertions, 0 deletions
diff --git a/package/busybox/busybox-1.15.2-buildsys.patch b/package/busybox/busybox-1.15.2-buildsys.patch
new file mode 100644
index 000000000..7fb9a80f0
--- /dev/null
+++ b/package/busybox/busybox-1.15.2-buildsys.patch
@@ -0,0 +1,92 @@
+diff -urpN busybox-1.15.2/Makefile busybox-1.15.2-buildsys/Makefile
+--- busybox-1.15.2/Makefile 2009-10-08 03:06:38.000000000 +0200
++++ busybox-1.15.2-buildsys/Makefile 2009-11-28 23:38:39.000000000 +0100
+@@ -358,6 +358,15 @@ scripts_basic:
+ # To avoid any implicit rule to kick in, define an empty command.
+ scripts/basic/%: scripts_basic ;
+
++# bbox: we have helpers in applets/
++# we depend on scripts_basic, since scripts/basic/fixdep
++# must be built before any other host prog
++PHONY += applets_dir
++applets_dir: scripts_basic
++ $(Q)$(MAKE) $(build)=applets
++
++applets/%: applets_dir ;
++
+ PHONY += outputmakefile
+ # outputmakefile generates a Makefile in the output directory, if using a
+ # separate output directory. This allows convenient use of make in the
+@@ -797,7 +806,7 @@ ifneq ($(KBUILD_MODULES),)
+ $(Q)rm -f $(MODVERDIR)/*
+ endif
+
+-archprepare: prepare1 scripts_basic
++archprepare: prepare1 scripts_basic applets_dir
+
+ prepare0: archprepare FORCE
+ $(Q)$(MAKE) $(build)=.
+diff -urpN busybox-1.15.2/scripts/kconfig/Makefile busybox-1.15.2-buildsys/scripts/kconfig/Makefile
+--- busybox-1.15.2/scripts/kconfig/Makefile 2009-09-26 15:14:57.000000000 +0200
++++ busybox-1.15.2-buildsys/scripts/kconfig/Makefile 2009-11-28 23:38:39.000000000 +0100
+@@ -17,11 +17,28 @@ menuconfig: $(obj)/mconf
+ config: $(obj)/conf
+ $< Config.in
+
++# Mtime granularity problem.
++# It was observed that these commands:
++# make allnoconfig; sed -i -e '/CONFIG_TRUE/s/.*/CONFIG_TRUE=y/' .config; make
++# sometimes produce busybox with "true" applet still disabled.
++# This is caused by .config updated by sed having mtime which is still
++# equal to (not bigger than) include/autoconf.h's mtime,
++# and thus 2nd make does not regenerate include/autoconf.h.
++# Waiting for 1 second after non-interactive "make XXXXconfig"
++# prevents this from happening.
++#
++# We'd like to detect whether filesystem we are on has coarse mtimes,
++# but can't do it yet, bbox ls hasn't got --full-time.
++#MTIME_IS_COARSE:=@ls --full-time -ld | grep -F .000 >/dev/null
++MTIME_IS_COARSE:=@true
++
+ oldconfig: $(obj)/conf
+ $< -o Config.in
++ $(MTIME_IS_COARSE) && sleep 1
+
+ silentoldconfig: $(obj)/conf
+ $< -s Config.in
++ $(MTIME_IS_COARSE) && sleep 1
+
+ update-po-config: $(obj)/kxgettext
+ xgettext --default-domain=linux \
+@@ -46,15 +63,19 @@ PHONY += randconfig allyesconfig allnoco
+
+ randconfig: $(obj)/conf
+ $< -r Config.in
++ $(MTIME_IS_COARSE) && sleep 1
+
+ allyesconfig: $(obj)/conf
+ $< -y Config.in
++ $(MTIME_IS_COARSE) && sleep 1
+
+ allnoconfig: $(obj)/conf
+ $< -n Config.in
++ $(MTIME_IS_COARSE) && sleep 1
+
+ allmodconfig: $(obj)/conf
+ $< -m Config.in
++ $(MTIME_IS_COARSE) && sleep 1
+
+ defconfig: $(obj)/conf
+ ifeq ($(KBUILD_DEFCONFIG),)
+@@ -63,9 +84,11 @@ else
+ @echo *** Default configuration is based on '$(KBUILD_DEFCONFIG)'
+ $(Q)$< -D $(KBUILD_DEFCONFIG) Config.in
+ endif
++ $(MTIME_IS_COARSE) && sleep 1
+
+ %_defconfig: $(obj)/conf
+ $(Q)$< -D $@ Config.in
++ $(MTIME_IS_COARSE) && sleep 1
+
+ # Help text used by make help
+ help: