From: Hao HU <huhao526200@gmail.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v6 4/4] chromium: new package
Date: Thu, 26 Jul 2018 08:31:52 -0500 (CDT) [thread overview]
Message-ID: <1532611912386-0.post@n4.nabble.com> (raw)
In-Reply-To: <20180710234212.4297-5-joseph.kogut@gmail.com>
Hello Joseph,
I have applied your v6 patch to the Buildroot 2018.05 and wanted to build
the chrome in a x86 arch.
The Target option is like this :
/Target Architecture : i386
Target Architecture Variant i586/
And I have added the following in the lld.mk
HOST_LLD_CONF_OPTS += -DLLVM_LINK_LLVM_DYLIB=ON -DLLVM_DYLIB_COMPONENTS=all
+ifeq ($(BR2_PACKAGE_CHROMIUM_PROPRIETARY_CODECS),y)
+CHROMIUM_OPTS += proprietary_codecs=true ffmpeg_branding=\"Chrome\"
+endif
And finally I have comment the following in the chromium.mk
+ifeq ($(BR2_PACKAGE_CHROMIUM_PROPRIETARY_CODECS),y)
+ # CHROMIUM_OPTS += proprietary_codecs=true ffmpeg_branding=\"Chrome\"
+endif
But now there is still a problem
/home/as_huhao/eolane/x2m/buildroot-2018.05-IHMI/output/host/bin/ld.lld:
error: can't create dynamic relocation R_386_32 against local symbol in
readonly segment; recompile object files with -fPIC
>>> defined in obj/third_party/ffmpeg/libffmpeg_yasm.a(ffmpeg_yasm/dct32.o)
>>> referenced by ../../third_party/ffmpeg/libavcodec/x86/dct32.asm
>>> ffmpeg_yasm/dct32.o:(ff_dct32_float_sse) in archive
>>> obj/third_party/ffmpeg/libffmpeg_yasm.a
could you please tell me how to fix this problem?
thank you very much!
Hao
Joseph Kogut wrote
> Signed-off-by: Joseph Kogut <
> joseph.kogut@
> >
> ---
> DEVELOPERS | 1 +
> package/Config.in | 1 +
> ...iler_cpu_abi-for-buildroot-toolchain.patch | 102 ++++++++++++
> .../0002-Fix-arm-build-with-glibc-2.27.patch | 28 ++++
> package/chromium/Config.in | 64 ++++++++
> package/chromium/chromium.hash | 3 +
> package/chromium/chromium.mk | 146 ++++++++++++++++++
> package/chromium/toolchain/BUILD.gn | 71 +++++++++
> 8 files changed, 416 insertions(+)
> create mode 100644
> package/chromium/0001-modify-compiler_cpu_abi-for-buildroot-toolchain.patch
> create mode 100644
> package/chromium/0002-Fix-arm-build-with-glibc-2.27.patch
> create mode 100644 package/chromium/Config.in
> create mode 100644 package/chromium/chromium.hash
> create mode 100644 package/chromium/chromium.mk
> create mode 100644 package/chromium/toolchain/BUILD.gn
>
> diff --git a/DEVELOPERS b/DEVELOPERS
> index 05d2bdde20..e3dde531b4 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -1058,6 +1058,7 @@ F: package/rabbitmq-c/
> N: Joseph Kogut <
> joseph.kogut@
> >
> F: package/at-spi2-atk/
> F: package/at-spi2-core/
> +F: package/chromium/
> F: package/gconf/
> F: package/libnss/
> F: package/lld/
> diff --git a/package/Config.in b/package/Config.in
> index 20fe5ad8ff..2515975df3 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -14,6 +14,7 @@ menu "Audio and video applications"
> source "package/aumix/Config.in"
> source "package/bellagio/Config.in"
> source "package/bluez-alsa/Config.in"
> + source "package/chromium/Config.in"
> source "package/dvblast/Config.in"
> source "package/dvdauthor/Config.in"
> source "package/dvdrw-tools/Config.in"
> diff --git
> a/package/chromium/0001-modify-compiler_cpu_abi-for-buildroot-toolchain.patch
> b/package/chromium/0001-modify-compiler_cpu_abi-for-buildroot-toolchain.patch
> new file mode 100644
> index 0000000000..1848b0bd14
> --- /dev/null
> +++
> b/package/chromium/0001-modify-compiler_cpu_abi-for-buildroot-toolchain.patch
> @@ -0,0 +1,102 @@
> +From 3d5106d1d4720e1be8a4bd977be38743d6fb1f3c Mon Sep 17 00:00:00 2001
> +From: Joseph Kogut <
> joseph.kogut@
> >
> +Date: Sun, 10 Jun 2018 09:59:11 -0700
> +Subject: [PATCH] modify compiler_cpu_abi for buildroot toolchain
> +
> +Signed-off-by: Joseph Kogut <
> joseph.kogut@
> >
> +---
> + build/config/compiler/BUILD.gn | 36 +++++++++++++++++++---------------
> + 1 file changed, 20 insertions(+), 16 deletions(-)
> +
> +diff --git a/build/config/compiler/BUILD.gn
> b/build/config/compiler/BUILD.gn
> +index 461e62da2..27c9f29ed 100644
> +--- a/build/config/compiler/BUILD.gn
> ++++ b/build/config/compiler/BUILD.gn
> +@@ -683,6 +683,10 @@ config("compiler_cpu_abi") {
> + "-march=x86-64",
> + ]
> + ldflags += [ "-m64" ]
> ++ if (is_clang) {
> ++ cflags += ["--target=x86_64-buildroot-linux-gnu"]
> ++ ldflags += ["--target=x86_64-buildroot-linux-gnu"]
> ++ }
> + } else if (current_cpu == "x86") {
> + cflags += [ "-m32" ]
> + ldflags += [ "-m32" ]
> +@@ -695,8 +699,8 @@ config("compiler_cpu_abi") {
> + }
> + } else if (current_cpu == "arm") {
> + if (is_clang && !is_android && !is_nacl) {
> +- cflags += [ "--target=arm-linux-gnueabihf" ]
> +- ldflags += [ "--target=arm-linux-gnueabihf" ]
> ++ cflags += [ "--target=arm-buildroot-linux-gnueabihf" ]
> ++ ldflags += [ "--target=arm-buildroot-linux-gnueabihf" ]
> + }
> + if (!is_nacl) {
> + cflags += [
> +@@ -709,18 +713,18 @@ config("compiler_cpu_abi") {
> + }
> + } else if (current_cpu == "arm64") {
> + if (is_clang && !is_android && !is_nacl && !is_fuchsia) {
> +- cflags += [ "--target=aarch64-linux-gnu" ]
> +- ldflags += [ "--target=aarch64-linux-gnu" ]
> ++ cflags += [ "--target=aarch64-buildroot-linux-gnu" ]
> ++ ldflags += [ "--target=aarch64-buildroot-linux-gnu" ]
> + }
> + } else if (current_cpu == "mipsel" && !is_nacl) {
> + if (custom_toolchain == "") {
> + if (is_clang) {
> + if (is_android) {
> +- cflags += [ "--target=mipsel-linux-android" ]
> +- ldflags += [ "--target=mipsel-linux-android" ]
> ++ cflags += [ "--target=mipsel-buildroot-linux-android" ]
> ++ ldflags += [ "--target=mipsel-buildroot-linux-android" ]
> + } else {
> +- cflags += [ "--target=mipsel-linux-gnu" ]
> +- ldflags += [ "--target=mipsel-linux-gnu" ]
> ++ cflags += [ "--target=mipsel-buildroot-linux-gnu" ]
> ++ ldflags += [ "--target=mipsel-buildroot-linux-gnu" ]
> + }
> + } else {
> + cflags += [ "-EL" ]
> +@@ -799,8 +803,8 @@ config("compiler_cpu_abi") {
> + } else if (current_cpu == "mips" && !is_nacl) {
> + if (custom_toolchain == "") {
> + if (is_clang) {
> +- cflags += [ "--target=mips-linux-gnu" ]
> +- ldflags += [ "--target=mips-linux-gnu" ]
> ++ cflags += [ "--target=mips-buildroot-linux-gnu" ]
> ++ ldflags += [ "--target=mips-buildroot-linux-gnu" ]
> + } else {
> + cflags += [ "-EB" ]
> + ldflags += [ "-EB" ]
> +@@ -844,11 +848,11 @@ config("compiler_cpu_abi") {
> + if (custom_toolchain == "") {
> + if (is_clang) {
> + if (is_android) {
> +- cflags += [ "--target=mips64el-linux-android" ]
> +- ldflags += [ "--target=mips64el-linux-android" ]
> ++ cflags += [ "--target=mips64el-buildroot-linux-android" ]
> ++ ldflags += [ "--target=mips64el-buildroot-linux-android" ]
> + } else {
> +- cflags += [ "--target=mips64el-linux-gnuabi64" ]
> +- ldflags += [ "--target=mips64el-linux-gnuabi64" ]
> ++ cflags += [ "--target=mips64el-buildroot-linux-gnuabi64" ]
> ++ ldflags += [ "--target=mips64el-buildroot-linux-gnuabi64" ]
> + }
> + } else {
> + cflags += [
> +@@ -905,8 +909,8 @@ config("compiler_cpu_abi") {
> + } else if (current_cpu == "mips64") {
> + if (custom_toolchain == "") {
> + if (is_clang) {
> +- cflags += [ "--target=mips64-linux-gnuabi64" ]
> +- ldflags += [ "--target=mips64-linux-gnuabi64" ]
> ++ cflags += [ "--target=mips64-buildroot-linux-gnuabi64" ]
> ++ ldflags += [ "--target=mips64-buildroot-linux-gnuabi64" ]
> + } else {
> + cflags += [
> + "-EB",
> +--
> +2.17.1
> +
> diff --git a/package/chromium/0002-Fix-arm-build-with-glibc-2.27.patch
> b/package/chromium/0002-Fix-arm-build-with-glibc-2.27.patch
> new file mode 100644
> index 0000000000..8aebbd06c8
> --- /dev/null
> +++ b/package/chromium/0002-Fix-arm-build-with-glibc-2.27.patch
> @@ -0,0 +1,28 @@
> +From aed4599c18586dfac46139a3c32011f804fdaef6 Mon Sep 17 00:00:00 2001
> +From: Joseph Kogut <
> joseph.kogut@
> >
> +Date: Wed, 13 Jun 2018 13:59:24 -0700
> +Subject: [PATCH] Fix arm build with glibc 2.27
> +
> +Upstream patch from:
> https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1060155
> +
> +Signed-off-by: Joseph Kogut <
> joseph.kogut@
> >
> +---
> + third_party/crashpad/crashpad/compat/linux/sys/ptrace.h | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/third_party/crashpad/crashpad/compat/linux/sys/ptrace.h
> b/third_party/crashpad/crashpad/compat/linux/sys/ptrace.h
> +index 73861576d..e5c95c7cc 100644
> +--- a/third_party/crashpad/crashpad/compat/linux/sys/ptrace.h
> ++++ b/third_party/crashpad/crashpad/compat/linux/sys/ptrace.h
> +@@ -34,7 +34,7 @@ static constexpr __ptrace_request
> PTRACE_GET_THREAD_AREA =
> + #endif // !PTRACE_GET_THREAD_AREA && !PT_GET_THREAD_AREA &&
> defined(__GLIBC__)
> +
> + // https://sourceware.org/bugzilla/show_bug.cgi?id=22433
> +-#if !defined(PTRACE_GETVFPREGS) && \
> ++#if !defined(PTRACE_GETVFPREGS) && !defined(PT_GETVFPREGS) && \
> + defined(__GLIBC__) && (defined(__arm__) || defined(__arm64__))
> + static constexpr __ptrace_request PTRACE_GETVFPREGS =
> + static_cast<__ptrace_request>(27);
> +--
> +2.17.1
> +
> diff --git a/package/chromium/Config.in b/package/chromium/Config.in
> new file mode 100644
> index 0000000000..fa04d3bbd2
> --- /dev/null
> +++ b/package/chromium/Config.in
> @@ -0,0 +1,64 @@
> +config BR2_PACKAGE_CHROMIUM_ARCH_SUPPORTS
> + bool
> + default y if BR2_arm
> + default y if BR2_aarch64
> + default y if BR2_i386
> + default y if BR2_x86_64
> +
> +config BR2_PACKAGE_CHROMIUM_TARGET_ARCH
> + string
> + default "arm" if BR2_arm
> + default "arm64" if BR2_aarch64
> + default "x86" if BR2_i386
> + default "x64" if BR2_x86_64
> +
> +menuconfig BR2_PACKAGE_CHROMIUM
> + bool "chromium"
> + depends on BR2_HOST_GCC_AT_LEAST_4_9 # gn requires -std=c++14
> + depends on BR2_PACKAGE_HAS_LIBGL
> + depends on BR2_PACKAGE_XORG7
> + depends on BR2_TOOLCHAIN_USES_GLIBC
> + select BR2_PACKAGE_AT_SPI2_ATK
> + select BR2_PACKAGE_ALSA_LIB
> + select BR2_PACKAGE_FREETYPE
> + select BR2_PACKAGE_HARFBUZZ
> + select BR2_PACKAGE_HOST_CLANG
> + select BR2_PACKAGE_HOST_LLD
> + select BR2_PACKAGE_HOST_NINJA
> + select BR2_PACKAGE_HOST_NODEJS
> + select BR2_PACKAGE_HOST_PYTHON
> + select BR2_PACKAGE_JPEG
> + select BR2_PACKAGE_LIBDRM
> + select BR2_PACKAGE_LIBERATION # runtime
> + select BR2_PACKAGE_LIBGLIB2
> + select BR2_PACKAGE_LIBGTK2 if !BR2_PACKAGE_LIBGTK3_X11
> + select BR2_PACKAGE_LIBKRB5
> + select BR2_PACKAGE_LIBNSS
> + select BR2_PACKAGE_LIBPNG
> + select BR2_PACKAGE_XLIB_LIBXCOMPOSITE
> + select BR2_PACKAGE_XLIB_LIBXCURSOR
> + select BR2_PACKAGE_XLIB_LIBXI if !BR2_PACKAGE_LIBGTK3_X11
> + select BR2_PACKAGE_XLIB_LIBXRANDR
> + select BR2_PACKAGE_XLIB_LIBXSCRNSAVER
> + select BR2_PACKAGE_XLIB_LIBXTST if !BR2_PACKAGE_LIBGTK3_X11
> + help
> + Chromium is an open-source Web browser project started by
> + Google, to provide the source code for the proprietary
> + Google Chrome browser.
> +
> +if BR2_PACKAGE_CHROMIUM
> +
> +config BR2_PACKAGE_CHROMIUM_PROPRIETARY_CODECS
> + bool "Enable proprietary codecs"
> + help
> + Enables proprietary codecs with additional licensing
> + restrictions, such as MP3 and H264
> +
> +endif # BR2_PACKAGE_CHROMIUM
> +
> +comment "chromium needs toolchain w/ Glibc, host gcc >= 4.9.0"
> + depends on !BR2_TOOLCHAIN_USES_GLIBC \
> + || !BR2_HOST_GCC_AT_LEAST_4_9
> +
> +comment "chromium depends on X.org and needs an OpenGL backend"
> + depends on !BR2_PACKAGE_XORG7 || !BR2_PACKAGE_HAS_LIBGL
> diff --git a/package/chromium/chromium.hash
> b/package/chromium/chromium.hash
> new file mode 100644
> index 0000000000..4c39ac5c08
> --- /dev/null
> +++ b/package/chromium/chromium.hash
> @@ -0,0 +1,3 @@
> +# locally calculated
> +sha256 f8b1e5319163e378027826b12cf256b97423bb90e10e2013469d96e03bc9db8a
> chromium-67.0.3396.79.tar.xz
> +sha256 845022e0c1db1abb41a6ba4cd3c4b674ec290f3359d9d3c78ae558d4c0ed9308
> LICENSE
> diff --git a/package/chromium/chromium.mk b/package/chromium/chromium.mk
> new file mode 100644
> index 0000000000..465eef17ad
> --- /dev/null
> +++ b/package/chromium/chromium.mk
> @@ -0,0 +1,146 @@
> +################################################################################
> +#
> +# Chromium
> +#
> +################################################################################
> +
> +CHROMIUM_VERSION = 67.0.3396.79
> +CHROMIUM_SITE =
> https://commondatastorage.googleapis.com/chromium-browser-official
> +CHROMIUM_SOURCE = chromium-$(CHROMIUM_VERSION).tar.xz
> +CHROMIUM_LICENSE = BSD-Style
> +CHROMIUM_LICENSE_FILES = LICENSE
> +CHROMIUM_DEPENDENCIES = alsa-lib cairo cups dbus freetype harfbuzz \
> + host-clang host-lld host-ninja host-nodejs host-python \
> + jpeg libdrm libglib2 libkrb5 libnss libpng pango \
> + xlib_libXcomposite xlib_libXScrnSaver xlib_libXcursor \
> + xlib_libXrandr zlib
> +
> +CHROMIUM_TOOLCHAIN_CONFIG_PATH = $(shell pwd)/package/chromium/toolchain
> +
> +CHROMIUM_OPTS = \
> + host_toolchain=\"$(CHROMIUM_TOOLCHAIN_CONFIG_PATH):host\" \
> + custom_toolchain=\"$(CHROMIUM_TOOLCHAIN_CONFIG_PATH):target\" \
> + use_lld=true \
> + is_clang=true \
> + clang_use_chrome_plugins=false \
> + treat_warnings_as_errors=false \
> + use_gnome_keyring=false \
> + linux_use_bundled_binutils=false \
> + use_sysroot=true \
> + target_sysroot=\"$(STAGING_DIR)\" \
> + target_cpu=\"$(BR2_PACKAGE_CHROMIUM_TARGET_ARCH)\" \
> + enable_nacl=false \
> + use_dbus=true \
> + use_system_zlib=true \
> + use_system_libjpeg=true \
> + use_system_libpng=true \
> + use_system_libdrm=true \
> + use_system_harfbuzz=true \
> + use_system_freetype=true
> +
> +# tcmalloc has portability issues
> +CHROMIUM_OPTS += use_allocator=\"none\"
> +
> +# V8 snapshots require compiling V8 with the same word size as the target
> +# architecture, which means the host needs to have that toolchain
> available.
> +CHROMIUM_OPTS += v8_use_snapshot=false
> +
> +ifeq ($(BR2_ENABLE_DEBUG),y)
> +CHROMIUM_OPTS += is_debug=true
> +else
> +CHROMIUM_OPTS += is_debug=false
> +endif
> +
> +ifeq ($(BR2_PACKAGE_CUPS),y)
> +CHROMIUM_DEPENDENCIES += cups
> +CHROMIUM_OPTS += use_cups=true
> +else
> +CHROMIUM_OPTS += use_cups=false
> +endif
> +
> +ifeq ($(BR2_PACKAGE_CHROMIUM_PROPRIETARY_CODECS),y)
> +CHROMIUM_OPTS += proprietary_codecs=true ffmpeg_branding=\"Chrome\"
> +endif
> +
> +ifeq ($(BR2_PACKAGE_DBUS),y)
> +CHROMIUM_OPTS += use_dbus=true
> +else
> +CHROMIUM_OPTS += use_dbus=false
> +endif
> +
> +ifeq ($(BR2_PACKAGE_PCIUTILS),y)
> +CHROMIUM_DEPENDENCIES += pciutils
> +CHROMIUM_OPTS += use_libpci=true
> +else
> +CHROMIUM_OPTS += use_libpci=false
> +endif
> +
> +ifeq ($(BR2_PACKAGE_PULSEAUDIO),y)
> +CHROMIUM_DEPENDENCIES += pulseaudio
> +CHROMIUM_OPTS += use_pulseaudio=true
> +else
> +CHROMIUM_OPTS += use_pulseaudio=false
> +endif
> +
> +ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y)
> +CHROMIUM_DEPENDENCIES += libgtk3
> +CHROMIUM_OPTS += use_gtk3=true
> +else
> +CHROMIUM_DEPENDENCIES += libgtk2 xlib_libXi xlib_libXtst
> +CHROMIUM_OPTS += use_gtk3=false
> +endif
> +
> +ifeq ($(BR2_TOOLCHAIN_EXTERNAL),y)
> +CHROMIUM_TARGET_LDFLAGS +=
> --gcc-toolchain=$(TOOLCHAIN_EXTERNAL_INSTALL_DIR)
> +else
> +CHROMIUM_TARGET_LDFLAGS += --gcc-toolchain=$(HOST_DIR)
> +endif
> +
> +CHROMIUM_TARGET_CFLAGS += $(CHROMIUM_TARGET_LDFLAGS)
> +CHROMIUM_TARGET_CXXFLAGS += $(CHROMIUM_TARGET_CFLAGS)
> +
> +define CHROMIUM_CONFIGURE_CMDS
> + mkdir -p $(@D)/third_party/node/linux/node-linux-x64/bin
> + ln -sf $(HOST_DIR)/bin/node
> $(@D)/third_party/node/linux/node-linux-x64/bin/
> +
> + ( cd $(@D); \
> + $(TARGET_MAKE_ENV) \
> + $(HOST_DIR)/bin/python2 tools/gn/bootstrap/bootstrap.py -s --no-clean;
> \
> + HOST_AR="$(HOSTAR)" \
> + HOST_NM="$(HOSTNM)" \
> + HOST_CC="$(HOSTCC)" \
> + HOST_CXX="$(HOSTCXX)" \
> + HOST_CFLAGS="$(HOST_CFLAGS)" \
> + HOST_CXXFLAGS="$(HOST_CXXFLAGS)" \
> + TARGET_AR="ar" \
> + TARGET_NM="nm" \
> + TARGET_CC="clang" \
> + TARGET_CXX="clang++" \
> + TARGET_CFLAGS="$(CHROMIUM_TARGET_CFLAGS)" \
> + TARGET_CXXFLAGS="$(CHROMIUM_TARGET_CXXFLAGS)" \
> + TARGET_LDFLAGS="$(CHROMIUM_TARGET_LDFLAGS)" \
> + out/Release/gn gen out/Release --args="$(CHROMIUM_OPTS)" \
> + --script-executable=$(HOST_DIR)/bin/python2 \
> + )
> +endef
> +
> +define CHROMIUM_BUILD_CMDS
> + ( cd $(@D); \
> + $(TARGET_MAKE_ENV) \
> + ninja -j$(PARALLEL_JOBS) -C out/Release chrome chrome_sandbox
> chromedriver \
> + )
> +endef
> +
> +define CHROMIUM_INSTALL_TARGET_CMDS
> + $(INSTALL) -D $(@D)/out/Release/chrome
> $(TARGET_DIR)/usr/lib/chromium/chromium
> + $(INSTALL) -Dm4755 $(@D)/out/Release/chrome_sandbox \
> + $(TARGET_DIR)/usr/lib/chromium/chrome-sandbox
> + cp $(@D)/out/Release/{chrome_{100,200}_percent,resources}.pak \
> + $(@D)/out/Release/chromedriver \
> + $(TARGET_DIR)/usr/lib/chromium/
> + $(INSTALL) -Dm644 -t $(TARGET_DIR)/usr/lib/chromium/locales \
> + $(@D)/out/Release/locales/*.pak
> + cp $(@D)/out/Release/icudtl.dat $(TARGET_DIR)/usr/lib/chromium/
> +endef
> +
> +$(eval $(generic-package))
> diff --git a/package/chromium/toolchain/BUILD.gn
> b/package/chromium/toolchain/BUILD.gn
> new file mode 100644
> index 0000000000..e8525bd67d
> --- /dev/null
> +++ b/package/chromium/toolchain/BUILD.gn
> @@ -0,0 +1,71 @@
> +import("//build/toolchain/gcc_toolchain.gni")
> +import("//build/config/sysroot.gni")
> +
> +gcc_toolchain("host") {
> + cc = getenv("HOST_CC")
> + cxx = getenv("HOST_CXX")
> + ar = getenv("HOST_AR")
> + nm = getenv("HOST_NM")
> + ld = cxx
> +
> + extra_cflags = getenv("HOST_CFLAGS")
> + extra_cppflags = getenv("HOST_CPPFLAGS")
> + extra_cxxflags = getenv("HOST_CXXFLAGS")
> + extra_ldflags = getenv("HOST_LDFLAGS")
> +
> + toolchain_args = {
> + cc_wrapper = ""
> + current_cpu = host_cpu
> + current_os = host_os
> + is_clang = false
> + use_sysroot = false
> + use_lld = false
> + }
> +}
> +
> +gcc_toolchain("target") {
> + cc = getenv("TARGET_CC")
> + cxx = getenv("TARGET_CXX")
> + ar = getenv("TARGET_AR")
> + nm = getenv("TARGET_NM")
> + ld = cxx
> +
> + extra_cflags = getenv("TARGET_CFLAGS")
> + extra_cppflags = getenv("TARGET_CPPFLAGS")
> + extra_cxxflags = getenv("TARGET_CXXFLAGS")
> + extra_ldflags = getenv("TARGET_LDFLAGS")
> +
> + toolchain_args = {
> + cc_wrapper = ""
> + current_cpu = target_cpu
> + current_os = target_os
> + is_clang = is_clang
> + use_sysroot = use_sysroot
> + }
> +}
> +
> +gcc_toolchain("v8_snapshot") {
> + cc = getenv("V8_CC")
> + cxx = getenv("V8_CXX")
> + ar = getenv("V8_AR")
> + nm = getenv("V8_NM")
> + ld = cxx
> +
> + extra_cflags = getenv("V8_CFLAGS")
> + extra_cppflags = getenv("V8_CPPFLAGS")
> + extra_cxxflags = getenv("V8_CXXFLAGS")
> + extra_ldflags = getenv("V8_LDFLAGS")
> +
> + toolchain_args = {
> + cc_wrapper = ""
> + if (target_cpu == "x86" || target_cpu == "arm" || target_cpu ==
> "mipsel") {
> + current_cpu = "x86"
> + } else {
> + current_cpu = "x64"
> + }
> + current_os = host_os
> + is_clang = is_clang
> + use_sysroot = false
> + }
> +}
> +
> --
> 2.18.0
>
> _______________________________________________
> buildroot mailing list
> buildroot@
> http://lists.busybox.net/mailman/listinfo/buildroot
Joseph Kogut wrote
> Signed-off-by: Joseph Kogut <
> joseph.kogut@
> >
> ---
> DEVELOPERS | 1 +
> package/Config.in | 1 +
> ...iler_cpu_abi-for-buildroot-toolchain.patch | 102 ++++++++++++
> .../0002-Fix-arm-build-with-glibc-2.27.patch | 28 ++++
> package/chromium/Config.in | 64 ++++++++
> package/chromium/chromium.hash | 3 +
> package/chromium/chromium.mk | 146 ++++++++++++++++++
> package/chromium/toolchain/BUILD.gn | 71 +++++++++
> 8 files changed, 416 insertions(+)
> create mode 100644
> package/chromium/0001-modify-compiler_cpu_abi-for-buildroot-toolchain.patch
> create mode 100644
> package/chromium/0002-Fix-arm-build-with-glibc-2.27.patch
> create mode 100644 package/chromium/Config.in
> create mode 100644 package/chromium/chromium.hash
> create mode 100644 package/chromium/chromium.mk
> create mode 100644 package/chromium/toolchain/BUILD.gn
>
> diff --git a/DEVELOPERS b/DEVELOPERS
> index 05d2bdde20..e3dde531b4 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -1058,6 +1058,7 @@ F: package/rabbitmq-c/
> N: Joseph Kogut <
> joseph.kogut@
> >
> F: package/at-spi2-atk/
> F: package/at-spi2-core/
> +F: package/chromium/
> F: package/gconf/
> F: package/libnss/
> F: package/lld/
> diff --git a/package/Config.in b/package/Config.in
> index 20fe5ad8ff..2515975df3 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -14,6 +14,7 @@ menu "Audio and video applications"
> source "package/aumix/Config.in"
> source "package/bellagio/Config.in"
> source "package/bluez-alsa/Config.in"
> + source "package/chromium/Config.in"
> source "package/dvblast/Config.in"
> source "package/dvdauthor/Config.in"
> source "package/dvdrw-tools/Config.in"
> diff --git
> a/package/chromium/0001-modify-compiler_cpu_abi-for-buildroot-toolchain.patch
> b/package/chromium/0001-modify-compiler_cpu_abi-for-buildroot-toolchain.patch
> new file mode 100644
> index 0000000000..1848b0bd14
> --- /dev/null
> +++
> b/package/chromium/0001-modify-compiler_cpu_abi-for-buildroot-toolchain.patch
> @@ -0,0 +1,102 @@
> +From 3d5106d1d4720e1be8a4bd977be38743d6fb1f3c Mon Sep 17 00:00:00 2001
> +From: Joseph Kogut <
> joseph.kogut@
> >
> +Date: Sun, 10 Jun 2018 09:59:11 -0700
> +Subject: [PATCH] modify compiler_cpu_abi for buildroot toolchain
> +
> +Signed-off-by: Joseph Kogut <
> joseph.kogut@
> >
> +---
> + build/config/compiler/BUILD.gn | 36 +++++++++++++++++++---------------
> + 1 file changed, 20 insertions(+), 16 deletions(-)
> +
> +diff --git a/build/config/compiler/BUILD.gn
> b/build/config/compiler/BUILD.gn
> +index 461e62da2..27c9f29ed 100644
> +--- a/build/config/compiler/BUILD.gn
> ++++ b/build/config/compiler/BUILD.gn
> +@@ -683,6 +683,10 @@ config("compiler_cpu_abi") {
> + "-march=x86-64",
> + ]
> + ldflags += [ "-m64" ]
> ++ if (is_clang) {
> ++ cflags += ["--target=x86_64-buildroot-linux-gnu"]
> ++ ldflags += ["--target=x86_64-buildroot-linux-gnu"]
> ++ }
> + } else if (current_cpu == "x86") {
> + cflags += [ "-m32" ]
> + ldflags += [ "-m32" ]
> +@@ -695,8 +699,8 @@ config("compiler_cpu_abi") {
> + }
> + } else if (current_cpu == "arm") {
> + if (is_clang && !is_android && !is_nacl) {
> +- cflags += [ "--target=arm-linux-gnueabihf" ]
> +- ldflags += [ "--target=arm-linux-gnueabihf" ]
> ++ cflags += [ "--target=arm-buildroot-linux-gnueabihf" ]
> ++ ldflags += [ "--target=arm-buildroot-linux-gnueabihf" ]
> + }
> + if (!is_nacl) {
> + cflags += [
> +@@ -709,18 +713,18 @@ config("compiler_cpu_abi") {
> + }
> + } else if (current_cpu == "arm64") {
> + if (is_clang && !is_android && !is_nacl && !is_fuchsia) {
> +- cflags += [ "--target=aarch64-linux-gnu" ]
> +- ldflags += [ "--target=aarch64-linux-gnu" ]
> ++ cflags += [ "--target=aarch64-buildroot-linux-gnu" ]
> ++ ldflags += [ "--target=aarch64-buildroot-linux-gnu" ]
> + }
> + } else if (current_cpu == "mipsel" && !is_nacl) {
> + if (custom_toolchain == "") {
> + if (is_clang) {
> + if (is_android) {
> +- cflags += [ "--target=mipsel-linux-android" ]
> +- ldflags += [ "--target=mipsel-linux-android" ]
> ++ cflags += [ "--target=mipsel-buildroot-linux-android" ]
> ++ ldflags += [ "--target=mipsel-buildroot-linux-android" ]
> + } else {
> +- cflags += [ "--target=mipsel-linux-gnu" ]
> +- ldflags += [ "--target=mipsel-linux-gnu" ]
> ++ cflags += [ "--target=mipsel-buildroot-linux-gnu" ]
> ++ ldflags += [ "--target=mipsel-buildroot-linux-gnu" ]
> + }
> + } else {
> + cflags += [ "-EL" ]
> +@@ -799,8 +803,8 @@ config("compiler_cpu_abi") {
> + } else if (current_cpu == "mips" && !is_nacl) {
> + if (custom_toolchain == "") {
> + if (is_clang) {
> +- cflags += [ "--target=mips-linux-gnu" ]
> +- ldflags += [ "--target=mips-linux-gnu" ]
> ++ cflags += [ "--target=mips-buildroot-linux-gnu" ]
> ++ ldflags += [ "--target=mips-buildroot-linux-gnu" ]
> + } else {
> + cflags += [ "-EB" ]
> + ldflags += [ "-EB" ]
> +@@ -844,11 +848,11 @@ config("compiler_cpu_abi") {
> + if (custom_toolchain == "") {
> + if (is_clang) {
> + if (is_android) {
> +- cflags += [ "--target=mips64el-linux-android" ]
> +- ldflags += [ "--target=mips64el-linux-android" ]
> ++ cflags += [ "--target=mips64el-buildroot-linux-android" ]
> ++ ldflags += [ "--target=mips64el-buildroot-linux-android" ]
> + } else {
> +- cflags += [ "--target=mips64el-linux-gnuabi64" ]
> +- ldflags += [ "--target=mips64el-linux-gnuabi64" ]
> ++ cflags += [ "--target=mips64el-buildroot-linux-gnuabi64" ]
> ++ ldflags += [ "--target=mips64el-buildroot-linux-gnuabi64" ]
> + }
> + } else {
> + cflags += [
> +@@ -905,8 +909,8 @@ config("compiler_cpu_abi") {
> + } else if (current_cpu == "mips64") {
> + if (custom_toolchain == "") {
> + if (is_clang) {
> +- cflags += [ "--target=mips64-linux-gnuabi64" ]
> +- ldflags += [ "--target=mips64-linux-gnuabi64" ]
> ++ cflags += [ "--target=mips64-buildroot-linux-gnuabi64" ]
> ++ ldflags += [ "--target=mips64-buildroot-linux-gnuabi64" ]
> + } else {
> + cflags += [
> + "-EB",
> +--
> +2.17.1
> +
> diff --git a/package/chromium/0002-Fix-arm-build-with-glibc-2.27.patch
> b/package/chromium/0002-Fix-arm-build-with-glibc-2.27.patch
> new file mode 100644
> index 0000000000..8aebbd06c8
> --- /dev/null
> +++ b/package/chromium/0002-Fix-arm-build-with-glibc-2.27.patch
> @@ -0,0 +1,28 @@
> +From aed4599c18586dfac46139a3c32011f804fdaef6 Mon Sep 17 00:00:00 2001
> +From: Joseph Kogut <
> joseph.kogut@
> >
> +Date: Wed, 13 Jun 2018 13:59:24 -0700
> +Subject: [PATCH] Fix arm build with glibc 2.27
> +
> +Upstream patch from:
> https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1060155
> +
> +Signed-off-by: Joseph Kogut <
> joseph.kogut@
> >
> +---
> + third_party/crashpad/crashpad/compat/linux/sys/ptrace.h | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/third_party/crashpad/crashpad/compat/linux/sys/ptrace.h
> b/third_party/crashpad/crashpad/compat/linux/sys/ptrace.h
> +index 73861576d..e5c95c7cc 100644
> +--- a/third_party/crashpad/crashpad/compat/linux/sys/ptrace.h
> ++++ b/third_party/crashpad/crashpad/compat/linux/sys/ptrace.h
> +@@ -34,7 +34,7 @@ static constexpr __ptrace_request
> PTRACE_GET_THREAD_AREA =
> + #endif // !PTRACE_GET_THREAD_AREA && !PT_GET_THREAD_AREA &&
> defined(__GLIBC__)
> +
> + // https://sourceware.org/bugzilla/show_bug.cgi?id=22433
> +-#if !defined(PTRACE_GETVFPREGS) && \
> ++#if !defined(PTRACE_GETVFPREGS) && !defined(PT_GETVFPREGS) && \
> + defined(__GLIBC__) && (defined(__arm__) || defined(__arm64__))
> + static constexpr __ptrace_request PTRACE_GETVFPREGS =
> + static_cast<__ptrace_request>(27);
> +--
> +2.17.1
> +
> diff --git a/package/chromium/Config.in b/package/chromium/Config.in
> new file mode 100644
> index 0000000000..fa04d3bbd2
> --- /dev/null
> +++ b/package/chromium/Config.in
> @@ -0,0 +1,64 @@
> +config BR2_PACKAGE_CHROMIUM_ARCH_SUPPORTS
> + bool
> + default y if BR2_arm
> + default y if BR2_aarch64
> + default y if BR2_i386
> + default y if BR2_x86_64
> +
> +config BR2_PACKAGE_CHROMIUM_TARGET_ARCH
> + string
> + default "arm" if BR2_arm
> + default "arm64" if BR2_aarch64
> + default "x86" if BR2_i386
> + default "x64" if BR2_x86_64
> +
> +menuconfig BR2_PACKAGE_CHROMIUM
> + bool "chromium"
> + depends on BR2_HOST_GCC_AT_LEAST_4_9 # gn requires -std=c++14
> + depends on BR2_PACKAGE_HAS_LIBGL
> + depends on BR2_PACKAGE_XORG7
> + depends on BR2_TOOLCHAIN_USES_GLIBC
> + select BR2_PACKAGE_AT_SPI2_ATK
> + select BR2_PACKAGE_ALSA_LIB
> + select BR2_PACKAGE_FREETYPE
> + select BR2_PACKAGE_HARFBUZZ
> + select BR2_PACKAGE_HOST_CLANG
> + select BR2_PACKAGE_HOST_LLD
> + select BR2_PACKAGE_HOST_NINJA
> + select BR2_PACKAGE_HOST_NODEJS
> + select BR2_PACKAGE_HOST_PYTHON
> + select BR2_PACKAGE_JPEG
> + select BR2_PACKAGE_LIBDRM
> + select BR2_PACKAGE_LIBERATION # runtime
> + select BR2_PACKAGE_LIBGLIB2
> + select BR2_PACKAGE_LIBGTK2 if !BR2_PACKAGE_LIBGTK3_X11
> + select BR2_PACKAGE_LIBKRB5
> + select BR2_PACKAGE_LIBNSS
> + select BR2_PACKAGE_LIBPNG
> + select BR2_PACKAGE_XLIB_LIBXCOMPOSITE
> + select BR2_PACKAGE_XLIB_LIBXCURSOR
> + select BR2_PACKAGE_XLIB_LIBXI if !BR2_PACKAGE_LIBGTK3_X11
> + select BR2_PACKAGE_XLIB_LIBXRANDR
> + select BR2_PACKAGE_XLIB_LIBXSCRNSAVER
> + select BR2_PACKAGE_XLIB_LIBXTST if !BR2_PACKAGE_LIBGTK3_X11
> + help
> + Chromium is an open-source Web browser project started by
> + Google, to provide the source code for the proprietary
> + Google Chrome browser.
> +
> +if BR2_PACKAGE_CHROMIUM
> +
> +config BR2_PACKAGE_CHROMIUM_PROPRIETARY_CODECS
> + bool "Enable proprietary codecs"
> + help
> + Enables proprietary codecs with additional licensing
> + restrictions, such as MP3 and H264
> +
> +endif # BR2_PACKAGE_CHROMIUM
> +
> +comment "chromium needs toolchain w/ Glibc, host gcc >= 4.9.0"
> + depends on !BR2_TOOLCHAIN_USES_GLIBC \
> + || !BR2_HOST_GCC_AT_LEAST_4_9
> +
> +comment "chromium depends on X.org and needs an OpenGL backend"
> + depends on !BR2_PACKAGE_XORG7 || !BR2_PACKAGE_HAS_LIBGL
> diff --git a/package/chromium/chromium.hash
> b/package/chromium/chromium.hash
> new file mode 100644
> index 0000000000..4c39ac5c08
> --- /dev/null
> +++ b/package/chromium/chromium.hash
> @@ -0,0 +1,3 @@
> +# locally calculated
> +sha256 f8b1e5319163e378027826b12cf256b97423bb90e10e2013469d96e03bc9db8a
> chromium-67.0.3396.79.tar.xz
> +sha256 845022e0c1db1abb41a6ba4cd3c4b674ec290f3359d9d3c78ae558d4c0ed9308
> LICENSE
> diff --git a/package/chromium/chromium.mk b/package/chromium/chromium.mk
> new file mode 100644
> index 0000000000..465eef17ad
> --- /dev/null
> +++ b/package/chromium/chromium.mk
> @@ -0,0 +1,146 @@
> +################################################################################
> +#
> +# Chromium
> +#
> +################################################################################
> +
> +CHROMIUM_VERSION = 67.0.3396.79
> +CHROMIUM_SITE =
> https://commondatastorage.googleapis.com/chromium-browser-official
> +CHROMIUM_SOURCE = chromium-$(CHROMIUM_VERSION).tar.xz
> +CHROMIUM_LICENSE = BSD-Style
> +CHROMIUM_LICENSE_FILES = LICENSE
> +CHROMIUM_DEPENDENCIES = alsa-lib cairo cups dbus freetype harfbuzz \
> + host-clang host-lld host-ninja host-nodejs host-python \
> + jpeg libdrm libglib2 libkrb5 libnss libpng pango \
> + xlib_libXcomposite xlib_libXScrnSaver xlib_libXcursor \
> + xlib_libXrandr zlib
> +
> +CHROMIUM_TOOLCHAIN_CONFIG_PATH = $(shell pwd)/package/chromium/toolchain
> +
> +CHROMIUM_OPTS = \
> + host_toolchain=\"$(CHROMIUM_TOOLCHAIN_CONFIG_PATH):host\" \
> + custom_toolchain=\"$(CHROMIUM_TOOLCHAIN_CONFIG_PATH):target\" \
> + use_lld=true \
> + is_clang=true \
> + clang_use_chrome_plugins=false \
> + treat_warnings_as_errors=false \
> + use_gnome_keyring=false \
> + linux_use_bundled_binutils=false \
> + use_sysroot=true \
> + target_sysroot=\"$(STAGING_DIR)\" \
> + target_cpu=\"$(BR2_PACKAGE_CHROMIUM_TARGET_ARCH)\" \
> + enable_nacl=false \
> + use_dbus=true \
> + use_system_zlib=true \
> + use_system_libjpeg=true \
> + use_system_libpng=true \
> + use_system_libdrm=true \
> + use_system_harfbuzz=true \
> + use_system_freetype=true
> +
> +# tcmalloc has portability issues
> +CHROMIUM_OPTS += use_allocator=\"none\"
> +
> +# V8 snapshots require compiling V8 with the same word size as the target
> +# architecture, which means the host needs to have that toolchain
> available.
> +CHROMIUM_OPTS += v8_use_snapshot=false
> +
> +ifeq ($(BR2_ENABLE_DEBUG),y)
> +CHROMIUM_OPTS += is_debug=true
> +else
> +CHROMIUM_OPTS += is_debug=false
> +endif
> +
> +ifeq ($(BR2_PACKAGE_CUPS),y)
> +CHROMIUM_DEPENDENCIES += cups
> +CHROMIUM_OPTS += use_cups=true
> +else
> +CHROMIUM_OPTS += use_cups=false
> +endif
> +
> +ifeq ($(BR2_PACKAGE_CHROMIUM_PROPRIETARY_CODECS),y)
> +CHROMIUM_OPTS += proprietary_codecs=true ffmpeg_branding=\"Chrome\"
> +endif
> +
> +ifeq ($(BR2_PACKAGE_DBUS),y)
> +CHROMIUM_OPTS += use_dbus=true
> +else
> +CHROMIUM_OPTS += use_dbus=false
> +endif
> +
> +ifeq ($(BR2_PACKAGE_PCIUTILS),y)
> +CHROMIUM_DEPENDENCIES += pciutils
> +CHROMIUM_OPTS += use_libpci=true
> +else
> +CHROMIUM_OPTS += use_libpci=false
> +endif
> +
> +ifeq ($(BR2_PACKAGE_PULSEAUDIO),y)
> +CHROMIUM_DEPENDENCIES += pulseaudio
> +CHROMIUM_OPTS += use_pulseaudio=true
> +else
> +CHROMIUM_OPTS += use_pulseaudio=false
> +endif
> +
> +ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y)
> +CHROMIUM_DEPENDENCIES += libgtk3
> +CHROMIUM_OPTS += use_gtk3=true
> +else
> +CHROMIUM_DEPENDENCIES += libgtk2 xlib_libXi xlib_libXtst
> +CHROMIUM_OPTS += use_gtk3=false
> +endif
> +
> +ifeq ($(BR2_TOOLCHAIN_EXTERNAL),y)
> +CHROMIUM_TARGET_LDFLAGS +=
> --gcc-toolchain=$(TOOLCHAIN_EXTERNAL_INSTALL_DIR)
> +else
> +CHROMIUM_TARGET_LDFLAGS += --gcc-toolchain=$(HOST_DIR)
> +endif
> +
> +CHROMIUM_TARGET_CFLAGS += $(CHROMIUM_TARGET_LDFLAGS)
> +CHROMIUM_TARGET_CXXFLAGS += $(CHROMIUM_TARGET_CFLAGS)
> +
> +define CHROMIUM_CONFIGURE_CMDS
> + mkdir -p $(@D)/third_party/node/linux/node-linux-x64/bin
> + ln -sf $(HOST_DIR)/bin/node
> $(@D)/third_party/node/linux/node-linux-x64/bin/
> +
> + ( cd $(@D); \
> + $(TARGET_MAKE_ENV) \
> + $(HOST_DIR)/bin/python2 tools/gn/bootstrap/bootstrap.py -s --no-clean;
> \
> + HOST_AR="$(HOSTAR)" \
> + HOST_NM="$(HOSTNM)" \
> + HOST_CC="$(HOSTCC)" \
> + HOST_CXX="$(HOSTCXX)" \
> + HOST_CFLAGS="$(HOST_CFLAGS)" \
> + HOST_CXXFLAGS="$(HOST_CXXFLAGS)" \
> + TARGET_AR="ar" \
> + TARGET_NM="nm" \
> + TARGET_CC="clang" \
> + TARGET_CXX="clang++" \
> + TARGET_CFLAGS="$(CHROMIUM_TARGET_CFLAGS)" \
> + TARGET_CXXFLAGS="$(CHROMIUM_TARGET_CXXFLAGS)" \
> + TARGET_LDFLAGS="$(CHROMIUM_TARGET_LDFLAGS)" \
> + out/Release/gn gen out/Release --args="$(CHROMIUM_OPTS)" \
> + --script-executable=$(HOST_DIR)/bin/python2 \
> + )
> +endef
> +
> +define CHROMIUM_BUILD_CMDS
> + ( cd $(@D); \
> + $(TARGET_MAKE_ENV) \
> + ninja -j$(PARALLEL_JOBS) -C out/Release chrome chrome_sandbox
> chromedriver \
> + )
> +endef
> +
> +define CHROMIUM_INSTALL_TARGET_CMDS
> + $(INSTALL) -D $(@D)/out/Release/chrome
> $(TARGET_DIR)/usr/lib/chromium/chromium
> + $(INSTALL) -Dm4755 $(@D)/out/Release/chrome_sandbox \
> + $(TARGET_DIR)/usr/lib/chromium/chrome-sandbox
> + cp $(@D)/out/Release/{chrome_{100,200}_percent,resources}.pak \
> + $(@D)/out/Release/chromedriver \
> + $(TARGET_DIR)/usr/lib/chromium/
> + $(INSTALL) -Dm644 -t $(TARGET_DIR)/usr/lib/chromium/locales \
> + $(@D)/out/Release/locales/*.pak
> + cp $(@D)/out/Release/icudtl.dat $(TARGET_DIR)/usr/lib/chromium/
> +endef
> +
> +$(eval $(generic-package))
> diff --git a/package/chromium/toolchain/BUILD.gn
> b/package/chromium/toolchain/BUILD.gn
> new file mode 100644
> index 0000000000..e8525bd67d
> --- /dev/null
> +++ b/package/chromium/toolchain/BUILD.gn
> @@ -0,0 +1,71 @@
> +import("//build/toolchain/gcc_toolchain.gni")
> +import("//build/config/sysroot.gni")
> +
> +gcc_toolchain("host") {
> + cc = getenv("HOST_CC")
> + cxx = getenv("HOST_CXX")
> + ar = getenv("HOST_AR")
> + nm = getenv("HOST_NM")
> + ld = cxx
> +
> + extra_cflags = getenv("HOST_CFLAGS")
> + extra_cppflags = getenv("HOST_CPPFLAGS")
> + extra_cxxflags = getenv("HOST_CXXFLAGS")
> + extra_ldflags = getenv("HOST_LDFLAGS")
> +
> + toolchain_args = {
> + cc_wrapper = ""
> + current_cpu = host_cpu
> + current_os = host_os
> + is_clang = false
> + use_sysroot = false
> + use_lld = false
> + }
> +}
> +
> +gcc_toolchain("target") {
> + cc = getenv("TARGET_CC")
> + cxx = getenv("TARGET_CXX")
> + ar = getenv("TARGET_AR")
> + nm = getenv("TARGET_NM")
> + ld = cxx
> +
> + extra_cflags = getenv("TARGET_CFLAGS")
> + extra_cppflags = getenv("TARGET_CPPFLAGS")
> + extra_cxxflags = getenv("TARGET_CXXFLAGS")
> + extra_ldflags = getenv("TARGET_LDFLAGS")
> +
> + toolchain_args = {
> + cc_wrapper = ""
> + current_cpu = target_cpu
> + current_os = target_os
> + is_clang = is_clang
> + use_sysroot = use_sysroot
> + }
> +}
> +
> +gcc_toolchain("v8_snapshot") {
> + cc = getenv("V8_CC")
> + cxx = getenv("V8_CXX")
> + ar = getenv("V8_AR")
> + nm = getenv("V8_NM")
> + ld = cxx
> +
> + extra_cflags = getenv("V8_CFLAGS")
> + extra_cppflags = getenv("V8_CPPFLAGS")
> + extra_cxxflags = getenv("V8_CXXFLAGS")
> + extra_ldflags = getenv("V8_LDFLAGS")
> +
> + toolchain_args = {
> + cc_wrapper = ""
> + if (target_cpu == "x86" || target_cpu == "arm" || target_cpu ==
> "mipsel") {
> + current_cpu = "x86"
> + } else {
> + current_cpu = "x64"
> + }
> + current_os = host_os
> + is_clang = is_clang
> + use_sysroot = false
> + }
> +}
> +
> --
> 2.18.0
>
> _______________________________________________
> buildroot mailing list
> buildroot@
> http://lists.busybox.net/mailman/listinfo/buildroot
--
Sent from: http://buildroot-busybox.2317881.n4.nabble.com/
next prev parent reply other threads:[~2018-07-26 13:31 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-10 23:42 [Buildroot] [PATCH v6 0/4] chromium: new package Joseph Kogut
2018-07-10 23:42 ` [Buildroot] [PATCH v6 1/4] libgtk3: convert atk-bridge to optional dependency Joseph Kogut
2018-07-10 23:42 ` [Buildroot] [PATCH v6 2/4] llvm: add config to build backend for host arch Joseph Kogut
2018-07-10 23:42 ` [Buildroot] [PATCH v6 3/4] lld: new package Joseph Kogut
2018-07-11 9:59 ` Valentin Korenblit
2018-07-10 23:42 ` [Buildroot] [PATCH v6 4/4] chromium: " Joseph Kogut
2018-07-14 19:11 ` Martin Bark
2018-07-14 22:57 ` Joseph Kogut
2018-07-15 21:54 ` Martin Bark
2018-07-16 16:29 ` Joseph Kogut
2018-07-17 11:43 ` Martin Bark
2018-07-26 18:51 ` Joseph Kogut
2018-07-26 13:31 ` Hao HU [this message]
2018-07-26 19:01 ` Joseph Kogut
2018-07-26 20:02 ` Hao HU
2018-07-27 7:56 ` Hao HU
2018-07-27 14:03 ` Hao HU
2018-07-27 16:12 ` Joseph Kogut
2018-07-30 9:04 ` Hao HU
2018-07-30 17:05 ` Joseph Kogut
2018-07-30 17:21 ` Hao HU
2018-07-30 18:13 ` Joseph Kogut
2018-07-30 21:39 ` Joseph Kogut
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1532611912386-0.post@n4.nabble.com \
--to=huhao526200@gmail.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.