config BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS
	bool
	default y if BR2_i386 || BR2_x86_64 || BR2_arm || BR2_aarch64 || \
		BR2_mips || BR2_mipsel

config BR2_PACKAGE_GOOGLE_BREAKPAD
	bool "google-breakpad"
	depends on BR2_INSTALL_LIBSTDCPP
	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
	depends on BR2_USE_WCHAR
	depends on BR2_TOOLCHAIN_HAS_THREADS
	depends on (BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_UCLIBC)
	depends on BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS
	depends on BR2_PACKAGE_HOST_GOOGLE_BREAKPAD_ARCH_SUPPORTS
	select BR2_PACKAGE_LINUX_SYSCALL_SUPPORT
	help
	  Google-Breakpad is a library and tool suite that allows you
	  to distribute an application to users with compiler-provided
	  debugging information removed, record crashes in compact
	  "minidump" files, send them back to your server, and produce
	  C and C++ stack traces from these minidumps. Breakpad can
	  also write minidumps on request for programs that have not
	  crashed.

	  You may want to set BR2_ENABLE_DEBUG, in order to get useful
	  results.

	  This target package installs a static library named
	  libbreakpad_client.a which should be linked into programs
	  willing to use Google Breakpad. A host variant of this
	  package is also available, and provides the different tools
	  needed to extract the debugging symbols from target
	  binaries.

	  https://chromium.googlesource.com/breakpad/breakpad

comment "google-breakpad requires a glibc or uClibc toolchain w/ wchar, thread, C++, gcc >= 4.8"
	depends on BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS
	depends on BR2_PACKAGE_HOST_GOOGLE_BREAKPAD_ARCH_SUPPORTS
	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
		!BR2_TOOLCHAIN_HAS_THREADS || \
		!(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_UCLIBC) || \
		!BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
