Jaromir Capik 676ad9a
srpm glibc
Jaromir Capik 676ad9a
Jaromir Capik 676ad9a
# setup glibc
Jaromir Capik 676ad9a
# This path MUST be relative, not absolute
Jaromir Capik 676ad9a
GV=$(cd $SRC; echo glibc-2*)
Jaromir Capik 676ad9a
Jaromir Capik 676ad9a
if [ "$TARGET_ARCH" == "armv7hl" ]; then
Jaromir Capik 676ad9a
  # rtkaio not supported on ARM
Jaromir Capik 676ad9a
  rm -rf $SRC/$GV/rtkaio
Jaromir Capik 676ad9a
fi
Jaromir Capik 676ad9a
Jaromir Capik 676ad9a
GLIBCARGS="--prefix=/usr
Jaromir Capik 676ad9a
	--with-headers=$ROOTFS/usr/include
Jaromir Capik 676ad9a
	--enable-kernel=2.6.32
Jaromir Capik 676ad9a
	--enable-bind-now
Jaromir Capik 676ad9a
	--build $BUILD
Jaromir Capik 676ad9a
	--host $TARGET
Jaromir Capik 676ad9a
	--disable-profile
Jaromir Capik 676ad9a
	--cache-file=config.cache
Jaromir Capik 676ad9a
	--without-cvs
Jaromir Capik 676ad9a
	--with-elf
Jaromir Capik 676ad9a
	--without-gd
Jaromir Capik 676ad9a
	--disable-sanity-checks
Jaromir Capik 676ad9a
	--with-tls
Jaromir Capik 676ad9a
	--with-__thread
Jaromir Capik 676ad9a
	--enable-obsolete-rpc
Jaromir Capik 676ad9a
	"
Jaromir Capik 676ad9a
Jaromir Capik 676ad9a
mcd $BUILDDIR/glibc
Jaromir Capik 676ad9a
Jaromir Capik 676ad9a
# prefill glibc cache
Jaromir Capik 676ad9a
echo libc_cv_forced_unwind=yes > config.cache
Jaromir Capik 676ad9a
echo libc_cv_c_cleanup=yes >> config.cache
Jaromir Capik 676ad9a
echo libc_cv_ctors_header=yes >> config.cache
Jaromir Capik 676ad9a
echo ac_cv_header_cpuid_h=yes >> config.cache
Jaromir Capik 676ad9a
echo libc_cv_gcc_builtin_expect=yes >> config.cache
Jaromir Capik 676ad9a
Jaromir Capik 676ad9a
$SRC/$GV/configure $GLIBCARGS
Jaromir Capik 676ad9a
notparallel
Jaromir Capik 676ad9a
make $J ARCH=${KARCH} cross-compiling=yes
Jaromir Capik 676ad9a
make DESTDIR=$ROOTFS $J ARCH=${KARCH} cross-compiling=yes install
Jaromir Capik 676ad9a
Jaromir Capik 676ad9a
( cd $ROOTFS/usr/include/bits
Jaromir Capik 676ad9a
  sed '/ifndef.*NO_LONG_DOUBLE/,/#endif/d' < mathdef.h > mathdef.h.new
Jaromir Capik 676ad9a
  mv mathdef.h.new mathdef.h
Jaromir Capik 676ad9a
)
Jaromir Capik 676ad9a
Jaromir Capik 676ad9a
# If we are building x86_64, then the 32-bit multilib libgcc
Jaromir Capik 676ad9a
# will also need 32-bit headers.
Jaromir Capik 676ad9a
if [ "$TARGET" = "x86_64-linux-gnu" ]; then
Jaromir Capik 676ad9a
Jaromir Capik 676ad9a
  old_CC=$CC
Jaromir Capik 676ad9a
  old_CXX=$CC
Jaromir Capik 676ad9a
  export CC="$TARGET-gcc -m32"
Jaromir Capik 676ad9a
  export CXX="$TARGET-g++ -m32"
Jaromir Capik 676ad9a
Jaromir Capik 676ad9a
  TARGET32=i686-pc-linux-gnu
Jaromir Capik 676ad9a
Jaromir Capik 676ad9a
  GLIBCARGS="--prefix=/usr
Jaromir Capik 676ad9a
	--with-headers=$ROOTFS/usr/include
Jaromir Capik 676ad9a
	--enable-kernel=2.6.32
Jaromir Capik 676ad9a
	--enable-bind-now
Jaromir Capik 676ad9a
	--build $BUILD
Jaromir Capik 676ad9a
	--host $TARGET32
Jaromir Capik 676ad9a
	--disable-profile
Jaromir Capik 676ad9a
	--cache-file=config.cache
Jaromir Capik 676ad9a
	--without-cvs
Jaromir Capik 676ad9a
	--with-elf
Jaromir Capik 676ad9a
	--without-gd
Jaromir Capik 676ad9a
	--disable-sanity-checks
Jaromir Capik 676ad9a
	--with-tls
Jaromir Capik 676ad9a
	--with-__thread
Jaromir Capik 676ad9a
	--enable-obsolete-rpc
Jaromir Capik 676ad9a
	"
Jaromir Capik 676ad9a
Jaromir Capik 676ad9a
  mcd $BUILDDIR/glibc32
Jaromir Capik 676ad9a
Jaromir Capik 676ad9a
  # prefill glibc cache
Jaromir Capik 676ad9a
  echo libc_cv_forced_unwind=yes > config.cache
Jaromir Capik 676ad9a
  echo libc_cv_c_cleanup=yes >> config.cache
Jaromir Capik 676ad9a
  echo libc_cv_ctors_header=yes >> config.cache
Jaromir Capik 676ad9a
  echo ac_cv_header_cpuid_h=yes >> config.cache
Jaromir Capik 676ad9a
  echo libc_cv_gcc_builtin_expect=yes >> config.cache
Jaromir Capik 676ad9a
Jaromir Capik 676ad9a
  $SRC/$GV/configure $GLIBCARGS
Jaromir Capik 676ad9a
  notparallel
Jaromir Capik 676ad9a
  make $J ARCH=${KARCH} cross-compiling=yes
Jaromir Capik 676ad9a
  make DESTDIR=$ROOTFS $J ARCH=${KARCH} cross-compiling=yes install
Jaromir Capik 676ad9a
Jaromir Capik 676ad9a
  ( cd $ROOTFS/usr/include/bits
Jaromir Capik 676ad9a
    sed '/ifndef.*NO_LONG_DOUBLE/,/#endif/d' < mathdef.h > mathdef.h.new
Jaromir Capik 676ad9a
    mv mathdef.h.new mathdef.h
Jaromir Capik 676ad9a
  )
Jaromir Capik 676ad9a
Jaromir Capik 676ad9a
  CC=$old_CC
Jaromir Capik 676ad9a
  CXX=$old_CXX
Jaromir Capik 676ad9a
  export $CC
Jaromir Capik 676ad9a
  export $CXX
Jaromir Capik 676ad9a
Jaromir Capik 676ad9a
fi