Use clang's preprocessor, rather than forking a process to run cpp
on Mac/Linux (and not having a built-in preprocessor solution at all on Windows.) Fixes issue #32.
This commit is contained in:
committed by
Matt Pharr
parent
fe7717ab67
commit
fac50ba454
20
Makefile
20
Makefile
@@ -2,9 +2,17 @@
|
||||
# ispc Makefile
|
||||
#
|
||||
|
||||
ARCH = $(shell uname)
|
||||
ARCH_OS = $(shell uname)
|
||||
ARCH_TYPE = $(shell arch)
|
||||
|
||||
CLANG=clang
|
||||
CLANG_LIBS = -lclangFrontendTool -lclangFrontend -lclangDriver \
|
||||
-lclangSerialization -lclangCodeGen -lclangParse -lclangSema \
|
||||
-lclangStaticAnalyzerFrontend -lclangStaticAnalyzerCheckers \
|
||||
-lclangStaticAnalyzerCore \
|
||||
-lclangAnalysis -lclangIndex -lclangRewrite \
|
||||
-lclangAST -lclangLex -lclangBasic
|
||||
|
||||
LLVM_LIBS=$(shell llvm-config --ldflags --libs) -lpthread -ldl
|
||||
LLVM_CXXFLAGS=$(shell llvm-config --cppflags)
|
||||
LLVM_VERSION_DEF=-DLLVM_$(shell llvm-config --version | sed s/\\./_/)
|
||||
@@ -18,10 +26,14 @@ CXXFLAGS=-g3 $(LLVM_CXXFLAGS) -I. -Iobjs/ -Wall $(LLVM_VERSION_DEF) \
|
||||
-DBUILD_DATE="\"$(BUILD_DATE)\"" -DBUILD_VERSION="\"$(BUILD_VERSION)\""
|
||||
|
||||
LDFLAGS=
|
||||
ifeq ($(ARCH),Linux)
|
||||
ifeq ($(ARCH_OS),Linux)
|
||||
# try to link everything statically under Linux (including libstdc++) so
|
||||
# that the binaries we generate will be portable across distributions...
|
||||
LDFLAGS=-static -L/usr/lib/gcc/x86_64-linux-gnu/4.4
|
||||
ifeq ($(ARCH_TYPE),x86_64)
|
||||
LDFLAGS=-static -L/usr/lib/gcc/x86_64-linux-gnu/4.4
|
||||
else
|
||||
LDFLAGS=-L/usr/lib/gcc/i686-redhat-linux/4.6.0
|
||||
endif
|
||||
endif
|
||||
|
||||
LEX=flex
|
||||
@@ -68,7 +80,7 @@ doxygen:
|
||||
|
||||
ispc: print_llvm_src dirs $(OBJS)
|
||||
@echo Creating ispc executable
|
||||
@$(CXX) $(LDFLAGS) -o $@ $(OBJS) $(LLVM_LIBS)
|
||||
@$(CXX) $(LDFLAGS) -o $@ $(OBJS) $(CLANG_LIBS) $(LLVM_LIBS)
|
||||
|
||||
ispc_test: dirs ispc_test.cpp
|
||||
@echo Creating ispc_test executable
|
||||
|
||||
Reference in New Issue
Block a user