写点什么

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

评论

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

敏捷领导力(CAL E+T+O)认证在线培训 | 2022年8月18-20日

ShineScrum

敏捷 敏捷领导力 CAL 世界级敏捷领导力大师

跨平台应用开发进阶(十六) :uni-app实现H5页面唤醒APP

No Silver Bullet

uni-app App 5月月更 H5页面

【直播回顾】OpenHarmony知识赋能五期第六课——子系统相机解读

OpenHarmony开发者

OpenHarmony

锅圈如何利用 Zadig 从容落地运维容器化建设

Zadig

DevOps 云原生 CI/CD 持续交付

监控系统报警级别设定

焦振清

监控系统 报警级别

喜讯!「凡泰极客」中标「廊坊银行」小程序平台应用建设项目

FinClip

小程序 finclip 廊坊银行

都是限制,都是秘密,JS逆向某建筑市场数据,python爬虫120例

梦想橡皮擦

5月月更

GraphQL初探

RingCentral铃盛

JavaScript graphql

回顾|Flink CDC Meetup(附 PPT 下载)

Apache Flink

大数据 flink 编程 流计算 实时计算

Flink 1.15 新功能架构解析:高效稳定的通用增量 Checkpoint

Apache Flink

大数据 flink 编程 流计算 实时计算

打造TOB企业流量场,钉钉将推出“视频号”,提升CDN性能是关键

郑州埃文科技

钉钉 CDN加速 IP地址 IP定位 网络优化

沉浸式体验网易云信在线 KTV

网易云信

音视频技术

如何使用 Restful ABAP Programming 编程模型开发一个支持增删改查的 Fiori 应用

汪子熙

RESTful SAP abap Fiori 5月月更

私有化IM内置专属文档中心,助力企业协作闭环

BeeWorks

PHP实现令牌桶限流Redis list列表 Lpush rpop 实现令牌桶 - 限流 PHP实例

Owen Zhang

php

【网易云信】沉浸式体验网易云信在线 KTV

网易智企

音视频

英特尔投资47亿构建巨型实验室所谓何?数据中心已然进入“液冷时代”

GPU算力

【网易云商】TypeScript 进阶指南,突破基本类型

网易智企

typescript

Docker下RabbitMQ四部曲之二:细说RabbitMQ镜像制作

程序员欣宸

Java RabbitMQ 5月月更

微信朋友圈的高可用复杂度

joak

java培训如何减少 try-catch,这样做才优雅

@零度

JAVA开发

幸运哈希defi游戏系统开发方案(防作弊)

开发微hkkf5566

大数据培训用SQL来实现用户行为漏斗分析

@零度

大数据开发

大规模C++编译性能优化系统OMAX介绍

百度Geek说

后端

web前端培训复盘30+技术点(满满干货,建议收藏)

@零度

前端开发

企业实施知识管理建设的7条建议

小炮

深度学习六十年简史

OneFlow

人工智能 机器学习 深度学习

《0次与10000次》:让坏事发生0次,让好事发生10000次

郭明

阿里云移动研发平台EMAS:4月产品动态更新

移动研发平台EMAS

阿里云 用户增长 研发工具 移动测试 移动推送

域名被劫持应该如何处理

源字节1号

软件开发

二、KVM架构概述

穿过生命散发芬芳

kvm 5月月更

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