It looks like this old bug has resurfaced yet again: http://lists.busybox.net/pipermail/busybox/2006-December/025611.html http://bugs.gentoo.org/show_bug.cgi?id=234547
On xubuntu 9.04, building busybox more or less defconfig, the following sed invocation (which turns a .config file into a config.h file) works fine, and converts the attached .config into the attached config.h. # This long and roundabout sed invocation is to make old versions happy. # New ones have '\n' so can replace one line with two without all the branches # and tedious mucking about with hold space. sed -n \ -e 's/^# CONFIG_\(.*\) is not set.*/\1/' \ -e 't notset' \ -e 's/^CONFIG_\(.*\)=y.*/\1/' \ -e 't isset' \ -e 's/^CONFIG_\([^=]*\)=\(.*\)/#define CFG_\1 \2/p' \ -e 'd' \ -e ':notset' \ -e 'h' \ -e 's/.*/#define CFG_& 0/p' \ -e 'g' \ -e 's/.*/#define USE_&(...)/p' \ -e 'd' \ -e ':isset' \ -e 'h' \ -e 's/.*/#define CFG_& 1/p' \ -e 'g' \ -e 's/.*/#define USE_&(...) __VA_ARGS__/p' \ .config > generated/config.h But when busybox is built with LDFLAGS="--static", busybox sed produces no output (and thus an empty config.h.) I thought busybox had some workaround code for this? Calling fflush(stdout) via atexit() or something similar? Rob -- Latency is more important than throughput. It's that simple. - Linus Torvalds
# # Automatically generated make config: don't edit # ToyBox version: KCONFIG_VERSION # Mon Oct 26 17:26:27 2009 # # # Global settings # # CONFIG_TOYBOX is not set # CONFIG_TOYBOX_FREE is not set # CONFIG_TOYBOX_DEBUG is not set # # Toys # CONFIG_BASENAME=y CONFIG_BZCAT=y CONFIG_CAT=y CONFIG_CATV=y CONFIG_CHROOT=y CONFIG_CHVT=y CONFIG_CKSUM=y CONFIG_COUNT=y CONFIG_CP=y CONFIG_DF=y CONFIG_DF_PEDANTIC=y CONFIG_DIRNAME=y CONFIG_DMESG=y CONFIG_ECHO=y CONFIG_FALSE=y # CONFIG_HELLO is not set CONFIG_HELP=y CONFIG_HELP_LONG=y CONFIG_MDEV=y CONFIG_MDEV_CONF=y # CONFIG_MKE2FS is not set # CONFIG_MKE2FS_JOURNAL is not set # CONFIG_MKE2FS_GEN is not set # CONFIG_MKE2FS_LABEL is not set # CONFIG_MKE2FS_EXTENDED is not set CONFIG_MKFIFO=y CONFIG_MKSWAP=y CONFIG_NETCAT=y CONFIG_NETCAT_LISTEN=y CONFIG_ONEIT=y CONFIG_PATCH=y CONFIG_PWD=y # CONFIG_READLINK is not set # CONFIG_READLINK_F is not set CONFIG_RMDIR=y # CONFIG_SED is not set CONFIG_SEQ=y CONFIG_SHA1SUM=y CONFIG_SLEEP=y CONFIG_SORT=y CONFIG_SORT_BIG=y CONFIG_SYNC=y CONFIG_TEE=y CONFIG_TOUCH=y CONFIG_TOYSH=y # CONFIG_TOYSH_TTY is not set # CONFIG_TOYSH_PROFILE is not set # CONFIG_TOYSH_JOBCTL is not set # CONFIG_TOYSH_FLOWCTL is not set # CONFIG_TOYSH_QUOTES is not set # CONFIG_TOYSH_WILDCARDS is not set # CONFIG_TOYSH_PROCARGS is not set # CONFIG_TOYSH_ENVVARS is not set # CONFIG_TOYSH_LOCALS is not set # CONFIG_TOYSH_ARRAYS is not set # CONFIG_TOYSH_PIPES is not set # CONFIG_TOYSH_BUILTINS is not set # CONFIG_EXIT is not set # CONFIG_CD is not set # CONFIG_CD_P is not set CONFIG_TRUE=y CONFIG_TTY=y CONFIG_UNAME=y CONFIG_WHICH=y CONFIG_YES=y
#define CFG_TOYBOX 0 #define USE_TOYBOX(...) #define CFG_TOYBOX_FREE 0 #define USE_TOYBOX_FREE(...) #define CFG_TOYBOX_DEBUG 0 #define USE_TOYBOX_DEBUG(...) #define CFG_BASENAME 1 #define USE_BASENAME(...) __VA_ARGS__ #define CFG_BZCAT 1 #define USE_BZCAT(...) __VA_ARGS__ #define CFG_CAT 1 #define USE_CAT(...) __VA_ARGS__ #define CFG_CATV 1 #define USE_CATV(...) __VA_ARGS__ #define CFG_CHROOT 1 #define USE_CHROOT(...) __VA_ARGS__ #define CFG_CHVT 1 #define USE_CHVT(...) __VA_ARGS__ #define CFG_CKSUM 1 #define USE_CKSUM(...) __VA_ARGS__ #define CFG_COUNT 1 #define USE_COUNT(...) __VA_ARGS__ #define CFG_CP 1 #define USE_CP(...) __VA_ARGS__ #define CFG_DF 1 #define USE_DF(...) __VA_ARGS__ #define CFG_DF_PEDANTIC 1 #define USE_DF_PEDANTIC(...) __VA_ARGS__ #define CFG_DIRNAME 1 #define USE_DIRNAME(...) __VA_ARGS__ #define CFG_DMESG 1 #define USE_DMESG(...) __VA_ARGS__ #define CFG_ECHO 1 #define USE_ECHO(...) __VA_ARGS__ #define CFG_FALSE 1 #define USE_FALSE(...) __VA_ARGS__ #define CFG_HELLO 0 #define USE_HELLO(...) #define CFG_HELP 1 #define USE_HELP(...) __VA_ARGS__ #define CFG_HELP_LONG 1 #define USE_HELP_LONG(...) __VA_ARGS__ #define CFG_MDEV 1 #define USE_MDEV(...) __VA_ARGS__ #define CFG_MDEV_CONF 1 #define USE_MDEV_CONF(...) __VA_ARGS__ #define CFG_MKE2FS 0 #define USE_MKE2FS(...) #define CFG_MKE2FS_JOURNAL 0 #define USE_MKE2FS_JOURNAL(...) #define CFG_MKE2FS_GEN 0 #define USE_MKE2FS_GEN(...) #define CFG_MKE2FS_LABEL 0 #define USE_MKE2FS_LABEL(...) #define CFG_MKE2FS_EXTENDED 0 #define USE_MKE2FS_EXTENDED(...) #define CFG_MKFIFO 1 #define USE_MKFIFO(...) __VA_ARGS__ #define CFG_MKSWAP 1 #define USE_MKSWAP(...) __VA_ARGS__ #define CFG_NETCAT 1 #define USE_NETCAT(...) __VA_ARGS__ #define CFG_NETCAT_LISTEN 1 #define USE_NETCAT_LISTEN(...) __VA_ARGS__ #define CFG_ONEIT 1 #define USE_ONEIT(...) __VA_ARGS__ #define CFG_PATCH 1 #define USE_PATCH(...) __VA_ARGS__ #define CFG_PWD 1 #define USE_PWD(...) __VA_ARGS__ #define CFG_READLINK 0 #define USE_READLINK(...) #define CFG_READLINK_F 0 #define USE_READLINK_F(...) #define CFG_RMDIR 1 #define USE_RMDIR(...) __VA_ARGS__ #define CFG_SED 0 #define USE_SED(...) #define CFG_SEQ 1 #define USE_SEQ(...) __VA_ARGS__ #define CFG_SHA1SUM 1 #define USE_SHA1SUM(...) __VA_ARGS__ #define CFG_SLEEP 1 #define USE_SLEEP(...) __VA_ARGS__ #define CFG_SORT 1 #define USE_SORT(...) __VA_ARGS__ #define CFG_SORT_BIG 1 #define USE_SORT_BIG(...) __VA_ARGS__ #define CFG_SYNC 1 #define USE_SYNC(...) __VA_ARGS__ #define CFG_TEE 1 #define USE_TEE(...) __VA_ARGS__ #define CFG_TOUCH 1 #define USE_TOUCH(...) __VA_ARGS__ #define CFG_TOYSH 1 #define USE_TOYSH(...) __VA_ARGS__ #define CFG_TOYSH_TTY 0 #define USE_TOYSH_TTY(...) #define CFG_TOYSH_PROFILE 0 #define USE_TOYSH_PROFILE(...) #define CFG_TOYSH_JOBCTL 0 #define USE_TOYSH_JOBCTL(...) #define CFG_TOYSH_FLOWCTL 0 #define USE_TOYSH_FLOWCTL(...) #define CFG_TOYSH_QUOTES 0 #define USE_TOYSH_QUOTES(...) #define CFG_TOYSH_WILDCARDS 0 #define USE_TOYSH_WILDCARDS(...) #define CFG_TOYSH_PROCARGS 0 #define USE_TOYSH_PROCARGS(...) #define CFG_TOYSH_ENVVARS 0 #define USE_TOYSH_ENVVARS(...) #define CFG_TOYSH_LOCALS 0 #define USE_TOYSH_LOCALS(...) #define CFG_TOYSH_ARRAYS 0 #define USE_TOYSH_ARRAYS(...) #define CFG_TOYSH_PIPES 0 #define USE_TOYSH_PIPES(...) #define CFG_TOYSH_BUILTINS 0 #define USE_TOYSH_BUILTINS(...) #define CFG_EXIT 0 #define USE_EXIT(...) #define CFG_CD 0 #define USE_CD(...) #define CFG_CD_P 0 #define USE_CD_P(...) #define CFG_TRUE 1 #define USE_TRUE(...) __VA_ARGS__ #define CFG_TTY 1 #define USE_TTY(...) __VA_ARGS__ #define CFG_UNAME 1 #define USE_UNAME(...) __VA_ARGS__ #define CFG_WHICH 1 #define USE_WHICH(...) __VA_ARGS__ #define CFG_YES 1 #define USE_YES(...) __VA_ARGS__
_______________________________________________ busybox mailing list [email protected] http://lists.busybox.net/mailman/listinfo/busybox
