sqlite.mk 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. ################################################################################
  2. #
  3. # sqlite
  4. #
  5. ################################################################################
  6. SQLITE_VERSION = 3.51.0
  7. SQLITE_TAR_VERSION = 3510000
  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_RTREE),y)
  21. SQLITE_CFLAGS += -DSQLITE_ENABLE_RTREE
  22. endif
  23. ifeq ($(BR2_PACKAGE_SQLITE_ENABLE_UNLOCK_NOTIFY),y)
  24. SQLITE_CFLAGS += -DSQLITE_ENABLE_UNLOCK_NOTIFY
  25. endif
  26. ifeq ($(BR2_PACKAGE_SQLITE_SECURE_DELETE),y)
  27. SQLITE_CFLAGS += -DSQLITE_SECURE_DELETE
  28. endif
  29. ifeq ($(BR2_PACKAGE_SQLITE_NO_SYNC),y)
  30. SQLITE_CFLAGS += -DSQLITE_NO_SYNC
  31. endif
  32. # Building with Microblaze Gcc 4.9 makes compiling to hang.
  33. # Work around using -O0
  34. ifeq ($(BR2_microblaze):$(BR2_TOOLCHAIN_GCC_AT_LEAST_5),y:)
  35. SQLITE_CFLAGS += $(TARGET_CFLAGS) -O0
  36. else ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_104028),y)
  37. SQLITE_CFLAGS += $(TARGET_CFLAGS) -O0
  38. else
  39. # fallback to standard -O3 when -Ofast is present to avoid -ffast-math
  40. SQLITE_CFLAGS += $(subst -Ofast,-O3,$(TARGET_CFLAGS))
  41. endif
  42. ifeq ($(BR2_PACKAGE_NCURSES)$(BR2_PACKAGE_READLINE),yy)
  43. SQLITE_DEPENDENCIES += ncurses readline
  44. SQLITE_CFLAGS += -DHAVE_READLINE=1
  45. SQLITE_LDFLAGS += -lreadline -lncurses
  46. else ifeq ($(BR2_PACKAGE_NCURSES)$(BR2_PACKAGE_LIBEDIT),yy)
  47. SQLITE_DEPENDENCIES += ncurses libedit
  48. SQLITE_CFLAGS += -DHAVE_EDITLINE=1
  49. SQLITE_LDFLAGS += -ledit -lncurses
  50. else
  51. SQLITE_CONF_OPTS += --disable-readline
  52. endif
  53. ifeq ($(BR2_PACKAGE_SQLITE_ENABLE_FTS3),y)
  54. SQLITE_CONF_OPTS += --fts3
  55. endif
  56. ifeq ($(BR2_STATIC_LIBS),y)
  57. SQLITE_CONF_OPTS += --disable-shared
  58. endif
  59. SQLITE_CONF_ENV = CFLAGS="$(SQLITE_CFLAGS)" LDFLAGS="$(SQLITE_LDFLAGS)"
  60. # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101971
  61. define SQLITE_FIX_MAKEFILE
  62. chmod +w $(@D)/Makefile
  63. sed -i "s/-fPIC//" $(@D)/Makefile
  64. endef
  65. define SQLITE_CONFIGURE_CMDS
  66. (cd $(@D); $(TARGET_CONFIGURE_OPTS) \
  67. $(if $(BR2_INSTALL_LIBSTDCPP),,CXX=false) \
  68. $(SQLITE_CONF_ENV) ./configure \
  69. --prefix=/usr \
  70. --host="$(GNU_TARGET_NAME)" \
  71. --build="$(GNU_HOST_NAME)" \
  72. --sysroot="$(STAGING_DIR)" \
  73. --disable-rpath \
  74. --soname=legacy \
  75. $(SQLITE_CONF_OPTS) \
  76. )
  77. $(if $(BR2_m68k_cf),$(SQLITE_FIX_MAKEFILE))
  78. endef
  79. define SQLITE_BUILD_CMDS
  80. $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
  81. endef
  82. define SQLITE_INSTALL_STAGING_CMDS
  83. $(TARGET_MAKE_ENV) $(MAKE) DESTDIR="$(STAGING_DIR)" -C $(@D) install
  84. endef
  85. define SQLITE_INSTALL_TARGET_CMDS
  86. $(TARGET_MAKE_ENV) $(MAKE) DESTDIR="$(TARGET_DIR)" -C $(@D) install
  87. endef
  88. define HOST_SQLITE_CONFIGURE_CMDS
  89. (cd $(@D); $(HOST_CONFIGURE_OPTS) \
  90. ./configure \
  91. --prefix=/usr \
  92. --host="$(GNU_HOST_NAME)" \
  93. --build="$(GNU_HOST_NAME)" \
  94. --sysroot="$(HOST_DIR)" \
  95. --disable-readline \
  96. )
  97. endef
  98. define HOST_SQLITE_BUILD_CMDS
  99. $(HOST_MAKE_ENV) $(MAKE) -C $(@D)
  100. endef
  101. define HOST_SQLITE_INSTALL_CMDS
  102. $(HOST_MAKE_ENV) $(MAKE) DESTDIR="$(HOST_DIR)" -C $(@D) install
  103. endef
  104. $(eval $(generic-package))
  105. $(eval $(host-generic-package))