view sources/baseconfig-busybox @ 1532:a2e491cd0800

Fix source/target confusion that bites Fedora host = target builds. The gcc build exports an LD_LIBRARY_PATH full of target libraries and then calls /bin/sh in the configure stage. If you configure before building, this doesn't cause a problem because the libraries aren't there yet, but c++ has dependencies that trigger a C build before running configuration even if you reorder the steps. On ubuntu this doesn't cause a problem because /bin/sh doesn't link against anything in this LD_LIBRARY PATH, and when building a different architecture the foreign binaries are ignored by the dynamic linker. But on Fedora when host == target /bin/sh links against libgcc_s.so.1 which is in LD_LIBRARY_PATH linked against libc.so.0 which isn't installed on the host, and the attempt to run the shell dies saying it can't find uClibc. The fix is to override the make variable SHELL = sh so it calls ash out of build/host.
author Rob Landley <rob@landley.net>
date Thu, 16 Aug 2012 21:59:27 -0500
parents 112e6fcbfce4
children e4f766efa39f
line wrap: on
line source

#needed for od -t option in busybox build
CONFIG_DESKTOP=y
CONFIG_LFS=y
CONFIG_FEATURE_SEAMLESS_BZ2=y
CONFIG_FEATURE_SEAMLESS_GZ=y
CONFIG_BUNZIP2=y
CONFIG_BZIP2=y
CONFIG_GUNZIP=y
# gzip is used in linux kernel initramfs code
CONFIG_GZIP=y
CONFIG_TAR=y
CONFIG_FEATURE_TAR_CREATE=y
CONFIG_FEATURE_TAR_AUTODETECT=y
CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
# needed for old format tar archive (genext2fs)
CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y
CONFIG_BASENAME=y
CONFIG_CHMOD=y
CONFIG_CHOWN=y
CONFIG_CP=y
CONFIG_CUT=y
CONFIG_DATE=y
CONFIG_DD=y
CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
CONFIG_FEATURE_GREP_EGREP_ALIAS=y
CONFIG_FEATURE_GREP_FGREP_ALIAS=y
CONFIG_EXPR=y
CONFIG_EXPR_MATH_SUPPORT_64=y
CONFIG_INSTALL=y
CONFIG_LS=y
# host-tools.sh uses ls -tc to check for tarballs
CONFIG_FEATURE_LS_SORTFILES=y
CONFIG_FEATURE_LS_TIMESTAMPS=y
CONFIG_FEATURE_LS_USERNAME=y
CONFIG_MKDIR=y
CONFIG_MV=y
CONFIG_OD=y
CONFIG_READLINK=y
CONFIG_FEATURE_READLINK_FOLLOW=y
CONFIG_RM=y
CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
# stat -c is used by sources/toys/gen_initramfs_list.sh
CONFIG_STAT=y
CONFIG_FEATURE_STAT_FORMAT=y
CONFIG_TAIL=y
CONFIG_TOUCH=y
CONFIG_TR=y
CONFIG_WHOAMI=y
CONFIG_FEATURE_AUTOWIDTH=y
CONFIG_MKTEMP=y
CONFIG_AWK=y
CONFIG_DIFF=y
CONFIG_FEATURE_DIFF_DIR=y
CONFIG_SED=y
CONFIG_FIND=y
CONFIG_FEATURE_FIND_PRINT0=y
CONFIG_FEATURE_FIND_TYPE=y
CONFIG_FEATURE_FIND_XDEV=y
CONFIG_FEATURE_FIND_NOT=y
CONFIG_FEATURE_FIND_PAREN=y
CONFIG_FEATURE_FIND_PRUNE=y
CONFIG_FEATURE_FIND_PATH=y
CONFIG_FEATURE_FIND_MAXDEPTH=y
CONFIG_GREP=y
CONFIG_HOSTNAME=y
CONFIG_TEST=y
CONFIG_FEATURE_TEST_64=y

# for root file system use
CONFIG_INIT=y
CONFIG_FEATURE_INIT_SCTTY=y
CONFIG_MOUNT=y
CONFIG_MOUNTPOINT=y
CONFIG_IFCONFIG=y
CONFIG_FEATURE_IFCONFIG_STATUS=y
CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y
CONFIG_FEATURE_IFCONFIG_HW=y
CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y
CONFIG_ROUTE=y

