Project

General

Profile

root / branches / compiler / cSharp / ooasCompiler / src / libs / c5 / BUILD.txt

1
BUILDING THE C5 GENERIC COLLECTION LIBRARY FOR C#/CLI
2
Updated 2008-02-10
3

    
4
The C5 library can be built by opening the solution file C5.sln in the
5
current directory with Microsoft Visual Studio 2008 or Microsoft
6
Visual C# 2008 Express Edition and performing a build all.
7

    
8
Or execute 'msbuild C5.sln' from the command line in this directory.
9

    
10
This will build C5 in file C5/bin/Release/C5.dll 
11

    
12
Building all in the C5.sln solution will also build these projects:
13

    
14
  * The 'PreProcess' project generates some of the C5 sources by
15
    preprocessing files.  This is necessary for the C5 build.
16

    
17
  * The 'docNet' project generates on-line documentation; see below.
18

    
19
  * The 'UserGuideExample' project compiles the examples from chapter
20
    11 of the technical report ITU-TR-2006-76
21

    
22
  * The 'nunit' project compiles the unit tests but does not run them;
23
    see below.  An enormous number of compilation errors will result
24
    unless you have NUnit 2 installed.  The project is configured for
25
    NUnit version 2.2.9 and was tested with that version.
26

    
27
The build should complete with a few dozen compilation warnings.
28

    
29
------------------------------------------------------------
30

    
31
Generating the online documentation
32

    
33
 * Build C5 in Debug mode
34

    
35
 * Run docNet/dodoc.cmd, e.g. by double-clicking in Explorer
36

    
37
 * Press return
38

    
39
The generation process should take less than 20 seconds.
40

    
41
The generated documentation is in directory docNet/docbuild/ and
42
subdirectories.  The start page is docNet/docbuild/frames.htm
43

    
44
Note: The generated online documentation is currently incomplete.
45
Please refer to the Technical Report (ITU-TR-2006-76) instead.
46

    
47
------------------------------------------------------------
48

    
49
Running the NUnit tests
50

    
51
Prerequisites:
52

    
53
 * You must have NUnit installed (version 2.2.x). 
54

    
55
 * The nunit project (nunit/nunit.csproj) must include a reference to
56
   to the installed nunit-framework.dll.  Add the reference by
57
   right-clicking "References" under "nunit" in Visual Studio's
58
   Solution Explorer.
59

    
60
Steps to build and run unit tests:
61

    
62
 * Build the project called "nunit".  
63

    
64
 * Start NUnit, select File > Open > nunit/bin/Debug/nunit.dll, or
65
   simply double-click nunit/bin/Debug/nunit.dll
66

    
67
 * Press Run in the NUnit user interface
68

    
69
There are more than 1400 NUnit test cases which should execute in less
70
than 30 seconds.  All should pass when C5 is built in Debug mode.
71

    
72
Note 1: The Release builds of C5 use randomized hashing for
73
efficiency, whereas the Debug builds use deterministic hashing to
74
simplify testing.  This means that approximately 13 hashtable test
75
cases will fail (harmlessly) when C5 is built and tested in Release
76
mode, using File > Open > nunit/bin/Release/nunit.dll
77

    
78
Note 2: C5 version 1.1.0 includes the test case
79
support.itemops.EqualityComparers.SeqequalityComparerViaBuilder4 which
80
works on VS2008 C#/CLR version 3.5, but failed on VS2005 with C#/CLR
81
2.0 due to a bug in that platform.  Omit this test case if you need to
82
build C5 on VS2005 with C#/CLR 2.0.