From e594aa74290cf37881432f268befde9ad3f3c498 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ste=CC=81phane=20Nicolet?= Date: Thu, 14 Sep 2023 11:04:36 +0200 Subject: [PATCH] Export makefile ARCH in binary Example of the `./stockfish compiler` command: Compiled by : g++ (GNUC) 10.3.0 on Apple Compilation architecture : x86-64-bmi2 Compilation settings : 64bit BMI2 AVX2 SSE41 SSSE3 SSE2 POPCNT Compiler __VERSION__ macro : 10.3.0 closes https://github.com/official-stockfish/Stockfish/pull/4789 no functional change --- src/Makefile | 5 +++++ src/misc.cpp | 16 ++++++++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/Makefile b/src/Makefile index bf483f8c..e7c06389 100644 --- a/src/Makefile +++ b/src/Makefile @@ -715,6 +715,11 @@ ifneq ($(GIT_DATE), ) CXXFLAGS += -DGIT_DATE=$(GIT_DATE) endif +### 3.7.3 Try to include architecture +ifneq ($(ARCH), ) + CXXFLAGS += -DARCH=$(ARCH) +endif + ### 3.8 Link Time Optimization ### This is a mix of compile and link time options because the lto link phase ### needs access to the optimization flags. diff --git a/src/misc.cpp b/src/misc.cpp index 83ea8e10..aecc4d23 100644 --- a/src/misc.cpp +++ b/src/misc.cpp @@ -200,7 +200,7 @@ std::string compiler_info() { /// _WIN32 Building on Windows (any) /// _WIN64 Building on Windows 64 bit - std::string compiler = "\nCompiled by "; + std::string compiler = "\nCompiled by : "; #if defined(__INTEL_LLVM_COMPILER) compiler += "ICX "; @@ -253,8 +253,15 @@ std::string compiler_info() { compiler += " on unknown system"; #endif - compiler += "\nCompilation settings include: "; - compiler += (Is64Bit ? " 64bit" : " 32bit"); + compiler += "\nCompilation architecture : "; + #if defined(ARCH) + compiler += stringify(ARCH); + #else + compiler += "(undefined architecture)"; + #endif + + compiler += "\nCompilation settings : "; + compiler += (Is64Bit ? "64bit" : "32bit"); #if defined(USE_VNNI) compiler += " VNNI"; #endif @@ -288,12 +295,13 @@ std::string compiler_info() { compiler += " DEBUG"; #endif - compiler += "\n__VERSION__ macro expands to: "; + compiler += "\nCompiler __VERSION__ macro : "; #ifdef __VERSION__ compiler += __VERSION__; #else compiler += "(undefined macro)"; #endif + compiler += "\n"; return compiler; -- 2.39.2