root/trunk/README

Revision 67, 3.9 KB (checked in by jc.lefebvre, 4 years ago)

Changed to ZLIB License.

Line 
1//***************************************************************************
2//
3// [ nCore ]
4//
5// Copyright (c) 2001-2008 Jean-Charles Lefebvre <jcl ATNOSPAM jcl DOT name>
6//
7// This file is part of nCore.
8//
9// This software is provided 'as-is', without any express or implied
10// warranty.  In no event will the authors be held liable for any damages
11// arising from the use of this software.
12//
13// Permission is granted to anyone to use this software for any purpose,
14// including commercial applications, and to alter it and redistribute it
15// freely, subject to the following restrictions :
16//
17// 1. The origin of this software must not be misrepresented; you must not
18//    claim that you wrote the original software. If you use this software
19//    in a product, an acknowledgment in the product documentation would be
20//    appreciated but is not required.
21// 2. Altered source versions must be plainly marked as such, and must not
22//    be misrepresented as being the original software.
23// 3. This notice may not be removed or altered from any source distribution.
24//
25//***************************************************************************
26
27
28* What is nCore ?
29
30  nCore is an efficient and portable C++ library for "lazy" developers.
31
32  It includes a set of several satellite C++ classes to perform :
33  - Threading
34  - FileIO (with endian-awareness)
35  - Networking (TCP, UDP, IPv4, IPv6)
36  - High-Perf Timing
37  - Easy logging with plugable sinks
38  - Memory Alloc Debugging
39  - Hashing (MD5, String, CRC32, CRC16, CRC8)
40  - Loading of dynamic libraries (shared objects)
41  - Dog-tagging (your final application/library binary file(s))
42  - Handling wide string manipulation methods through a single class (StringA)
43  - and more...
44
45  Each of those features can be turned off at compile-time to make the final
46  binary file smaller.
47
48  nCore is designed to run on Windows, Linux (x86, ARM).
49  Other platforms may become supported upon request :)
50
51
52* License
53
54  nCore is released under the terms of the LGPL license v2.1.
55  For more information, read the LICENSE file which contains a copy of the
56  license.
57  Or go to : http://www.gnu.org/copyleft/lgpl.html
58
59
60* Where can I find an up-to-date version ?
61
62  Official website is located at : http://ncore.jcl.name/
63
64
65* COMPILE
66
67  Before compiling nCore, you can edit manually the
68  ./include/nCoreManualConfig.h header to select nCore features you want to
69  enable or disable...
70
71  By default every features are enabled so if this is your first-time nCore
72  compiling, it is recommended to keep it as is.
73
74  Next, if you are using MSVC 7.1+, you can simply open the nCore solution
75  located at : ./prj/msvc71/nCore.sln
76  and compile the target you want (dll_debug, dll_release, static_debug or
77  static_release).
78
79  If you are on Linux, a GNU Makefile is available at the root directory.
80  For now, this Makefile has been *poorely* handcrafted (support of
81  Automake/Autoconf tools is a TODO) to support cross-compilation and
82  different build types (release or debug).
83
84  Examples of use :
85    make clean               # cleanup entire distribution
86    make all                 # build library and testing console application
87    make                     # build "all" in RELEASE mode
88    make BUILD_TYPE=release  # build "all" in RELEASE mode
89    make BUILD_TYPE=debug    # build "all" in DEBUG mode
90    make BUILD_TARGET=arm    # cross-compile "all" for ARM target
91
92  Of course you can combine the target name, BUILD_TYPE and BUILD_TARGET
93  variables.
94
95
96* Troubleshooting
97
98  If you find a bug, have a problem, questions or comments, please send me an
99  e-mail or go to the official website :
100  http://ncore.jcl.name/
101
102
103* Documentation
104
105  nCore highly lacks of developer documentation but its source code is well
106  documented and easily readable since nCore is made by a set of independent
107  util classes which are often not that huge.
Note: See TracBrowser for help on using the browser.