Makefile 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. #
  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. #
  7. include $(TOPDIR)/rules.mk
  8. PKG_NAME:=gdb
  9. PKG_VERSION:=15.2
  10. PKG_RELEASE:=2
  11. PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
  12. PKG_SOURCE_URL:=@GNU/gdb
  13. PKG_HASH:=83350ccd35b5b5a0cba6b334c41294ea968158c573940904f00b92f76345314d
  14. PKG_CPE_ID:=cpe:/a:gnu:gdb
  15. GDB_DIR:=$(PKG_NAME)-$(PKG_VERSION)
  16. HOST_BUILD_DIR:=$(BUILD_DIR_TOOLCHAIN)/$(GDB_DIR)
  17. HOST_BUILD_PARALLEL:=1
  18. include $(INCLUDE_DIR)/toolchain-build.mk
  19. export ZSTD_CFLAGS=-I$(STAGING_DIR_HOST)/include -pthread
  20. export ZSTD_LIBS=-L$(STAGING_DIR_HOST)/lib -lzstd -lpthread
  21. HOST_CONFIGURE_VARS += \
  22. acx_cv_cc_gcc_supports_ada=false \
  23. gdb_cv_func_sigsetjmp=yes
  24. HOST_CONFIGURE_ARGS = \
  25. --prefix=$(TOOLCHAIN_DIR) \
  26. --build=$(GNU_HOST_NAME) \
  27. --host=$(GNU_HOST_NAME) \
  28. --target=$(REAL_GNU_TARGET_NAME) \
  29. --with-gmp=$(STAGING_DIR_HOST) \
  30. --with-mpfr=$(STAGING_DIR_HOST) \
  31. --with-mpc=$(STAGING_DIR_HOST) \
  32. --with-expat=$(STAGING_DIR_HOST) \
  33. --disable-werror \
  34. --without-uiout \
  35. --enable-tui --disable-gdbtk --without-x \
  36. --without-included-gettext \
  37. --enable-threads \
  38. --disable-unit-tests \
  39. --disable-ubsan \
  40. --disable-binutils \
  41. --disable-ld \
  42. --disable-gas \
  43. --disable-sim
  44. ifneq ($(CONFIG_GDB_PYTHON),)
  45. HOST_CONFIGURE_ARGS+= --with-python
  46. else
  47. HOST_CONFIGURE_ARGS+= --without-python
  48. endif
  49. HOST_CFLAGS += -std=gnu17
  50. define Host/Install
  51. mkdir -p $(TOOLCHAIN_DIR)/bin
  52. $(INSTALL_BIN) $(HOST_BUILD_DIR)/gdb/gdb $(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)gdb
  53. ln -fs $(TARGET_CROSS)gdb $(TOOLCHAIN_DIR)/bin/$(GNU_TARGET_NAME)-gdb
  54. strip $(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)gdb
  55. mkdir -p $(TOOLCHAIN_DIR)/share/gdb
  56. -cp -R $(HOST_BUILD_DIR)/gdb/data-directory/python $(TOOLCHAIN_DIR)/share/gdb/
  57. cp -R $(HOST_BUILD_DIR)/gdb/data-directory/syscalls $(TOOLCHAIN_DIR)/share/gdb/
  58. cp -R $(HOST_BUILD_DIR)/gdb/data-directory/system-gdbinit $(TOOLCHAIN_DIR)/share/gdb/
  59. endef
  60. define Host/Clean
  61. rm -rf \
  62. $(HOST_BUILD_DIR) \
  63. $(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)gdb \
  64. $(TOOLCHAIN_DIR)/bin/$(GNU_TARGET_NAME)-gdb
  65. endef
  66. $(eval $(call HostBuild))