summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix syntax error in command line wrappingbaserock/jannispohlmann/build-essential-armv7-hardfpJannis Pohlmann2013-10-031-1/+1
|
* Build GCC with ARMv7 hardfp supportJannis Pohlmann2013-10-033-2/+20
|
* Merge branch 'baserock/richardmaw/S8564/ro-staging-area' into ↵Richard Maw2013-08-237-222/+177
|\ | | | | | | | | | | baserock/build-essential Reviewed-by: Lars Wirzenius
| * Don't write to the staging area any morebaserock/richardmaw/S8564/ro-staging-areaRichard Maw2013-08-162-16/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The command to fix steps is no longer possible, or necessary, since eglibc installs some fixed headers. However, gcc needs to fix the previous gcc's headers now. During our first build of gcc we did not have all the system headers available. This was sufficient to build the earlier chunks and some parts of gcc. However, now we have a more difficult gcc build, so the headers need to be able to fall back to system headers, which the headers made earlier don't. This is an artifact that has eglibc as a build-dependency and needs the gcc source tree to do it, which technically means it has to be a separate chunk built from gcc's source. This is unfortunate, due to gcc's size, but adding the new chunk is the only way to replace files in our current architecture for building. To this end, building stage2's gcc involves first building the fixed headers, then building gcc itself.
| * Convert JSON morphologies to YAMLRichard Maw2013-08-146-222/+174
|/
* Merge branch 'baserock/richardmaw/inspect-zlib' into baserock/build-essentialRichard Maw2013-05-282-3/+2
|\
| * morphology: use embedded zlibbaserock/richardmaw/inspect-zlibRichard Maw2013-05-232-3/+2
|/ | | | | | | | Enough can go wrong that we don't want to require shared objects working. For example, with a shared object built by a bootstrap compiler, it can include symbols it shouldn't in the shared object. This causes problems later when it tries to use working shared objects.
* Merge system branch 'baserock/richardmaw/build-essential-changes-merge'Richard Maw2013-05-222-3/+9
|\
| * Add fortran to the list of languages builtbaserock/richardmaw/fortranbaserock/richardmaw/build-essential-changes-mergeRichard Maw2013-05-172-3/+9
|/ | | | | | | | | | It's surprisingly difficult to build gfortran separately, it will always have to rebuild C and supporting tools. Symlinks for the different fortran dialects are provided, though it's possible to build with just gfortran, and maybe gcc, some makefiles use the alternative names. Providing the symlinks reduces friction with upstream.
* Really fix 'morph-arch-config' invocationSam Thursfield2013-03-186-6/+6
|
* Call 'morph-arch-config' correctlySam Thursfield2013-03-186-6/+6
|
* Merge branch 'baserock/samthursfield/build-essential-2-rebase' into ↵Sam Thursfield2013-03-1528-128/+322
|\ | | | | | | baserock/build-essential
| * Final cleanups and correctionsSam Thursfield2013-03-156-37/+46
| |
| * Use MORPH_ARCH field to set target-specific flagsSam Thursfield2013-03-147-9/+20
| | | | | | | | | | Also, use config.guess when we need to know BUILD, because Morph no longer sets this variable.
| * Forcefully enable shared in stage 3 GCCSam Thursfield2013-03-142-2/+2
| | | | | | | | It defaults to on anyway, but for consistency we'll specify the flag.
| * On x86_64, libgcc is installed into /lib64Sam Thursfield2013-03-142-6/+15
| |
| * Add zlib to build-essentialSam Thursfield2013-03-144-2/+5
| | | | | | | | | | | | It's never good to have multiple versions of the same library in use on a system, so we should avoid using the versions of ZLib that are bundled in the GCC and Binutils releases.
| * Remove -B from CPPFLAGSSam Thursfield2013-03-122-3/+2
| | | | | | | | | | | | | | We had to pass -BSYSROOT/PREFIX/include because it was the only way to get GCC to look for headers inside a prefix that is inside a sysroot. However, backporting a patch from GCC trunk to add the --with-native-system-header-dir configure flag fixes this problem.
| * Backport --with-native-system-header-dir patch from trunkSam Thursfield2013-03-1121-123/+109
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 638454a19c1c08f01c10517bc72a114250fc4f33 Author: ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Mon Oct 17 23:31:25 2011 +0000 * configure.ac: Add --with-native-system-header-dir. Set and substitute NATIVE_SYSTEM_HEADER_DIR. Use native_system_header when setting target_header_dir. * config.gcc: Always set native_system_header_dir. (*-*-gnu*): Set native_system_header_dir. Don't use t-gnu. (i[34567]86-pc-msdosdjgpp*): Set native_system_header_dir. Don't use i386/t-djgpp. (i[34567]86-*-mingw* | x86_64-*-mingw*): Set native_system_header_dir. (spu-*-elf*): Set native_system_header_dir. * Makefile.in (NATIVE_SYSTEM_HEADER_DIR): Set to @NATIVE_SYSTEM_HEADER_DIR@. (PREPROCESSOR_DEFINES): Define NATIVE_SYSTEM_HEADER_DIR. * cppdefault.c (STANDARD_INCLUDE_DIR): Don't define. (NATIVE_SYSTEM_HEADER_COMPONENT): Rename from STANDARD_INCLUDE_COMPONENT. (cpp_include_defaults): Don't use SYSTEM_INCLUDE_DIR. Rename STANDARD_INCLUDE_DIR to NATIVE_SYSTEM_HEADER_DIR. * system.h: Poison SYSTEM_INCLUDE_DIR, STANDARD_INCLUDE_DIR, and STANDARD_INCLUDE_COMPONENT. * config/i386/t-mingw32 (NATIVE_SYSTEM_HEADER_DIR): Remove. * config/i386/t-mingw-w32: Likewise. * config/i386/t-mingw-w64: Likewise. * config/spu/t-spu-elf: Likewise. * config/i386/t-djgpp: Remove. * config/t-gnu: Remove. * config/i386/mingw32.h (STANDARD_INCLUDE_DIR): Don't define. (NATIVE_SYSTEM_HEADER_COMPONENT): Rename from STANDARD_INCLUDE_COMPONENT. * config/i386/djgpp.h (STANDARD_INCLUDE_DIR): Don't define. * config/spu/spu-elf.h: Likewise. * config/vms/xm-vms.h: Likewise. * config/gnu.h: Likewise. * config/openbsd.h (INCLUDE_DEFAULTS): Change STANDARD_INCLUDE_DIR and STANDARD_INCLUDE_COMPONENT to NATIVE_SYSTEM_HEADER_DIR and NATIVE_SYSTME_HEADER_COMPONENT. * doc/install.texi (Configuration): Document --with-native-system-header-dir. Mention it in the documentation for --with-sysroot and --with-build-sysroot. * doc/tm.texi.in (Driver): Don't document SYSTEM_INCLUDE_DIR or STANDARD_INCLUDE_DIR. Rename STANDARD_INCLUDE_COMPONENT to NATIVE_SYSTEM_HEADER_COMPONENT. Rename uses of STANDARD_INCLUDE_DIR to NATIVE_SYSTEM_HEADER_DIR. * doc/fragments.texi (Target Fragment): Don't document NATIVE_SYSTEM_HEADER_DIR. * configure, doc/tm.texi: Rebuild. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180114 138bc75d-0d04-0410-96
| * Honour TARGET_GCC_CONFIG in all morphologiesSam Thursfield2013-03-112-2/+2
| | | | | | | | | | | | | | | | On some architectures we need to pass flags to GCC's configure, e.g. --with-arch=armv7-a. Currently this must be specified manually in the morph.conf file when building on such a system. Ideally in the future we would bake this setting directly into the system image to reduce potential for failure.
| * Add morphs for build-essential bootstrapSam Thursfield2013-03-116-5/+182
|/ | | | | | | | | | JSON versions are generated from .yaml versions using the edit-morph script in the Morph source tree: 'scripts/edit-morph to-json *.morph.yaml' The .morph files themselves should be converted to YAML after the next Baserock release.
* Build gcc correctly under ARMJonathan Maw2013-03-071-1/+3
| | | | Reviewed-by: Richard Maw <richard.maw@codethink.co.uk>
* Enforce the creation of c++ shared librariesJonathan Maw2013-03-051-1/+1
| | | | Reviewed-by: Lars Wirzenius <lars.wirzenius@codethink.co.uk>
* Pass --be8 by default for armv7-a when configured big-endian.Sam Thursfield2013-01-101-2/+13
| | | | | | | | | | | | | | | | | Back-ported from upstream: commit c6e19dd6c296449f6d9e54d630f8198acf103d24 Author: wilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Wed Jul 25 20:13:46 2012 +0000 Pass -be8 by default for armv7-a when configured big-endian. config/arm/bpabi.h (BE8_LINK_SPEC): Set according to TARGET_BIG_ENDIAN_DEFAULT. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189867 138bc75d-0d04-0410-961f-82ee72b054a4 See also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16350
* Create symlink 'cc' to 'gcc'Sam Thursfield2013-01-031-1/+2
| | | | | | This is required for Perl's configure script to work without us explicitly setting CC=gcc and is generally good for POSIX compatibility.
* Link /tools/include to /usr/includeSam Thursfield2013-01-031-1/+1
| | | | Otherwise, everything breaks. I'm not 100% sure why.
* Need to create /usr/include if missingSam Thursfield2013-01-031-1/+2
| | | | | | | | | This directory doesn't exist in the intermediate (stage1) version of build-essential, where everything is installed into /tools instead. The path is hardcoded into gcc and is only as far as I can see used when running fixincludes, which it seems should only be necessary when building a cross-compiler.
* Fix bad syntaxSam Thursfield2012-12-271-1/+1
|
* Pass an explicit libdir, to try and stop stuff going into lib64/Sam Thursfield2012-12-271-1/+1
|
* Add morphology for normal build-essential buildSam Thursfield2012-12-272-16/+15
| | | | | | This has most of the compile flags of a normal build, but the branch is based on baserock/bootstrap-pass1-1 because we don't have any autotools, flex or bison available.
* morph: only make gcc_eh symlink if not existbaserock/bootstrap-pass1-1Richard Maw2012-03-161-1/+1
|
* morph: disable more optionsRichard Maw2012-03-151-1/+1
| | | | according to LFS decimal-float doesn't build in cross compile
* gcc: remove irrelevant morphsRichard Maw2012-03-152-37/+0
|
* configure: apply lfs patch for cross compileRichard Maw2012-03-152-0/+20
| | | | | | libiberty and zlib don't cross compile well. Technically we cross compile to the same architecture so we hit these problems
* gcc: disambiguate pass names, add pass1-2Richard Maw2012-03-142-1/+20
| | | | | | | | | | | | We should not have called the first part of the bootstrap pass 1 We should have called it stage 1. Stage 1 builds gcc twice, they are pass1 and pass2 in LFS terminology. Gcc itself does a bootstrap which has 3 passes. Add pass1-2, this does some bad hacks and json is not a very good place to write shell scripts, but it can't be done statically as the output depends on $PREFIX
* gcc: add bootstrap pass 1 morphRichard Maw2012-03-131-0/+16
| | | | | | | | | | | This is roughly the commands used in the old bootstrap The `gcc -print-libgcc-file-name` libgcc_eh symlink commands had to be altered as it assumed the generated gcc was in PATH. The best solution would be to not need the symlink. An ok solution would be to know in advance where it needs to be but that depends on $PREFIX, $TOOLCHAIN_TARGET and gcc's version so this horrible search is used.
* add the gmp, mpc, mpfr libraries for bootstrappingLars Wirzenius2012-01-102112-0/+694510
| | | | | This is much easier than building the libraries first. This approach was copied from Linux From Scratch 7.0.
* add morphologyLars Wirzenius2012-01-101-0/+18
|
* Tarball conversionLorry2012-01-0971545-0/+12236130