summaryrefslogtreecommitdiff
path: root/scripts
AgeCommit message (Collapse)AuthorFilesLines
2011-07-17binutils: split binutils to backend/frontend, a-la cc_coreYann E. MORIN"3-82/+149
Move the actual binutils code to a backend function that builds the required combo of build/host/target as requested by a frontend. This split is currently a no-op, but is required for the upcoming canadian-cross rework, where we'll be needing to build two binutils, one for build/build/target, and one for build/host/target. This applies to the three binutils: - GNU binutils - elf2flt - sstrip Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-17cc/gcc: always build core compilers to run on the build machineYann E. MORIN"1-5/+5
The core compilers are used to build the C library, so they should always run on the build machine, not on the host. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2012-01-01cc/gcc: install the core compilers in the build-tools dirYann E. MORIN"5-37/+12
There really is no good reason to install the core compilers in their own places, one for each pass. We can install them with the other build tools. Also, this implies that: - there are fewer directories to save/restore - there are fewer symlinks to create for binutils - the PATH is shorter Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2012-01-02binutils/binutils: don't install symlinks when in canadianYann E. MORIN"2-20/+34
When building a canadian-cross, the binutils are not executable on the build machine, so there is no point in installing the symlinks in the gcc static/shared install dirs. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2012-03-12debug/strace: fix download URLYann E. MORIN"1-1/+2
strace upstream location has slightly changed. Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-03-06docs: update my e-mailYann E. MORIN"2-2/+2
Since anciens.enib.fr has been dead for two months now, without any hope of recovery, update my e-mail to point to @free.fr instead. Reported-by: "Bryan Hundven" <bryanhundven@gmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
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-24functions: add new helpers that create a dir and cd/pushd into itYann E. MORIN"1-0/+16
A lot of places are currently doing: mkdir -p foo/bar cd foo/bar Or even: mkdir -p foo/bar pushd foo/bar [...] popd Provide both wrapper to ease doing this. 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>
2012-01-30scripts: fix typo in mk-release, remove temporary autom4 filesYann E. MORIN"1-1/+2
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2012-01-29scripts: update mk-release to cope with the new autoconf frameworkYann E. MORIN"1-2/+10
Now that ./configure is generated by autoconf, it must be generated before the release tarball is made. So, we can not simply use hg's archive, we must post-process it. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2012-01-29scripts/mk-release: use HGPLAIN and don't print progressYann E. MORIN"1-18/+22
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-16configure: fix kconfig option namesYann E. MORIN"1-2/+2
In the process of converting to autoconf, the kconfig option were not properly translated. Fix that. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2012-01-16scripts: fix tools overrideYann E. MORIN"6-9/+11
The tools found by the new autostuff configure can contain arguments, for example: grep -E This needs separating the paths set for the Makfile from the paths set for the scripts. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-07configure: use autoconf to generate configureYann E. MORIN"1-0/+520
Create configure.ac, an autoconf script to generate ./configure This will be needed by a subsequent patch to properly handle --build and --host, and more tests, when the kconfig stuff will be installed pre-built. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2012-01-03scripts: update config.{guess,sub}Yann E. MORIN"2-14/+9
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
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>