AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

SQLite 将从 GNU Autotools 迁移到 Autosetup,团队警告:可能出现“某些构建级别的中断”

  • 2024-11-12
    北京
  • 本文字数:1034 字

    阅读完需:约 3 分钟

大小:458.83K时长:02:36
SQLite 将从 GNU Autotools 迁移到 Autosetup,团队警告:可能出现“某些构建级别的中断”

SQLite 团队正在将下一个版本 从 GNU Autotools 迁移到 Autosetup,并警告说,虽然这一变化对于大多数用户来说没什么影响,但“某些构建级别的中断是不可避免的”。因为这两种工具之间存在差异,并且自动构建过程使用的配置有很多种类。

 

这类工具的设计目标是根据开发人员的要求,通过编译时选项为本地环境正确配置并自定义构建(build)。工具的输出包括一个 makefile,其中包含了使用 make 实用程序构建项目时要执行的任务。

 

许多开源项目都在使用 GNU Autotools,但 SQLite 开发人员发现使用 Autosetup(由嵌入式 Linux 顾问 Steve Bennett 创建)有几个优势。Autosetup 由高级解释语言 TCL 驱动,而 GNU Autoconf 使用 GNU M4(一个宏处理器)生成 shell 脚本。由于“TCL 相对用户较为友好”,使 Autosetup 构建文件更易维护。

 

Autosetup 的另一个优点是,它的所有文件都保存在 SQLite 源代码树中,而 GNT Autotools 是外部依赖项。Fossil SCM 已经使用了 Autosetup,Fossil SCM 是由 D Richard Hipp 博士创建的软件配置管理器,他也是 SQLite 的开发人员。

 

Fossil 贡献者 Stephan Beal 在关于工具迁移的官方文章中提到,“对于那些只运行‘./configure && make’的人们来说,就算有变化也是很小的。” 话虽如此,Autotools 与 Autoconf 并不完全兼容。例如,SQLite 的 –enable-tempstore 选项在 Autosetup 中必须变为 –with-tempstore,其中 –enable 具有特殊含义。

 

最大的问题不是出在开发人员将 SQLite 构建为独立工具的场景中,而是将 SQLite 嵌入另一个项目的自动构建流程的情况。在某些情况下这可能需要重新配置。

 

另一个问题是 Autosetup 无法像 Autoconf 那样支持那么多平台,这将影响“更边缘的目标平台”,包括 BlackBerrry QNX。该团队建议“一个后备选项是为此类平台提供静态 makefile,类似于目前为 Windows 平台所做的那样。”

 

这次迁移表明 Hipp 的 SQLite 团队不愿意随波逐流。Hipp 是 Git 怀疑论者,很高兴使用 Fossil 进行源代码管理。Beal 表示,“Richard 的理念之一是‘自由意味着能够照顾好自己’,这一理念贯穿于他的所有软件项目,这些项目都避免了外部依赖,因为每个依赖都会降低项目的自由度……有时甚至会重新发明轮子(比如实现自己的 SCM)。”

 

放弃 Autoconf,转而使用一个不太知名但在他看来更优秀的工具,体现了他的性格特征。

 

原文链接:https://devclass.com/2024/10/24/sqlite-will-migrate-from-gnu-autotools-to-autosetup-team-warns-of-some-build-level-breakage/

2024-11-12 18:156243

评论

发布
暂无评论
发现更多内容

币安进军 Web3 钱包领域预示着几个重要的趋势和发展

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

GPTs数据泄露大语言模型安全刻不容缓,如何用AI Agent提升LLM应用安全系数?

王吉伟频道

数据安全 大语言模型 AI Agent AI智能体 RPA Agent

基于 PostgreSQL 构建 AI 电商产品图片相似度搜索方案

亚马逊云科技 (Amazon Web Services)

postgresql 向量数据库 生成式人工智能 Amazon SageMaker 大语言模型

先进制造业迎来利好新政:增值税加计抵减5%

用友BIP

税务

ROLA-IP海外IP代理全球动态ip代理用途分析

Geek_ccdd7f

全球代理HTTP的使用范围?罗拉ROLA-IP表现突出

Geek_ccdd7f

Vector Magic for mac 矢量图片转换工具

繁星

Vector Magic

NFTScan | 11.06~11.12 NFT 市场热点汇总

NFT Research

NFT\ NFTScan nft工具

第三期 |《实时洞察 智能运营一用友企业绩效管理白皮书》解读

用友BIP

企业绩效管理

Spring高手之路16——解析XML配置映射为BeanDefinition的源码

砖业洋__

spring源码 BeanDefinition分析 Spring框架内部工作 XML配置文件

许多朋友问我有没有好用的海外代理IP

Geek_ccdd7f

ROLA-IP在HTTP海外IP代理市场的优势

Geek_ccdd7f

网络安全专用产品有哪些?能一一列举出来吗?

行云管家

网络安全 防火墙 等保 安全运维

3大方面升级华为云CCE集群体验,助力集群高效运维管理

华为云开发者联盟

云原生 后端 华为云 华为云开发者联盟 华为云CCE容器服

清华-用友数智化领导力项目正式开课!

用友BIP

数智化领导力

使用Python调用API接口获取淘宝商品数据

Noah

MySQL 人脸向量,欧几里得距离相似查询

北桥苏

Python MySQL OpenCV dlib PyTorch

如何使用Python调用API接口获取淘宝商品数据

Noah

纺织行业如何利用数智人力迈向新型工业化

用友BIP

数智人力

IntelliJ IDEA 2023.2.5最新汉化版 支持M1

繁星

Java 开发 IntelliJ IDEA 2023

SQLite 将从 GNU Autotools 迁移到 Autosetup,团队警告:可能出现“某些构建级别的中断”_数据库_Tim Anderson_InfoQ精选文章