Only enable lto on linux for now.

Was failing with clang, as the default clang linker doesn't
do LTO.
This commit is contained in:
Calvin Rose 2020-01-20 13:37:10 -06:00
parent 99c94a78d6
commit bbed72f39f
2 changed files with 7 additions and 6 deletions

View File

@ -37,7 +37,7 @@ MANPATH?=$(PREFIX)/share/man/man1/
PKG_CONFIG_PATH?=$(LIBDIR)/pkgconfig
DEBUGGER=gdb
CFLAGS:=$(CFLAGS) -std=c99 -Wall -Wextra -Isrc/include -Isrc/conf -fPIC -O2 -fvisibility=hidden -flto \
CFLAGS:=$(CFLAGS) -std=c99 -Wall -Wextra -Isrc/include -Isrc/conf -fPIC -O2 -fvisibility=hidden \
-DJANET_BUILD=$(JANET_BUILD)
LDFLAGS=-rdynamic
@ -51,6 +51,7 @@ ifeq ($(UNAME), Darwin)
LDCONFIG:=
else ifeq ($(UNAME), Linux)
CLIBS:=$(CLIBS) -lrt -ldl
CFLAGS+= -flto
endif
# For other unix likes, add flags here!
ifeq ($(UNAME), Haiku)

View File

@ -125,11 +125,11 @@
(def threads? (not (not (env 'thread/new))))
# Default flags for natives, but not required
(def default-lflags (if is-win ["/nologo"] ["-flto"]))
(def default-lflags (if is-win ["/nologo"] []))
(def default-cflags
(if is-win
["/nologo" "/MD"]
["-std=c99" "-Wall" "-Wextra" "-flto"]))
["-std=c99" "-Wall" "-Wextra"]))
# Link to pthreads
@ -140,13 +140,13 @@
(def- dynamic-cflags
(if is-win
["/LD"]
["-fPIC" "-flto"]))
["-fPIC"]))
(def- dynamic-lflags
(if is-win
["/DLL" ;thread-flags]
(if is-mac
["-shared" "-undefined" "dynamic_lookup" "-flto" ;thread-flags]
["-shared" "-flto" ;thread-flags])))
["-shared" "-undefined" "dynamic_lookup" ;thread-flags]
["-shared" ;thread-flags])))
(defn- opt
"Get an option, allowing overrides via dynamic bindings AND some