Skip to content

Commit

Permalink
Makefile: support lto on mingw, default to 64bits
Browse files Browse the repository at this point in the history
Clean and organize uppercase and spaces

fixes #2731

closes  #2763

No functional change
  • Loading branch information
unaiic authored and vondele committed Jun 24, 2020
1 parent 208c53d commit 11483fe
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 23 deletions.
1 change: 1 addition & 0 deletions AUTHORS
Expand Up @@ -155,6 +155,7 @@ Tom Vijlbrief (tomtor)
Tomasz Sobczyk (Sopel97)
Torsten Franz (torfranz, tfranzer)
Tracey Emery (basepr1me)
Unai Corzo (unaiic)
Uri Blass (uriblass)
Vince Negri (cuddlestmonkey)

Expand Down
34 changes: 11 additions & 23 deletions src/Makefile
Expand Up @@ -54,7 +54,7 @@ endif
### Section 2. High-level Configuration
### ==========================================================================
#
# flag --- Comp switch --- Description
# flag --- Comp switch --- Description
# ----------------------------------------------------------------------------
#
# debug = yes/no --- -DNDEBUG --- Enable/Disable debug mode
Expand All @@ -77,51 +77,49 @@ endif
optimize = yes
debug = no
sanitize = no
bits = 32
bits = 64
prefetch = no
popcnt = no
sse = no
pext = no

### 2.2 Architecture specific

ifeq ($(ARCH),general-32)
arch = any
bits = 32
endif

ifeq ($(ARCH),x86-32-old)
arch = i386
bits = 32
endif

ifeq ($(ARCH),x86-32)
arch = i386
bits = 32
prefetch = yes
sse = yes
endif

ifeq ($(ARCH),general-64)
arch = any
bits = 64
endif

ifeq ($(ARCH),x86-64)
arch = x86_64
bits = 64
prefetch = yes
sse = yes
endif

ifeq ($(ARCH),x86-64-modern)
arch = x86_64
bits = 64
prefetch = yes
popcnt = yes
sse = yes
endif

ifeq ($(ARCH),x86-64-bmi2)
arch = x86_64
bits = 64
prefetch = yes
popcnt = yes
sse = yes
Expand All @@ -131,6 +129,7 @@ endif
ifeq ($(ARCH),armv7)
arch = armv7
prefetch = yes
bits = 32
endif

ifeq ($(ARCH),armv8)
Expand All @@ -141,22 +140,20 @@ endif

ifeq ($(ARCH),ppc-32)
arch = ppc
bits = 32
endif

ifeq ($(ARCH),ppc-64)
arch = ppc64
bits = 64
popcnt = yes
prefetch = yes
endif


### ==========================================================================
### Section 3. Low-level configuration
### Section 3. Low-level Configuration
### ==========================================================================

### 3.1 Selecting compiler (default = gcc)

CXXFLAGS += -Wall -Wcast-qual -fno-exceptions -std=c++11 $(EXTRACXXFLAGS)
DEPENDFLAGS += -std=c++11
LDFLAGS += $(EXTRALDFLAGS)
Expand Down Expand Up @@ -347,17 +344,10 @@ endif
### needs access to the optimization flags.
ifeq ($(optimize),yes)
ifeq ($(debug), no)
ifeq ($(comp),$(filter $(comp),gcc clang))
CXXFLAGS += -flto
LDFLAGS += $(CXXFLAGS)
endif

ifeq ($(comp),mingw)
ifeq ($(KERNEL),Linux)
ifeq ($(comp),$(filter $(comp),gcc clang mingw))
CXXFLAGS += -flto
LDFLAGS += $(CXXFLAGS)
endif
endif
endif
endif

Expand All @@ -368,9 +358,8 @@ ifeq ($(OS), Android)
LDFLAGS += -fPIE -pie
endif


### ==========================================================================
### Section 4. Public targets
### Section 4. Public Targets
### ==========================================================================

help:
Expand Down Expand Up @@ -468,7 +457,7 @@ default:
help

### ==========================================================================
### Section 5. Private targets
### Section 5. Private Targets
### ==========================================================================

all: $(EXE) .depend
Expand Down Expand Up @@ -551,4 +540,3 @@ icc-profile-use:
-@$(CXX) $(DEPENDFLAGS) -MM $(SRCS) > $@ 2> /dev/null

-include .depend

4 comments on commit 11483fe

@snicolet
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The "support lto on mingw" part of this patch seems to be a regression for some devs, see
https://groups.google.com/forum/?fromgroups=#!topic/fishcooking/pCWZVmzdsOs

@vondele
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@snicolet can you open an issue for it.

@snicolet
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is something which looks related in this issue, already:
#2769

@vondele
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, thanks overlooked this.

Please sign in to comment.