blob: 9b9ee5a9d8d13af16ebf201cd3c9fb8dd30e08db [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001#
2# Copyright (C) 2006-2020 OpenWrt.org
3#
4# This is free software, licensed under the GNU General Public License v2.
5# See /LICENSE for more information.
6#
7include $(TOPDIR)/rules.mk
8
9PKG_NAME:=gdb
10PKG_VERSION:=15.2
11PKG_RELEASE:=1
12
13PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
14PKG_SOURCE_URL:=@GNU/gdb
15PKG_HASH:=83350ccd35b5b5a0cba6b334c41294ea968158c573940904f00b92f76345314d
16PKG_CPE_ID:=cpe:/a:gnu:gdb
17GDB_DIR:=$(PKG_NAME)-$(PKG_VERSION)
18
19HOST_BUILD_DIR:=$(BUILD_DIR_TOOLCHAIN)/$(GDB_DIR)
20
21HOST_BUILD_PARALLEL:=1
22
23include $(INCLUDE_DIR)/toolchain-build.mk
24
25export ZSTD_CFLAGS=-I$(STAGING_DIR_HOST)/include -pthread
26export ZSTD_LIBS=-L$(STAGING_DIR_HOST)/lib -lzstd -lpthread
27
28HOST_CONFIGURE_VARS += \
29 acx_cv_cc_gcc_supports_ada=false \
30 gdb_cv_func_sigsetjmp=yes
31
32HOST_CONFIGURE_ARGS = \
33 --prefix=$(TOOLCHAIN_DIR) \
34 --build=$(GNU_HOST_NAME) \
35 --host=$(GNU_HOST_NAME) \
36 --target=$(REAL_GNU_TARGET_NAME) \
37 --with-gmp=$(STAGING_DIR_HOST) \
38 --with-mpfr=$(STAGING_DIR_HOST) \
39 --with-mpc=$(STAGING_DIR_HOST) \
40 --with-expat=$(STAGING_DIR_HOST) \
41 --disable-werror \
42 --without-uiout \
43 --enable-tui --disable-gdbtk --without-x \
44 --without-included-gettext \
45 --enable-threads \
46 --disable-unit-tests \
47 --disable-ubsan \
48 --disable-binutils \
49 --disable-ld \
50 --disable-gas \
51 --disable-sim
52
53ifneq ($(CONFIG_GDB_PYTHON),)
54 HOST_CONFIGURE_ARGS+= --with-python
55else
56 HOST_CONFIGURE_ARGS+= --without-python
57endif
58
59define Host/Install
60 mkdir -p $(TOOLCHAIN_DIR)/bin
61 $(INSTALL_BIN) $(HOST_BUILD_DIR)/gdb/gdb $(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)gdb
62 ln -fs $(TARGET_CROSS)gdb $(TOOLCHAIN_DIR)/bin/$(GNU_TARGET_NAME)-gdb
63 strip $(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)gdb
64 mkdir -p $(TOOLCHAIN_DIR)/share/gdb
65 -cp -R $(HOST_BUILD_DIR)/gdb/data-directory/python $(TOOLCHAIN_DIR)/share/gdb/
66 cp -R $(HOST_BUILD_DIR)/gdb/data-directory/syscalls $(TOOLCHAIN_DIR)/share/gdb/
67 cp -R $(HOST_BUILD_DIR)/gdb/data-directory/system-gdbinit $(TOOLCHAIN_DIR)/share/gdb/
68endef
69
70define Host/Clean
71 rm -rf \
72 $(HOST_BUILD_DIR) \
73 $(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)gdb \
74 $(TOOLCHAIN_DIR)/bin/$(GNU_TARGET_NAME)-gdb
75endef
76
77$(eval $(call HostBuild))