libstdc++47: fix wrong vec.o inclusion
[dragonfly.git] / gnu / lib / gcc47 / libstdc++ / Makefile
CommitLineData
b450dd39
JM
1.include "../Makefile.inc"
2.include "../libsupc++/Makefile.src"
3.include "Makefile.headers"
4SRCDIR= ${GCCDIR}/libstdc++-v3
5.PATH: ${SRCDIR}
6.PATH: ${SRCDIR}/libsupc++
7.PATH: ${SRCDIR}/src
8.PATH: ${SRCDIR}/src/c++11
9.PATH: ${SRCDIR}/src/c++98
10.PATH: ${SRCDIR}/libmath
11.PATH: ${SRCDIR}/config/io
12.PATH: ${SRCDIR}/config/locale/dragonfly
13.PATH: ${SRCDIR}/config/locale/generic
14.PATH: ${GCCDIR}/gcc
15.PATH: ${GCCDIR}/libgcc
16
17# Vendor lists shared lib version as 6, not 9.
18LIB= stdc++
19SHLIB_MAJOR= 9
20
21CFLAGS+= -DIN_GLIBCPP_V3 -DHAVE_CONFIG_H
22CFLAGS+= -I${.CURDIR}
23CFLAGS+= -I${.OBJDIR}
24CFLAGS+= -I${GCCDIR}/gcc
25CFLAGS+= -I${GCCDIR}/libgcc
26CFLAGS+= -I${GCCDIR}/libiberty
27CFLAGS+= -I${GCCDIR}/include
28CFLAGS+= -I${GCCDIR}/libcpp/include
29CFLAGS+= -I${SRCDIR}/include
30CFLAGS+= -I${SRCDIR}/include/std
31CFLAGS+= -I${SRCDIR}/include/c_std
32CFLAGS+= -I${SRCDIR}/include/c_global
33CFLAGS+= -I${SRCDIR}/include/backward
8a014a40 34CFLAGS+= -I${SRCDIR}/libsupc++
b450dd39
JM
35CXXFLAGS+= -fno-implicit-templates
36CXXFLAGS+= -fdiagnostics-show-location=once
37CXXFLAGS+= -ffunction-sections -fdata-sections
38CXXFLAGS+= -Wno-deprecated
39LDFLAGS+= -Wl,--version-script=${.CURDIR}/libstdc++-symbols.ver
40
41THRLIB= ${.OBJDIR}/../../../../lib/libpthread/libpthread.so
42LDADD+= ${THRLIB} -lm
43DPADD+= ${THRLIB} ${LIBM}
44
45# Slightly modified from libstdc++/src/c++98/Makefile.in
46# sources_1998 is the equivalent of libc_98convenience.a
47# sources_2011 is the equivalent of libc_11convenience.a
48host_sources_1998 = \
49 atomicity.cc \
50 codecvt_members.cc \
51 collate_members.cc \
52 ctype_configure_char.cc \
53 ctype_members.cc \
54 messages_members.cc \
55 monetary_members.cc \
56 numeric_members.cc \
57 time_members.cc
58
59parallel_sources_1998 =
60
61inst_sources_1998 = \
62 allocator-inst.cc \
63 concept-inst.cc \
64 ext-inst.cc \
65 ios-inst.cc \
66 iostream-inst.cc \
67 istream-inst.cc \
68 locale-inst.cc \
69 misc-inst.cc \
70 ostream-inst.cc \
71 sstream-inst.cc \
72 streambuf-inst.cc \
73 wlocale-inst.cc
74
75host_sources_extra_1998 = \
76 basic_file.cc \
77 c++locale.cc \
78 ${inst_sources_1998} \
79 ${parallel_sources_1998}
80
81sources_1998 = \
82 bitmap_allocator.cc \
83 pool_allocator.cc \
84 mt_allocator.cc \
85 codecvt.cc \
86 complex_io.cc \
87 ctype.cc \
88 globals_io.cc \
89 hash_tr1.cc \
90 hashtable_tr1.cc \
91 ios.cc \
92 ios_failure.cc \
93 ios_init.cc \
94 ios_locale.cc \
95 list.cc \
96 locale.cc \
97 locale_init.cc \
98 locale_facets.cc \
99 localename.cc \
100 math_stubs_float.cc \
101 math_stubs_long_double.cc \
102 stdexcept.cc \
103 strstream.cc \
104 tree-cxx.cc \
105 istream.cc \
106 streambuf.cc \
107 valarray.cc \
108 ${host_sources_1998} \
109 ${host_sources_extra_1998}
110
111inst_sources_2011 = \
112 fstream-inst.cc \
113 string-inst.cc \
114 wstring-inst.cc
115
116sources_2011 = \
117 chrono.cc \
118 condition_variable.cc \
119 debug-cxx.cc \
120 functexcept.cc \
121 functional.cc \
122 future.cc \
123 hash_c++0x.cc \
124 hashtable_c++0x.cc \
125 limits.cc \
126 mutex.cc \
127 placeholders.cc \
128 regex.cc \
129 shared_ptr.cc \
130 system_error.cc \
131 thread.cc \
132 ${inst_sources_2011}
133
134ldbl_compat_sources =
135parallel_compat_sources =
136
137cxx98_sources = \
138 compatibility.cc \
139 compatibility-debug_list.cc \
140 compatibility-debug_list-2.cc \
141 compatibility-list.cc \
142 compatibility-list-2.cc \
143 ${ldbl_compat_sources} \
144 ${parallel_compat_sources}
145
146cxx11_sources = \
147 compatibility-c++0x.cc \
148 compatibility-atomic-c++0x.cc \
149 compatibility-thread-c++0x.cc
150
151SRCS+= ${SUPCXX} \
152 cp-demangle.c \
153 ${sources_1998} \
154 ${sources_2011} \
155 ${cxx98_sources} \
156 ${cxx11_sources}
157
158FLAGS_GROUPS= gnu0x gnu11
159gnu0x_FLAGS= -std=gnu++0x
160gnu11_FLAGS= -std=gnu++11
161gnu0x_FLAGS_FILES= eh_ptr.cc \
162 eh_throw.cc \
163 guard.cc \
164 nested_exception.cc
165gnu11_FLAGS_FILES= chrono.cc \
166 condition_variable.cc \
167 debug-cxx.cc \
168 functexcept.cc \
169 functional.cc \
170 future.cc \
171 hash_c++0x.cc \
172 hashtable_c++0x.cc \
173 limits.cc \
174 mutex.cc \
175 placeholders.cc \
176 regex.cc \
177 shared_ptr.cc \
178 system_error.cc \
179 thread.cc \
180 fstream-inst.cc \
181 string-inst.cc \
182 wstring-inst.cc \
183 compatibility-c++0x.cc \
184 compatibility-atomic-c++0x.cc \
185 compatibility-thread-c++0x.cc
186
187#generated sources
188SRCS+= unwind.h \
189 ${CONF_HEADERS:T} \
190 bits/gthr.h \
191 bits/gthr-default.h \
192 bits/c++config.h
193
194HD= ${INCLUDEDIR}/c++/${GCCPOINTVER}
195
196# These sections are detailed in Makefile.headers
197# parallel section is empty, skip it
198# make buildincludes, make installincludes before make depend
199glibcxx_srcdir= ${SRCDIR}
200HSECT= std bits bits_sup backward ext ext_compat tr1 tr2 decimal \
201 c_base c_compatibility debug profile profile_impl host supc
202PBSECT= 1 2 3 4 5 6 7
203
204.for i in ${HSECT}
205INCSGROUPS+= ${i}_headers
206${i}_headersDIR= ${HD}/${${i}_builddir}
207.endfor
208
209PATHGROUP=
210.for i in ${PBSECT}
211. for k in ${pb_headers${i}}
212. if ${PATHGROUP:M${k:H:T}} == ""
213PATHGROUP+=${k:H:T}
214PATH_${k:H:T}=${k:H:T}
215. endif
216PBG_${k:H:T}+=${k}
217. endfor
218.endfor
219
220INCSGROUPS+= PBG_pb_ds
221PBG_pb_dsDIR= ${HD}/${pb_builddir}
222
223INCSGROUPS+= PBG_detail
224PBG_detailDIR= ${HD}/${pb_builddir}/detail
225
226.for k in ${PATHGROUP:Npb_ds:Ndetail}
227INCSGROUPS+= PBG_${k}
228PBG_${k}DIR= ${HD}/${pb_builddir}/detail/${PATH_${k}}
229.endfor
230
231INCSGROUPS+= host_headers_extra
232host_headers_extraDIR= ${HD}/bits
233host_headers_extraNAME_basic_file_stdio.h= basic_file.h
234host_headers_extraNAME_c_locale.h= c++locale.h
235host_headers_extraNAME_c_io_stdio.h+= c++io.h
236host_headers_extraNAME_new_allocator_base.h= c++allocator.h
237
238CONF_HEADERS= locale/generic/c++locale_internal.h \
239 abi/compatibility.h
240
241atomicity.cc: ${SRCDIR}/config/cpu/generic/atomicity_builtins/atomicity.h
242 cp ${.ALLSRC} ${.TARGET}
243
244ctype_configure_char.cc: ${SRCDIR}/config/os/bsd/dragonfly/${.TARGET}
245 cp ${.ALLSRC} ${.TARGET}
246
247basic_file.cc: ${SRCDIR}/config/io/basic_file_stdio.cc
248 cp ${.ALLSRC} ${.TARGET}
249
250c++locale.cc: ${SRCDIR}/config/locale/dragonfly/c_locale.cc
251 cp ${.ALLSRC} ${.TARGET}
252
253unwind.h: unwind-generic.h
254 cp ${.ALLSRC} ${.TARGET}
255
256copybits:
257 mkdir -p bits
258
259.for F in ${CONF_HEADERS}
260${F:T}: copybits
261 cp ${SRCDIR}/config/${F} bits/
262.endfor
263
264# We can't add libiberty to the PATH because it will take the regex.o there
265# before compiling regex.cc into an object file. Just recompile
266
267cp-demangle.c: ${GCCDIR}/libiberty/${.TARGET}
268 cp ${.ALLSRC} ${.TARGET}
269
8a014a40 270# debug.cc, tree.cc and vec.cc are also getting pre-empted by gcc/ versions
b450dd39
JM
271debug-cxx.cc: ${SRCDIR}/src/c++11/debug.cc
272 cp ${.ALLSRC} ${.TARGET}
273
274tree-cxx.cc: ${SRCDIR}/src/c++98/tree.cc
275 cp ${.ALLSRC} ${.TARGET}
276
8a014a40
JM
277vec-cxx.cc: ${SRCDIR}/libsupc++/vec.cc
278 cp ${.ALLSRC} ${.TARGET}
279
b450dd39
JM
280CLEANDIRS+= bits
281CLEANFILES+= atomicity.cc basic_file.cc c++locale.cc \
282 ctype_configure_char.cc unwind.h \
8a014a40 283 cp-demangle.c debug-cxx.cc tree-cxx.cc vec-cxx.cc
b450dd39 284
72036313
JM
285depend all: bits/c++config.h
286
b450dd39 287.include <bsd.lib.mk>