view sources/sections/uClibc.sh @ 871:b274eb556b50

Merge common uclibc miniconfig stuff into baseconfig-uClibc, and add the few lines that vary per target to each target's settings file.
author Rob Landley <rob@landley.net>
date Fri, 30 Oct 2009 03:45:47 -0500
parents 126be4c2f1d0
children a5d7e6ad7aa4
line wrap: on
line source

# Install Linux kernel headers.

setupfor linux

# Install Linux kernel headers (for use by uClibc).
make -j $CPUS headers_install ARCH="${KARCH}" INSTALL_HDR_PATH="$STAGE_DIR" &&
# This makes some very old package builds happy.
ln -s ../sys/user.h "$STAGE_DIR/include/asm/page.h"

cleanup

# Build and install uClibc

make_uClibc()
{
 make -j $CPUS $VERBOSITY CROSS="${ARCH}-" \
  UCLIBC_LDSO_NAME=ld-uClibc KERNEL_HEADERS="$STAGE_DIR/include" \
  PREFIX="$STAGE_DIR/" RUNTIME_PREFIX=/ DEVEL_PREFIX=/ $1 || dienow
}

setupfor uClibc

if unstable uClibc && [ -e "$CONFIG_DIR/$ARCH/miniconfig-alt-uClibc" ]
then
  cp "$CONFIG_DIR/$ARCH/miniconfig-alt-uClibc" "$WORK/mini.conf" || dienow
  echo using miniconfig-alt-uClibc
else
  cp "$SOURCES/baseconfig-uClibc" "$WORK/mini.conf" &&
  echo "$UCLIBC_CONFIG" >> "$WORK/mini.conf" || dienow
  echo Creating miniconfig for uClibc
fi
make KCONFIG_ALLCONFIG="$WORK/mini.conf" allnoconfig &&
cp .config "$WORK/config-uClibc" || dienow

make_uClibc install

# Do we need host or target versions of readelf, ldd, and ldconfig?

if [ ! -z "$HOST_UTILS" ]
then
  make_uClibc hostutils

  for i in $(cd utils; ls *.host | sed 's/\.host//')
  do
    cp utils/"$i".host "$STAGE_DIR/bin/$ARCH-$i" || dienow
  done
else
  make_uClibc install_utils

  # There's no way to specify a prefix for the uClibc utils; rename by hand.

  if [ ! -z "$PROGRAM_PREFIX" ]
  then
    mv "${STAGE_DIR}"/{sbin,bin}/ldconfig || dienow
    for i in ldd readelf ldconfig
    do
      mv "$STAGE_DIR/bin/"{"$i","${PROGRAM_PREFIX}$i"} || dienow
    done
  fi
fi

cleanup