# Interactive command shell (bash hasn't got history without ncurses)

CONFIG_FEATURE_EDITING=y
CONFIG_FEATURE_TAB_COMPLETION=y
CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
CONFIG_FEATURE_EDITING_ASK_TERMINAL=y

CONFIG_ASH=y
CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
CONFIG_FEATURE_TEST_64=y
CONFIG_ASH_BASH_COMPAT=y
CONFIG_ASH_BUILTIN_TEST=y
CONFIG_ASH_EXPAND_PRMT=y
CONFIG_ASH_RANDOM_SUPPORT=y
CONFIG_ASH_CMDCMD=y
CONFIG_ASH_ALIAS=y
CONFIG_ASH_JOB_CONTROL=y
CONFIG_SH_MATH_SUPPORT=y
CONFIG_SH_MATH_SUPPORT_64=y
CONFIG_FEATURE_SH_EXTRA_QUIET=y

# LFS build

CONFIG_WGET=y
CONFIG_CHGRP=y
CONFIG_COMM=y
CONFIG_LESS=y
CONFIG_LOGNAME=y
CONFIG_SPLIT=y
CONFIG_MAN=y

# native-build.sh
CONFIG_FTPD=y
CONFIG_FEATURE_FTP_WRITE=y
CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST=y
CONFIG_FTPGET=y
CONFIG_FTPPUT=y
CONFIG_TIME=y
CONFIG_UMOUNT=y
CONFIG_FEATURE_MOUNT_FLAGS=y
CONFIG_FEATURE_MOUNT_FSTAB=y
CONFIG_TAC=y
CONFIG_SWITCH_ROOT=y
CONFIG_FEATURE_UMOUNT_ALL=y
CONFIG_FEATURE_MOUNT_LOOP=y
CONFIG_FEATURE_MOUNT_LOOP_CREATE=y
CONFIG_LOSETUP=y
CONFIG_CPIO=y
CONFIG_FEATURE_CPIO_O=y
CONFIG_FEATURE_CPIO_P=y
CONFIG_FEATURE_PRESERVE_HARDLINKS=y

CONFIG_VI=y
CONFIG_FEATURE_VI_COLON=y
CONFIG_FEATURE_VI_YANKMARK=y
CONFIG_FEATURE_VI_SEARCH=y
CONFIG_FEATURE_VI_USE_SIGNALS=y
CONFIG_FEATURE_VI_DOT_CMD=y
CONFIG_FEATURE_VI_READONLY=y
CONFIG_FEATURE_VI_SETOPTS=y
CONFIG_FEATURE_VI_SET=y
CONFIG_FEATURE_VI_WIN_RESIZE=y
CONFIG_FEATURE_VI_ASK_TERMINAL=y
CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y

CONFIG_PGREP=y
CONFIG_PKILL=y
CONFIG_SHOW_USAGE=y
CONFIG_FEATURE_VERBOSE_USAGE=y
CONFIG_FEAUTRE_COMPRESS_USAGE=y

CONFIG_LSPCI=y
CONFIG_PING=y

CONFIG_LONG_OPTS=y
CONFIG_FEATURE_TAR_LONG_OPTIONS=y
CONFIG_FEATURE_TAR_FROM=y

# Stuff in toybox
CONFIG_CAT=y
CONFIG_CHROOT=y
CONFIG_CMP=y
CONFIG_DIRNAME=y
CONFIG_DMESG=y
CONFIG_ECHO=y
CONFIG_FEATURE_FANCY_ECHO=y

CONFIG_ENV=y
CONFIG_HEAD=y
CONFIG_ID=y
CONFIG_LN=y

CONFIG_MDEV=y

CONFIG_NC=y
CONFIG_NC_SERVER=y
CONFIG_NC_EXTRA=y

CONFIG_PATCH=y
CONFIG_PWD=y
CONFIG_RMDIR=y
CONFIG_SHA1SUM=y
CONFIG_SLEEP=y
CONFIG_SORT=y
CONFIG_FEATURE_SORT_BIG=y

CONFIG_SYNC=y
CONFIG_TEE=y
CONFIG_TRUE=y
CONFIG_UNAME=y
CONFIG_WC=y
CONFIG_WHICH=y
CONFIG_XARGS=y
CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
CONFIG_YES=y

CONFIG_UNIQ=y
CONFIG_KILL=y
CONFIG_KILLALL=y