-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathMakefile.am
More file actions
157 lines (140 loc) · 4.2 KB
/
Makefile.am
File metadata and controls
157 lines (140 loc) · 4.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
# -*- Makefile -*-
#
#
AM_CPPFLAGS = -I$(top_builddir) -I$(top_srcdir) -I$(top_srcdir)/include
ACLOCAL_AMFLAGS = -I acinclude
dist_bin_SCRIPTS = \
hgcclib.py \
hgccutils.py \
hgcompile.py \
hglink.py \
configlib.py
bin_SCRIPTS = \
hgccvars.py \
hgcc \
hg++
AM_LDFLAGS = -ldl
EXTRA_DIST = clang
if HAVE_CLANG
bin_PROGRAMS = ssthg_clang
ssthg_clang_SOURCES = \
clang/util.cc \
clang/main.cc \
clang/astVisitorGlobalVars.cc \
clang/pragmas.cc \
clang/computePragma.cc \
clang/computeVisitor.cc \
clang/replacePragma.cc \
clang/astConsumers.cc \
clang/frontendActions.cc \
clang/astVisitor.cc
if USE_REPLACEMENT_HEADERS
nobase_library_include_HEADERS += \
replacements/time.h
# replacements/sys/types.h
# replacements/linux/mmtimer.h \
# replacements/linux/limits.h \
# replacements/clear_symbol_macros.h \
# replacements/return_symbol_macros.h \
#replacements/sstmac_pthread_return.h \
# replacements/sys/sendfile.h \
# replacements/dlfcn.h \
#replacements/future \
#replacements/fstream \
#replacements/iostream \
#replacements/ios \
# replacements/ostream \
# replacements/istream \
#replacements/condition_variable \
#replacements/list \
#replacements/map \
#replacements/unordered_map \
#replacements/unordered_set \
#replacements/memory \
#replacements/mutex \
#replacements/thread \
#replacements/sched.h \
#replacements/pthread.h \
#replacements/unistd.h \
#replacements/cstring \
#replacements/cstdlib \
#replacements/stdlib.h \
#replacements/malloc.h \
#replacements/mm_malloc.h \
#replacements/string.h \
#replacements/queue \
#replacements/sstream \
#replacements/stack \
#replacements/set \
#replacements/string \
#replacements/vector \
#replacements/stdio.h \
#replacements/signal.h \
#replacements/sstmac_pthread_clear.h \
#replacements/wait.h \
#replacements/sys/time.h \
#replacements/sys/signal.h
endif
ssthg_clang_CXXFLAGS = -fno-rtti $(AM_CXXFLAGS)
ssthg_clang_CPPFLAGS = $(CLANG_CPPFLAGS) $(AM_CPPFLAGS) $(SST_CPPFLAGS)
if HAVE_CXX17
ssthg_clang_SOURCES += \
clang/annotatePragma.cc \
clang/memoizePragma.cc \
clang/memoizeVariableCaptureAnalyzer.cc \
clang/ompPuppetizePragma.cc \
clang/memoizeVariable.cc
old_standards=-std=c++11 -std=c++0x -std=c++1y -std=c++14 -std=c++1z
libclang17_a_CXXFLAGS = $(filter-out $(old_standards), $(sstmac_clang_CXXFLAGS))
library_includedir=$(includedir)/memoization
library_include_HEADERS = clang/memoization/capture.h
endif
# Install replacement headers directory (outside HAVE_CXX17, inside HAVE_CLANG)
install-data-local:
$(MKDIR_P) $(DESTDIR)$(includedir)/replacements
$(MKDIR_P) $(DESTDIR)$(includedir)/replacements/sys
$(MKDIR_P) $(DESTDIR)$(includedir)/replacements/linux
$(MKDIR_P) $(DESTDIR)$(includedir)/replacements/mpi
$(MKDIR_P) $(DESTDIR)$(includedir)/replacements/libraries
$(MKDIR_P) $(DESTDIR)$(includedir)/replacements/libraries/pthread
cp -r $(srcdir)/replacements/* $(DESTDIR)$(includedir)/replacements/
@# Copy configured files from build directory (overwrite .in files)
if test -f $(builddir)/replacements/sstmac_pthread_clear.h; then \
cp $(builddir)/replacements/sstmac_pthread_clear.h $(DESTDIR)$(includedir)/replacements/; \
fi
if test -f $(builddir)/replacements/libraries/pthread/sstmac_sys_types.h; then \
cp $(builddir)/replacements/libraries/pthread/sstmac_sys_types.h $(DESTDIR)$(includedir)/replacements/libraries/pthread/; \
fi
@# Remove .in files that have been configured
rm -f $(DESTDIR)$(includedir)/replacements/sstmac_pthread_clear.h.in
rm -f $(DESTDIR)$(includedir)/replacements/libraries/pthread/sstmac_sys_types.h.in
ssthg_clang_LDFLAGS = $(CLANG_LDFLAGS) \
-Wl,-rpath,@CLANG_INSTALL_DIR@/lib \
-lclang \
-lclangFrontend \
-lclangFrontendTool \
-lclangTooling \
-lclangBasic \
-lclangASTMatchers \
-lclangFormat \
-lclangFrontend \
-lclangDriver \
-lclangParse \
-lclangSerialization \
-lclangSema \
-lclangEdit \
-lclangAnalysis \
-lclangToolingCore \
-lclangAST \
-lclangRewrite \
-lclangLex \
-lclangBasic \
-lclangSupport \
-lclangAPINotes \
@CLANG_LIBTOOLING_LIBS@ \
@CLANG_LIBTOOLING_SYSTEM_LIBS@
# TODO Figure out why this was included
# if CLANG_NEED_LIBCPP
# ssthg_clang_LDFLAGS += -lclang-cpp
# endif
endif