buildroot/package/google-breakpad/google-breakpad.mk
Romain Naour 557f8d649d package/google-breakpad: use PRE_CONFIGURE hooks to copy linux_syscall_support.h
As reported by Bernd [1], using POST_EXTRACT to copy
linux_syscall_support.h break the legal-info target when
google-breakpad package is selected:

/usr/bin/install: cannot stat '/home/bernd/buildroot/buildroot/output/ost/usr/i586-buildroot-linux-uclibc/sysroot/usr/include/linux_syscall_support.h': No such file or directory

This is because linux_syscall_support.h is installed by a dependency
of google-breakpad, and dependencies are only guaranteed to be
available for the configure step of a package. To fix this, we use a
PRE_CONFIGURE hook instead of POST_EXTRACT hook.

[1] http://lists.busybox.net/pipermail/buildroot/2017-May/192844.html

Reported-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-05-29 22:20:07 +02:00

43 lines
1.5 KiB
Makefile

################################################################################
#
# google-breakpad
#
################################################################################
GOOGLE_BREAKPAD_VERSION = 7515ab13768c7edc09f0f2ec2354dc6c928239a6
GOOGLE_BREAKPAD_SITE = https://chromium.googlesource.com/breakpad/breakpad
GOOGLE_BREAKPAD_SITE_METHOD = git
GOOGLE_BREAKPAD_CONF_OPTS = --disable-processor --disable-tools
# Only a static library is installed
GOOGLE_BREAKPAD_INSTALL_TARGET = NO
GOOGLE_BREAKPAD_INSTALL_STAGING = YES
GOOGLE_BREAKPAD_LICENSE = BSD-3-Clause
GOOGLE_BREAKPAD_LICENSE_FILES = LICENSE
GOOGLE_BREAKPAD_DEPENDENCIES = host-google-breakpad linux-syscall-support
HOST_GOOGLE_BREAKPAD_DEPENDENCIES = host-linux-syscall-support
# Avoid using depot-tools to download this file.
define HOST_GOOGLE_BREAKPAD_LSS
$(INSTALL) -D -m 0644 \
$(HOST_DIR)/usr/include/linux_syscall_support.h \
$(@D)/src/third_party/lss/linux_syscall_support.h
endef
HOST_GOOGLE_BREAKPAD_PRE_CONFIGURE_HOOKS += HOST_GOOGLE_BREAKPAD_LSS
define GOOGLE_BREAKPAD_LSS
$(INSTALL) -D -m 0644 \
$(STAGING_DIR)/usr/include/linux_syscall_support.h \
$(@D)/src/third_party/lss/linux_syscall_support.h
endef
GOOGLE_BREAKPAD_PRE_CONFIGURE_HOOKS += GOOGLE_BREAKPAD_LSS
define GOOGLE_BREAKPAD_EXTRACT_SYMBOLS
$(EXTRA_ENV) package/google-breakpad/gen-syms.sh $(STAGING_DIR) \
$(TARGET_DIR) $(call qstrip,$(BR2_GOOGLE_BREAKPAD_INCLUDE_FILES))
endef
GOOGLE_BREAKPAD_TARGET_FINALIZE_HOOKS += GOOGLE_BREAKPAD_EXTRACT_SYMBOLS
$(eval $(autotools-package))
$(eval $(host-autotools-package))