写点什么

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:155860

评论

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

弹性存储关键技术介绍

天翼云开发者社区

hash 弹性存储

Consul简介

天翼云开发者社区

Consul

Solana费用模式解读:与以太坊有何不同?

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

Mysql篇-语句执行计划详解(explain)

EquatorCoco

MySQL 数据库

如何绘制ER图?10个常用的ER图模板盘点!

职场工具箱

效率工具 职场 ER图 在线白板 办公软件

盈利有数!2024中国SaaS大会成功举办

新消费日报

利用商业智能增强业财融合,提高企业盈利能力

智达方通

企业管理 商业智能 全面预算管理 财务管理

数造科技亮相第26届高交会并接受媒体采访,以数据智能赋能未来

数造万象

大数据 数据治理 数据开发 科技 大模型

探索 GreptimeDB 中的索引技术:优化大规模时序数据查询性能

Greptime 格睿科技

数据库 索引 数据查询

springboot~jpa优雅的处理isDelete的默认值

不在线第一只蜗牛

Python spring Spring Boot

在浪漫的土耳其,开启5G-A与移动AI的相遇

白洞计划

腾讯 AICR : 智能化代码评审技术探索与应用实践(上)

cloud studio AI应用

人工智能 腾讯云 腾讯 AI 腾讯云AI代码助手

10个项目管理常见问题解答:包括难点和解决方法

薛同学

空间计算、物理计算、实时仿真与创造拥有「自主行为」的小狗 | 播客《编码人声》

声网

openEuler Summit 2024:凝聚产业创新力量,共建全球开源新生态

科技热闻

Rokid Glasses AR 眼镜发布,搭载通义 AI;3D 社交平台 SEELE 完成千万美元融资丨RTE 开发者日报

声网

浅谈网络文件系统原理

天翼云开发者社区

网络安全

使用漏桶和令牌桶实现API速率限制

左诗右码

inBuilder低代码平台新特性推荐第二十七期——表单集成流程配置

inBuilder低代码平台

低代码 表单

KWDB——面向 AIoT 场景的分布式多模数开源据库

KWDB数据库

数据库 开源 物联网 gitee 能源

成功实施数字化转型的关键:低代码平台在其中的角色

天津汇柏科技有限公司

低代码 数字化转型

DataOps for LLM 的数据工程技术架构实践

白鲸开源

Apache DolphinScheduler DataOps 开源商业化 白鲸开源 WhaleStudio

高效处理日均5000亿+数据:58集团基于Apache SeaTunnel的数据集成平台架构优化

白鲸开源

开源 数据集成 Apache SeaTunnel 数据集成平台 58集团

腾讯 AICR : 智能化代码评审技术探索与应用实践(下)

cloud studio AI应用

腾讯云 程序员 腾讯 AI 腾讯云AI代码助手

CI配置项,IT服务的关键要素

ServiceDesk_Plus

ci CMDB CI配置 配置管理数据库

SD-WAN怎样实现企业混合云组网

Ogcloud

SD-WAN 企业组网 SD-WAN组网 SD-WAN服务商 SDWAN

阿里巴巴工程师最新版 1180 道 Java 面试题及答案整理

采菊东篱下

java面试

Linux 用户必备的 4 大网站!

nn-30

操作系统 Linux、

敏捷教练对于效能提升来说是必须的吗?

思码逸研发效能

DevOps 敏捷开发 研发效能 研发效能管理 思码逸

DeSci概念崛起:CZ与V神的新赛道引爆MEME狂欢

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

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