summaryrefslogtreecommitdiffstats
path: root/rules/gdb.make
blob: 6c9f05fab7f5f095b605368a5d60276003957fd0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
# -*-makefile-*-
#
# Copyright (C) 2002-2008 by Pengutronix e.K., Hildesheim, Germany
#               2003 by Auerswald GmbH & Co. KG, Schandelah, Germany
#               2009, 2012 by Marc Kleine-Budde <mkl@pengutronix.de>
#
# For further information about the PTXdist project and license conditions
# see the README file.
#

#
# We provide this package
#
PACKAGES-$(PTXCONF_GDB) += gdb

#
# Paths and names
#
GDB_VERSION	 = $(call ptx/config-version,PTXCONF_GDB,SHARED_GDB)
GDB_MD5		 = $(call ptx/config-md5,PTXCONF_GDB,SHARED_GDB)
GDB		:= gdb-$(GDB_VERSION)
GDB_SUFFIX	:= tar.xz
GDB_SOURCE	:= $(SRCDIR)/$(GDB).$(GDB_SUFFIX)
GDB_DIR		:= $(BUILDDIR)/$(GDB)
GDB_LICENSE	:= GPL-3.0-or-later

GDB_URL := \
	$(call ptx/mirror, GNU, gdb/$(GDB).$(GDB_SUFFIX)) \
	ftp://sourceware.org/pub/gdb/snapshots/current/$(GDB).$(GDB_SUFFIX)

# ----------------------------------------------------------------------------
# Prepare
# ----------------------------------------------------------------------------

ifdef PTXCONF_ARCH_X86
GDB_WRAPPER_BLACKLIST := \
	TARGET_HARDEN_PIE
endif

GDB_CONF_OPT_HOST	:= \
	--disable-tui \
	--disable-rpath \
	--without-expat \
	--without-mpfr

ifneq ($(filter 1%,$(GDBSERVER_VERSION)),)
# version >= 10
GDB_CONF_OPT_HOST	+= \
	--without-xxhash
endif

GDB_CONF_ENV		:= \
	$(CROSS_ENV) \
	$(CROSS_ENV_FLAGS_FOR_TARGET) \
	host_configargs='$(GDB_CONF_OPT_HOST)'

ifndef PTXCONF_GDB_SHARED
GDB_MAKE_OPT := LDFLAGS=-static
endif

#
# autoconf
#
GDB_CONF_TOOL		:= autoconf
GDB_CONF_OPT		:= \
	$(CROSS_AUTOCONF_USR) \
	--target=$(PTXCONF_GNU_TARGET) \
	--with-build-sysroot=$(SYSROOT) \
	--disable-werror

GDB_BUILD_OOT := YES

# for gdb subdir configure
GDB_MAKE_ENV		:= \
	with_libgmp_prefix=no

# ----------------------------------------------------------------------------
# Install
# ----------------------------------------------------------------------------

$(STATEDIR)/gdb.install:
	@$(call targetinfo)
	@$(call world/install, GDB)
#	# don't install static libraries to sysroot
	@rm -rf $(GDB_PKGDIR)/usr/lib
	@$(call touch)

# ----------------------------------------------------------------------------
# Target-Install
# ----------------------------------------------------------------------------

$(STATEDIR)/gdb.targetinstall:
	@$(call targetinfo)

	@$(call install_init, gdb)
	@$(call install_fixup, gdb,PRIORITY,optional)
	@$(call install_fixup, gdb,SECTION,base)
	@$(call install_fixup, gdb,AUTHOR,"Robert Schwebel <r.schwebel@pengutronix.de>")
	@$(call install_fixup, gdb,DESCRIPTION,missing)

	@$(call install_copy, gdb, 0, 0, 0755, -, /usr/bin/gdb)

	@$(call install_finish, gdb)
	@$(call touch)

# vim: syntax=make