Lines Matching +full:linux +full:- +full:cxx +full:- +full:install
15 On Mac OS 10.7 (Lion) and later, the easiest way to get this library is to install
16 Xcode 4.2 or later. However if you want to install tip-of-trunk from here
23 * ``cd where-you-want-llvm-to-live``
24 * ``svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm``
28 * ``cd where-you-want-llvm-to-live``
30 * ``svn co http://llvm.org/svn/llvm-project/libcxx/trunk libcxx``
34 * ``cd where-you-want-llvm-to-live``
36 * ``svn co http://llvm.org/svn/llvm-project/libcxxabi/trunk libcxxabi``
47 * ``cmake -G <generator> [options] <path to llvm sources>``
51 * ``make cxx`` --- will build libc++ and libc++abi.
52 * ``make check-cxx check-cxxabi`` --- will run the test suites.
57 #. **Optional**: Install libc++ and libc++abi
61 select a safe place to install libc++.
63 * ``make install-cxx install-cxxabi`` --- Will install the libraries and the headers
66 * Replacing your systems libc++ installation could render the system non-functional.
71 FreeBSD, Linux, or Mac using `libc++abi`_ as the C++ ABI library.
72 On Linux, it is also possible to use :ref:`libsupc++ <libsupcxx>` or libcxxrt.
74 It is sometimes beneficial to build outside of the LLVM tree. An out-of-tree
77 .. code-block:: bash
79 $ cd where-you-want-libcxx-to-live
81 $ ``svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm``
82 $ ``svn co http://llvm.org/svn/llvm-project/libcxx/trunk libcxx``
83 $ ``svn co http://llvm.org/svn/llvm-project/libcxxabi/trunk libcxxabi``
84 $ cd where-you-want-to-build
86 $ export CC=clang CXX=clang++
87 $ cmake -DLLVM_PATH=path/to/llvm \
88 -DLIBCXX_CXX_ABI=libcxxabi \
89 -DLIBCXX_CXX_ABI_INCLUDE_PATHS=path/to/libcxxabi/include \
92 $ make check-libcxx # optional
96 --------------------------------
98 The Windows support requires building with clang-cl as cl does not support one
100 required. In the case of clang-cl, we need to specify the "MS Compatibility
109 .. code-block:: batch
111 > cmake -G "Visual Studio 14 2015" ^
112 -T "LLVM-vs2014" ^
113 -DLIBCXX_ENABLE_SHARED=YES ^
114 -DLIBCXX_ENABLE_STATIC=NO ^
115 -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=NO ^
117 > cmake --build .
126 .. code-block:: batch
128 > cmake -G Ninja ^
129 -DCMAKE_MAKE_PROGRAM=/path/to/ninja ^
130 -DCMAKE_SYSTEM_NAME=Windows ^
131 -DCMAKE_C_COMPILER=clang-cl ^
132 -DCMAKE_C_FLAGS="-fms-compatibility-version=19.00 --target=i686--windows" ^
133 -DCMAKE_CXX_COMPILER=clang-cl ^
134 -DCMAKE_CXX_FLAGS="-fms-compatibility-version=19.00 --target=i686--windows" ^
135 -DLLVM_PATH=/path/to/llvm/tree ^
136 -DLIBCXX_ENABLE_SHARED=YES ^
137 -DLIBCXX_ENABLE_STATIC=NO ^
138 -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=NO ^
140 > /path/to/ninja cxx
141 > /path/to/ninja check-cxx
144 directory separator as clang-cl may otherwise parse the path as an argument.
155 brief explanation and LLVM-specific notes. For full documentation, check the
156 CMake docs or execute ``cmake --help-variable VARIABLE_NAME``.
164 Path where LLVM will be installed if "make install" is invoked or the
165 "INSTALL" target is built.
171 .. _libcxx-specific options:
174 -----------------------
237 ------------------------------------
249 Install libc++experimental.a alongside libc++.
262 Install libc++fs.a alongside libc++.
267 ----------------------------
307 ----------------------
330 **Default**: ``--benchmark_min_time=0.01``
333 ``check-cxx-benchmarks`` rule. By default we run the benchmarks for a very short amount of time,
334 since the primary use of ``check-cxx-benchmarks`` is to get test and sanitizer coverage, not to
344 specified standard library on the platform. On linux this can be used to
357 Pick the default for whether to constrain ABI-unstable symbols to
359 `_LIBCPP_HIDE_FROM_ABI_PER_TU_BY_DEFAULT` is defined by default --
364 --------------------------
392 … namespaces of the form ``__[0-9]+`` are strictly reserved by libc++ and may not be used by users.
399 A semicolon-separated list of ABI macros to persist in the site config header.
402 .. _LLVM-specific variables:
404 LLVM-specific options
405 ---------------------
410 installed. On a 64-bit architecture, one could use ``-DLLVM_LIBDIR_SUFFIX=64``
411 to install libraries to ``/usr/lib64``.
415 Build 32-bits executables and libraries on 64-bits systems. This option is
416 available only on some 64-bits unix systems. Defaults to OFF.
420 Arguments given to lit. ``make check`` and ``make clang-test`` are affected.
421 By default, ``'-sv --no-progress-bar'`` on Visual C++ and Xcode, ``'-sv'`` on
431 Using libsupc++ on Linux
432 ------------------------
437 is ``/usr/include/c++/<version>`` and ``/usr/include/c++/<version>/<target-triple>``
441 .. code-block:: bash
443 $ echo | g++ -Wp,-v -x c++ - -fsyntax-only
444 ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
445 …ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../x86_64-linux-gnu/inc…
449 /usr/include/c++/4.7/x86_64-linux-gnu
451 /usr/lib/gcc/x86_64-linux-gnu/4.7/include
453 /usr/lib/gcc/x86_64-linux-gnu/4.7/include-fixed
454 /usr/include/x86_64-linux-gnu
463 .. code-block:: bash
465 $ CC=clang CXX=clang++ cmake -G "Unix Makefiles" \
466 -DLIBCXX_CXX_ABI=libstdc++ \
467 -DLIBCXX_CXX_ABI_INCLUDE_PATHS="/usr/include/c++/4.7/;/usr/include/c++/4.7/x86_64-linux-gnu/" \
468 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr \
469 <libc++-source-dir>
472 You can also substitute ``-DLIBCXX_CXX_ABI=libsupc++``
480 .. code-block:: bash
482 $ make cxx
483 $ make install
485 You can now run clang with -stdlib=libc++.
490 Using libcxxrt on Linux
491 ------------------------
499 .. code-block:: bash
501 $ CC=clang CXX=clang++ cmake -G "Unix Makefiles" \
502 -DLIBCXX_CXX_ABI=libcxxrt \
503 -DLIBCXX_CXX_ABI_INCLUDE_PATHS=path/to/libcxxrt-sources/src \
504 -DCMAKE_BUILD_TYPE=Release \
505 -DCMAKE_INSTALL_PREFIX=/usr \
506 <libc++-source-directory>
507 $ make cxx
508 $ make install
510 Unfortunately you can't simply run clang with "-stdlib=libc++" at this point, as
514 .. code-block:: bash
516 $ clang++ -stdlib=libc++ helloworld.cpp \
517 -nodefaultlibs -lc++ -lcxxrt -lm -lc -lgcc_s -lgcc
522 .. code-block:: bash
524 $ clang++ -stdlib=libc++ helloworld.cpp -lcxxrt
530 ---------------------------------------
535 These instructions should only be used when you can't install your ABI library.
540 ``-DLIBCXX_CXX_ABI_LIBRARY_PATH=/path/to/abi/lib`` when configuring CMake.
544 .. code-block:: bash
546 $ CC=clang CXX=clang++ cmake \
547 -DLIBCXX_CXX_ABI=libc++abi \
548 -DLIBCXX_CXX_ABI_INCLUDE_PATHS="/path/to/libcxxabi/include" \
549 -DLIBCXX_CXX_ABI_LIBRARY_PATH="/path/to/libcxxabi-build/lib" \