зеркало из https://github.com/mozilla/gecko-dev.git
Backed out 6 changesets (bug 1451104) for toolchains bustage on a CLOSED TREE.
Backed out changeset 2f6199beeb71 (bug 1451104) Backed out changeset 7c116f85ede6 (bug 1451104) Backed out changeset 5179c8066914 (bug 1451104) Backed out changeset 675f73d41eb4 (bug 1451104) Backed out changeset c64bfaad8a2f (bug 1451104) Backed out changeset 991777e081ff (bug 1451104)
This commit is contained in:
Родитель
f1f0e15fa3
Коммит
c3883e46f7
|
@ -36,11 +36,7 @@ if test -n "$ENABLE_CLANG_PLUGIN"; then
|
|||
dnl For some reason the llvm-config downloaded from clang.llvm.org for clang3_8
|
||||
dnl produces a -isysroot flag for a sysroot which might not ship when passed
|
||||
dnl --cxxflags. We use sed to remove this argument so that builds work on OSX
|
||||
dnl
|
||||
dnl For a similar reason, we remove any -gcc-toolchain arguments, since the
|
||||
dnl directories specified by such arguments might not exist on the current
|
||||
dnl machine.
|
||||
LLVM_CXXFLAGS=`$LLVMCONFIG --cxxflags | sed -e 's/-isysroot [[^ ]]*//' -e 's/-gcc-toolchain [[^ ]]*//'`
|
||||
LLVM_CXXFLAGS=`$LLVMCONFIG --cxxflags | sed -e 's/-isysroot [[^ ]]*//'`
|
||||
|
||||
LLVM_LDFLAGS=`$LLVMCONFIG --ldflags | tr '\n' ' '`
|
||||
|
||||
|
|
|
@ -120,23 +120,8 @@ def delete(path):
|
|||
pass
|
||||
|
||||
|
||||
def install_libgcc(gcc_dir, clang_dir, is_final_stage):
|
||||
gcc_bin_dir = os.path.join(gcc_dir, 'bin')
|
||||
|
||||
# Copy over gcc toolchain bits that clang looks for, to ensure that
|
||||
# clang is using a consistent version of ld, since the system ld may
|
||||
# be incompatible with the output clang produces. But copy it to a
|
||||
# target-specific directory so a cross-compiler to Mac doesn't pick
|
||||
# up the (Linux-specific) ld with disastrous results.
|
||||
#
|
||||
# Only install this for the bootstrap process; we expect any consumers of
|
||||
# the newly-built toolchain to provide an appropriate ld themselves.
|
||||
if not is_final_stage:
|
||||
x64_bin_dir = os.path.join(clang_dir, 'x86_64-unknown-linux-gnu', 'bin')
|
||||
mkdir_p(x64_bin_dir)
|
||||
shutil.copy2(os.path.join(gcc_bin_dir, 'ld'), x64_bin_dir)
|
||||
|
||||
out = subprocess.check_output([os.path.join(gcc_bin_dir, "gcc"),
|
||||
def install_libgcc(gcc_dir, clang_dir):
|
||||
out = subprocess.check_output([os.path.join(gcc_dir, "bin", "gcc"),
|
||||
'-print-libgcc-file-name'])
|
||||
|
||||
libgcc_dir = os.path.dirname(out.rstrip())
|
||||
|
@ -324,7 +309,7 @@ def build_one_stage(cc, cxx, asm, ld, ar, ranlib, libtool,
|
|||
build_package(build_dir, cmake_args)
|
||||
|
||||
if is_linux():
|
||||
install_libgcc(gcc_dir, inst_dir, is_final_stage)
|
||||
install_libgcc(gcc_dir, inst_dir)
|
||||
# For some reasons the import library clang.lib of clang.exe is not
|
||||
# installed, so we copy it by ourselves.
|
||||
if is_windows():
|
||||
|
@ -691,13 +676,9 @@ if __name__ == "__main__":
|
|||
elif is_linux():
|
||||
extra_cflags = []
|
||||
extra_cxxflags = []
|
||||
# When building stage2 and stage3, we want the newly-built clang to pick
|
||||
# up whatever headers were installed from the gcc we used to build stage1,
|
||||
# always, rather than the system headers. Providing -gcc-toolchain
|
||||
# encourages clang to do that.
|
||||
extra_cflags2 = ["-fPIC", '-gcc-toolchain', stage1_inst_dir]
|
||||
extra_cflags2 = ["-fPIC"]
|
||||
# Silence clang's warnings about arguments not being used in compilation.
|
||||
extra_cxxflags2 = ["-fPIC", '-Qunused-arguments', '-gcc-toolchain', stage1_inst_dir]
|
||||
extra_cxxflags2 = ["-fPIC", '-Qunused-arguments']
|
||||
extra_asmflags = []
|
||||
# Avoid libLLVM internal function calls going through the PLT.
|
||||
extra_ldflags = ['-Wl,-Bsymbolic-functions']
|
||||
|
|
|
@ -39,10 +39,7 @@ build_binutils() {
|
|||
#
|
||||
# --enable-targets builds extra target support in ld.
|
||||
# Enabling aarch64 support brings in arm support, so we don't need to specify that too.
|
||||
#
|
||||
# It is important to have the binutils --target and the gcc --target match,
|
||||
# so binutils will install binaries in a place that gcc will look for them.
|
||||
binutils_configure_flags="--enable-targets=aarch64-unknown-linux-gnu --build=x86_64-unknown-linux-gnu --target=x86_64-unknown-linux-gnu --disable-gold --enable-plugins --disable-nls --with-sysroot=/"
|
||||
binutils_configure_flags="--enable-targets=aarch64-unknown-linux-gnu --disable-gold --enable-plugins --disable-nls --with-sysroot=/"
|
||||
fi
|
||||
|
||||
mkdir $root_dir/binutils-objdir
|
||||
|
@ -55,13 +52,9 @@ build_binutils() {
|
|||
}
|
||||
|
||||
build_gcc() {
|
||||
# Be explicit about --build and --target so header and library install
|
||||
# directories are consistent.
|
||||
local target="${1:-x86_64-unknown-linux-gnu}"
|
||||
|
||||
mkdir $root_dir/gcc-objdir
|
||||
pushd $root_dir/gcc-objdir
|
||||
../gcc-$gcc_version/configure --prefix=${prefix-/tools/gcc} --build=x86_64-unknown-linux-gnu --target="${target}" --enable-languages=c,c++ --disable-nls --disable-gnu-unique-object --enable-__cxa_atexit --with-arch-32=pentiumpro --with-sysroot=/
|
||||
../gcc-$gcc_version/configure --prefix=${prefix-/tools/gcc} --enable-languages=c,c++ --disable-nls --disable-gnu-unique-object --enable-__cxa_atexit --with-arch-32=pentiumpro --with-sysroot=/
|
||||
make $make_flags
|
||||
make $make_flags install DESTDIR=$root_dir
|
||||
|
||||
|
|
|
@ -20,6 +20,17 @@ binutils-2.27:
|
|||
sig-url: "{url}.sig"
|
||||
key-path: build/unix/build-gcc/EAF1C276A747E9ED86210CBAC3126D3B4AE55E93.key
|
||||
|
||||
binutils-2.28.1:
|
||||
description: binutils 2.28.1 source code
|
||||
fetch:
|
||||
type: static-url
|
||||
url: ftp://ftp.gnu.org/gnu/binutils/binutils-2.28.1.tar.xz
|
||||
sha256: 16328a906e55a3c633854beec8e9e255a639b366436470b4f6245eb0d2fde942
|
||||
size: 19440112
|
||||
gpg-signature:
|
||||
sig-url: "{url}.sig"
|
||||
key-path: build/unix/build-gcc/EAF1C276A747E9ED86210CBAC3126D3B4AE55E93.key
|
||||
|
||||
binutils-2.31.1:
|
||||
description: binutils 2.31.1 source code
|
||||
fetch:
|
||||
|
@ -39,6 +50,17 @@ cloog-0.18.1:
|
|||
sha256: 02500a4edd14875f94fe84cbeda4290425cb0c1c2474c6f75d75a303d64b4196
|
||||
size: 3857324
|
||||
|
||||
gcc-4.9.4:
|
||||
description: GCC 4.9.4 source code
|
||||
fetch:
|
||||
type: static-url
|
||||
url: ftp://ftp.gnu.org/gnu/gcc/gcc-4.9.4/gcc-4.9.4.tar.bz2
|
||||
sha256: 6c11d292cd01b294f9f84c9a59c230d80e9e4a47e5c6355f046bb36d4f358092
|
||||
size: 90097606
|
||||
gpg-signature:
|
||||
sig-url: "{url}.sig"
|
||||
key-path: build/unix/build-gcc/13975A70E63C361C73AE69EF6EEB81F8981C74C7.key
|
||||
|
||||
gcc-6.4.0:
|
||||
description: GCC 6.4.0 source code
|
||||
fetch:
|
||||
|
|
|
@ -34,7 +34,7 @@ linux64-clang-tidy:
|
|||
- 'build/build-clang/clang-tidy-linux64.json'
|
||||
- 'taskcluster/scripts/misc/tooltool-download.sh'
|
||||
toolchains:
|
||||
- linux64-gcc-6
|
||||
- linux64-gcc-4.9
|
||||
|
||||
macosx64-clang-tidy:
|
||||
index:
|
||||
|
@ -55,7 +55,7 @@ macosx64-clang-tidy:
|
|||
toolchains:
|
||||
- linux64-cctools-port
|
||||
- linux64-clang-7
|
||||
- linux64-gcc-6
|
||||
- linux64-gcc-4.9
|
||||
- linux64-node
|
||||
|
||||
win32-clang-tidy:
|
||||
|
|
|
@ -22,7 +22,7 @@ linux64-clang-4.0:
|
|||
- 'taskcluster/scripts/misc/tooltool-download.sh'
|
||||
toolchain-artifact: public/build/clang.tar.xz
|
||||
toolchains:
|
||||
- linux64-gcc-6
|
||||
- linux64-gcc-4.9
|
||||
|
||||
linux64-clang-7:
|
||||
description: "Clang 7 toolchain build"
|
||||
|
@ -38,7 +38,7 @@ linux64-clang-7:
|
|||
toolchain-alias: linux64-clang
|
||||
toolchain-artifact: public/build/clang.tar.xz
|
||||
toolchains:
|
||||
- linux64-gcc-6
|
||||
- linux64-gcc-4.9
|
||||
|
||||
linux64-clang-trunk-mingw-x86:
|
||||
description: "MinGW-Clang Trunk x86 toolchain build"
|
||||
|
@ -54,7 +54,7 @@ linux64-clang-trunk-mingw-x86:
|
|||
- 'taskcluster/scripts/misc/tooltool-download.sh'
|
||||
toolchain-artifact: public/build/clangmingw.tar.xz
|
||||
toolchains:
|
||||
- linux64-gcc-6
|
||||
- linux64-gcc-4.9
|
||||
|
||||
linux64-clang-trunk-mingw-x64:
|
||||
description: "MinGW-Clang Trunk x64 toolchain build"
|
||||
|
@ -71,7 +71,7 @@ linux64-clang-trunk-mingw-x64:
|
|||
- 'taskcluster/scripts/misc/tooltool-download.sh'
|
||||
toolchain-artifact: public/build/clangmingw.tar.xz
|
||||
toolchains:
|
||||
- linux64-gcc-6
|
||||
- linux64-gcc-4.9
|
||||
|
||||
linux64-clang-7-android-cross:
|
||||
description: "Clang 7 toolchain build"
|
||||
|
@ -86,7 +86,7 @@ linux64-clang-7-android-cross:
|
|||
toolchain-alias: linux64-clang-android-cross
|
||||
toolchain-artifact: public/build/clang.tar.xz
|
||||
toolchains:
|
||||
- linux64-gcc-6
|
||||
- linux64-gcc-4.9
|
||||
- linux64-android-ndk-linux-repack
|
||||
|
||||
linux64-clang-7-macosx-cross:
|
||||
|
@ -109,7 +109,7 @@ linux64-clang-7-macosx-cross:
|
|||
toolchains:
|
||||
- linux64-cctools-port
|
||||
- linux64-clang-7
|
||||
- linux64-gcc-6
|
||||
- linux64-gcc-4.9
|
||||
|
||||
macosx64-clang:
|
||||
description: "Clang toolchain build"
|
||||
|
@ -133,7 +133,7 @@ macosx64-clang:
|
|||
toolchains:
|
||||
- linux64-cctools-port
|
||||
- linux64-clang-7
|
||||
- linux64-gcc-6
|
||||
- linux64-gcc-4.9
|
||||
- linux64-node
|
||||
|
||||
win64-clang-cl:
|
||||
|
|
|
@ -11,6 +11,22 @@ job-defaults:
|
|||
- 'build/unix/build-gcc/build-gcc.sh'
|
||||
toolchain-artifact: public/build/gcc.tar.xz
|
||||
|
||||
linux64-gcc-4.9:
|
||||
description: "GCC 4.9 toolchain build"
|
||||
treeherder:
|
||||
symbol: TL(gcc4.9)
|
||||
run:
|
||||
script: build-gcc-4.9-linux.sh
|
||||
fetches:
|
||||
fetch:
|
||||
- binutils-2.25.1
|
||||
- cloog-0.18.1
|
||||
- gcc-4.9.4
|
||||
- gmp-5.1.3
|
||||
- isl-0.12.2
|
||||
- mpc-0.8.2
|
||||
- mpfr-3.1.5
|
||||
|
||||
linux64-gcc-6:
|
||||
description: "GCC 6 toolchain build"
|
||||
treeherder:
|
||||
|
@ -20,7 +36,7 @@ linux64-gcc-6:
|
|||
toolchain-alias: linux64-gcc
|
||||
fetches:
|
||||
fetch:
|
||||
- binutils-2.31.1
|
||||
- binutils-2.28.1
|
||||
- gcc-6.4.0
|
||||
- gmp-5.1.3
|
||||
- isl-0.15
|
||||
|
@ -35,7 +51,7 @@ linux64-gcc-7:
|
|||
script: build-gcc-7-linux.sh
|
||||
fetches:
|
||||
fetch:
|
||||
- binutils-2.31.1
|
||||
- binutils-2.28.1
|
||||
- gcc-7.3.0
|
||||
- gmp-6.1.0
|
||||
- isl-0.16.1
|
||||
|
@ -55,7 +71,7 @@ linux64-gcc-sixgill:
|
|||
- linux64-gcc-6
|
||||
fetches:
|
||||
fetch:
|
||||
- binutils-2.31.1
|
||||
- binutils-2.28.1
|
||||
- isl-0.15
|
||||
- gcc-6.4.0
|
||||
- gmp-5.1.3
|
||||
|
|
|
@ -32,7 +32,7 @@ linux64-llvm-dsymutil:
|
|||
script: build-llvm-dsymutil.sh
|
||||
toolchain-artifact: public/build/llvm-dsymutil.tar.xz
|
||||
toolchains:
|
||||
- linux64-gcc-6
|
||||
- linux64-gcc-4.9
|
||||
|
||||
linux64-binutils:
|
||||
description: "Binutils toolchain build"
|
||||
|
@ -85,7 +85,7 @@ linux64-tup:
|
|||
- trunk
|
||||
- try
|
||||
toolchains:
|
||||
- linux64-gcc-6
|
||||
- linux64-gcc-4.9
|
||||
|
||||
linux64-custom-v8:
|
||||
description: "Custom v8 build"
|
||||
|
|
|
@ -321,6 +321,7 @@ popd
|
|||
mkdir -p $UPLOAD_DIR
|
||||
|
||||
pushd $(dirname $INSTALL_DIR)
|
||||
rm -f clang/lib/libstdc++*
|
||||
tar caf clangmingw.tar.xz clang
|
||||
mv clangmingw.tar.xz $UPLOAD_DIR
|
||||
popd
|
||||
|
|
|
@ -14,7 +14,7 @@ data_dir=$HOME_DIR/src/build/unix/build-gcc
|
|||
|
||||
gcc_version=6.4.0
|
||||
gcc_ext=xz
|
||||
binutils_version=2.31.1
|
||||
binutils_version=2.28.1
|
||||
binutils_ext=xz
|
||||
|
||||
pushd $root_dir/gcc-$gcc_version
|
||||
|
|
|
@ -14,7 +14,7 @@ data_dir=$HOME_DIR/src/build/unix/build-gcc
|
|||
|
||||
gcc_version=7.3.0
|
||||
gcc_ext=xz
|
||||
binutils_version=2.31.1
|
||||
binutils_version=2.28.1
|
||||
binutils_ext=xz
|
||||
|
||||
pushd $root_dir/gcc-$gcc_version
|
||||
|
|
|
@ -28,7 +28,7 @@ sixgill_repo=https://hg.mozilla.org/users/sfink_mozilla.com/sixgill
|
|||
. $data_dir/build-gcc.sh
|
||||
|
||||
pushd $root_dir/gcc-$gcc_version
|
||||
ln -sf ../binutils-2.31.1 binutils
|
||||
ln -sf ../binutils-2.28.1 binutils
|
||||
ln -sf ../gmp-5.1.3 gmp
|
||||
ln -sf ../isl-0.15 isl
|
||||
ln -sf ../mpc-0.8.2 mpc
|
||||
|
|
Загрузка…
Ссылка в новой задаче