summaryrefslogtreecommitdiff
path: root/scripts
AgeCommit message (Collapse)AuthorFilesLines
2012-05-08scripts: fix catching build failures, the proper way, nowYann E. MORIN"1-1/+1
Serves me for pushing too fast... :-( Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> (transplanted from 24961ef6af8885ad071cba16adacbf5f7466ef37)
2012-05-06scripts/functions: tweak the endianness LDFLAGSYann E. MORIN"1-2/+2
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> (transplanted from 04092e6b82ca3b06685055a323662ee343fdfe38)
2012-05-08scripts: fix catching failuresYann E. MORIN"1-0/+4
POSIX 1003.1-2008 does not say whether "set -e" should catch a sub-shell that exits with !0 (it has a list of conditions to catch, but no list of conditions not to catch, and this situation is not listed). bash-3 does not catch such a failure, but bash-4 does. That why, on my Squeeze system I did not see the issue, while Thomas did on is Lenny chroot. Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> (transplanted from d48c03998dc1c25a3b29b2c0af425631baee3abe)
2012-02-24libc/uClibc: add additional debug level between "minimal" and "all"Johannes Stezenbach1-0/+10
During application development it is desirable to enable malloc debugging and LD_DEBUG support, but the extensive debug spew from SUPPORT_LD_DEBUG_EARLY is only useful when working on uClibc's ld.so. Signed-off-by: Johannes Stezenbach <js@sig21.net>
2012-04-27Allow multi-word "install" command.Anthony Foiani1-1/+1
Autoconf can determine that the correct install command includes flags, e.g., "/usr/bin/install -c". When using this as a command, we can't enclose the value in double-quotes, as that makes some shells use the whole expression as a filename: # this is the value returned by autoconf and stored in CT_install $ ins="/usr/bin/install -c" # if we call it with quotes, the command is not found $ "${ins}" bash: /usr/bin/install -c: No such file or directory # removing the quotes lets it work as expected $ ${ins} /usr/bin/install: missing file operand Try `/usr/bin/install --help' for more information. Signed-Off-By: Anthony Foiani <anthony.foiani@gmail.com>
2012-04-09samples: . accepts previous comment as-isYann E. MORIN"1-3/+7
When updating a sample configuration with a comment, a dot '.' in the new comment keeps the previous comment. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-01-03cc/gcc: build core compilers for canadianYann E. MORIN"2-12/+6
Currently, we rely on an existing external cross-compiler targetting the target, to build the C library. This can pause quite a few problems if that compiler is different from the one we are building, because it could introduce some ABI issues. This patch removes this dependency, by building the core compilers as we do for standard cross, and also by building the binutils and gcc, for running on the build machine. This means we no longer need to offer the cross-sompiler selection in the menuconfig. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2012-04-02cc/gcc: add build frontendYann E. MORIN"1-2/+42
Bizarrely enough, the core gcc are not enough to be able to build a canadian cross, and a real, full cross compiler is required so that the canadian cross can be properly built... WTF?!? Sigh... Add a build-frontend, as was done for the binutils and the complibs. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-04-01cc/gcc: frontends are responsible for selecting the list of languagesYann E. MORIN"1-2/+4
Do for the final step the same as for the core step: compute the list of selected langauages from the frontend, not in the backend. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2011-08-15cc/gcc: pass the language list to the core backendYann E. MORIN"1-4/+6
As the core backend can be used to also build the bare-metal compiler, we have to tel it what languages to build. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-08-15cc/gcc: add language helper functionYann E. MORIN"1-14/+20
Add a function that prepares the language configure option. It is needed in at least two places, some commonalisation is needed. ;-) Unfortunately, it is no longer possible to print warnings about experimental languages any more. Anyway, the experimental status is clearly indicated in the menuconfig. so it should not be a surprise if the build breaks. :-/ Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-25complibs: fixup the host complibs install dirYann E. MORIN"9-13/+22
It's easier to have as much as possible stuff in the same place to ease backup/restore, and make things easier to follow. Move the host companion libraries install dir as a sub-dir of the build-tools install dir (but not directly in it, it would break for canadian or cross-native). Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-25cc/gcc: cleanup the frontendsYann E. MORIN"1-35/+21
A few noop fix-ups: - fix the comments in core pass-1 - commonalise settings that can be Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-24complibs: add frontends for building to run on the build machineYann E. MORIN"6-0/+138
In canadian-cross, we need the companion libraries running on the build machine, to be able to build the two core gcc. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-24binutils: add frontends for building to run on the build machineYann E. MORIN"2-2/+45
In canadian-cross, we need binutils running on the build machine to be able to build the target C library. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-17complibs: split companion libraries to backend/frontend, a-la cc_coreYann E. MORIN"6-103/+235
Move the actual complibs codes to backend functions 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 the complibs twice, one for build/build, and one for build/host. This applies to the six companion libraries: - GMP - MPFR - PPL - Cloog/PPL - MPC - libelf Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
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>