README
1SELinux Common Intermediate Language (CIL) Compiler
2
3INTRODUCTION
4
5 The SELinux CIL Compiler is a compiler that converts the CIL language as
6 described on the CIL design wiki into a kernel binary policy file.
7 Please see the CIL Design Wiki at:
8 http://github.com/SELinuxProject/cil/wiki/
9 for more information about the goals and features on the CIL language.
10
11DEPENDENCIES
12
13 gcc >= 4.5.1
14 libsepol >= 2.5
15
16
17BUILD STEPS
18
19 Run "make" with one of the following targets:
20
21 make
22 Build the CIL compiler (secilc).
23
24 make test
25 Pass a sample policy to test with the compiler.
26
27 make install
28 Install the secilc compiler and man page to disk.
29
30 make clean
31 Remove temporary build files.
32
33 make man
34 Build the secilc man page.
35
36 make bare
37 Remove temporary build files and compile binaries.
38
39
40USAGE
41
42 Execute 'secilc' with any number of CIL files as arguments. A binary policy and
43 file_contexts file will be created.
44
45 Use the '--help' option for more details.
46
47
48DOCUMENTATION
49
50 There is a github markdown CIL Reference Guide in the docs directory. To
51 view the table of contents, see README.md in the docs directory.
52
53 To convert the github markdown content to HTML and PDF, change to the docs
54 directory and run:
55 make
56
57 The documents will be located in the docs/html and docs/pdf directories.
58
59 To build the html and pdf, the pandoc package is required.
60
61KNOWN ISSUES
62
63 - Blocks inside of macros causes undefined behavior
64
65 - Policy must be well formed. For example, invalid usage of
66 sensitivities/categories/levels may create an unloaded binary
67
68 - Recursive limits are not handled
69