|
Jaromir Capik |
d599077 |
set -vx
|
|
Jaromir Capik |
d599077 |
srpm glibc
|
|
Jaromir Capik |
d599077 |
|
|
Jaromir Capik |
d599077 |
# setup glibc
|
|
Jaromir Capik |
d599077 |
# This path MUST be relative, not absolute
|
|
Jaromir Capik |
d599077 |
GV=$(cd $SRC; echo glibc-2*)
|
|
Jaromir Capik |
d599077 |
GLIBCARGS="--prefix=/usr
|
|
Jaromir Capik |
d599077 |
--with-headers=$ROOTFS/usr/include
|
|
Jaromir Capik |
d599077 |
--enable-kernel=2.6.32
|
|
Jaromir Capik |
d599077 |
--enable-bind-now
|
|
Jaromir Capik |
d599077 |
--build $BUILD
|
|
Jaromir Capik |
d599077 |
--host $TARGET
|
|
Jaromir Capik |
d599077 |
--disable-profile
|
|
Jaromir Capik |
d599077 |
--cache-file=config.cache
|
|
Jaromir Capik |
d599077 |
--without-cvs
|
|
Jaromir Capik |
d599077 |
--with-elf
|
|
Jaromir Capik |
d599077 |
--without-gd
|
|
Jaromir Capik |
d599077 |
--disable-sanity-checks
|
|
Jaromir Capik |
d599077 |
--with-tls
|
|
Jaromir Capik |
d599077 |
--with-__thread
|
|
Jaromir Capik |
d599077 |
--enable-obsolete-rpc
|
|
Jaromir Capik |
d599077 |
"
|
|
Jaromir Capik |
d599077 |
|
|
Jaromir Capik |
d599077 |
mcd $BUILDDIR/glibc-stage1
|
|
Jaromir Capik |
d599077 |
|
|
Jaromir Capik |
d599077 |
# prefill glibc cache
|
|
Jaromir Capik |
d599077 |
echo libc_cv_forced_unwind=yes > config.cache
|
|
Jaromir Capik |
d599077 |
echo libc_cv_c_cleanup=yes >> config.cache
|
|
Jaromir Capik |
972d230 |
#echo libc_cv_ctors_header=yes >> config.cache
|
|
Jaromir Capik |
d599077 |
echo ac_cv_header_cpuid_h=yes >> config.cache
|
|
Jaromir Capik |
d599077 |
echo libc_cv_gcc_builtin_expect=yes >> config.cache
|
|
Jaromir Capik |
d599077 |
|
|
Jaromir Capik |
d599077 |
$SRC/$GV/configure $GLIBCARGS
|
|
Jaromir Capik |
d599077 |
notparallel
|
|
Jaromir Capik |
933c609 |
make DESTDIR=$ROOTFS $J ARCH=${KARCH} BUILD_CC=gcc cross-compiling=yes install-headers
|
|
Jaromir Capik |
d599077 |
touch $ROOTFS/usr/include/gnu/stubs.h
|
|
Jaromir Capik |
d599077 |
touch $ROOTFS/usr/include/bits/stdio_lim.h
|
|
Jaromir Capik |
d599077 |
|
|
Jaromir Capik |
d599077 |
( cd $ROOTFS/usr/include/bits
|
|
Jaromir Capik |
d599077 |
sed '/ifndef.*NO_LONG_DOUBLE/,/#endif/d' < mathdef.h > mathdef.h.new
|
|
Jaromir Capik |
d599077 |
mv mathdef.h.new mathdef.h
|
|
Jaromir Capik |
d599077 |
)
|
|
Jaromir Capik |
d599077 |
|
|
Jaromir Capik |
d599077 |
# We also build just enough files to link libgcc.so. The fake
|
|
Jaromir Capik |
d599077 |
# libc.so will never actually get used, but simplifies the boostrap.
|
|
Jaromir Capik |
933c609 |
make $J ARCH=${KARCH} BUILD_CC=gcc cross-compiling=yes csu/subdir_lib
|
|
Jaromir Capik |
d599077 |
|
|
Jaromir Capik |
d599077 |
mkdirp $ROOTFS/usr/lib${SUFFIX}
|
|
Jaromir Capik |
d599077 |
for file in `cd csu; echo crt*.o`; do
|
|
Jaromir Capik |
d599077 |
echo "" | $TARGET-as -o $ROOTFS/usr/lib${SUFFIX}/$file
|
|
Jaromir Capik |
d599077 |
done
|
|
Jaromir Capik |
d599077 |
$TARGET-gcc -nostdlib -nostartfiles -shared -x c /dev/null\
|
|
Jaromir Capik |
d599077 |
-o $ROOTFS/usr/lib${SUFFIX}/libc.so
|
|
Jaromir Capik |
d599077 |
|
|
Jaromir Capik |
972d230 |
|
|
Jaromir Capik |
972d230 |
# 32-bit multilib libgcc needs stub 32-bit libraries
|
|
Jaromir Capik |
972d230 |
if [ ! "$TARGET32" = "" ]; then
|
|
Jaromir Capik |
d599077 |
|
|
Jaromir Capik |
d599077 |
old_CC=$CC
|
|
Jaromir Capik |
d599077 |
old_CXX=$CC
|
|
Jaromir Capik |
d599077 |
export CC="$TARGET-gcc -m32"
|
|
Jaromir Capik |
d599077 |
export CXX="$TARGET-g++ -m32"
|
|
Jaromir Capik |
972d230 |
|
|
Jaromir Capik |
d599077 |
# setup 32-bit glibc headers
|
|
Jaromir Capik |
d599077 |
GLIBCARGS="--prefix=/usr
|
|
Jaromir Capik |
d599077 |
--with-headers=$ROOTFS/usr/include
|
|
Jaromir Capik |
d599077 |
--enable-kernel=2.6.32
|
|
Jaromir Capik |
d599077 |
--enable-bind-now
|
|
Jaromir Capik |
d599077 |
--build $BUILD
|
|
Jaromir Capik |
d599077 |
--host $TARGET32
|
|
Jaromir Capik |
d599077 |
--disable-profile
|
|
Jaromir Capik |
d599077 |
--cache-file=config.cache
|
|
Jaromir Capik |
d599077 |
--without-cvs
|
|
Jaromir Capik |
d599077 |
--with-elf
|
|
Jaromir Capik |
d599077 |
--without-gd
|
|
Jaromir Capik |
d599077 |
--disable-sanity-checks
|
|
Jaromir Capik |
d599077 |
--with-tls
|
|
Jaromir Capik |
d599077 |
--with-__thread
|
|
Jaromir Capik |
d599077 |
--enable-obsolete-rpc
|
|
Jaromir Capik |
d599077 |
"
|
|
Jaromir Capik |
d599077 |
|
|
Jaromir Capik |
d599077 |
mcd $BUILDDIR/glibc32-stage1
|
|
Jaromir Capik |
d599077 |
|
|
Jaromir Capik |
d599077 |
# prefill glibc cache
|
|
Jaromir Capik |
d599077 |
echo libc_cv_forced_unwind=yes > config.cache
|
|
Jaromir Capik |
d599077 |
echo libc_cv_c_cleanup=yes >> config.cache
|
|
Jaromir Capik |
972d230 |
#echo libc_cv_ctors_header=yes >> config.cache
|
|
Jaromir Capik |
d599077 |
echo ac_cv_header_cpuid_h=yes >> config.cache
|
|
Jaromir Capik |
d599077 |
echo libc_cv_gcc_builtin_expect=yes >> config.cache
|
|
Jaromir Capik |
d599077 |
|
|
Jaromir Capik |
d599077 |
$SRC/$GV/configure $GLIBCARGS
|
|
Jaromir Capik |
d599077 |
notparallel
|
|
Jaromir Capik |
933c609 |
make DESTDIR=$ROOTFS $J ARCH=${KARCH} BUILD_CC=gcc cross-compiling=yes install-headers
|
|
Jaromir Capik |
d599077 |
touch $ROOTFS/usr/include/gnu/stubs.h
|
|
Jaromir Capik |
d599077 |
touch $ROOTFS/usr/include/bits/stdio_lim.h
|
|
Jaromir Capik |
d599077 |
|
|
Jaromir Capik |
d599077 |
( cd $ROOTFS/usr/include/bits
|
|
Jaromir Capik |
d599077 |
sed '/ifndef.*NO_LONG_DOUBLE/,/#endif/d' < mathdef.h > mathdef.h.new
|
|
Jaromir Capik |
d599077 |
mv mathdef.h.new mathdef.h
|
|
Jaromir Capik |
d599077 |
)
|
|
Jaromir Capik |
d599077 |
|
|
Jaromir Capik |
d599077 |
# We also build just enough files to link libgcc.so. The fake
|
|
Jaromir Capik |
d599077 |
# libc.so will never actually get used, but simplifies the boostrap.
|
|
Jaromir Capik |
933c609 |
make $J ARCH=${KARCH} BUILD_CC=gcc cross-compiling=yes csu/subdir_lib
|
|
Jaromir Capik |
d599077 |
|
|
Jaromir Capik |
d599077 |
mkdirp $ROOTFS/usr/lib
|
|
Jaromir Capik |
d599077 |
for file in `cd csu; echo crt*.o`; do
|
|
Jaromir Capik |
d599077 |
echo "" | $TARGET-as --32 -o $ROOTFS/usr/lib/$file
|
|
Jaromir Capik |
d599077 |
done
|
|
Jaromir Capik |
d599077 |
$CC -m32 -nostdlib -nostartfiles -shared -x c /dev/null\
|
|
Jaromir Capik |
d599077 |
-o $ROOTFS/usr/lib/libc.so
|
|
Jaromir Capik |
d599077 |
|
|
Jaromir Capik |
d599077 |
CC=$old_CC
|
|
Jaromir Capik |
d599077 |
CXX=$old_CXX
|
|
Jaromir Capik |
d599077 |
export $CC
|
|
Jaromir Capik |
d599077 |
export $CXX
|
|
Jaromir Capik |
d599077 |
fi
|