2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

评论

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

Matlab常用图像处理命令108例(五)

timerring

图像处理

运维训练营第17周作业

好吃不贵

前端工程师leetcode算法面试必备-二分搜索算法(上)

js2030code

JavaScript LeetCode

A-Ops 数据库场景在线应用性能诊断案例

openEuler

数据库 Linux 操作系统 openEuler 性能测评

震惊,一行MD5居然让小伙伴都回不了家!!!

京东科技开发者

md5 京东云 京东技术 企业号 3 月 PK 榜

文盘Rust -- 安全连接 TiDB/Mysql

京东科技开发者

rust TiDB 京东云 京东技术 企业号 3 月 PK 榜

前端工程师leetcode算法面试必备-二分搜索算法(下)

js2030code

JavaScript LeetCode

用javascript分类刷leetcode3.动态规划(图文视频讲解)

js2030code

JavaScript LeetCode

博睿数据入选中国高科技高成长企业系列榜单

博睿数据

可观测性 智能运维 博睿数据 荣誉奖项 高科技企业

毕业设计

张贺

一天吃透分布式事务八股文

程序员大彬

Java 分布式事务

新版本发布!TDengine 3.0.3.0 为数据压缩、事件窗口等七大功能加“Buff”

TDengine

大数据 tdengine 开源 时序数据库 国产数据库

深入react源码看setState究竟做了什么?

flyzz177

React

2023算云融合产业大会-行业先驱!算力云服务领航者计划评选结果即将揭晓

中国IDC圈

算力 云算力 云计算,

@Transaction注解的失效场景

京东科技开发者

京东云 京东技术 企业号 3 月 PK 榜

PyTorch深度学习实战 | 搭建卷积神经网络进行图像分类与图像风格迁移

TiAmo

PyTorch 图像处理

JRC Flink流作业调优指南

京东科技开发者

Apache 京东云 京东技术 企业号 3 月 PK 榜

React-Hooks源码深度解读

goClient1992

React

看透react源码之感受react的进化

goClient1992

React

React Context源码是怎么实现的呢

flyzz177

React

Nautilus Chain 现已推出测试网“Triton ”,有哪些潜在的机会?

股市老人

React源码分析(一)Fiber

goClient1992

React

马克·安德森:纯粹产品护城河在硅谷少见,SaaS公司护城河是“分销”

B Impact

Amazon Detective 支持 Amazon EKS 上的 Kubernetes 工作负载以进行安全调查

亚马逊云科技 (Amazon Web Services)

精华推荐 |【深度挖掘RocketMQ底层源码】「生产故障分析系列」深度挖掘RocketMQ底层那些导致消息丢失的汇总盘点透析(TIMEOUT_CLEAN_QUEUE)broker busy

码界西柚

RocketMQ 消息队列 3月日更 原理分析 底层源码

细说react源码中的合成事件

flyzz177

React

深入探究 Go log 标准库

江湖十年

Go 后端 日志 log

这可能是你需要的React实战技巧

夏天的味道123

前端 React

mybatis plus怎么使用注解的方式执行原生sql

俊俊哥

mybatis Mybatis-Plus 原生sql

如何用好免费的chatGPT

劼哥stone

人工智能 openai ChatGPT

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