Amazon Ion C
A C implementation of the Ion data notation.
Setup
This repository contains a git submodule
called ion-tests
, which holds test data used by ion-c
's unit tests.
The easiest way to clone the ion-c
repository and initialize its ion-tests
submodule is to run the following command.
$ git clone --recursive https://github.com/amazon-ion/ion-c.git ion-c
Alternatively, the submodule may be initialized independently from the clone by running the following commands.
$ git submodule init
$ git submodule update
The submodule points to the tip of the branch of the ion-tests
repository
specified in ion-c
's .gitmodules
file.
Pulling in Upstream Changes
To pull upstream changes into ion-c
, start with a simple git pull
.
This will pull in any changes to ion-c
itself (including any changes
to its .gitmodules
file), but not any changes to the ion-tests
submodule. To make sure the submodule is up-to-date, use the following
command.
$ git submodule update --remote
This will fetch and update the ion-tests submodule from the ion-tests
branch
currently specified in the .gitmodules
file.
For detailed walkthroughs of git submodule usage, see the Git Tools documentation.
Building the Library
Use the provided scripts build-release.sh
and build-debug.sh
. Ensure that cmake
is installed first.
On macOS
cmake
can be installed using Homebrew: brew install cmake
Using the Library
A great way to get started is to use the Ion cookbook.