|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | 03-May-2022 | - |
| doc/ | H | 03-May-2022 | - | 2,912 | 2,286 |
| include/ | H | 03-May-2022 | - | 1,969 | 860 |
| m4/ | H | 11-Apr-2018 | - | 9,590 | 8,688 |
| platform/ | H | 03-May-2022 | - | 2,035 | 1,700 |
| src/ | H | 03-May-2022 | - | 6,880 | 5,337 |
| test/ | H | 03-May-2022 | - | 6,024 | 4,850 |
| .clang-format | H A D | 11-Apr-2018 | 2.6 KiB | 91 | 89 |
| .gitignore | H A D | 11-Apr-2018 | 576 | 58 | 49 |
| AUTHORS | H A D | 11-Apr-2018 | 281 | 10 | 8 |
| CHANGELOG.md | H A D | 11-Apr-2018 | 5.8 KiB | 118 | 66 |
| CONTRIBUTING.md | H A D | 11-Apr-2018 | 231 | 9 | 5 |
| LICENSE | H A D | 11-Apr-2018 | 1.1 KiB | 22 | 17 |
| Makefile.am | H A D | 11-Apr-2018 | 533 | 29 | 20 |
| Makefile.in | H A D | 03-May-2022 | 28.3 KiB | 915 | 809 |
| README.md | H A D | 11-Apr-2018 | 2.5 KiB | 97 | 56 |
| aclocal.m4 | H A D | 11-Apr-2018 | 51.8 KiB | 1,435 | 1,297 |
| cjose.pc.in | H A D | 03-May-2022 | 305 | 17 | 14 |
| compile | H A D | 11-Apr-2018 | 7.2 KiB | 348 | 258 |
| config.guess | H A D | 11-Apr-2018 | 41.9 KiB | 1,422 | 1,230 |
| config.sub | H A D | 11-Apr-2018 | 35.1 KiB | 1,808 | 1,670 |
| configure | H A D | 11-Apr-2018 | 493.4 KiB | 17,140 | 14,468 |
| configure.ac | H A D | 11-Apr-2018 | 2.1 KiB | 88 | 75 |
| depcomp | H A D | 11-Apr-2018 | 23 KiB | 792 | 502 |
| install-sh | H A D | 11-Apr-2018 | 14.3 KiB | 502 | 327 |
| lib | H A D | 01-Jan-1970 | 0 | | |
| ltmain.sh | H A D | 11-Apr-2018 | 316.5 KiB | 11,148 | 7,979 |
| missing | H A D | 11-Apr-2018 | 6.7 KiB | 216 | 143 |
| test-driver | H A D | 11-Apr-2018 | 4.5 KiB | 149 | 87 |
README.md
1# cjose #
2
3Implementation of JOSE for C/C++
4
5## Prerequisites ##
6
7*MAC OS X* All of the prerequisites can be installed via [brew](http://brew.sh/).
8
9### Build Tools ###
10
11* pkg-config (>= 0.20)
12* GNU Make >= 3.81
13* LLVM >= 5.1 or GCC >= 4.5
14* Autoconf (>= 2.69)
15* Automake (>= 1.14)
16* libtool (>= 2.4)
17* Check (>= 0.9.4) - unit testing (e.g. check-devel)
18* Doxygen (>= 1.8) - documentation
19* clang-format (= 3.9.0)
20
21### Libraries ###
22
23* OpenSSL >= 1.0.1h (or its API equivalent)
24* Jansson >= 2.3
25
26## Getting Started ##
27
28As with most autoconf/automake projects:
29
30 git clone https://github.com/cisco/cjose.git
31 cd cjose
32 ./configure && make
33
34### Common Options ###
35
36 --with-openssl: Specify the location where OpenSSL/CiscoSSL is installed
37 --with-jansson: Specify the location where Jansson is installed
38 --disable-shared: Only build static library
39
40### Debug Mode ###
41
42To compile in debug mode (minimal optimization, active asserts, etc), specify the appropriate CFLAGS as a command-line argument when executing configure:
43
44 ./configure CFLAGS="-g -O0 -DDEBUG"
45
46
47## Tests ##
48
49To execute the unit tests:
50
51 make test
52
53If successful, the list of checks will be displayed on the console. Otherwise, the file "test/test-suite.log" will list the specific test(s) that failed.
54
55## API Docs ##
56
57To generate Doxygen API documentation:
58
59 make doxygen
60
61Which will place the generated documentation in "doc/html".
62
63## From Scratch ##
64
65To rebuild all of the project -- including those files generated by autoconf and automake:
66
67 autoreconf --force --install
68
69## Troubleshooting ##
70
71### Configure can't find check.h header file.
72
73This has been seen on Mac OSX 10.8 and 10.9 when check has been installed
74via brew. A solution is to explicitly include the /usr/local/include directory
75in the cflags:
76
77 ./configure CFLAGS="-I/usr/local/include"
78
79### Make fails due to many OpenSSL functions being "deprecated" or missing.
80
81This has been seen on Mac OSX 10.9 when openssl 1.0.1h or newer has been installed via brew. A solution is to explicitly include the openssl directory in the configure command:
82
83 ./configure --with-openssl=/usr/local/opt/openssl
84
85### Make fails due to json_* functions missing.
86
87This has been seen on Mac OSX 10.9 when Jansson has been installed via brew. A solution is to explicitly include the jansson directory in the configure command:
88
89 ./configure --with-jansson=/usr/local/opt/jansson
90
91## Contributing ##
92
93### Before Submitting PR ###
94
95* Run `make clang-format`
96* Run `make test`
97