summaryrefslogtreecommitdiff
path: root/scripts
AgeCommit message (Collapse)AuthorFilesLines
2011-02-21libc/glibc: add fortify optionYann E. MORIN"1-1/+8
By default, recent versions of glibc and eglibc will build some functions that take format strings (eg. printf, syslog...) with run-time checks against some format string attacks. This is called a fortified build. Unfortunately, this fails somehow while building the instrumented version of syslog, with some kind of circular dependency... Disable fortified builds by default, and hide the enabling option behind EXPERIMENTAL for daring users... Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-02-21internals: don't remove lib64 symlinks in sysrootYann E. MORIN"1-2/+0
The lib64 symlinks are needed for the linker to find the libraries. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-18comptools: install them side-to-side with build toolsYann E. MORIN"5-6/+6
As companion tools might or might not be used to build each toolchain, they do belong to that toolchain's build tools, not to the generic override tools. Fix a typo in the autoconf URL. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-19buildtools: the buildtools dir is in fact a prefixYann E. MORIN"2-10/+10
Consider the buildtools install directory as a prefix directory, that is, install buildtools in prefix/bin/, not in prefix/. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-23buildtools: move to working directoryYann E. MORIN"2-8/+10
There is absolutely *no* reason for the buildtools (wrappers to gcc, g++, as, ld... for the local machine) to be in the toolchain directory. Moreover, they are removed after the build completes. Move them out of the toolchain directory, and into the build directory (but yet the part specific to the current toolchain). This means we no longer need to explicitly remove them either, BTW, but we need to save/restore them for the restart feature. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-02-20buildtools: store path to buildtools in a variableYann E. MORIN"1-7/+8
Currently, the buildtools are installed relative to ${CT_PREFIX_DIR}. Change that by introducing ${CT_BUILDTOOLS_DIR}, which is still set relative to ${CT_PREFIX_DIR}, but which will make it easy to change in the future. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-22scripts: create the makeinfo wrapper before we set PATHYann E. MORIN"1-7/+7
If we set PATH to the tools wrappers before we create the makeinfo wrapper, then we may well wrap an existing wrapper from a previous run. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-02-17debug/gdb: add versions from LinaroYann E. MORIN"1-1/+14
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-02-17cc/gcc: add versions from LinaroYann E. MORIN"1-1/+15
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-02-17internals: fix stripping host binariesYann E. MORIN"1-4/+6
The gcc used by linaro has a version number specific to Linaro, but identifies itself with its upstream version numbering scheme. This breaks the strip in the finish step, because the actual gcc version is not the same as the configured one (eg. 4.5.2 vs. linaro-4.5-2011.02-0). Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-31libc/glibc: add option to force unwindYann E. MORIN"1-2/+18
We make it an option, as not all combinations of architectures vs. compiler vs. glibc/eglibc exhibit the issue. Mostly visible on old glibc versions, it seems... This is a missing part from the glibc/eglibc merger... :-/ Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-30scripts: update toolsYann E. MORIN"2-10/+13
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-28cc/gcc: enable plugins if neededYann E. MORIN"1-7/+4
Enabling plugins in binutils is not enough, and gcc also needs to be ./configured with --enable-plugins, although this is not documented anywhere... :-/ Reported-by: karthik duraisami <kdconstant@hotmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-26scripts: squash the multi-slash in the sysroot symlinkYann E. MORIN"1-3/+4
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-28comptools: add make-3.81Yann E. MORIN"1-0/+26
Since the advent of make-3.82, some packages now break due to changes in make-3.82, being stricter than 3.81 when interpreting the Makefiles. This has bugged us a bit too much so far, and I believe fixing all of them is a long road, while simply building make-3.81 is the easiest route for now. Of course, in the long term, packages will get fixed upstream, and we should back-port the fixes to old versions, and get rid of building make-3.81. In the meantime... Reported several times on the mailing list. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-28config: add an option not to remove the destination directoryYann E. MORIN"1-1/+1
In certain circumstances, removing the destination/installation directory is a bad idea. For example, when the build environment is already taking care of sanitising the build tree, and pre-installs stuff in there, it is a very bad idea to remove the destination directory. This happens now in buildroot, as the crostool-NG backend now installs the toolchain in the common host-tools directory, and pre-install there a few host-utilities (eg. host-automake and host-gawk). Provide a config knob to turn on/off the removal of the destination directory, defaulting to 'y' (previous behavior), and forced to 'n' when used as a backend. Reported-by: Peter Korsgaard <jacmet@sunsite.dk> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-25libc/mingw: do not remove support symlinkYann E. MORIN"1-3/+4
Under mingw, it seems that there is a mix between the traditional /usr directory, and a similar-purposed /mingw directory (both in the sysroot). Currently, we create /mingw as a symlink to /usr, and we removed it in the libc-finish step. Unfortunately, this prevents the pre-processor to find the headers. Keeping the symlink makes it magically work... Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-25scripts: fix double slash in pathsYann E. MORIN"2-0/+20
Computed paths may contain double slashes. This is not an issue but it is just ugly to look at. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-25config: add an option to name the sysroot directoryYann E. MORIN"3-7/+14
Depending on local policies, some users have expressed a need to have the sysroot be named differently than the hard-coded name. Add an option for that. Default to 'sysroot' to match the existing literature. While at it, replace 'sys-root' with 'sysroot' everywhere we reference the sysroot. Reported-by: Alexey Kuznetsov <Alexey.KUZNETSOV@youtransactor.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-22libc: remove now unneeded do_libc_headersYann E. MORIN"7-24/+0
do_libc_headers is now a noop, and is no longer used, so remove that step. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-19libc/glibc-eglibc: misc janitorial cleanups.Yann E. MORIN"2-8/+12
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-22libc/glibc: add glibc specifics to the shared code, and use itYann E. MORIN"2-203/+36
Final step at sharing code between glibc and eglibc. Fall, wall of shame, fall!... :-) Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-22scripts: PARALLELMFLAGS is evil, renameYann E. MORIN"14-41/+38
The reunification of the glibc/eglibc code paths exposed a nasty bug in the glibc build: use of PARALLELMFLAGS breaks the build. See the explanations in that bug report against FC6: https://bugzilla.redhat.com/show_bug.cgi?format=multiple&id=212111 Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-22libc/glibc: commonalise assembling the list of addonsYann E. MORIN"2-16/+5
glibc and eglibc each have two very similar ways of building this list. This can, and should definitetly, be shared. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-22libc/glibc: commonalise setting of the minimum supported kernel versionYann E. MORIN"2-30/+35
It will be possible to use that also with eglibc, so this hunk belongs to the common code. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-22libc/glibc: use the common start_files procedureYann E. MORIN"2-238/+27
Use the common procedure, shared between glibc and eglibc. This requires that glibc-specific bits be included in the shared procedure. But still build the full libc with the glibc-specific procedure. This will be commonalised in a future commit. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-17libc/eglibc: cleanup common code for sharing with glibcYann E. MORIN"1-31/+48
Some stuff is eglibc-specific, so needs to be conditonal. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-17libc/eglibc: move generic code to a common fileYann E. MORIN"2-215/+223
The build procedure for eglibc is generic enough to be shared between glibc and eglibc. This includes: - headers install (empty!) - start files build - complete libc build - libc finish (empty!) - add-ons list Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-22libc/mingw: move content of do_libc_headers into do_libc_start_filesYann E. MORIN"1-4/+4
It is unnecessary to split C library preparation into two steps, as only one really makes sense. So, do_libc_headers is bound to be withdrawn short-term, in favor of do_libc_start_files. mingw already had all its start files installation in do_libc_headers, and do_libc_start_files was empty, just migrate the content of the former into the latter. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-22libc/uClibc: move content of do_libc_headers into do_libc_start_filesYann E. MORIN"1-6/+5
It is unnecessary to split C library preparation into two steps, as only one really makes sense. So, do_libc_headers is bound to be withdrawn short-term, in favor of do_libc_start_files. uClibc already had all its start files installation in do_libc_headers, and do_libc_start_files was empty, just migrate the content of the former into the latter. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-03libc-glibc: remove 2.3.6Yann E. MORIN"1-80/+3
This is an obsolete version which is no longer used by any sample (the only user, the ia64 sample, has been removed). It also makes the code path a bit complex, with twists just to accomodate that version. Removing the version will make those twists go away, and will ease commonalisation of glibc and eglibc in the future (hopefully!). Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-03arch: remove ia64Yann E. MORIN"1-6/+0
ia64 is broken in every gcc/glibc combinations I tested (except for the existing sample that used very old versions). Nobody complained on the list about not being able to build recent versions. So the only way forward I can see is to remove the architecture altogether. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-14kernel/linux: simplify the download URLYann E. MORIN"1-2/+3
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-14kernel/linux: longterm kernel location changedYann E. MORIN"1-1/+11
The location of the longterm Linux kernels on FTP has changed. Here is a simple (but not very versatile) fix. Signed-off-by: "Björn A. Herwig" <herwig@gdsys.de> [yann.morin.1998@anciens.enib.fr: make it generic/versatile] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-13complibs/cloog: regenerate autostuff filesYann E. MORIN"1-0/+3
Latest version of CLooG does not have properly generated autoconf files, so they need to be regenerated before the call to ./configure Signed-off-by: "Ilya A. Volynets-Evenbakh" <ilya@total-knowlege.com> [yann.morin.1998@anciens.enib.fr: make it conditional on 0.15.10 only] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-08debug/ltrace: fix building for mipsYann E. MORIN"1-0/+1
ltrace 0.5.3 currently fails to build for target mips because MY_TARGET (introduced by patches/ltrace/0.5.3/150-allow-configurable-arch.patch) is set to 'mips' via CT_ARCH, while the mips specific stuff in ltrace (0.5.3) is stored under sysdeps/linux-gnu/mipsel: result: *** No rule to make target `mips/arch.h', needed by `sysdep.h'. Stop. The following patch fixes this issue Signed-off-by: "Horst Kronstorfer" <horst.kronstorfer@aon.at> [yann.morin.1998@anciens.enib.fr: reformat commit log] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-29cc/gcc: build lto-plugin if binutils' gold is builtYann E. MORIN"1-0/+10
To properly enable LTO with gold, gcc has to install a plugin that gold uses to handle the LTO information. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-29binutils/binutils: add wrapper to gold and ldYann E. MORIN"2-1/+28
When both gold and ld are installed, add a wrapper that calls to either gold or ld. In case the wrapper is installed, we also need to symlink ld.bfd and ld.gold for the core_cc steps. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-02binutils/binutils: add support for threaded goldYann E. MORIN"1-0/+3
When configured with support for threads, gold can link in parallel, possibly cooperating with a make jobserver. Add an option enabling threads. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-02binutils/binutils: add support for pluginsYann E. MORIN"1-0/+3
Add an option to enable plugins support in binutils. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-27binutils/binutils: add option to enable goldYann E. MORIN"1-0/+20
gold is a new, optimised, multi-threaded linker with support for plugins. Add support for gold starting with binutils 2.21. Although 2.20 also had gold, the configure flags have changed, and supporting 2.20 would be a mess in the code. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-29complibs/libelf: build with -fPICYann E. MORIN"1-0/+2
libelf is used by gcc to build the lto-plugin used by binutils' gold to perform LTO. This requires that files in libelf be compiled with -fPIC to generate a proper .so. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-03libc/uClibc: normalize uclibc hidden version namesBryan Hundven1-4/+4
Hidden version names for uClibc conflicted: LIBC_UCLIBC_V_0_9_30_2 LIBC_V_0_9_30_1 name them constantly as: LIBC_UCLIBC_V_<version> Also update the build script where we use snapshots by version or snapshots by date. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2010-12-29internals: properly remove all docsYann E. MORIN"1-3/+3
Part of the installed doc was not removed (if configured to). Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-22libc/eglibc: fix installed scriptsBryan Hundven1-0/+14
Like rev 2002, eglibc installs some bash scripts, but use the path to the buildtool bash as the interpreter (on the shebang line). This is only a symlink to the real bash, and thus is not available at runtime. Fix that by assuming that shell on the target *will* be /bin/bash. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2010-12-22kernel/linux: Cleanup unneeded files from 'headers_check' and 'headers_install'Yann E. MORIN"1-1/+9
headers_install makes .install and ..install.cmd files. headers_check makes .check and ..check.cmd files. Remove these files uncoditionaly after installing (and checking) header files into the sys-root. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com> [Yann E. MORIN: reformat the patch, move hunk out of headers_check conditional] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-19scripts: add doc for patch-reworkYann E. MORIN"1-8/+51
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-18scripts: update config.{sub,guess}Yann E. MORIN"2-4/+18
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-03complibs/libelf: use host compilerKalle Kankare1-0/+1
It appears, that the configure scripts of libelf versions 0.8.13 and 0.8.12 do not honour the --host option. The compiler must be given as an environment variable or the process will use the command "gcc" as the compiler. It seems that this is already done in the function do_libelf_target in scripts/build/companion_libs/libelf.sh, but not in function do_libelf.
2010-12-12internals: fix strippingYann E. MORIN"1-1/+1
Do not try to strip any script. Previously, only shell scripts were ignored, but when the Java frontend is installed, it also installs a Python script. So we have to ignore any "script text executable", and not restrict it to "shell script text executable". Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>