summaryrefslogtreecommitdiff
path: root/scripts/build
AgeCommit message (Collapse)AuthorFilesLines
2012-03-04binutils/binutils: rename function that build target librariesYann E. MORIN"1-1/+1
Prepare for the incoming build/host/target frontends. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-01-03complibs/libelf: rename libelf for target functionYann E. MORIN"1-2/+2
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2012-02-27cc/gcc: Update core_prefix_dir to prefix.Zhenqiang Chen1-1/+1
core_prefix_dir is not defined. It should be prefix. Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org>
2011-07-24cc-gcc: the frontends are responsible for mkdir/chdirYann E. MORIN"1-17/+22
The build dir are created depending on the host (host for that specific backend, not host for the toolchain). Only the frontends know what host this is, so only the frontends can create non-ambiguous dirs. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2012-01-01libc/glibc: use CT_mkdir_pushd helperYann E. MORIN"1-2/+1
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-24cc/gcc: fix core backend's API docYann E. MORIN"1-13/+14
Make it more in line with the final backend's doc, and make it simpler as well. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-24cc/gcc: no need to build a static core pass-1 gcc for baremetalYann E. MORIN"1-11/+0
The only user of the static core compiler in pass-1 was the newlib C library. Now that it is build in a later step, we do no longer need to build a static core compiler in pass-1. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-17libc/newlib: build newlib in the proper stepYann E. MORIN"1-4/+4
Currently, newlib is built in the start_file step, which is wrong, but was needed when the baremetal integration was... well, 'unfinished'. Now that we build the baremetal compiler from the final cc step, and a proper core gcc in pass-1 and pass-2, we can move the newlib build to the step do_libc, where it belongs. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2012-02-13cc/gcc: comonalise the manuals build decisionYann E. MORIN"1-3/+7
Let the final frontend decide whether or not to build the manuals. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-17cc/gcc: do not use the core pass-2 to build the baremetal compilerYann E. MORIN"1-9/+16
In case we build a baremetal compiler, use the standard passes: - core_cc is used to build the C library; - as such, it is meant to run on build, not host; - the final compiler is meant to run on host; As the current final compiler step can not build a baremetal compiler, call the core backend from the final step. NB: Currently, newlib is built during the start_files pass, so we have to have a core compiler by then... Once we can build the baremetal compiler from the final cc step, then we can move the newlib build to the proper step, and then get rid of the core pass-1 static compiler... Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-17cc/gcc: add the backend/frontend infra for final gccYann E. MORIN"1-10/+39
Currently, we issue the bare-metal compiler from the pass_1 & pass_2 core compilers, because the final gcc breaks while doing so. This implies we have to build some libces during the start_files step, instead of the standard libc step. This is the case for newlib. By adding a backend/frontend infra to the final gcc, we can abstract what backend to call: the standard backend for non-bare-metal gcc, and the core backend for bare-metal. This patch is just an no-op, it just adds the final backend and frontend without changing the way bare-metal is built, to come in a subsequent patch. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-08-23cc/gcc: add 'cflags' paramater to the core backendYann E. MORIN"1-1/+9
As the core backend is used to generate the bare-metal compiler, we need to pass it the host CFLAGS. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-17cc/gcc: add host parameter to core compiler build processYann E. MORIN"1-1/+9
Tell the core compiler what host it should run on (instead of hard-coding runing on CT_HOST). No functional change so far, switching between CT_HOST and CT_BUILD will come in a following patch. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-17cc/gcc: pass the install prefix to the core passesYann E. MORIN"1-8/+12
Currently, the discrimination on the core compilers prefixes depends on the type of core compiler to build. This is not correct, and the caller of the core backend should specify the prefix. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-17cc/gcc: pass the companion libs prefix to cc_coreYann E. MORIN"1-7/+15
In case of canadian-cross, the companion libraries are not the same for the core cc (they run on 'build') as they are for the final cc (they run on 'host'). Prepare for this differentiation (coming later), while retaining the current behavior (to use the same compblibs). Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-20cc/gcc: rename the core backend functionYann E. MORIN"1-4/+4
Rename the core backend function to do_cc_core_backend, to make it explicit it is a backend. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-17cc/gcc: simplify calls to core backendYann E. MORIN"1-14/+44
The core backend is going to have more parameters in the upcoming patches, so it will be a bit complex to handle. Introduce an array-variable that is filled by the different code-paths with the required values. This makes the code easier to read and maintain. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2012-02-13cc/gcc: do not consume parameters when parsing themYann E. MORIN"1-3/+3
The current construct consumes the parameters while we parse them. Change this to a construct that does not consume the parameters. This has no impact on gcc, but is done for homogeneity with other components (eg. glibc). Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2012-02-13libc/glibc: do not consume parameters when parsing themYann E. MORIN"1-3/+3
Currently, there are two constructs used to parse arguments in glibc backends, one that consumes args as they are parsed, and one that does not. Always use the construct that does not eat args as they are parsed. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2012-02-05scripts: fix download from sourceforgeYann E. MORIN"3-3/+3
It seems sourceforge changed yet again the way to download files. This time, no longer use their 'mesh' thingy, and hard-code the server to use in the URL... Sigh... :-( Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-18debug/gdb: --disable-sim for CT_GDB_CROSS.Yann E. MORIN"1-0/+5
sim was already disabled for CT_GDB_NATIVE. Reviewed-by: Michael Hope Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org> [yann.morin.1998@anciens.enib.fr: make it a config option] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2012-01-27complibs/cloog: fix linking with libmBenoît Thébaudeau"1-1/+1
In Ubuntu 11.04 and 11.10, the default options for ld have changed. --no-copy-dt-needed-entries and --as-needed are now enabled by default, which causes errors like: [EXTRA] Checking CLooG/ppl [DEBUG] ==> Executing: 'make' '-j3' '-s' 'check' [ALL ] Making check in . [ALL ] config.status: creating include/cloog/cloog-config.h [ALL ] config.status: include/cloog/cloog-config.h is unchanged [ALL ] libtool: link: i686-build_pc-linux-gnu-gcc -Wall -fomit-frame-pointer -pipe -o cloog cloog.o -L/<snip>/build/static/lib ./.libs/libcloog.a -lm /<snip>/build/static/lib/libppl_c.a /<snip>/build/static/lib/libpwl.a /<snip>/build/static/lib/libppl.a /<snip>/build/static/lib/libgmpxx.a /<snip>/build/static/lib/libgmp.a -lstdc++ [ALL ] /usr/bin/ld: /<snip>/build/static/lib/libppl.a(MIP_Problem.o): undefined reference to symbol 'sqrt@@GLIBC_2.0' [ALL ] /usr/bin/ld: note: 'sqrt@@GLIBC_2.0' is defined in DSO /usr/lib/gcc/i686-linux-gnu/4.6.1/../../../i386-linux-gnu/libm.so so try adding it to the linker command line [ALL ] /usr/lib/gcc/i686-linux-gnu/4.6.1/../../../i386-linux-gnu/libm.so: could not read symbols: Invalid operation [ALL ] collect2: ld returned 1 exit status [ERROR] make[2]: *** [cloog] Error 1 [ERROR] make[1]: *** [check-recursive] Error 1 See: https://wiki.ubuntu.com/NattyNarwhal/ToolchainTransition This patch fixes these errors by placing '-lm' at the right place on the command line as libppl requires libm when linking cloog. Signed-off-by: "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>
2012-01-01cc/gcc: copy file with 'cp -v', it rotates the progress barYann E. MORIN"1-5/+5
Installing the gcc test-suite can take a bit of time, so the progress bar is currently not rotating because there is no output during the copy. For an unsuspecting user, it could mean the process hung. With 'cp -v', the progress bar now rotates. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-12-28libc/glibc: cleanup CFLAGS handlingYann E. MORIN"1-7/+7
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-12-27libc/glibc: remove multi-dirYann E. MORIN"1-0/+3
Remove the sysroot/${multi_dir} directory after the libc install. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-12-27libc/glibc: allow to selectively install headers and/or start-filesYann E. MORIN"1-12/+36
When doing multilib, we only need the headers from the default variant, but we need the startfiles for each variants. Allow the frontend to specify either one, or both. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-22libc/glibc: add multilib-cacpable backendYann E. MORIN"1-11/+94
For mutlilib, the C library must be built once for each variants. Special care must be taken to put the resulting libraries in the proper places. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-21libc/glibc: fix code formattingYann E. MORIN"1-9/+9
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-21libc/glib: pass installation subdir to backendYann E. MORIN"1-7/+9
When building a multilib variant, install in a separate directory, to avoid clutering the default or any other variant. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-21libc/glibc: set the endian option according to extra CFLAGSYann E. MORIN"1-1/+18
When building a multilib, some extra CFLAGS can override the default config option. This is the case for the endianness selection. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-21libc/glibc: set the float option according to extra CFLAGSYann E. MORIN"1-2/+12
When building a multilib, some extra CFLAGS can override the default config option. This is the case for the floating point selection. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-21libc/glibc: add extra CFLAGS when building the C libraryYann E. MORIN"1-0/+4
When building multilib, we need extra CFLAGS that tell the compiler to use non-default settings (eg. big/little endian, hard/soft float, -march/cpu/tune flags, and so on...). We have to pass these flags to the build. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-12-13libc/glibc: no default mode for backendYann E. MORIN"1-7/+7
The caller SHALL explicitly ask for a nmode, and not rely on a default mode. That's what actually happens, so we can get rid of the default. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-12-30cc/gcc: print supported multilibsYann E. MORIN"1-0/+30
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-23cc/gcc: build multilibYann E. MORIN"1-2/+12
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-23binutils/binutils: build multilibYann E. MORIN"1-2/+10
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-12-31cc/gcc: add option to use system zlibYann E. MORIN"1-0/+8
In some cases, it might be desirable to use the system zlib Eg. because latest gcc seem to be totally borked when it comes to multilib, and tries to build a multilib host zlib, when it is *absolutely* *not* needed: we want mulitlib on the target, not on the host! Sigh... :-( Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-12-14libc/eglibc: fix localedef 2.14 buildBenoît Thébaudeau"1-0/+1
The localedef of eglibc 2.14 requires NOT_IN_libc to be defined in order to compile intl/l10nflist.c. This is because localedef is built separately from eglibc and uses some parts of eglibc that don't compile in standalone without this preprocessor definition. This fixes the following error: [ALL ] gcc -g -O2 -DNO_SYSCONF -DNO_UNCOMPRESS -DLOCALE_PATH='"/usr/lib/locale:/usr/share/i18n"' -DLOCALEDIR='"/usr/lib/locale"' -DLOCALE_ALIAS_PATH='"/usr/share/locale"' -DCHARMAP_PATH='"/usr/share/i18n/charmaps"' -DREPERTOIREMAP_PATH='"/usr/share/i18n/repertoiremaps"' -DLOCSRCDIR='"/usr/share/i18n/locales"' -Iglibc/locale/programs -Iglibc/locale -I/<snip>/.build/src/eglibc-localedef-2_14/include -I/<snip>/.build/src/eglibc-localedef-2_14 -I. -include /<snip>/.build/src/eglibc-localedef-2_14/include/always.h -Wall -Wno-format -c -o locarchive.o glibc/locale/programs/locarchive.c [ALL ] glibc/locale/programs/locarchive.c: In function 'enlarge_archive': [ALL ] glibc/locale/programs/locarchive.c:303:21: warning: variable 'oldlocrectab' set but not used [-Wunused-but-set-variable] [ALL ] In file included from glibc/locale/programs/locarchive.c:651:0: [ALL ] glibc/locale/programs/../../intl/l10nflist.c: In function '_nl_normalize_codeset': [ERROR] glibc/locale/programs/../../intl/l10nflist.c:342:9: error: '_nl_C_locobj_ptr' undeclared (first use in this function) [ALL ] glibc/locale/programs/../../intl/l10nflist.c:342:9: note: each undeclared identifier is reported only once for each function it appears in [ALL ] glibc/locale/programs/locarchive.c: In function 'add_locales_to_archive': [ALL ] glibc/locale/programs/locarchive.c:1450:7: warning: passing argument 1 of '__xpg_basename' discards 'const' qualifier from pointer target type [enabled by default] [ALL ] /usr/include/libgen.h:35:14: note: expected 'char *' but argument is of type 'const char *' [ERROR] make[1]: *** [locarchive.o] Error 1 Signed-off-by: "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>
2011-12-15libc/newlib: build manual for newlibYann E. MORIN"1-0/+15
Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org> [yann.morin.1998@anciens.enib.fr: copy with a single call to 'cp'] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-21libc/glibc: document the glibc backend argumentsYann E. MORIN"1-1/+4
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-21libc/glibc: create build dir using libc_modeYann E. MORIN"1-4/+2
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-12-12binutils/binutils: fix extra config array variable nameBenoît Thébaudeau"1-1/+1
The changeset 2467 #200836977ce6 missed renaming one occurrence of CT_BINUTILS_EXTRA_CONFIG to CT_BINUTILS_EXTRA_CONFIG_ARRAY, which is fixed by this patch. Signed-off-by: "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>
2011-12-12kernel/linux: fix missing quoteBenoît Thébaudeau"1-1/+1
Signed-off-by: "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>
2011-12-11kernel/linux: add alternate download locationsYann E. MORIN"1-4/+4
Some longterm versions are not in the usual directory. Account for these new locations. Get rid of the mirror location, now that the main kernel site is (almost) back to normal operations. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-28libc/newlib: remove hard-coded "-O"Zhenqiang Chen1-1/+1
With hard-coded "-O", users can not customize CFLAGS_FOR_TARGET by CT_TARGET_CFLAGS. If "-O" is needed, users can input it in CT_TARGET_CFLAGS. By default, "-Os" is enabled. Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org>
2011-11-23debug/gdb: add extra config for gdb cross.Yann E. MORIN"1-1/+2
Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org> [yann.morin.1998@anciens.enib.fr: prompt rewording, as suggested by M. Hope] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-22libc/newlib: add option to optimise for sizeZhenqiang Chen1-0/+2
Add an option to build with -Os instead of the default -O. Reviewed-by: Michael Hope Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org>
2011-11-18cc/gcc: Apply CT_CC_GCC_DISABLE_PCH to do_cc_core.Zhenqiang Chen1-0/+2
Otherwise, users have to input --disable-libstdcxx-pch option when building bare-metal CANADIAN C++ compiler. Reviewed-by: Michael Hope Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org>
2011-11-18libc/newlib: Add extra config for newlib.Zhenqiang Chen1-1/+2
So users can input config like --enable-newlib-register-fini. Reviewed-by: Michael Hope Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org>
2011-11-17cc/gcc: handle NLS optionZhenqiang Chen1-4/+4
Add --disable-nls config when option "Enable nls" is not selected. Reviewed-by: Michael Hope Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org>