* updated ktuberling (21.12.1 -> 21.12.2), untested
[t2-trunk.git] / package / base / uclibc / uclibc.conf
blobc7083084c0b7566a90da767a9e8420fabd6ffdf8
1 # --- T2-COPYRIGHT-NOTE-BEGIN ---
2 # T2 SDE: package/*/uclibc/uclibc.conf
3 # Copyright (C) 2004 - 2021 The T2 SDE Project
4
5 # This Copyright note is generated by scripts/Create-CopyPatch,
6 # more information can be found in the files COPYING and README.
7
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
26 uclibc_ldsoconf() {
27         cat > $root/etc/ld.so.conf <<-EOT
28 /lib
29 /usr/lib
30 /usr/X11/lib
31 /opt/*/lib
32 EOT
35 if ! atstage native; then
36         var_append makeopt " " "CROSS=${arch_target}-"
37         var_append makeinstopt " " "CROSS=${arch_target}-"
40 # rulesets
41 var_append conffiles ' ' $base/package/*/uclibc/clean_arch.config
42 var_append conffiles ' ' $builddir/.config
44 default_config()
46         cpu=`echo $arch | arch2uname`
47         uarch=`echo $cpu | sed -e s/superh/sh/ -e s/ppc/powerpc/`
48         echo "X TARGET_$uarch"
49         echo "X TARGET_ARCH \"$cpu\""
51         if [ "$arch_bigendian" = "yes" ]; then
52                 echo "X ARCH_BIG_ENDIAN"
53                 echo "X ARCH_WANTS_BIG_ENDIAN"
54         else
55                 echo "X ARCH_LITTLE_ENDIAN"
56                 echo "X ARCH_WANTS_LITTLE_ENDIAN"
57         fi
59         [ $arch = arm ] && {
60                 if [ "$SDECFG_ARM_ABI" = "gnueabi" ]; then
61                         echo "O CONFIG_ARM_OABI"
62                         echo "X CONFIG_ARM_EABI"
63                 else
64                         echo "O CONFIG_ARM_EABI"
65                         echo "O CONFIG_ARM_OABI"
66                 fi
67         }
68         [ $uarch = sh64 ] && {
69                 echo -e "O CONFIG_SH4\nX CONFIG_SH5"
70         }
71         [ $uarch = sh ] && {
72                 echo -e "X CONFIG_${SDECFG_SH_OPT}"
73         }
74         [ $arch = x86 ] && {
75                 uopt=`uclibc_mapx86cpu`
76                 echo "O CONFIG_GENERIC_386"
77                 [ "$uopt" != "" ] && echo "X CONFIG_$uopt" || echo "X CONFIG_586"
78         }
79         [ $arch = mips ] && {
80                 uopt=`uclibc_mapMIPScpu`
81                 [ "$uopt" != "" ] && echo "X CONFIG_MIPS_$uopt" || echo "X CONFIG_MIPS_ISA_32"
82         }
83         
84         # PREFIX
85         echo "X KERNEL_HEADERS \"$sysroot/usr/include\""
86         echo "X RUNTIME_PREFIX \"/\""
87         echo "X DEVEL_PREFIX \"/usr\""
89         if [ "$SDECFG_STATIC" = 0 ]; then
90                 echo "X SHARED_LIB_LOADER_PREFIX \"/lib\""
91         
92                 # ld.so preload
93                 echo "X LDSO_PRELOAD_FILE_SUPPORT"
94         else
95                 echo "O HAVE_SHARED"
96         fi
98         if [ "$SDECFG_DEBUG" -ne 0 ]; then
99                 echo "O DOSTRIP"
100         fi
102         # locale
103         if [ "$SDECFG_DISABLE_NLS" = "0" ]; then
104                 echo "X UCLIBC_HAS_LOCALE"
105         fi
106         # turning off locale will break ncurses
107         
108         # util-linux needs it to build some mounts
109         # FIXME: this has to be done in the oposite way (disable those mounts
110         #        if libc doesn't have support)
111         echo "X UCLIBC_HAS_RPC"
112         echo "X UCLIBC_HAS_FULL_RPC"
114         # glib
115         echo "X UCLIBC_HAS_RESOLVER_SUPPORT"
117         # openssl
118         echo "X UCLIBC_HAS_CONTEXT_FUNCS"
120         # sysvinit
121         echo "X UCLIBC_HAS_UTMPX"
122         echo "X UCLIBC_HAS_UTMP"
124         # to get rint (iproute2)
125         echo "X DO_C99_MATH"
127         # to make reiserfsprogs happy
128         echo "X UCLIBC_HAS_GLIBC_CUSTOM_PRINTF"
130         # to make sed happy
131         echo "X UCLIBC_HAS_WCHAR"
133         # to make alsa happy
134         echo "X UCLIBC_HAS_WORDEXP"
136         # I want V6
137         echo "X UCLIBC_HAS_IPV6"
139         # needed for attr
140         echo "X UCLIBC_HAS_FTW"
141         # needed for coreutils
142         echo "X UCLIBC_HAS_NFTW"
143         # needed for libelf
144         echo "X UCLIBC_HAS_FTS"
146         # needed for acl (among others)
147         echo "X UCLIBC_HAS_GETTEXT_AWARENESS"
149         # make make happy :)
150         echo "X MALLOC_GLIBC_COMPAT"
152         # even more compatibility
153         echo "X UCLIBC_SUSV3_LEGACY"
154         echo "X UCLIBC_SUSV4_LEGACY"
155         echo "X UCLIBC_HAS_PROGRAM_INVOCATION_NAME"
156         echo "X UCLIBC_HAS___PROGNAME"
157         echo "X UCLIBC_HAS_GNU_GETOPT"
158         echo "X UCLIBC_HAS_GLOB"
159         echo "X UCLIBC_HAS_GNU_GLOB"
160         echo "X UCLIBC_HAS_FLOATS"
162         # many packages, too:
163         #echo "X UCLIBC_HAS_LIBINTL"    # stubs only :-/
164         echo "X UCLIBC_HAS_LIBICONV"
166         # Large file support
167         echo "X UCLIBC_HAS_LFS"
169         # Threading
170         echo "X UCLIBC_HAS_LINUXTHREADS"
171         echo "X LINUXTHREADS_NEW"
172         echo "X UCLIBC_HAS_THREADS_NATIVE"
174         # util-linux et al.
175         echo "X UCLIBC_HAS_GLIBC_CUSTOM_STREAMS"
176         echo "X UCLIBC_USE_NETLINK"
177         echo "X UCLIBC_SUPPORT_AI_ADDRCONFIG"
179         # tmux
180         echo "X UCLIBC_HAS_LIBUTIL"
181         echo "X UCLIBC_HAS_PTY"
184 if [ "$SDECFG_DISABLE_NLS" = "0" ]; then
185         hook_add preconf 5 'uclibc_preparelocale'
188 uclibc_preconf()
190         # add custom/target configuration from $targetdir
191         if [ -e $targetdir/uclibc.config ]; then
192                 var_append conffiles ' ' $targetdir/uclibc.config
193         fi
194         default_config > $builddir/.config
196 hook_add preconf 3 "uclibc_preconf"
198 uclibc_stage0() {
199         hook_eval preconf
200         # FIXME: inject X options early - so 2 loops are enough
201         auto_config 3
202         eval $MAKE $makeopt headers
203         
204         # remove symlinks to avoid shares (install_dev)
205         rm -vf include/{asm,asm-generic,linux}
207         eval $MAKE $makeinstopt PREFIX=$sysroot install_headers
210 uclibc_main() {
211         hook_eval preconf
212         # FIXME: inject X options early - so 2 loops are enough
213         auto_config 3
214         eval $MAKE $makeopt oldconfig
216         eval $MAKE $makeopt headers
217         if [ "$SDECFG_DISABLE_NLS" = "0" ]; then
218                 eval $MAKE $makeopt locale_headers
219         fi
220         eval $MAKE $makeopt all
221                 
222         # remove symlinks to avoid shares (install_dev)
223         rm -vf include/{asm,asm-*,linux}
225         eval $MAKE $makeinstopt headers
226         eval $MAKE $makeinstopt install
228         # utils (ldd, ldconfig )
229         uclibc_kernellinks
230         eval $MAKE $makeopt -C utils
231         eval $MAKE $makeinstopt install_utils
234 var_remove_regex makeopt ' ' 'prefix=[^ ]*'
236 var_append makeopt ' ' PREFIX=$root
237 if atstage toolchain; then
238         custmain=uclibc_stage0
239 else
240         custmain=uclibc_main
242 hook_add postdoc 5 'cp -v .config $root$docdir/'
243 hook_add postinstall 5 'uclibc_ldsoconf'
244 makeinstopt="$makeopt"
245 runconf=0