sqlite.mk 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. ################################################################################
  2. #
  3. # sqlite
  4. #
  5. ################################################################################
  6. SQLITE_VERSION = 3.49.0
  7. SQLITE_TAR_VERSION = 3490000
  8. SQLITE_SOURCE = sqlite-autoconf-$(SQLITE_TAR_VERSION).tar.gz
  9. SQLITE_SITE = https://www.sqlite.org/2025
  10. SQLITE_LICENSE = blessing
  11. SQLITE_LICENSE_FILES = tea/license.terms
  12. SQLITE_CPE_ID_VENDOR = sqlite
  13. SQLITE_INSTALL_STAGING = YES
  14. ifeq ($(BR2_PACKAGE_SQLITE_STAT4),y)
  15. SQLITE_CFLAGS += -DSQLITE_ENABLE_STAT4
  16. endif
  17. ifeq ($(BR2_PACKAGE_SQLITE_ENABLE_COLUMN_METADATA),y)
  18. SQLITE_CFLAGS += -DSQLITE_ENABLE_COLUMN_METADATA
  19. endif
  20. ifeq ($(BR2_PACKAGE_SQLITE_ENABLE_UNLOCK_NOTIFY),y)
  21. SQLITE_CFLAGS += -DSQLITE_ENABLE_UNLOCK_NOTIFY
  22. endif
  23. ifeq ($(BR2_PACKAGE_SQLITE_SECURE_DELETE),y)
  24. SQLITE_CFLAGS += -DSQLITE_SECURE_DELETE
  25. endif
  26. ifeq ($(BR2_PACKAGE_SQLITE_NO_SYNC),y)
  27. SQLITE_CFLAGS += -DSQLITE_NO_SYNC
  28. endif
  29. # Building with Microblaze Gcc 4.9 makes compiling to hang.
  30. # Work around using -O0
  31. ifeq ($(BR2_microblaze):$(BR2_TOOLCHAIN_GCC_AT_LEAST_5),y:)
  32. SQLITE_CFLAGS += $(TARGET_CFLAGS) -O0
  33. else
  34. # fallback to standard -O3 when -Ofast is present to avoid -ffast-math
  35. SQLITE_CFLAGS += $(subst -Ofast,-O3,$(TARGET_CFLAGS))
  36. endif
  37. ifeq ($(BR2_PACKAGE_NCURSES)$(BR2_PACKAGE_READLINE),yy)
  38. SQLITE_DEPENDENCIES += ncurses readline
  39. SQLITE_CFLAGS += -DHAVE_READLINE=1
  40. SQLITE_LDFLAGS += -lreadline -lncurses
  41. else ifeq ($(BR2_PACKAGE_NCURSES)$(BR2_PACKAGE_LIBEDIT),yy)
  42. SQLITE_DEPENDENCIES += ncurses libedit
  43. SQLITE_CFLAGS += -DHAVE_EDITLINE=1
  44. SQLITE_LDFLAGS += -ledit -lncurses
  45. else
  46. SQLITE_CONF_OPTS += --disable-readline
  47. endif
  48. ifeq ($(BR2_PACKAGE_SQLITE_ENABLE_FTS3),y)
  49. SQLITE_CONF_OPTS += --fts3
  50. endif
  51. ifeq ($(BR2_PACKAGE_SQLITE_ENABLE_JSON1),)
  52. SQLITE_CONF_OPTS += --disable-json
  53. endif
  54. SQLITE_CONF_ENV = CFLAGS="$(SQLITE_CFLAGS)" LDFLAGS="$(SQLITE_LDFLAGS)"
  55. define SQLITE_CONFIGURE_CMDS
  56. (cd $(@D); $(TARGET_CONFIGURE_OPTS) \
  57. $(if $(BR2_INSTALL_LIBSTDCPP),,CXX=false) \
  58. $(SQLITE_CONF_ENV) ./configure \
  59. --prefix=/usr \
  60. --host="$(GNU_TARGET_NAME)" \
  61. --build="$(GNU_HOST_NAME)" \
  62. --sysroot="$(STAGING_DIR)" \
  63. $(SQLITE_CONF_OPTS) \
  64. )
  65. endef
  66. define SQLITE_BUILD_CMDS
  67. $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
  68. endef
  69. define SQLITE_INSTALL_STAGING_CMDS
  70. $(TARGET_MAKE_ENV) $(MAKE) DESTDIR="$(STAGING_DIR)" -C $(@D) install
  71. endef
  72. define SQLITE_INSTALL_TARGET_CMDS
  73. $(TARGET_MAKE_ENV) $(MAKE) DESTDIR="$(TARGET_DIR)" -C $(@D) install
  74. endef
  75. define HOST_SQLITE_CONFIGURE_CMDS
  76. (cd $(@D); $(HOST_CONFIGURE_OPTS) \
  77. $(SQLITE_CONF_ENV) ./configure \
  78. --prefix=/usr \
  79. --host="$(GNU_HOST_NAME)" \
  80. --build="$(GNU_HOST_NAME)" \
  81. --sysroot="$(HOST_DIR)" \
  82. $(SQLITE_CONF_OPTS) \
  83. )
  84. endef
  85. define HOST_SQLITE_BUILD_CMDS
  86. $(HOST_MAKE_ENV) $(MAKE) -C $(@D)
  87. endef
  88. define HOST_SQLITE_INSTALL_CMDS
  89. $(HOST_MAKE_ENV) $(MAKE) DESTDIR="$(HOST_DIR)" -C $(@D) install
  90. endef
  91. $(eval $(generic-package))
  92. $(eval $(host-generic-package))