mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-21 01:27:16 +08:00
Allow cross compilation of Windows binaries on a Linux system
that are PGO, LTO, and statically linked. Credit: pasquale....@gmail.com No functional change Resolves #505
This commit is contained in:
19
src/Makefile
19
src/Makefile
@@ -159,7 +159,11 @@ endif
|
|||||||
|
|
||||||
ifeq ($(COMP),mingw)
|
ifeq ($(COMP),mingw)
|
||||||
comp=mingw
|
comp=mingw
|
||||||
CXX=g++
|
ifeq ($(UNAME),Linux)
|
||||||
|
CXX=x86_64-w64-mingw32-g++-posix
|
||||||
|
else
|
||||||
|
CXX=g++
|
||||||
|
endif
|
||||||
CXXFLAGS += -Wextra -Wshadow
|
CXXFLAGS += -Wextra -Wshadow
|
||||||
LDFLAGS += -static
|
LDFLAGS += -static
|
||||||
endif
|
endif
|
||||||
@@ -307,7 +311,7 @@ ifeq ($(pext),yes)
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
### 3.11 Link Time Optimization, it works since gcc 4.5 but not on mingw.
|
### 3.11 Link Time Optimization, it works since gcc 4.5 but not on mingw under windows.
|
||||||
### This is a mix of compile and link time options because the lto link phase
|
### This is a mix of compile and link time options because the lto link phase
|
||||||
### needs access to the optimization flags.
|
### needs access to the optimization flags.
|
||||||
ifeq ($(comp),gcc)
|
ifeq ($(comp),gcc)
|
||||||
@@ -319,6 +323,17 @@ ifeq ($(comp),gcc)
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(UNAME),Linux)
|
||||||
|
ifeq ($(comp),mingw)
|
||||||
|
ifeq ($(optimize),yes)
|
||||||
|
ifeq ($(debug),no)
|
||||||
|
CXXFLAGS += -flto
|
||||||
|
LDFLAGS += $(CXXFLAGS)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
### 3.12 Android 5 can only run position independent executables. Note that this
|
### 3.12 Android 5 can only run position independent executables. Note that this
|
||||||
### breaks Android 4.0 and earlier.
|
### breaks Android 4.0 and earlier.
|
||||||
ifeq ($(arch),armv7)
|
ifeq ($(arch),armv7)
|
||||||
|
|||||||
Reference in New Issue
Block a user