build provenance and version_control.F90

源码基线:LMDZ.COMMON-6.3\LMDZ.COMMON。 Mars 运行参与度:必经构建层。

当前机制

makelmdz_fcm 在构建时生成:

libf/misc/version_control.F90

关键位置:

行号 符号/变量 作用
makelmdz_fcm:590 version_F90file 生成目标。
makelmdz_fcm:593 default_filename 默认输出 pgrm_version_control.txt
makelmdz_fcm:641 MODULE version_control 运行时模块。
makelmdz_fcm:677 print_pgrm_version --version [file] 调用入口。

输出包括编译命令、日期、用户、主机、当前目录,以及 Git/SVN metadata、status、diff 信息。这个信息被编译进二进制,不依赖运行目录仍是源码仓库。

关联构建变化

变化 影响
SUFF_DIR build config 目录 suffix 与可执行 suffix 分离。
debug suffix debug build 可进入独立配置目录。
-clean 清理 build 产物和 dimensions.h
failure cleanup fcm build 失败后移除 stale .lock 并失败退出。
bld.cfg %CONFIG_NAME 使用 %{ARCH}%{SUFF_DIR},且不再包含 src::evolution %EVOLUTION

复现清单

  1. 保存完整编译命令和 --version 输出。
  2. 保存实际 arch 与 suffix 展开后的 build 目录。
  3. 不再把 libf/evolution 当作 当前 COMMON 构建输入。
  4. 构建失败后重试前,确认 .lockdimensions.h 清理状态。

相关页面