Port chromium (also chromium-based qt6-webengine) to loongarch64.
You can use git tags to find legacy version of patches.
Whole diff: chromium/chromium-VER.diff.
Partial diff: chromium/chromium-VER.*.diff, they are extracted from the whole diff.
Caveat:
- you need to build compiler-rt and rustc with
-mcmodel=medium, otherwise it may fail to link due to relocation truncation. - if you encountered error like
undefined reference to __rust_dealloc, please update your GN version. - you may need to modify
NODE_VERSIONinthird_party/node/update_node_binariesto your nodejs version
Based on:
- loongson/electron
- loongson/chromium
- loongson/crashpad_la
- prcups/qt6-webengine-loongarchlinux
- various patches from linux distributions for building chromium with gcc/clang, e.g. Fedora and Debian
- llvm 16 files are generated by running
third_party/swiftshader/third_party/llvm-16.0/scripts/update.py - ffmpeg config files are generated by running configure with the arguments recorded in
FFMPEG_CONFIGURATION(Chrome branding has aac and h264 enabled--enable-decoder='aac,h264' --enable-demuxer=aac --enable-parser='aac,h264', while Chromium does not) and copying the generated files
See also: