commit bfd59379b6b0934cb4a0771e1a668e447a540971 Author: Georg Koppen gk@torproject.org Date: Sun Oct 18 07:17:14 2020 +0000
Bug 40125: Merge clang and fenix-clang projects --- projects/clang/build | 31 +++++++++++++++++++++---------- projects/clang/config | 14 ++++++++++++-- projects/fenix-clang/build | 34 ---------------------------------- projects/fenix-clang/config | 19 ------------------- projects/geckoview/build | 2 +- projects/geckoview/config | 2 +- projects/llvm-project/build | 4 ++-- 7 files changed, 37 insertions(+), 69 deletions(-)
diff --git a/projects/clang/build b/projects/clang/build index 10700ce..c4c16d9 100644 --- a/projects/clang/build +++ b/projects/clang/build @@ -4,12 +4,14 @@ distdir=/var/tmp/dist/[% project %] mkdir -p /var/tmp/dist tar -C /var/tmp/dist -xf [% c('input_files_by_name/cmake') %] export PATH="/var/tmp/dist/cmake/bin:$PATH" -[% IF c("var/linux") %] - # We need a link to our GCC, otherwise the system cc gets used which points to - # /usr/bin/gcc. - [% pc('gcc', 'var/setup', { compiler_tarfile => c('input_files_by_name/gcc'), - hardened_gcc => 0 }) %] - ln -s gcc /var/tmp/dist/gcc/bin/cc +[% IF c("var/linux") || c("var/android") %] + [% IF c("var/linux") %] + # We need a link to our GCC, otherwise the system cc gets used which points + # to /usr/bin/gcc. + [% pc('gcc', 'var/setup', { compiler_tarfile => c('input_files_by_name/gcc'), + hardened_gcc => 0 }) %] + ln -s gcc /var/tmp/dist/gcc/bin/cc + [% END %] tar -C /var/tmp/dist -xf [% c('input_files_by_name/binutils') %] export PATH="/var/tmp/dist/binutils/bin:$PATH" [% END -%] @@ -20,10 +22,19 @@ cd clang-source export LLVM_HOME=$(pwd) mkdir build cd build -cmake .. -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=$distdir \ - -DCMAKE_BUILD_TYPE:STRING=Release \ - [% IF c("var/rlbox") -%]-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly [% END -%] - $LLVM_HOME +# XXX: remove duplicated parts while fixing tor-browser-build#40048 +[% IF ! c("var/android") %] + cmake .. -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=$distdir \ + -DCMAKE_BUILD_TYPE:STRING=Release \ + [% IF c("var/rlbox") -%]-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly [% END -%] + $LLVM_HOME +[% ELSE %] + cmake ../llvm -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=$distdir \ + -DCMAKE_BUILD_TYPE=Release \ + -DLLVM_TARGETS_TO_BUILD="X86;ARM;AArch64" \ + [% IF c("var/rlbox") -%]-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly [% END -%] + -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;compiler-rt;libcxx;libcxxabi;lld" +[% END -%] make -j[% c("buildconf/num_procs") %] make install cd /var/tmp/dist diff --git a/projects/clang/config b/projects/clang/config index 46d308a..6038eab 100644 --- a/projects/clang/config +++ b/projects/clang/config @@ -1,11 +1,17 @@ # vim: filetype=yaml sw=2 -version: 9.0.1 +version: '[% c("var/llvm_version") %]' filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz'
var: + llvm_version: '[% pc("clang-source", "version") %]' container: use_container: 1
+targets: + android: + var: + llvm_version: '[% pc("llvm-project", "version") %]' + input_files: - project: container-image - name: '[% c("var/compiler") %]' @@ -13,8 +19,12 @@ input_files: enable: '[% c("var/linux") %]' - name: binutils project: binutils - enable: '[% c("var/linux") %]' + enable: '[% c("var/linux") %] || [% c("var/android") %]' - project: cmake name: cmake - project: clang-source name: clang-source + enable: '[% ! c("var/android") %]' + - project: llvm-project + name: clang-source + enable: '[% c("var/android") %]' diff --git a/projects/fenix-clang/build b/projects/fenix-clang/build deleted file mode 100644 index c3c15f1..0000000 --- a/projects/fenix-clang/build +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/bash -[% c("var/set_default_env") -%] -distdir=/var/tmp/dist/[% project %] -mkdir -p /var/tmp/dist -tar -C /var/tmp/dist -xf [% c('input_files_by_name/cmake') %] -export PATH="/var/tmp/dist/cmake/bin:$PATH" -[% IF c("var/linux") %] - # We need a link to our GCC, otherwise the system cc gets used which points to - # /usr/bin/gcc. - [% pc('gcc', 'var/setup', { compiler_tarfile => c('input_files_by_name/gcc'), - hardened_gcc => 0 }) %] - ln -s gcc /var/tmp/dist/gcc/bin/cc -[% END -%] -tar -C /var/tmp/dist -xf [% c('input_files_by_name/binutils') %] -export PATH="/var/tmp/dist/binutils/bin:$PATH" - -mkdir -p /var/tmp/build -cd /var/tmp/build -tar -xf $rootdir/[% c('input_files_by_name/llvm-project') %] -cd llvm-project -mkdir build -cd build -cmake ../llvm -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=$distdir \ - -DCMAKE_BUILD_TYPE=Release \ - -DLLVM_TARGETS_TO_BUILD="X86;ARM;AArch64" \ - [% IF c("var/rlbox") -%]-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly [% END -%] - -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;compiler-rt;libcxx;libcxxabi;lld" -make -j[% c("buildconf/num_procs") %] -make install -cd /var/tmp/dist -[% c('tar', { - tar_src => [ project ], - tar_args => '-czf ' _ dest_dir _ '/' _ c('filename'), - }) %] diff --git a/projects/fenix-clang/config b/projects/fenix-clang/config deleted file mode 100644 index 4bc55f3..0000000 --- a/projects/fenix-clang/config +++ /dev/null @@ -1,19 +0,0 @@ -# vim: filetype=yaml sw=2 -version: '[% pc("llvm-project", "version") %]' -filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz' - -var: - container: - use_container: 1 - -input_files: - - project: container-image - - name: '[% c("var/compiler") %]' - project: '[% c("var/compiler") %]' - enable: '[% c("var/linux") %]' - - name: binutils - project: binutils - - project: cmake - name: cmake - - project: llvm-project - name: llvm-project diff --git a/projects/geckoview/build b/projects/geckoview/build index 8296856..1c6582c 100644 --- a/projects/geckoview/build +++ b/projects/geckoview/build @@ -20,7 +20,7 @@ tar -C /var/tmp/dist -xf [% c('input_files_by_name/node') %] tar -C /var/tmp/dist -xf [% c('input_files_by_name/clang') %] export LLVM_CONFIG="/var/tmp/dist/clang/bin/llvm-config" tar -C /var/tmp/dist -xf [% c('input_files_by_name/binutils') %] -export PATH="/var/tmp/dist/rust/bin:/var/tmp/dist/cbindgen:/var/tmp/dist/nasm/bin:/var/tmp/dist/python/bin:/var/tmp/dist/node/bin:/var/tmp/dist/fenix-clang/bin:/var/tmp/dist/binutils/bin:$PATH" +export PATH="/var/tmp/dist/rust/bin:/var/tmp/dist/cbindgen:/var/tmp/dist/nasm/bin:/var/tmp/dist/python/bin:/var/tmp/dist/node/bin:/var/tmp/dist/clang/bin:/var/tmp/dist/binutils/bin:$PATH"
tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.gz
diff --git a/projects/geckoview/config b/projects/geckoview/config index c9eb23e..36d1212 100644 --- a/projects/geckoview/config +++ b/projects/geckoview/config @@ -154,7 +154,7 @@ input_files: name: nasm - project: python name: python - - project: fenix-clang + - project: clang name: clang - filename: 'gradle-dependencies-[% c("var/gradle_dependencies_version") %]' name: gradle-dependencies diff --git a/projects/llvm-project/build b/projects/llvm-project/build index ac0f21b..e35adbf 100644 --- a/projects/llvm-project/build +++ b/projects/llvm-project/build @@ -1,8 +1,8 @@ #!/bin/bash [% c("var/set_default_env") -%] tar xf [% project %]-[% c("version") %].tar.gz -mv [% project %]-[% c("version") %] [% project %] +mv [% project %]-[% c("version") %] clang-source [% c('tar', { - tar_src => [ project ], + tar_src => [ 'clang-source' ], tar_args => '-czf ' _ dest_dir _ '/' _ c('filename'), }) %]