Skip to content
This repository has been archived by the owner on Feb 14, 2024. It is now read-only.

LedgerHQ/bigd

Repository files navigation

bigd

build deploy License: MIT

bigd is a free library of multiple-precision arithmetic routines written in ANSI C to carry out calculations with the large natural numbers used in cryptography computations.

The bigd library is designed to work with the set of natural numbers N; that is, the non-negative integers 0,1,2,... .

Dependencies

This library is based on cmake as a build system and conan as a package manager so you should install it before starting (at least version 3.10 and 1.23 respectively).

Local build

You can build the library by running :

Unix user

cd build
cmake -DCMAKE_BUID_TYPE=<Debug|Release|RelWithDebInfo|MinSizeRel> ..
cmake --build . -j

Windows user

cd build
cmake ..
cmake --build . --config <Debug|Release|RelWithDebInfo|MinSizeRel> -j

An additional cmake flag can be provided :

  • -DCMAKE_INSTALL_PREFIX=/path/to/install prefixes the install path

After building the library you may install it by running :

cmake --install .

Create package

You can create a conan package by running :

conan create . <organization>/<stable|testing> -s compiler.libcxx=stdlibc++

This command will create a conan package by scanning your default environment; your platform and your compiler. If you want to override some of these, you can provide additional conan command line arguments such as :

  • -s compiler= to change the compiler. You should provide only the compiler name without the version
  • -s compiler.version= to change the compiler version
  • -s buid_type=<Debug|Release>
  • -e <CC|CXX>= to change the compiler. This argument is for cmake so you must provide the complete compiler name; so the compiler name with its version.

Upload package

Bintray repository

First create a bintray account then create a bintray repository. Second run the following commands once the conan package created properly :

conan remote add <name> <url>
conan user -p <token> -r <name> <account>
conan upload bigd/<version>@<organization>/<stable|testing> -r=<name> --all
  • <name> is a user-defined remote name
  • <url> is the bintray conan repository url; it looks like https://api.bintray.com/conan/<organization>/<repository>.
  • <token> is the bintray token for your bintray repository.
  • <account> is your bintray account name.