1 # --- T2-COPYRIGHT-NOTE-BEGIN ---
2 # T2 SDE: package/*/uclibc/uclibc.conf
3 # Copyright (C) 2004 - 2023 The T2 SDE Project
5 # This Copyright note is generated by scripts/Create-CopyPatch,
6 # more information can be found in the files COPYING and README.
8 # This program is free software; you can redistribute it and/or modify
9 # it under the terms of the GNU General Public License version 2.
10 # --- T2-COPYRIGHT-NOTE-END ---
12 . $base/package/*/uclibc/functions.in
14 var_append SYSGCC_WRAPPER_REMOVE ' ' '-mfdpic'
16 uclibc_preparelocale() {
17 # TODO: make the locales a config option, choose a subset to save space,
18 # for now we use the whole set of locales
19 (cd extra/locale; find charmaps -name "*.pairs" > codesets.txt)
20 cp extra/locale/LOCALES extra/locale/locales.txt
22 uclibc_kernellinks() {
23 ln -svf $root/usr/include/linux include/linux
24 ln -svf $root/usr/include/asm include/asm
27 cat > $root/etc/ld.so.conf <<-EOT
35 if ! atstage native; then
36 var_append makeopt " " "CROSS=${arch_target}-"
37 var_append makeinstopt " " "CROSS=${arch_target}-"
41 var_append conffiles ' ' $base/package/*/uclibc/clean_arch.config
42 var_append conffiles ' ' $builddir/.config
45 cpu=`echo $arch | arch2uname`
46 uarch=`echo $cpu | sed -e s/superh/sh/ -e s/ppc/powerpc/`
47 echo "X TARGET_$uarch"
48 echo "X TARGET_ARCH \"$cpu\""
50 if [ "$arch_bigendian" = "yes" ]; then
51 echo "X ARCH_BIG_ENDIAN"
52 echo "X ARCH_WANTS_BIG_ENDIAN"
54 echo "X ARCH_LITTLE_ENDIAN"
55 echo "X ARCH_WANTS_LITTLE_ENDIAN"
59 if [ "$SDECFG_ARM_ABI" = "gnueabi" ]; then
60 echo "O CONFIG_ARM_OABI"
61 echo "X CONFIG_ARM_EABI"
63 echo "O CONFIG_ARM_EABI"
64 echo "O CONFIG_ARM_OABI"
67 [ $uarch = sh64 ] && {
68 echo -e "O CONFIG_SH4\nX CONFIG_SH5"
71 echo -e "X CONFIG_${SDECFG_SH_OPT}"
74 uopt=`uclibc_mapx86cpu`
75 echo "O CONFIG_GENERIC_386"
76 [ "$uopt" != "" ] && echo "X CONFIG_$uopt" || echo "X CONFIG_586"
79 uopt=`uclibc_mapMIPScpu`
80 [ "$uopt" != "" ] && echo "X CONFIG_MIPS_$uopt" || echo "X CONFIG_MIPS_ISA_32"
84 echo "X KERNEL_HEADERS \"$sysroot/usr/include\""
85 echo "X RUNTIME_PREFIX \"/\""
86 echo "X DEVEL_PREFIX \"/$prefix\""
88 if [ "$SDECFG_STATIC" = 0 ]; then
89 echo "X SHARED_LIB_LOADER_PREFIX \"/lib\""
92 echo "X LDSO_PRELOAD_FILE_SUPPORT"
97 if [ "$SDECFG_DEBUG" -ne 0 ]; then
102 if [ "$SDECFG_DISABLE_NLS" = "0" ]; then
103 echo "X UCLIBC_HAS_LOCALE"
105 # turning off locale will break ncurses
107 # util-linux needs it to build some mounts
108 # FIXME: this has to be done in the oposite way (disable those mounts
109 # if libc doesn't have support)
110 echo "X UCLIBC_HAS_RPC"
111 echo "X UCLIBC_HAS_FULL_RPC"
114 echo "X UCLIBC_HAS_RESOLVER_SUPPORT"
117 echo "X UCLIBC_HAS_CONTEXT_FUNCS"
120 echo "X UCLIBC_HAS_UTMPX"
121 echo "X UCLIBC_HAS_UTMP"
123 # to get rint (iproute2)
126 # to make reiserfsprogs happy
127 echo "X UCLIBC_HAS_GLIBC_CUSTOM_PRINTF"
130 echo "X UCLIBC_HAS_WCHAR"
133 echo "X UCLIBC_HAS_WORDEXP"
136 echo "X UCLIBC_HAS_IPV6"
139 echo "X UCLIBC_HAS_FTW"
140 # needed for coreutils
141 echo "X UCLIBC_HAS_NFTW"
143 echo "X UCLIBC_HAS_FTS"
145 # needed for acl (among others)
146 echo "X UCLIBC_HAS_GETTEXT_AWARENESS"
149 echo "X MALLOC_GLIBC_COMPAT"
151 # even more compatibility
152 echo "X UCLIBC_SUSV3_LEGACY"
153 echo "X UCLIBC_SUSV4_LEGACY"
154 echo "X UCLIBC_HAS_PROGRAM_INVOCATION_NAME"
155 echo "X UCLIBC_HAS___PROGNAME"
156 echo "X UCLIBC_HAS_GNU_GETOPT"
157 echo "X UCLIBC_HAS_GLOB"
158 echo "X UCLIBC_HAS_GNU_GLOB"
159 echo "X UCLIBC_HAS_FLOATS"
161 # many packages, too:
162 #echo "X UCLIBC_HAS_LIBINTL" # stubs only :-/
163 echo "X UCLIBC_HAS_LIBICONV"
166 echo "X UCLIBC_HAS_LFS"
169 echo "X UCLIBC_HAS_LINUXTHREADS"
170 echo "X LINUXTHREADS_NEW"
171 echo "X UCLIBC_HAS_THREADS_NATIVE"
174 echo "X UCLIBC_HAS_GLIBC_CUSTOM_STREAMS"
175 echo "X UCLIBC_USE_NETLINK"
176 echo "X UCLIBC_SUPPORT_AI_ADDRCONFIG"
179 echo "X UCLIBC_HAS_LIBUTIL"
180 echo "X UCLIBC_HAS_PTY"
183 if [ "$SDECFG_DISABLE_NLS" = "0" ]; then
184 hook_add preconf 5 'uclibc_preparelocale'
188 # add custom/target configuration from $targetdir
189 if [ -e $targetdir/uclibc.config ]; then
190 var_append conffiles ' ' $targetdir/uclibc.config
192 default_config > $builddir/.config
194 hook_add preconf 3 "uclibc_preconf"
198 # FIXME: inject X options early - so 2 loops are enough
200 eval $MAKE $makeopt headers
202 # remove symlinks to avoid shares (install_dev)
203 rm -vf include/{asm,asm-generic,linux}
205 eval $MAKE $makeinstopt PREFIX=$sysroot install_headers
210 # FIXME: inject X options early - so 2 loops are enough
212 eval $MAKE $makeopt oldconfig
214 eval $MAKE $makeopt headers
215 if [ "$SDECFG_DISABLE_NLS" = "0" ]; then
216 eval $MAKE $makeopt locale_headers
218 eval $MAKE $makeopt all
220 # remove symlinks to avoid shares (install_dev)
221 rm -vf include/{asm,asm-*,linux}
223 eval $MAKE $makeinstopt headers
224 eval $MAKE $makeinstopt install
226 # utils (ldd, ldconfig)
228 eval $MAKE $makeopt -C utils
229 eval $MAKE $makeinstopt install_utils
232 var_remove_regex makeopt ' ' 'prefix=[^ ]*'
234 var_append makeopt ' ' PREFIX=$root
235 if atstage toolchain; then
236 custmain=uclibc_stage0
240 hook_add postdoc 5 'cp -v .config $root$docdir/'
241 hook_add postinstall 5 'uclibc_ldsoconf'
242 makeinstopt="$makeopt"