• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

doc/H03-May-2022-2,9122,286

include/H03-May-2022-1,969860

m4/H11-Apr-2018-9,5908,688

platform/H03-May-2022-2,0351,700

src/H03-May-2022-6,8805,337

test/H03-May-2022-6,0244,850

.clang-formatH A D11-Apr-20182.6 KiB9189

.gitignoreH A D11-Apr-2018576 5849

AUTHORSH A D11-Apr-2018281 108

CHANGELOG.mdH A D11-Apr-20185.8 KiB11866

CONTRIBUTING.mdH A D11-Apr-2018231 95

LICENSEH A D11-Apr-20181.1 KiB2217

Makefile.amH A D11-Apr-2018533 2920

Makefile.inH A D03-May-202228.3 KiB915809

README.mdH A D11-Apr-20182.5 KiB9756

aclocal.m4H A D11-Apr-201851.8 KiB1,4351,297

cjose.pc.inH A D03-May-2022305 1714

compileH A D11-Apr-20187.2 KiB348258

config.guessH A D11-Apr-201841.9 KiB1,4221,230

config.subH A D11-Apr-201835.1 KiB1,8081,670

configureH A D11-Apr-2018493.4 KiB17,14014,468

configure.acH A D11-Apr-20182.1 KiB8875

depcompH A D11-Apr-201823 KiB792502

install-shH A D11-Apr-201814.3 KiB502327

libH A D01-Jan-19700

ltmain.shH A D11-Apr-2018316.5 KiB11,1487,979

missingH A D11-Apr-20186.7 KiB216143

test-driverH A D11-Apr-20184.5 KiB14987

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