meson.mk 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. ################################################################################
  2. #
  3. # meson
  4. #
  5. ################################################################################
  6. MESON_VERSION = 0.55.3
  7. MESON_SITE = https://github.com/mesonbuild/meson/releases/download/$(MESON_VERSION)
  8. MESON_LICENSE = Apache-2.0
  9. MESON_LICENSE_FILES = COPYING
  10. MESON_SETUP_TYPE = setuptools
  11. HOST_MESON_DEPENDENCIES = host-ninja
  12. HOST_MESON_NEEDS_HOST_PYTHON = python3
  13. HOST_MESON_TARGET_ENDIAN = $(call qstrip,$(call LOWERCASE,$(BR2_ENDIAN)))
  14. HOST_MESON_TARGET_CPU = $(GCC_TARGET_CPU)
  15. # https://mesonbuild.com/Reference-tables.html#cpu-families
  16. ifeq ($(BR2_arcle)$(BR2_arceb),y)
  17. HOST_MESON_TARGET_CPU_FAMILY = arc
  18. else ifeq ($(BR2_arm)$(BR2_armeb),y)
  19. HOST_MESON_TARGET_CPU_FAMILY = arm
  20. else ifeq ($(BR2_aarch64)$(BR2_aarch64_be),y)
  21. HOST_MESON_TARGET_CPU_FAMILY = aarch64
  22. else ifeq ($(BR2_i386),y)
  23. HOST_MESON_TARGET_CPU_FAMILY = x86
  24. else ifeq ($(BR2_m68k),y)
  25. HOST_MESON_TARGET_CPU_FAMILY = m68k
  26. else ifeq ($(BR2_microblazeel)$(BR2_microblazebe),y)
  27. HOST_MESON_TARGET_CPU_FAMILY = microblaze
  28. else ifeq ($(BR2_mips)$(BR2_mipsel),y)
  29. HOST_MESON_TARGET_CPU_FAMILY = mips
  30. else ifeq ($(BR2_mips64)$(BR2_mips64el),y)
  31. HOST_MESON_TARGET_CPU_FAMILY = mips64
  32. else ifeq ($(BR2_powerpc),y)
  33. HOST_MESON_TARGET_CPU_FAMILY = ppc
  34. else ifeq ($(BR2_powerpc64)$(BR2_powerpc64le),y)
  35. HOST_MESON_TARGET_CPU_FAMILY = ppc64
  36. else ifeq ($(BR2_riscv),y)
  37. HOST_MESON_TARGET_CPU_FAMILY = riscv64
  38. else ifeq ($(BR2_sh4)$(BR2_sh4eb)$(BR2_sh4a)$(BR2_sh4aeb),y)
  39. HOST_MESON_TARGET_CPU_FAMILY = sh4
  40. else ifeq ($(BR2_sparc),y)
  41. HOST_MESON_TARGET_CPU_FAMILY = sparc
  42. else ifeq ($(BR2_sparc64),y)
  43. HOST_MESON_TARGET_CPU_FAMILY = sparc64
  44. else ifeq ($(BR2_x86_64),y)
  45. HOST_MESON_TARGET_CPU_FAMILY = x86_64
  46. else
  47. HOST_MESON_TARGET_CPU_FAMILY = $(ARCH)
  48. endif
  49. # Avoid interpreter shebang longer than 128 chars
  50. define HOST_MESON_SET_INTERPRETER
  51. $(SED) '1s:.*:#!/usr/bin/env python3:' $(HOST_DIR)/bin/meson
  52. endef
  53. HOST_MESON_POST_INSTALL_HOOKS += HOST_MESON_SET_INTERPRETER
  54. $(eval $(host-python-package))