1 .
include "../Makefile.inc"
2 .
include "../libsupc++/Makefile.src"
3 .
include "Makefile.headers"
4 SRCDIR
= ${GCCDIR}/libstdc
++-v3
6 .PATH
: ${SRCDIR}/libsupc
++
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
14 .PATH
: ${GCCDIR}/libgcc
16 # Vendor lists shared lib version as 6, not 9.
20 CFLAGS
+= -DIN_GLIBCPP_V3
-DHAVE_CONFIG_H
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
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
44 ctype_configure_char.
cc \
51 parallel_sources_1998
=
67 host_sources_extra_1998
= \
70 ${inst_sources_1998} \
71 ${parallel_sources_1998}
93 math_stubs_long_double.
cc \
100 ${host_sources_1998} \
101 ${host_sources_extra_1998}
103 inst_sources_2011
= \
110 condition_variable.
cc \
126 ldbl_compat_sources
=
127 parallel_compat_sources
=
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}
139 compatibility-c
++0x.
cc \
140 compatibility-atomic-c
++0x.
cc \
141 compatibility-thread-c
++0x.
cc
150 FLAGS_GROUPS
= gnu0x gnu11
151 gnu0x_FLAGS
= -std
=gnu
++0x
152 gnu11_FLAGS
= -std
=gnu
++11
153 gnu0x_FLAGS_FILES
= eh_ptr.
cc \
157 gnu11_FLAGS_FILES
= chrono.
cc \
158 condition_variable.
cc \
175 compatibility-c
++0x.
cc \
176 compatibility-atomic-c
++0x.
cc \
177 compatibility-thread-c
++0x.
cc
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
195 INCSGROUPS
+= ${i}_headers
196 ${i}_headersDIR
= ${HD}/${${i}_builddir
}
201 . for k in
${pb_headers
${i}}
202 . if
${PATHGROUP
:M
${k
:H
:T
}} == ""
204 PATH_
${k
:H
:T
}=${k
:H
:T
}
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}}
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
>