1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-07-12 03:59:15 +00:00

Makefile improvements for compiling on OS X

Add a Mac SSE4.2 target. Also change the Mac OS X minimum version to
10.6. Rationale: 97% of Macs run at least 10.6, version 10.9 is now
free, and using 10.6 as the minimum version gives a small 5% boost in
benchmark speed over versions using 10.0 as the minimum version.

Finally, enable Clang’s Link Time Optimization when compiling for the
Mac.

No functional change.
This commit is contained in:
Daylen Yang 2013-11-29 13:30:28 -08:00 committed by Marco Costalba
parent 8f5deaea61
commit 6ea5dc294c

View file

@ -175,6 +175,16 @@ ifeq ($(ARCH),linux-ppc-64)
sse = no sse = no
endif endif
ifeq ($(ARCH),osx-x86-64-modern)
arch = x86_64
os = osx
bits = 64
prefetch = yes
bsfq = yes
popcnt = yes
sse = yes
endif
ifeq ($(ARCH),osx-x86-64) ifeq ($(ARCH),osx-x86-64)
arch = x86_64 arch = x86_64
os = osx os = osx
@ -261,7 +271,7 @@ ifeq ($(comp),clang)
endif endif
ifeq ($(os),osx) ifeq ($(os),osx)
CXXFLAGS += -arch $(arch) -mmacosx-version-min=10.0 CXXFLAGS += -arch $(arch) -mmacosx-version-min=10.6
endif endif
### 3.3 General linker settings ### 3.3 General linker settings
@ -283,7 +293,7 @@ ifneq ($(comp),mingw)
endif endif
ifeq ($(os),osx) ifeq ($(os),osx)
LDFLAGS += -arch $(arch) -mmacosx-version-min=10.0 LDFLAGS += -arch $(arch) -mmacosx-version-min=10.6
endif endif
### 3.4 Debugging ### 3.4 Debugging
@ -326,8 +336,12 @@ ifeq ($(optimize),yes)
endif endif
ifeq ($(comp),clang) ifeq ($(comp),clang)
### -O4 requires a linker that supports LLVM's LTO ifeq ($(os),osx)
# Clang on OS X supports LTO
CXXFLAGS += -O4
else
CXXFLAGS += -O3 CXXFLAGS += -O3
endif
ifeq ($(os),osx) ifeq ($(os),osx)
ifeq ($(arch),i386) ifeq ($(arch),i386)
@ -410,6 +424,7 @@ help:
@echo "linux-ppc-64 > PPC-Linux 64 bit" @echo "linux-ppc-64 > PPC-Linux 64 bit"
@echo "osx-ppc-64 > PPC-Mac OS X 64 bit" @echo "osx-ppc-64 > PPC-Mac OS X 64 bit"
@echo "osx-ppc-32 > PPC-Mac OS X 32 bit" @echo "osx-ppc-32 > PPC-Mac OS X 32 bit"
@echo "osx-x86-64-modern > x86-Mac OS X 64 bit with popcnt support"
@echo "osx-x86-64 > x86-Mac OS X 64 bit" @echo "osx-x86-64 > x86-Mac OS X 64 bit"
@echo "osx-x86-32 > x86-Mac OS X 32 bit" @echo "osx-x86-32 > x86-Mac OS X 32 bit"
@echo "armv7 > ARMv7 32 bit" @echo "armv7 > ARMv7 32 bit"