Commit Graph

4959 Commits

Author SHA1 Message Date
Sylvestre Ledru
f5d0923c6d fix the dep to address
https://lintian.debian.org/tags/not-binnmuable-all-depends-any
2022-12-27 11:16:45 +01:00
Sylvestre Ledru
d86636d8bc then ${binary:Version} => ${source:Version}
to avoid not-binnmuable-any-depends-all
2022-12-27 00:29:58 +01:00
Sylvestre Ledru
1782ae9af3 add a warning is was-libc isn't installed 2022-12-26 22:17:35 +01:00
Sylvestre Ledru
de2e93731c add missing package 2022-12-26 22:17:23 +01:00
Sylvestre Ledru
dcf126ba32 link-grpc.diff: add the detection of other libs necessary for grpc (Closes: #1025529) 2022-12-26 17:56:24 +01:00
Sylvestre Ledru
d98af97b4b also install them 2022-12-24 12:16:38 +01:00
Sylvestre Ledru
d24f4d88f1 * Move the compiler-rt content into a new package called
libclang-rt-X.Y-dev (including polly)
* the wasm targets are shipped into libclang-rt-14-dev-wasm32
  and libclang-rt-14-dev-wasm64
* libclang-common-X.Y-dev arch moved to all
2022-12-24 12:14:20 +01:00
Sylvestre Ledru
882ec835f6 prepare upload 2022-12-19 17:07:17 +01:00
Sylvestre Ledru
fabb4d2349 Do not install wasm-libc if doesn't exist 2022-12-19 17:06:53 +01:00
Sylvestre Ledru
2c450a09ec fix the clean 2022-12-19 16:13:44 +01:00
Sylvestre Ledru
7eed507f83 Remove old removals 2022-12-19 16:13:44 +01:00
Sylvestre Ledru
0e2e9334ef do not delete control.in 2022-12-19 11:20:13 +01:00
Sylvestre Ledru
3b5da5d9fd * Transform debian/control into debian/control.in (preparation for
flang support)
* Try to unbreak the builds with wasm
2022-12-19 11:10:19 +01:00
Sylvestre Ledru
6fb0595863 transform debian/control into debian/control.in 2022-12-10 16:45:18 +01:00
Sylvestre Ledru
e5225028af touch the target to simplify multiple runs 2022-12-10 16:45:18 +01:00
Gianfranco Costamagna
78fcc5f7bb Merge with experimental upload 1:14.0.6-10~exp1 2022-12-04 09:13:31 +01:00
Gianfranco Costamagna
ba4fb0b8e5 Upload 1:14.0.6-9 to sid, fixing the various RC bugs 2022-12-04 09:08:45 +01:00
Sylvestre Ledru
998f20ed5f Revert "Replace '|| true' by '-'"
This reverts commit 1edb50d91c.
2022-11-20 18:19:12 +01:00
Sylvestre Ledru
1edb50d91c Replace '|| true' by '-' 2022-11-20 13:10:48 +01:00
Sylvestre Ledru
4134347b72 add the override 2022-11-19 19:06:05 +01:00
Sylvestre Ledru
2b5443eadb prepare upload 2022-11-19 10:23:25 +01:00
Faidon Liambotis
c0beef7a9c Add changelog entries for recent WebAssembly changes
* More WebAssembly (wasm32/wasm64) work:
  - Update patch wasm-sysroot-usr to stop including /usr/include when
    building for the non-OS (unknown) wasm targets, to avoid inadvertently
    including the host's (glibc) headers.
  - Re-enable builds on all architectures, previously disabled for
    arm64 armel mips64el mipsel ppc64el armhf in 1:14.0.6-4, due to an FTBFS
    related to the /usr/include issue above.
  - Update patch wasm-sysroot-usr to adjust system include paths for C++
    headers as well.
  - Build libc++ and libc++abi for wasm32-wasi, generating two new binary
    packages, and introducing a build dependency on wasi-libc.
  - Misc code organization fixes to debian/rules.
2022-11-18 11:43:50 +02:00
Faidon Liambotis
97d60707ed Build libc++/libc++abi for wasm32-wasi
Do a standalone build of libcxx/libcxxabi, for wasm32-wasi. libcxx
requires a libc, and thus this requires a new build dependency on
wasi-libc. wasi-libc is not currently available for wasm64, so limit the
build to wasm32.

This introduces two new binary packages:
  - libc++-${LLVM_VERSION}-dev-wasm32
  - libc++abi-${LLVM_VERSION}-dev-wasm32
There isn't currently a naming convention in Debian for WebAssembly. Use
a "-dev-wasm32" suffix, which makes it consistent with packages such as
"libc6-dev-i386" and "libstd-rust-dev-wasm32".

Given these builds are specific to WASI, it can be argued that the names
should be something like "-dev-wasm32-wasi", or simplified to
"-dev-wasi" (not very future proof) or "-dev-wasi32" (not something
upstream uses). Something to think through later on.

WebAssembly only supports shared linking, hence why we -dev packages are
provided, shipping development headers and static archives.
2022-11-18 11:43:50 +02:00
Faidon Liambotis
9459395c21 d/rules: Makeify compiler-rt wasm target
Iterate on wasm32/wasm64 using make targets rather than shell, and place
build artifacts under a common "build-wasm" directory.
2022-11-17 21:05:07 +02:00
Faidon Liambotis
bbfc6cca07 d/rules: split override_dh_auto_build into multiple lines 2022-11-17 21:05:07 +02:00
Faidon Liambotis
6923a432bf d/rules: remove targets from .PHONY
We actually touch $@ at the end of these targets, so they are not phony.
2022-11-17 21:05:07 +02:00
Faidon Liambotis
ecbebd0a8f Patch the WebAssembly include paths for C++ as well
In wasm-sysroot-usr.diff we have changes to support compilation without
a sysroot and with system paths. These so far have applied to the C
include paths (among other things), i.e. /usr/include/<triple>. This was
mainly because that's what I had at hand to test and wanted to keep
things limited as a first iteration.

Now that we're iterated on it and cleared out some issues, make the
exact same changes for the C++ include paths as well, i.e.
/usr/include/<triple>/c++/v1. Nothing installs anything on those paths
there yet, so this is mostly preparatory for subsequent changes.
2022-11-17 21:04:52 +02:00
Faidon Liambotis
b91115bd58 Fix wasm include paths, unbreaking compiler-rt builds on !x86
compiler-rt WebAssembly builds were failing, and as a workaround commit
ca9dbba introduced COMPILER_RT_WASM_ENABLE, disabling its compilation on
several architectures (arm64 armel mips64el mipsel ppc64el armhf).

This was ultimately caused by the WebAssembly driver including paths in
bare /usr/include, when compiling for wasnNN-unknown-unknown targets.
This in turn resulted in this chain of include paths when building
compiler-rt, as one example out of many:
  1. compiler-rt/lib/builtins/divtf3.c:15                  #include "fp_lib.h"
  2. compiler-rt/lib/builtins/fp_lib.h:23                  #include "int_lib.h"
  3. compiler-rt/lib/builtins/int_lib.h:93                 #include <limits.h>
  4. /usr/lib/llvm-14/lib/clang/14.0.6/include/limits.h:20 #if __has_include_next(<limits.h>) #include_next <limits.h>
  5. /usr/include/limits.h:26                              #include <bits/libc-header-start.h>
  6. fatal error: 'bits/libc-header-start.h' file not found

/usr/include/stdint.h is the host's glibc header, and
bits/libc-header-start.h doesn't exist for the wasm targets. This is the
case with or without wasi-libc, as wasi-libc is musl-based and doesn't
have these paths at all.

The only reason builds worked on amd64 is accident:lly the B-D chain
brings in libc6-dev-i386 (through g++-multilib), which creates this
symlink:
  /usr/include/bits -> x86_64-linux-gnu/bits
This effectively meant that on amd64 builds, compiler-rt for wasm
targets was compiled with glibc x86_64 headers.

Ultimately this was rooted on the sysroot-based assumptions that the
upstream driver makes and that we are patching (evidently incompletely)
with our wasm-sysroot-usr.diff patch.

Update our patch to explicitly NOT include the bare /usr/include path on
non-OS targets (wasm32-unknown-unknown etc.), while keeping existing
behavior for backwards compatibility when --sysroot is passed.

Given this should (fingers crossed) address this invariance between
amd64 and other architectures, and unbreak those builds, revert commit
ca9dbba and the COMPILER_RT_WASM_ENABLE flag.
2022-11-17 21:00:23 +02:00
Sylvestre Ledru
bde3d49c95 store the sccache results in /tmp/buildd/source/sccache-stats.json 2022-11-16 20:51:28 +01:00
Sylvestre Ledru
eb4bb9e7a4 remove artifact 2022-11-15 18:25:04 +01:00
Sylvestre Ledru
e9f28b298e Disable the MLIR testsuite run because of a freeze (Closes: #1024154) See https://github.com/llvm/llvm-project/issues/58357 2022-11-15 18:24:02 +01:00
Sylvestre Ledru
19f47cc924 Adjust to protobuf 3.21 (Closes: #1023533) 2022-11-14 11:16:01 +01:00
Sylvestre Ledru
5e129ea18e pass sccache arg everywhere 2022-11-14 11:16:01 +01:00
Sylvestre Ledru
ada0fc6bb3 sccache: generate stats and publish them 2022-11-12 23:53:09 +01:00
Sylvestre Ledru
160ea57318 Enable LLVM_USE_RELATIVE_PATHS_IN_DEBUG_INFO to help with caching 2022-11-11 16:26:28 +01:00
Sylvestre Ledru
9db77ce328 do not dump the content of sccache.log. we are good 2022-11-10 23:05:02 +01:00
Sylvestre Ledru
e9022e33bc remove old an old and useless patch 2022-11-10 16:17:50 +01:00
Sylvestre Ledru
9ea3878d01 use the upstream option to set the option 2022-11-10 15:21:22 +01:00
Sylvestre Ledru
3270880abd We want to set the clang extra version ONLY in stage 2
because we want the clang stage 1 to be as reproducible as possible
when building with sccache (because this tool do a hash using the
compiler binary and other things)
2022-11-10 15:19:49 +01:00
Sylvestre Ledru
63341e11a5 remove an old gcc 4.9 workaround 2022-11-10 13:54:02 +01:00
Sylvestre Ledru
ef8fc80088 remove non applied patch 2022-11-10 13:54:02 +01:00
Sylvestre Ledru
1e3332f2bf fix version 2022-11-04 19:44:02 +01:00
Sylvestre Ledru
875efbd5ba Fix the lldb swig issues (closes: #1023444) 2022-11-04 19:37:32 +01:00
Sylvestre Ledru
cb901ad961 add lldb swig patches 2022-11-04 19:36:47 +01:00
Sylvestre Ledru
2d8ec664ce move the lldb patches into a lldb dir 2022-11-04 19:36:34 +01:00
Sylvestre Ledru
eca12ecd2d Merge remote-tracking branch 'origin/13' into 14 2022-10-29 22:17:48 +02:00
Sylvestre Ledru
2ae5beca4f remove the failed bionic sccache stuff 2022-10-29 09:08:20 +02:00
Jordan Justen
37a8a75e86
d/rules: Don't send an empty string to cmake when llvm-spirv is not found
Signed-off-by: Jordan Justen <jljusten@debian.org>
2022-10-28 10:23:03 -07:00
Jordan Justen
0e6da0b356
d/changelog: Start 1:13.0.1-9 changelog
Signed-off-by: Jordan Justen <jljusten@debian.org>
2022-10-28 10:19:42 -07:00
Sylvestre Ledru
a997e8f40b * disable sccache on bionic
* d/rules: Call bash to use 'command -v' to location llvm-spirv executable
* d/rules: Set LLVM_SPIRV with cmake for libclc
* d/patches: Drop libclc-llvm-spirv.diff now that we are setting LLVM_SPIRV
* d/rules: Check for llvm-spirv with version suffix
2022-10-27 13:20:14 +02:00