Lines Matching full:libc
4 Building libc++
19 The basic steps needed to build libc++ are:
26 #. Checkout libc++:
32 #. Checkout libc++abi:
38 #. Configure and build libc++ with libc++abi:
42 Clang is the preferred compiler when building and using libc++.
49 For more information about configuring libc++ see :ref:`CMake Options`.
51 * ``make cxx`` --- will build libc++ and libc++abi.
54 Shared libraries for libc++ and libc++ abi should now be present in llvm/build/lib.
55 See :ref:`using an alternate libc++ installation <alternate libcxx>`
57 #. **Optional**: Install libc++ and libc++abi
59 If your system already provides a libc++ installation it is important to be
61 select a safe place to install libc++.
66 * Replacing your systems libc++ installation could render the system non-functional.
67 * Mac OS X will not boot without a valid copy of ``libc++.1.dylib`` in ``/usr/lib``.
70 The instructions are for building libc++ on
71 FreeBSD, Linux, or Mac using `libc++abi`_ as the C++ ABI library.
80 $ # Check out llvm, libc++ and libc++abi.
146 .. _`libc++abi`: http://libcxxabi.llvm.org/
168 The C++ compiler to use when building and testing libc++.
173 libc++ specific options
180 Toggle the installation of the library portion of libc++.
186 Toggle the installation of the libc++ headers.
192 Build libc++ with assertions enabled.
198 Build libc++ as a 32 bit library. Also see `LLVM_BUILD_32_BITS`.
204 Build libc++ as a shared library. Either `LIBCXX_ENABLE_SHARED` or
211 Build libc++ as a static library. Either `LIBCXX_ENABLE_SHARED` or
223 Define libc++ destination prefix.
229 Do not export any symbols from the static libc++ library. This is useful when
230 This is useful when the static libc++ library is being linked into shared
232 C++ library. We want to avoid avoid exporting any libc++ symbols in that case.
236 libc++experimental Specific Options
243 Build and test libc++experimental.a.
249 Install libc++experimental.a alongside libc++.
256 Build filesystem as a standalone library libc++fs.a.
262 Install libc++fs.a alongside libc++.
273 Select the ABI library to build libc++ against.
281 Provide the path to the ABI library that libc++ should link against.
287 If this option is enabled, libc++ will try and link the selected ABI library
295 This option generate and installs a linker script as ``libc++.so`` which
303 libc++abi is the C++ ABI library used.
306 libc++ Feature Options
313 Build libc++ with exception support.
319 Build libc++ with run time type information.
325 Build the libc++ benchmark tests and the Google Benchmark library needed
332 A semicolon list of arguments to pass when running the libc++ benchmarks using the
341 **Values**:: ``libc++``, ``libstdc++``
343 Build the libc++ benchmark tests and Google Benchmark library against the
345 compare libc++ to libstdc++ by building the benchmark tests against both
363 libc++ ABI Feature Options
366 The following options allow building libc++ for a different ABI version.
372 Defines the target ABI version of libc++.
378 Build the "unstable" ABI version of libc++. Includes all ABI changing features
386 custom versions of libc++ with unique symbol names in order to prevent conflicts or ODR issues
387 with other libc++ versions.
391 conflicts with other names defined by libc++, both now and in the future. In particular, inline
392 … namespaces of the form ``__[0-9]+`` are strictly reserved by libc++ and may not be used by users.
393 Doing otherwise could cause conflicts and hinder libc++ ABI evolution.
469 <libc++-source-dir>
475 never need to link against libstdc++ in the same executable as libc++.
485 You can now run clang with -stdlib=libc++.
506 <libc++-source-directory>
510 Unfortunately you can't simply run clang with "-stdlib=libc++" at this point, as
511 clang is set up to link for libc++ linked to libsupc++. To get around this
516 $ clang++ -stdlib=libc++ helloworld.cpp \
524 $ clang++ -stdlib=libc++ helloworld.cpp -lcxxrt
537 Normally you must link libc++ against a ABI shared library that the
538 linker can find. If you want to build and test libc++ against an ABI
542 An example build using libc++abi would look like:
547 -DLIBCXX_CXX_ABI=libc++abi \
553 When testing libc++ LIT will automatically link against the proper ABI