[Buildroot] Add ability to force a static BB build
Michael S. Zick
minimod at morethan.org
Thu Nov 19 11:51:06 UTC 2009
This one I find to be useful for people (like myself)
that need a static linked busybox before setting up
a dynamically linked system.
A1: Yes, this feature could be selected in the busybox config file;
but exposing the feature in BR allows the use of "canned" BB config
files without creating a custom one with only "static" changed.
"Signed-off-by" == "works for me"
Signed-off-by: Michael S. Zick <minimod at morethan.org>
diff --git a/package/busybox/Config.in b/package/busybox/Config.in
index 7438a8d..90cec45 100644
--- a/package/busybox/Config.in
+++ b/package/busybox/Config.in
@@ -56,6 +56,20 @@ config BR2_PACKAGE_BUSYBOX_FULLINSTALL
If you wish to just install /bin/busybox, then answer N.
+config BR2_PACKAGE_BUSYBOX_MKSTATIC
+ bool "Build a staticly linked BusyBox"
+ depends on BR2_PACKAGE_BUSYBOX
+ default n
+ help
+ This will produce a staticly linked BusyBox.
+
+ Over-rides the selection made in the BusyBox config file.
+
+ Generates a larger BusyBox that can be run independently
+ of the rest of the system being built.
+ Useful if you need to run BusyBox before setting up for
+ a dynamically linked system.
+
config BR2_PACKAGE_BUSYBOX_CONFIG
string "BusyBox configuration file to use?"
depends on BR2_PACKAGE_BUSYBOX
diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk
index eb79134..187a06a 100644
--- a/package/busybox/busybox.mk
+++ b/package/busybox/busybox.mk
@@ -77,6 +77,11 @@ ifeq ($(BR2_INET_RPC),y)
else
$(SED) "s/^.*CONFIG_FEATURE_MOUNT_NFS.*/CONFIG_FEATURE_MOUNT_NFS=n/;" $(BUSYBOX_DIR)/.config
endif
+ifeq ($(BR2_PACKAGE_BUSYBOX_MKSTATIC),y)
+ # force static build on
+ $(SED) "s/^.*CONFIG_STATIC.*/CONFIG_STATIC=y/" $(BUSYBOX_DIR)/.config
+ $(SED) "s/^.*CONFIG_PIE.*/CONFIG_PIE=n/" $(BUSYBOX_DIR)/.config
+endif
ifeq ($(BR2_PACKAGE_BUSYBOX_SKELETON),y)
# force mdev on
$(SED) "s/^.*CONFIG_MDEV.*/CONFIG_MDEV=y/" $(BUSYBOX_DIR)/.config
More information about the buildroot
mailing list