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

Reply via email to