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