Skip to content

Commit

Permalink
clang-18対応その2
Browse files Browse the repository at this point in the history
  • Loading branch information
yaneurao committed Jun 24, 2024
1 parent cc8368e commit 18beb27
Showing 1 changed file with 12 additions and 2 deletions.
14 changes: 12 additions & 2 deletions source/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -114,10 +114,9 @@ COMPILER = clang++
CPPFLAGS = -std=c++17 -fno-exceptions -fno-rtti -Wextra -MMD -MP -fpermissive
NVCC_CPPFLAGS = -std=c++17 -x cu -maxrregcount=0 --machine 64 --compile -cudart static -DNDEBUG -Xcompiler "-Ofast"
WCPPFLAGS =
LDFLAGS = -fuse-ld=lld
LDFLAGS =
LIBS =
INCLUDE = # -I../include
# note : LDFLAGSで -fuse-ld=lld を指定しないとUbuntu 24.04のclang-18でのlinkに失敗する。

# makeするときにCPPFLAGS,LDFLAGSを追加で指定したいときはこれを用いる。
EXTRA_CPPFLAGS =
Expand Down Expand Up @@ -167,6 +166,7 @@ endif

# clang用にCPPFLAGSなどを変更
ifneq (,$(findstring clang++,$(COMPILER)))

# stdlib
# CPPFLAGS += -stdlib=libstdc++

Expand All @@ -184,6 +184,16 @@ ifneq (,$(findstring clang++,$(COMPILER)))
# → 本当に消してしまっても大丈夫か?
WCPPFLAGS += -fno-threadsafe-statics

# note : LDFLAGSに -fuse-ld=lld を指定しないとUbuntu 24.04のclang-18でのlinkに失敗する。
# ⇨ このオプションはそれ以前のclangでもつけて問題ないのでclangならば必ずつけるようにする。
# ⇨ gccでコンパイルする時にこのオプションをつけるとエラーになるので、gccの時はつけてはいけない。
# note : macOSでは、デフォルトではclangのlinkerではなくld64を用いるので、この指定をするとエラーになる。
# ⇨ よってTARGET_CPUにAPPLEの文字が入っている場合は、これを付与しない。
ifeq (,$(findstring APPLE,$(TARGET_CPU)))
LDFLAGS = -fuse-ld=lld
endif


else
ifneq (,$(findstring g++,$(COMPILER)))
# mingw g++ で AVX512 向けビルドを行おうとするとエラーになる問題の回避
Expand Down

0 comments on commit 18beb27

Please sign in to comment.