You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
195 lines
4.8 KiB
195 lines
4.8 KiB
# --- SDE-COPYRIGHT-NOTE-BEGIN --- |
|
# This copyright note is auto-generated by ./scripts/Create-CopyPatch. |
|
# |
|
# Filename: package/.../uclibc/uclibc.conf |
|
# Copyright (C) 2006 - 2013 The OpenSDE Project |
|
# Copyright (C) 2004 - 2006 The T2 SDE Project |
|
# |
|
# More information can be found in the files COPYING and README. |
|
# |
|
# This program is free software; you can redistribute it and/or modify |
|
# it under the terms of the GNU General Public License as published by |
|
# the Free Software Foundation; version 2 of the License. A copy of the |
|
# GNU General Public License can be found in the file COPYING. |
|
# --- SDE-COPYRIGHT-NOTE-END --- |
|
|
|
. $confdir/conffiles-functions.in |
|
|
|
# generated set |
|
var_append conffiles ' ' $builddir/.config |
|
# add custom/target configuration from $targetdir |
|
if [ -e $targetdir/uclibc.config ] ; then |
|
var_append conffiles ' ' $targetdir/uclibc.config |
|
fi |
|
|
|
uC_arch=$( echo $arch | arch2uname | sed -e 's/ppc/powerpc/' ) |
|
|
|
default_config() { |
|
echo "X TARGET_$uC_arch" |
|
|
|
if [ "$arch_bigendian" = "yes" ]; then |
|
echo "X ARCH_BIG_ENDIAN" |
|
echo "X ARCH_WANTS_BIG_ENDIAN" |
|
else |
|
echo "X ARCH_LITTLE_ENDIAN" |
|
echo "X ARCH_WANTS_LITTLE_ENDIAN" |
|
fi |
|
|
|
echo "X CROSS_COMPILER_PREFIX \"${archprefix}\"" |
|
|
|
# PREFIX |
|
if atstage toolchain; then |
|
echo "X KERNEL_SOURCE \"$base/build/$SDECFG_ID/usr\"" |
|
else |
|
echo "X KERNEL_SOURCE \"$root/usr\"" |
|
fi |
|
echo "X RUNTIME_PREFIX \"/\"" |
|
echo "X DEVEL_PREFIX \"/usr\"" |
|
|
|
if [ "$SDECFG_STATIC" = 0 ]; then |
|
echo "X SHARED_LIB_LOADER_PREFIX \"/lib\"" |
|
|
|
# ld.so preload |
|
echo "X LDSO_PRELOAD_FILE_SUPPORT" |
|
echo "X HAVE_SHARED" |
|
else |
|
echo "O HAVE_SHARED" |
|
fi |
|
|
|
# thread support |
|
if [ "$SDECFG_PKG_UCLIBC_THREADSUPPORT" != "none" ]; then |
|
echo "X UCLIBC_HAS_THREADS" |
|
# choose the thread implementation |
|
case "$SDECFG_PKG_UCLIBC_THREADSUPPORT" in |
|
old) echo "X LINUXTHREADS_OLD" ;; |
|
new) echo "X LINUXTHREADS_NEW" ;; |
|
nptl) echo "X UCLIBC_HAS_THREADS_NATIVE" ;; |
|
esac |
|
else |
|
echo "X HAS_NO_THREADS" |
|
fi |
|
|
|
# SuSv3 legacy support |
|
if [ "$SDECFG_PKG_UCLIBC_SUSV3_LEGACY" = "1" ]; then |
|
echo "X UCLIBC_SUSV3_LEGACY" |
|
fi |
|
|
|
# SuSv4 legacy support |
|
if [ "$SDECFG_PKG_UCLIBC_SUSV4_LEGACY" = "1" ]; then |
|
echo "X UCLIBC_SUSV4_LEGACY" |
|
fi |
|
|
|
# libresolv support |
|
echo "X UCLIBC_HAS_RESOLVER_SUPPORT" |
|
echo "X UCLIBC_HAS_LIBRESOLV_STUB" |
|
|
|
# provide libutil library |
|
# forkpty(), login(), login_tty(), logout(), logwtmp(), openpty() |
|
echo "X UCLIBC_HAS_LIBUTIL" |
|
|
|
if [ "$SDECFG_DEBUG" = 1 ]; then |
|
echo "X DODEBUG" |
|
fi |
|
|
|
# locale |
|
if [ "$SDECFG_DISABLE_NLS" = "0" ]; then |
|
echo "X UCLIBC_HAS_LOCALE" |
|
fi |
|
# turning off locale will break ncurses |
|
|
|
# util-linux needs it to build some mounts |
|
# FIXME: this has to be done in the oposite way (disable those mounts |
|
# if libc doesn't have support) |
|
echo "X UCLIBC_HAS_RPC" |
|
echo "X UCLIBC_HAS_FULL_RPC" |
|
|
|
# to get rint (iproute2) |
|
echo "X DO_C99_MATH" |
|
|
|
# to make reiserfsprogs happy |
|
echo "X UCLIBC_HAS_GLIBC_CUSTOM_PRINTF" |
|
# to make sed happy |
|
echo "X UCLIBC_HAS_WCHAR" |
|
|
|
# I want V6 |
|
echo "X UCLIBC_HAS_IPV6" |
|
|
|
# needed for attr |
|
echo "X UCLIBC_HAS_FTW" |
|
|
|
# needed for mdadm |
|
echo "X UCLIBC_HAS_NFTW" |
|
|
|
# needed for acl (among others) |
|
echo "X UCLIBC_HAS_GETTEXT_AWARENESS" |
|
|
|
# make make happy :) |
|
echo "X MALLOC_GLIBC_COMPAT" |
|
|
|
echo "X UCLIBC_HAS_GNU_GETOPT" |
|
echo "X UCLIBC_HAS_GLOB" |
|
# make our ldconfig patch happy :-/ |
|
echo "X UCLIBC_HAS_GNU_GLOB" |
|
echo "X UCLIBC_HAS_FLOATS" |
|
|
|
# libssp needs __progname |
|
if [ "$SDECFG_PKG_GCC_STACKPRO" = "1" ]; then |
|
echo "X UCLIBC_HAS___PROGNAME" |
|
echo "X UCLIBC_HAS_PROGRAM_INVOCATION_NAME" |
|
fi |
|
} |
|
|
|
runconf=0 |
|
|
|
hook_add premake 5 "uclibc_config" |
|
uclibc_config() { |
|
# generate default config rules |
|
default_config > $builddir/.config |
|
|
|
eval $MAKE TARGET_ARCH=$uC_arch ARCH=$uC_arch defconfig |
|
conffiles_loop 2 TARGET_ARCH=$uC_arch ARCH=$uC_arch |
|
} |
|
|
|
var_remove_regex makeopt ' ' 'prefix=[^ ]*' |
|
if atstage toolchain; then |
|
var_append makeopt ' ' PREFIX=$base/build/$SDECFG_ID |
|
else |
|
var_append makeopt ' ' "PREFIX=$root" |
|
fi |
|
|
|
if [ "$SDECFG_DISABLE_NLS" = "0" ]; then |
|
hook_add premake 3 'uclibc_locale' |
|
uclibc_locale() { |
|
find "$PWD/extra/locale/charmaps" -name "*.pairs" > "$PWD/extra/locale/codesets.txt" |
|
eval $MAKE -C extra/locale |
|
} |
|
fi |
|
|
|
makeinstopt="$makeopt -j 1" |
|
var_append makeopt ' ' "CROSS=${archprefix}" |
|
|
|
if atstage toolchain; then |
|
var_append makeopt ' ' "headers" |
|
var_append makeinstopt ' ' "install_headers" |
|
else |
|
var_append makeopt ' ' "pregen" |
|
var_append makeopt ' ' "all" |
|
var_append makeopt ' ' "utils" |
|
|
|
var_append makeinstopt ' ' "install_headers" |
|
var_append makeinstopt ' ' "install" |
|
var_append makeinstopt ' ' "install_utils" |
|
fi |
|
|
|
# inject kernel symlinks |
|
hook_add preconf 5 'uclibc_kernellinks' |
|
uclibc_kernellinks() { |
|
local x= |
|
for x in $( ls -1d $root/usr/include/{asm,asm-*,scsi,linux} 2> /dev/null ); do |
|
rm -rvf "include/${x##*/}" |
|
ln -svf $x include/ |
|
done |
|
} |
|
|
|
hook_add postdoc 5 'cp -vf .config $root/$docdir/' |
|
|
|
|