* _LIGHTLIBCPP_NO_EXCEPTIONS and _LIGHTLIBCPP_NO_RTTI are set automatically with...
[lightlibc++.git] / README
blob62f00fe192b4079b53da467a1225c860352aada7
1          lightlibc++
2          ===========
4 Contents:
5 1. What is this?
6 2. What requirements?
7 3. How do I use it?
8 4. How do I test it?
11 1. What is this?
12 ================
14 This is a C++ standard library, that is supposed to support the ISO/IEC C++
15 ISO/IEC 14882:2003 and the ISO/IEC C++ [TODO: 1x] standards. It is written to
16 be portable. It is supposed to be especially usable in hobby operating systems
17 environments.
19 2. What requirements
20 ====================
22 A C library is required and the in libc.README documentated changes have to be
23 made.
25 3. How do I use it?
26 ===================
28 lightlibc++ comes with a Makefile for a gcc-based host-environment, so that you
29 can compile the code and run the testsuite for the library on your host
30 platform. If you choose to use lightlibc++ in your own hobby operating system
31 make sure that you have a working libc. Apart from that the only thing you have
32 to do is write a Makefile, that builds the library for your operating system.
33 You might want to have a look at the Makefile provided for compilation and
34 testing on the host operating system.
35 Apart from that you can use the following defines to configure the library:
37 * _LIGHTLIBCPP_CPP03
38   The library uses only C++03 language features and provides everything it can
39   with these features (including C++10 library stuff)
40 * _LIGHTLIBCPP_CPP03_STRICT
41   The library uses only C++03 language features and provides only the C++03
42   standard library stuff
43 * _LIGHTLIBCPP_CPP10
44   The library uses C++10 language features and provides the full C++03 and
45   C++10 library
46 * _LIGHTLIBCPP_CPP10_STRICT
47   The library uses C++10 language features and provides the full C++10 library
48   and marks deprecated stuff from C++03 accordingly
49 * _LIGHTLIBCPP_NO_EXCEPTIONS
50   The library does not use exceptions
51 * _LIGHTLIBCPP_NO_RTTI
52   The library does not use rtti
54 The _LIGHTLIBCPP_NO_EXCEPTIONS and the _LIGHTLIBCPP_NO_RTTI defines are
55 automatically defined in lightlibc++/compiler.hpp for g++ according to
56 the -fno-exceptions and -fno-rtti compiler switches.
59 4. How do I test it?
60 ====================
62 The supplied Makefile comes with an 'all-host' target which will build the
63 library on the host platform (gcc required), an 'testcases-host' target which
64 will build and execute the testcases on the host platform.