写点什么

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

评论

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

Flink 实践教程-进阶(4):TOP-N

腾讯云大数据

flink 流计算 Oceanus

实用机器学习笔记二十一:集成学习之Bagging

打工人!

人工智能 机器学习 学习笔记 集成学习 12月日更

给弟弟的信第20封|珍爱生命,远离传销

大菠萝

28天写作

OceanBase 联合山东移动斩获殊荣:入选2021年信息技术应用创新安全优秀解决方案

OceanBase 数据库

信息安全 工信部 oceanbase 获奖 山东移动

身兼数职的Amazon DocumentDB,还有什么不为人知的功能?

亚马逊云科技 (Amazon Web Services)

Data

重磅消息 | Amazon MemoryDB for Redis闪亮登场!

亚马逊云科技 (Amazon Web Services)

Data

阿里云(腾讯云)服务器使用宝塔,搭建Python环境,运行 django 程序

梦想橡皮擦

12月日更

40张图+万字,从9个数据类型帮你稳稳的拿捏Redis 数据结构

华为云开发者联盟

数据库 redis 数据结构 Redis 数据结构

求适借力,共生共强|明道云伙伴大会(2021/秋)完满落幕

明道云

2021 年 25 大 DevOps 工具(上)

禅道项目管理

DevOps 工具

让自家APP跑小程序的技术产品都有哪些?

Speedoooo

ios开发 APP开发 容器安全 Andriod开发 小程序容器

21《重学JAVA》-- 集合 (三)

杨鹏Geek

Java25周年 28天写作 12月日更

MySQL从入门到入魔(03)

海拥(haiyong.site)

MySQL 数据库 28天写作 12月日更

科技助力新冠防疫——构建 COVID-19 知识图谱

亚马逊云科技 (Amazon Web Services)

Data

Java 性能调优必备利器—JMH

编程江湖

JMH java编程

The Data Way Vol.8|离开了代码,还能被称为工程师吗?

SphereEx

开源 ShardingSphere SphereEx OpenSEC 工程师文化

Java 开发之Linux 命令知识的积累

@零度

Java linux命令

为Amazon DMS数据库迁移任务建立自动化监控机制

亚马逊云科技 (Amazon Web Services)

Data

React vs Angular vs Vue.js 那个前端框架更好

编程江湖

前端开发 Javascript框架

quest2上手初体验

wood

28天写作 元宇宙 quest2

干货来了!神州数码 CIO 沈旸揭秘 Hackathon 背后的 TiDB 生态丨TiDB Hackathon 评委访谈

PingCAP

数字人民币成功落地需破解三大难点

CECBC

Dart 条件语句

坚果

flutter dart 28天写作 12月日更

关于Amazon Redshift性能调优的十大Tips

亚马逊云科技 (Amazon Web Services)

Data

用链式调用的方式来给代码减负

为自己带盐

dotnet 28天写作 12月日更

揭秘远程证明架构EAA:机密容器安全部署的最后一环 | 龙蜥技术

OpenAnolis小助手

容器 龙蜥社区

边缘AI研发落地生态挑战调研报告

华为云开发者联盟

机器学习 AI 边缘

为什么 SASE 很重要?

devpoint

SD-WAN sase 12月日更

netty系列之:一口多用,使用同一端口运行不同协议

程序那些事

Java Netty nio 程序那些事 12月日更

HIVE中临时表创建

编程江湖

大数据 Hive SQL

阿里云弹性计算首席架构师分享云上应用架构演进三大方向

阿里云弹性计算

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