写点什么

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

评论

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

AntDB入选《爱分析:2022数据智能厂商全景报告》

亚信AntDB数据库

AntDB AntDB数据库

双非二本程序员,年近30,5年间在大厂中横跳,工资翻了三番

程序知音

Java java面试 后端技术 秋招 Java面试八股文

计算机网络——媒体接入控制——静态划分信道

StackOverflow

编程 计算机网络 9月月更

计算机网络——媒体接入控制的基本概念

StackOverflow

编程 计算机网络 9月月更

架构三原则学习心得

Jack

架构 #架构训练营

易观分析对《上海市促进人工智能产业发展条例》的解读

易观分析

人工智能 上海

数据中台与数据平台有什么区别?

雨果

数据中台 数据平台

健康信息化不断建设——2022年8月互联网医疗月度观察

易观分析

医疗

英特尔发力“系统级代工”,为芯片制造带来全新可能

科技之家

知识经济时代的基石:知识协同

Baklib

Forrester发布中国数据治理生态报告,亚信科技AntDB数据库等四款数智产品入选

亚信AntDB数据库

AntDB AntDB数据库

AntDB数据库与鼎甲科技完成产品互认证,共筑数据安全防线

亚信AntDB数据库

AntDB AntDB数据库

数据中台打造企业数据能力组件中心

元年技术洞察

数据中台 SaaS服务应用 PaaS平台化能力

仅靠一文便火爆全网!开源阿里绝密800页JDK源码笔记:霸榜GitHub

Geek_0c76c3

Java 数据库 程序员 架构 开发

Netty高性能之Reactor模型

C++后台开发

后台开发 reactor 多线程 网络io模型 C++开发

【redis】Redis cluster是AP架构还是CP架构?

非晓为骁

redis 分布式架构 redis cluster 分布式理论

SaaS时代,您的企业与团队需要知识管理工具

Baklib

边缘计算在视频直播场景的应用与实践

火山引擎边缘云

边缘计算 视频直播 火山引擎边缘计算

一文读懂“云游戏”

Finovy Cloud

人工智能 云渲染 云游戏

存储资源盘活系统,“盘活”物联网架构难题(上)

天翼云开发者社区

千亿流量并发治理!Alibaba实战Sentinel笔记,为微服务保驾护航

Geek_0c76c3

Java 数据库 开源 程序员 架构

区块链商城dapp系统开发,代币模式定制

开发微hkkf5566

企业知识管理怎样做?一些解决方案分享!

Baklib

为什么说企业需要实施知识管理?

Baklib

javascript 高级编程 之 Array 用法总结

hellocoder2029

Vue

led显示屏的合理亮度很有必要

Dylan

LED显示屏 全彩LED显示屏 led显示屏厂家

分布式系统中自适应统计信息收集策略

KaiwuDB

架构---作业1

李某人

架构实战营

计算机网络——点对点协议PPP

StackOverflow

编程 计算机网络 9月月更

MySQL查询数据库表记录数

源字节1号

AX200NGW//2×2.4GHz 2x5GHz MT7915 MT7975 //AR9582 2x 2 900M 802.11an//network card//wallys

wallys-wifi6

MT7915 AX200NGW AR9223

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