Mercurial > hg > aboriginal
changeset 21:c4e1bd04035d
Build uClibc under the wrapper script. (There's got to be a better way to
configure uClibc.)
author | Rob Landley <rob@landley.net> |
---|---|
date | Tue, 05 Dec 2006 20:03:08 -0500 |
parents | 44067ab61cd2 |
children | 775c1fdc1730 |
files | build.sh sources/configs/uClibc-config-arm |
diffstat | 2 files changed, 214 insertions(+), 19 deletions(-) [+] |
line wrap: on
line diff
--- a/build.sh Tue Dec 05 18:33:25 2006 -0500 +++ b/build.sh Tue Dec 05 20:03:08 2006 -0500 @@ -78,7 +78,7 @@ TOP=`pwd` export SOURCES="${TOP}/sources" -export CROSS="${TOP}/build/cross-compiler/" +export CROSS="${TOP}/build/cross-compiler" export WORK="${TOP}/build/temp" mkdir -p "${CROSS}" "${WORK}" @@ -134,40 +134,42 @@ # Move the gcc internal libraries and headers somewhere sane. -mkdir -p "${CROSS}"gcc && -mv "${CROSS}"lib/gcc/*/*/include "${CROSS}"gcc/include && -mv "${CROSS}"lib/gcc/*/* "${CROSS}"gcc/lib && -$CLEANUP "${CURSRC}" build-gcc "${CROSS}"lib/gcc "${CROSS}"gcc/lib/install-tools +mkdir -p "${CROSS}"/gcc && +mv "${CROSS}"/lib/gcc/*/*/include "${CROSS}"/gcc/include && +mv "${CROSS}"/lib/gcc/*/* "${CROSS}"/gcc/lib && +$CLEANUP "${CURSRC}" build-gcc "${CROSS}"/{lib/gcc,gcc/lib/install-tools} && + +# Build and install gcc wrapper script. + +GCCNAME="$(echo "${CROSS}"/bin/*-gcc)" && +mv "$GCCNAME" "${CROSS}"/bin/gcc-unwrapped && +gcc "${TOP}"/sources/toys/gcc-uClibc.c -Os -s -o "$GCCNAME" [ $? -ne 0 ] && dienow # Build and install uClibc setupfor uClibc -make TARGET_ARCH=${KARCH} CROSS=${CROSS_TARGET}- defconfig && -make TARGET_ARCH=${KARCH} CROSS=${CROSS_TARGET}- KERNEL_SOURCE="${CROSS}" && -make TARGET_ARCH=${KARCH} CROSS=${CROSS_TARGET}- utils && +cp "${TOP}"/sources/configs/uClibc-config-"${KARCH}" .config && +yes "" | make oldconfig && +make CROSS=${CROSS_TARGET}- KERNEL_SOURCE="${CROSS}" && +#make CROSS=${CROSS_TARGET}- utils && # The kernel headers are already installed, but uClibc's install will try to # be "helpful" and copy them over themselves, at which point hilarity ensues. # Make it not do that. rm include/{asm,asm-generic,linux} && -make RUNTIME_PREFIX="${CROSS}" DEVEL_PREFIX="${CROSS}" \ +make CROSS=${CROSS_TARGET}- KERNEL_SOURCE="${CROSS}"/ \ + RUNTIME_PREFIX="${CROSS}"/ DEVEL_PREFIX="${CROSS}"/ \ install_runtime install_dev && + +# TODO: This is where things stop working... + +make CROSS=${CROSS_TARGET}- RUNTIME_PREFIX="${CROSS}"/// DEVEL_PREFIX="${CROSS}"////// install_utils && cd .. && $CLEANUP uClibc-* [ $? -ne 0 ] && dienow -# Build and install gcc wrapper script. - -mkdir -p "${CROSS}"gcc -mv "${CROSS}"lib/gcc/*/*/include "${CROSS}"gcc/include -mv "${CROSS}"lib/gcc/*/* "${CROSS}"gcc/lib -$CLEANUP -rf "${CROSS}"lib/gcc "${CROSS}"gcc/lib/install-tools -GCCNAME="$(echo "${CROSS}"bin/*-gcc)" && -mv "$GCCNAME" "${CROSS}"bin/gcc-unwrapped && -gcc sources/toys/gcc-uClibc.c -Os -s -o "$GCCNAME" && - # A quick hello world program to test the cross-compiler out. cat > "$WORK"/hello.c << 'EOF' &&
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sources/configs/uClibc-config-arm Tue Dec 05 20:03:08 2006 -0500 @@ -0,0 +1,193 @@ +# +# Automatically generated make config: don't edit +# Tue Dec 5 13:59:00 2006 +# +# TARGET_alpha is not set +TARGET_arm=y +# TARGET_bfin is not set +# TARGET_cris is not set +# TARGET_e1 is not set +# TARGET_frv is not set +# TARGET_h8300 is not set +# TARGET_hppa is not set +# TARGET_i386 is not set +# TARGET_i960 is not set +# TARGET_ia64 is not set +# TARGET_m68k is not set +# TARGET_microblaze is not set +# TARGET_mips is not set +# TARGET_nios is not set +# TARGET_nios2 is not set +# TARGET_powerpc is not set +# TARGET_sh is not set +# TARGET_sh64 is not set +# TARGET_sparc is not set +# TARGET_v850 is not set +# TARGET_vax is not set +# TARGET_x86_64 is not set + +# +# Target Architecture Features and Options +# +TARGET_ARCH="arm" +FORCE_OPTIONS_FOR_ARCH=y +# CONFIG_ARM_EABI is not set +CONFIG_GENERIC_ARM=y +# CONFIG_ARM610 is not set +# CONFIG_ARM710 is not set +# CONFIG_ARM7TDMI is not set +# CONFIG_ARM720T is not set +# CONFIG_ARM920T is not set +# CONFIG_ARM922T is not set +# CONFIG_ARM926T is not set +# CONFIG_ARM10T is not set +# CONFIG_ARM1136JF_S is not set +# CONFIG_ARM_SA110 is not set +# CONFIG_ARM_SA1100 is not set +# CONFIG_ARM_XSCALE is not set +# CONFIG_ARM_IWMMXT is not set +ARCH_ANY_ENDIAN=y +ARCH_LITTLE_ENDIAN=y +# ARCH_WANTS_BIG_ENDIAN is not set +ARCH_WANTS_LITTLE_ENDIAN=y +ARCH_HAS_MMU=y +ARCH_USE_MMU=y +UCLIBC_HAS_FLOATS=y +UCLIBC_HAS_FPU=y +# DO_C99_MATH is not set +KERNEL_SOURCE="/usr/src/linux" +HAVE_DOT_CONFIG=y + +# +# General Library Settings +# +# HAVE_NO_PIC is not set +DOPIC=y +# HAVE_NO_SHARED is not set +# ARCH_HAS_NO_LDSO is not set +HAVE_SHARED=y +# FORCE_SHAREABLE_TEXT_SEGMENTS is not set +LDSO_LDD_SUPPORT=y +LDSO_CACHE_SUPPORT=y +# LDSO_PRELOAD_FILE_SUPPORT is not set +LDSO_BASE_FILENAME="ld.so" +UCLIBC_STATIC_LDCONFIG=y +LDSO_RUNPATH=y +UCLIBC_CTOR_DTOR=y +# HAS_NO_THREADS is not set +UCLIBC_HAS_THREADS=y +# PTHREADS_DEBUG_SUPPORT is not set +LINUXTHREADS_OLD=y +UCLIBC_HAS_LFS=y +# MALLOC is not set +# MALLOC_SIMPLE is not set +MALLOC_STANDARD=y +MALLOC_GLIBC_COMPAT=y +UCLIBC_DYNAMIC_ATEXIT=y +# COMPAT_ATEXIT is not set +# UCLIBC_SUSV3_LEGACY is not set +UCLIBC_HAS_SHADOW=y +# UCLIBC_HAS_PROGRAM_INVOCATION_NAME is not set +UCLIBC_HAS___PROGNAME=y +UNIX98PTY_ONLY=y +ASSUME_DEVPTS=y +UCLIBC_HAS_TM_EXTENSIONS=y +UCLIBC_HAS_TZ_CACHING=y +UCLIBC_HAS_TZ_FILE=y +UCLIBC_HAS_TZ_FILE_READ_MANY=y +UCLIBC_TZ_FILE_PATH="/etc/TZ" + +# +# Networking Support +# +# UCLIBC_HAS_IPV6 is not set +# UCLIBC_HAS_RPC is not set +# UCLIBC_USE_NETLINK is not set + +# +# String and Stdio Support +# +UCLIBC_HAS_STRING_GENERIC_OPT=y +UCLIBC_HAS_STRING_ARCH_OPT=y +UCLIBC_HAS_CTYPE_TABLES=y +UCLIBC_HAS_CTYPE_SIGNED=y +UCLIBC_HAS_CTYPE_UNSAFE=y +# UCLIBC_HAS_CTYPE_CHECKED is not set +# UCLIBC_HAS_CTYPE_ENFORCED is not set +# UCLIBC_HAS_WCHAR is not set +# UCLIBC_HAS_LOCALE is not set +# UCLIBC_HAS_HEXADECIMAL_FLOATS is not set +# UCLIBC_HAS_GLIBC_CUSTOM_PRINTF is not set +# USE_OLD_VFPRINTF is not set +UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9 +# UCLIBC_HAS_SCANF_GLIBC_A_FLAG is not set +# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set +# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set +# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set +# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set +# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set +UCLIBC_HAS_STDIO_BUFSIZ_4096=y +# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set +UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y +# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set +# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set +# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set +UCLIBC_HAS_STDIO_GETC_MACRO=y +UCLIBC_HAS_STDIO_PUTC_MACRO=y +UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y +# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set +# UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE is not set +# UCLIBC_HAS_GLIBC_CUSTOM_STREAMS is not set +# UCLIBC_HAS_PRINTF_M_SPEC is not set +UCLIBC_HAS_ERRNO_MESSAGES=y +# UCLIBC_HAS_SYS_ERRLIST is not set +UCLIBC_HAS_SIGNUM_MESSAGES=y +# UCLIBC_HAS_SYS_SIGLIST is not set +UCLIBC_HAS_GNU_GETOPT=y +UCLIBC_HAS_GNU_GETSUBOPT=y + +# +# Big and Tall +# +UCLIBC_HAS_REGEX=y +UCLIBC_HAS_REGEX_OLD=y +UCLIBC_HAS_FNMATCH=y +UCLIBC_HAS_FNMATCH_OLD=y +# UCLIBC_HAS_WORDEXP is not set +# UCLIBC_HAS_FTW is not set +UCLIBC_HAS_GLOB=y +# UCLIBC_HAS_GNU_GLOB is not set + +# +# Library Installation Options +# +SHARED_LIB_LOADER_PREFIX="$(RUNTIME_PREFIX)lib" +RUNTIME_PREFIX="/usr/$(TARGET_ARCH)-linux-uclibc/" +DEVEL_PREFIX="/usr/$(TARGET_ARCH)-linux-uclibc/usr/" + +# +# Security options +# +# UCLIBC_BUILD_PIE is not set +# UCLIBC_HAS_ARC4RANDOM is not set +# HAVE_NO_SSP is not set +# UCLIBC_HAS_SSP is not set +UCLIBC_BUILD_RELRO=y +# UCLIBC_BUILD_NOW is not set +UCLIBC_BUILD_NOEXECSTACK=y + +# +# uClibc development/debugging options +# +CROSS_COMPILER_PREFIX="" +# DODEBUG is not set +# DODEBUG_PT is not set +DOSTRIP=y +# DOASSERTS is not set +# SUPPORT_LD_DEBUG is not set +# SUPPORT_LD_DEBUG_EARLY is not set +# UCLIBC_MALLOC_DEBUGGING is not set +WARNINGS="-Wall" +# EXTRA_WARNINGS is not set +# DOMULTI is not set +# UCLIBC_MJN3_ONLY is not set