Customize Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorized as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site. ... 

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

No cookies to display.

news pappernews papper
0

SQLite 告别 GNU Autotools,拥抱 Autosetup:构建方式的变革与潜在挑战

SQLite 团队宣布将从下一个版本开始,从 GNU Autotools迁移到 Autosetup。这一改变虽然对大多数用户来说影响不大,但团队也警告称,由于两种工具之间的差异,可能会出现“某些构建级别的中断”。

SQLite 作为一款轻量级、嵌入式的数据库引擎,在移动设备、嵌入式系统和 Web 应用中广泛应用。其开源的特性和易于使用的特点使其成为开发者们的首选。而 GNU Autotools 和 Autosetup 则是两种常见的构建系统,它们帮助开发者根据不同的平台和需求配置和构建软件。

为什么要迁移?

SQLite 团队选择迁移到 Autosetup,主要基于以下几个原因:

  • 易于维护: Autosetup 使用 TCL 语言驱动,相较于 GNU Autoconf 使用的 GNU M4 宏处理器,TCL更易于用户理解和维护。
  • 集成性: Autosetup 的所有文件都保存在 SQLite 源代码树中,而 GNU Autotools 则是外部依赖项,这使得 SQLite 的代码管理更加简洁。
  • Fossil SCM 的支持: SQLite 的开发团队使用 Fossil SCM进行版本控制,而 Fossil SCM 已经支持 Autosetup。

迁移带来的挑战:

虽然 SQLite 团队表示,对于大多数用户来说,迁移带来的影响很小,但仍然存在一些潜在的挑战:

  • 构建配置的差异: Autotools 和 Autosetup 在构建配置方面存在差异,例如 SQLite 的 –enable-tempstore 选项在 Autosetup 中必须变为 –with-tempstore。
  • 嵌入式场景的调整: 对于将 SQLite 嵌入到其他项目的开发者来说,可能需要重新配置构建流程。
  • 平台兼容性: Autosetup 无法像 Autoconf 那样支持那么多平台,这可能会影响一些边缘平台的构建。

未来展望:

SQLite 团队建议,对于无法使用 Autosetup 的平台,可以提供静态 makefile,类似于目前为 Windows 平台所做的方式。

SQLite 团队的理念:

SQLite 的开发者 Richard Hipp 博士一直秉持着“自由意味着能够照顾好自己”的理念,他认为外部依赖会降低项目的自由度,因此他更倾向于使用内部工具,甚至重新发明轮子。这次迁移到 Autosetup 也体现了这种理念。

总结:

SQLite 从 GNU Autotools 迁移到 Autosetup 是一个重要的变革,它将带来更易于维护的构建系统,但也可能带来一些挑战。对于大多数用户来说,影响很小,但开发者需要关注构建配置的差异,并根据需要进行调整。这次迁移也体现了 SQLite 团队对于自由和独立的追求。


>>> Read more <<<

Views: 0

0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注