* c.opt: Add -std=gnu++14.
[gcc.git] / libcilkrts / Makefile.am
1 # @copyright
2 # Copyright (C) 2011, 2013, Intel Corporation
3 # All rights reserved.
4 #
5 # @copyright
6 # Redistribution and use in source and binary forms, with or without
7 # modification, are permitted provided that the following conditions
8 # are met:
9 #
10 # * Redistributions of source code must retain the above copyright
11 # notice, this list of conditions and the following disclaimer.
12 # * Redistributions in binary form must reproduce the above copyright
13 # notice, this list of conditions and the following disclaimer in
14 # the documentation and/or other materials provided with the
15 # distribution.
16 # * Neither the name of Intel Corporation nor the names of its
17 # contributors may be used to endorse or promote products derived
18 # from this software without specific prior written permission.
19 #
20 # @copyright
21 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 # HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26 # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
27 # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
28 # OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
29 # AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
31 # WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32 # POSSIBILITY OF SUCH DAMAGE.
33
34 AUTOMAKE_OPTIONS = foreign
35
36 # Use when building GCC
37 ACLOCAL_AMFLAGS = -I .. -I ../config
38
39 # Compiler and linker flags.
40 GENERAL_FLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/runtime -I$(top_srcdir)/runtime/config/$(config_dir) -DIN_CILK_RUNTIME=1
41 # GENERAL_FLAGS += -D_Cilk_spawn="" -D_Cilk_sync="" -D_Cilk_for=for
42
43 # Enable Intel Cilk Plus extension
44 GENERAL_FLAGS += -fcilkplus
45
46 AM_CFLAGS = $(GENERAL_FLAGS) -std=c99
47 AM_CPPFLAGS = $(GENERAL_FLAGS)
48 AM_LDFLAGS = -lpthread
49
50 # May be used by toolexeclibdir.
51 gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
52
53 cilkincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/cilk
54
55 # Target list.
56 toolexeclib_LTLIBRARIES = libcilkrts.la
57 nodist_cilkinclude_HEADERS = include/cilk/cilk.h
58
59 libcilkrts_la_SOURCES = \
60 runtime/config/$(config_dir)/cilk-abi-vla.c \
61 runtime/config/$(config_dir)/os-unix-sysdep.c \
62 runtime/bug.cpp \
63 runtime/cilk-abi.c \
64 runtime/cilk-abi-cilk-for.cpp \
65 runtime/cilk-abi-vla-internal.c \
66 runtime/cilk_api.c \
67 runtime/cilk_fiber.cpp \
68 runtime/cilk_fiber-unix.cpp \
69 runtime/cilk_malloc.c \
70 runtime/c_reducers.c \
71 runtime/except-gcc.cpp \
72 runtime/frame_malloc.c \
73 runtime/full_frame.c \
74 runtime/global_state.cpp \
75 runtime/jmpbuf.c \
76 runtime/local_state.c \
77 runtime/metacall_impl.c \
78 runtime/os_mutex-unix.c \
79 runtime/os-unix.c \
80 runtime/pedigrees.c \
81 runtime/record-replay.cpp \
82 runtime/reducer_impl.cpp \
83 runtime/scheduler.c \
84 runtime/signal_node.c \
85 runtime/spin_mutex.c \
86 runtime/stats.c \
87 runtime/symbol_test.c \
88 runtime/sysdep-unix.c \
89 runtime/worker_mutex.c
90
91
92 # Load the $(REVISION) value.
93 include include/internal/rev.mk
94
95 #libcilkrts_la_LDFLAGS = -rpath '$(libdir)'
96 libcilkrts_la_LDFLAGS = -version-info 5:0:0
97 libcilkrts_la_LDFLAGS += -lpthread @lt_cv_dlopen_libs@
98
99 # If we're building on Linux, use the Linux version script
100 if LINUX_LINKER_SCRIPT
101 libcilkrts_la_LDFLAGS += -Wl,--version-script,$(srcdir)/runtime/linux-symbols.ver
102 endif
103
104 # If we're building on MacOS, use the Mac versioning
105 if MAC_LINKER_SCRIPT
106 libcilkrts_la_LDFLAGS += -Wl,-exported_symbols_list,$(srcdir)/runtime/mac-symbols.txt
107 endif
108
109
110 # Hack for Cygwin
111 libcilkrts_la_LDFLAGS += -no-undefined
112
113 # C/C++ header files for Cilk.
114 # cilkincludedir = $(includedir)/cilk
115 cilkincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include/cilk
116 cilkinclude_HEADERS = \
117 include/cilk/cilk_api.h \
118 include/cilk/cilk_api_linux.h \
119 include/cilk/cilk.h \
120 include/cilk/cilk_stub.h \
121 include/cilk/cilk_undocumented.h \
122 include/cilk/common.h \
123 include/cilk/holder.h \
124 include/cilk/hyperobject_base.h \
125 include/cilk/metaprogramming.h \
126 include/cilk/reducer_file.h \
127 include/cilk/reducer.h \
128 include/cilk/reducer_list.h \
129 include/cilk/reducer_max.h \
130 include/cilk/reducer_min.h \
131 include/cilk/reducer_min_max.h \
132 include/cilk/reducer_opadd.h \
133 include/cilk/reducer_opand.h \
134 include/cilk/reducer_opmul.h \
135 include/cilk/reducer_opor.h \
136 include/cilk/reducer_opxor.h \
137 include/cilk/reducer_ostream.h \
138 include/cilk/reducer_string.h
139
140
141 # Work around what appears to be a GNU make bug handling MAKEFLAGS
142 # values defined in terms of make variables, as is the case for CC and
143 # friends when we are called from the top level Makefile.
144 AM_MAKEFLAGS = \
145 "AR_FLAGS=$(AR_FLAGS)" \
146 "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
147 "CFLAGS=$(CFLAGS)" \
148 "CXXFLAGS=$(CXXFLAGS)" \
149 "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
150 "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
151 "INSTALL=$(INSTALL)" \
152 "INSTALL_DATA=$(INSTALL_DATA)" \
153 "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
154 "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
155 "JC1FLAGS=$(JC1FLAGS)" \
156 "LDFLAGS=$(LDFLAGS)" \
157 "LIBCFLAGS=$(LIBCFLAGS)" \
158 "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
159 "MAKE=$(MAKE)" \
160 "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
161 "PICFLAG=$(PICFLAG)" \
162 "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
163 "SHELL=$(SHELL)" \
164 "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
165 "exec_prefix=$(exec_prefix)" \
166 "infodir=$(infodir)" \
167 "libdir=$(libdir)" \
168 "prefix=$(prefix)" \
169 "includedir=$(includedir)" \
170 "AR=$(AR)" \
171 "AS=$(AS)" \
172 "LD=$(LD)" \
173 "LIBCFLAGS=$(LIBCFLAGS)" \
174 "NM=$(NM)" \
175 "PICFLAG=$(PICFLAG)" \
176 "RANLIB=$(RANLIB)" \
177 "DESTDIR=$(DESTDIR)"
178
179 MAKEOVERRIDES=
180