build: buildinfo.txt improvements

- cmake: drop `configure.os`.
  This also includes OS version, but thus far it's not important enough
  to include it.
- autotools: drop redundant, autotools-only `{target|host}.vendor`.
  (it's part of the triplet in `{target|host}`.)
- swap order to `*.cpu` -> `*.os` to match triplet-order.
- cmake: drop redundant `target`.
  It's manually filled and only in a (so far) few CI jobs. Let's revisit
  when this becomes useful.
- move `buildinfo.txt` to build root.
- dist: add `buildinfo.txt` to `DISTCLEANFILES`.
- autotools: detect human readable compiler version.
- autotools: replace `XXYY` `compiler.version` with "X.Y"-style.
  (also to match cmake.)
- autotools: use distinct `compiler_id` for Apple clang: `APPLECLANG`.
  To match cmake and also because the the "X.Y"-style version number
  is the Apple version, while `XXYY` was a value roughly translated to
  mainline llvm/clang version.
- show buildinfo at the end of the configure stage, when run in CI, or
  when `CURL_BUILDINFO` or `CURL_CI` env is set.

Follow-up to 1fdea16846 #14802
Assisted-by: Dan Fandrich
Ref: https://github.com/curl/curl/pull/14802#issuecomment-2334942991
Closes #14822
This commit is contained in:
Viktor Szakats 2024-09-07 02:43:35 +02:00
parent fdb8b40fed
commit 50e2cb5894
No known key found for this signature in database
GPG key ID: B5ABD165E2AEF201
9 changed files with 67 additions and 47 deletions

View file

@ -1559,11 +1559,11 @@ _EOF
])
dnl CURL_GENERATE_BUILDINFO_TXT
dnl CURL_PREPARE_BUILDINFO
dnl -------------------------------------------------
dnl Save build info for test runner to pick up and log
AC_DEFUN([CURL_GENERATE_BUILDINFO_TXT], [
AC_DEFUN([CURL_PREPARE_BUILDINFO], [
curl_pflags=""
case $host in
*-apple-*) curl_pflags="${curl_pflags} APPLE";;
@ -1592,22 +1592,19 @@ AC_DEFUN([CURL_GENERATE_BUILDINFO_TXT], [
curl_pflags="${curl_pflags} CROSS"
fi
squeeze curl_pflags
cat >./tests/buildinfo.txt <<_EOF
[@%:@] This is a generated file. Do not edit.
configure.tool: configure
configure.args: $ac_configure_args
host: $build
host.os: $build_os
host.cpu: $build_cpu
host.vendor: $build_vendor
target: $host
target.os: $host_os
target.cpu: $host_cpu
target.vendor: $host_vendor
target.flags: $curl_pflags
compiler: $compiler_id
compiler.version: $compiler_num
_EOF
curl_buildinfo="
buildinfo.configure.tool: configure
buildinfo.configure.args: $ac_configure_args
buildinfo.host: $build
buildinfo.host.cpu: $build_cpu
buildinfo.host.os: $build_os
buildinfo.target: $host
buildinfo.target.cpu: $host_cpu
buildinfo.target.os: $host_os
buildinfo.target.flags: $curl_pflags
buildinfo.compiler: $compiler_id
buildinfo.compiler.version: $compiler_ver
buildinfo.sysroot: $lt_sysroot"
])