Fix for Cygwin's environment build-profile
authorproukornew <proukornevv@gmail.com>
Thu, 13 May 2021 21:49:28 +0000 (00:49 +0300)
committerStéphane Nicolet <cassio@free.fr>
Wed, 16 Jun 2021 23:14:20 +0000 (01:14 +0200)
The Cygwin environment has two g++ compilers, each with a different problem
for compiling  Stockfish at the moment:

(a) g++.exe : full posix build compiler, linked to cygwin dll.

    => This one has a problem embedding the net.

(b) x86_64-w64-mingw32-g++.exe : native Windows build compiler.

    => This one manages to embed the net, but has a problem related to libgcov
       when we use the profile-build target of Stockfish.

This patch solves the problem for compiler (b), so that our recommended command line
if you want to build an optimized version of Stockfish on Cygwin becomes something
like the following (you can change the ARCH value to whatever you want, but note
the COMP and CXX variables pointing at the right compiler):

```
   make -j profile-build ARCH=x86-64-modern COMP=mingw CXX=x86_64-w64-mingw32-c++.exe
```

closes https://github.com/official-stockfish/Stockfish/pull/3463

No functional change

AUTHORS
src/Makefile

diff --git a/AUTHORS b/AUTHORS
index 7e63591..1334844 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -23,6 +23,7 @@ Alfredo Menezes (lonfom169)
 Ali AlZhrani (Cooffe)
 Andrew Grant (AndyGrant)
 Andrey Neporada (nepal)
+Andreï Vetrov (proukornew)
 Andy Duplain
 Antoine Champion (antoinechampion)
 Aram Tumanian (atumanian)
index 33a270f..9508e18 100644 (file)
@@ -884,13 +884,13 @@ clang-profile-use:
 
 gcc-profile-make:
        $(MAKE) ARCH=$(ARCH) COMP=$(COMP) \
-       EXTRACXXFLAGS='-fprofile-generate' \
+       EXTRACXXFLAGS='-fprofile-generate="./"' \
        EXTRALDFLAGS='-lgcov' \
        all
 
 gcc-profile-use:
        $(MAKE) ARCH=$(ARCH) COMP=$(COMP) \
-       EXTRACXXFLAGS='-fprofile-use -fno-peel-loops -fno-tracer' \
+       EXTRACXXFLAGS='-fprofile-use="./" -fno-peel-loops -fno-tracer' \
        EXTRALDFLAGS='-lgcov' \
        all