* build: fix native_mksnapshot build
When we changed our electron_mksnapshot_zip target to include the v8_context_snapshot_generator, this dependency made the `run_mksnapshot` target run which was trying to run an arm/arm64 binary on x64 hardware.
Don't use custom build args for native_mksnapshot as they are not needed
* Added comment on why snapshot_blob.bin is skipped on arm/arm64
* chore: update mksnapshot and ffmpeg for GN
* fix typo
* add non-native builds to CI
* split mksnapshot build and store steps
* Fix config order
* Use different targets for mksnapshot and native_mksnapshot
mksnapshot gets built in electron_app as part of the v8 build, so copy it from there
* Revert "Use different targets for mksnapshot and native_mksnapshot"
This reverts commit 6a1a50aa690124626b4357751949397298aeac95.
* Try specifying v8_snapshot_toolchain
* Fix v8_snapshot_toolchain reference
* Fix artifact locations
* Test native mksnapshot
* build: remove common/icu/no_inline_default_constructor.patch
It was added in https://github.com/electron/libchromiumcontent/pull/207,
the issue is no longer valid in the GN build.
* build: remove common/icu/build_gn.patch
In GN release build all code including node are linked
statically in a single binary, the workaround is no longer valid.
* build: remove ununsed patches
* build: remove is_electron_gn_build arg
* build: remove component mode crt config patch
* build: remove executable config patch for character_data_generator
* build: remove latency_info.patch
* build: remove exec_script_whitelist patch
* build: update patches/common/v8/build_gn.patch
* build: remove common/chromium/fix-arm64-linking-error.patch
It was added in a1df18ca36
to workaround a linker issue.
* build: remove common/chromium/protobuf_build_gn.patch
It was added to workaround a VS linker bug, it has been fixed
in Update 1
* build: remove common/chromium/disable-recursive-surface-sync.patch
It was added in 6bc6626e2c
to fix dcheck on macOS, it no longer appears to be an issue.
In the GN build, libchromiumcontent is no longer a distinct library, but
merely a container for a set of scripts and patches. Maintaining those
patches in a separate repository is tedious and error-prone, so merge
them into the main repo.
Once this is merged and GN is the default way to build Electron, the
libchromiumcontent repository can be archived.