blob: 68f1fa8b810eaa3c0f2f3f104856981782f9d5b7 [file] [log] [blame]
/*
This file contains NO source code, just some documentation for doxygen to
parse.
*/
/*!
\mainpage Apache Milagro Crypto Library (AMCL)
Read <a href="AMCL.pdf">AMCL.pdf</a> for an introduction to AMCL
AMCL is provided in these languages;
<ul type="disc">
<li> C
<li> JAVA
<li> JavaScript
<li> C#
<li> Swift
<li> GO
</ul>
There is also a Python wrapper provided that requires <a href="https://cffi.readthedocs.org/en/release-0.8/">CFFI</a>
\section homepage Project page
The official project page is hosted at
<a href="http://www.miracl.com/index">MIRACL Products</a>
\section license License
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
\section platforms Platforms
The software can be compiled and installed for these operating systems;
<ul type="disc">
<li>Linux</li>
<li>Windows</li>
<li>Mac OS</li>
</ul>
\section downloads Downloads
The source code is available from the GIT repository:
git clone https://github.com/miracl/milagro-crypto
\section installonmainpage Installation
There are instructions for building for \ref linux, \ref mac and \ref windows.
*/
/*!
\page linux Linux
<h2>Software dependencies</h2>
CMake is required to build the library and can usually be installed from
the operating system package manager.
<ul type="disc">
<li>sudo apt-get install cmake</li>
</ul>
If not, then you can download it from www.cmake.org
The C Foreign Function Interface for Python <a href="https://cffi.readthedocs.org/en/latest/">CFFI</a> module
is also required if you wish to use the Python module.
<ul type="disc">
<li>sudo pip install cffi</li>
</ul>
In order to build the documentation <a href="http://www.stack.nl/~dimitri/doxygen/">doxygen</a> is required.
<h2>Build Instructions</h2>
<p>The default build is for 32 bit machines</p>
<ol type="disc">
<li>mkdir Release</li>
<li>cd Release</li>
<li>cmake ..</li>
<li>make</li>
<li>make test</li>
<li>make doc</li>
<li>sudo make install</li>
</ol>
<p>The build can be configured using by setting flags on the command line i.e.</p>
<ol type="disc">
<li>cmake -D CMAKE_INSTALL_PREFIX=/opt/amcl -D WORD_LENGTH=64 ..</li>
</ol>
<h2>Uninstall software</h2>
<ul type="disc">
<li>sudo make uninstall</li>
</ul>
<h2>Building an installer</h2>
<p>After having built the libraries you can build a binary installer and a source distribution by running this command</p>
<ul type="disc">
<li>make package</li>
</ul>
*/
/*!
\page mac Mac OS
<h2>Software dependencies</h2>
Install <a href="http://brew.sh/">Homebrew</a>
<ul type="disc">
<li>ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"</li>
</ul>
Install <a href="http://www.cmake.org/download/">cmake</a>
<ul type="disc">
<li>brew install cmake</li>
</ul>
The C Foreign Function Interface for Python <a href="https://cffi.readthedocs.org/en/latest/">CFFI</a> module
is also required if you wish to use the Python module.
<ul type="disc">
<li>brew install pkg-config libffi</li>
<li>sudo pip install cffi</li>
</ul>
In order to build the documentation <a href="http://www.stack.nl/~dimitri/doxygen/">doxygen</a> is required.
<ul type="disc">
<li>brew install doxygen</li>
</ul>
<h2>Build Instructions</h2>
<p>The default build is for 32 bit machines</p>
<ol type="disc">
<li>mkdir Release</li>
<li>cd Release</li>
<li>cmake ..</li>
<li>make</li>
<li>make test</li>
<li>make doc</li>
<li>sudo make install</li>
</ol>
<p>The build can be configured using by setting flags on the command line i.e.</p>
<ol type="disc">
<li>cmake -DWORD_LENGTH=64 ..</li>
</ol>
<h2>Uninstall software</h2>
<ul type="disc">
<li>sudo make uninstall</li>
</ul>
*/
/*!
\page windows Windows
<h2>Software dependencies</h2>
<p>Minimalist GNU for Windows <a href="http://www.mingw.org/">MinGW</a> provides the
tool set used to build the library and should be installed. When the MinGW installer
starts select the mingw32-base and mingw32-gcc-g++ components. From the menu select
"Installation" -> "Apply Changes", then click "Apply". Finally add C:\\MinGW\\bin
to the PATH variable.</p>
<p>CMake is required to build the library and can be downloaded from www.cmake.org</p>
<p>The C Foreign Function Interface for Python <a href="https://cffi.readthedocs.org/en/latest/">CFFI</a> module
is also required, if you wish to use the Python module.</p>
<ul type="disc">
<li>pip install cffi</li>
</ul>
In order to build the documentation <a href="http://www.stack.nl/~dimitri/doxygen/">doxygen</a> is required.
<h2>Build Instructions</h2>
<p>Start a command prompt as an administrator</p>
<p>The default build is for 32 bit machines</p>
<ol type="disc">
<li>mkdir Release</li>
<li>cd Release</li>
<li>cmake -G "MinGW Makefiles" ..</li>
<li>mingw32-make</li>
<li>mingw32-make test</li>
<li>mingw32-make doc</li>
<li>mingw32-make install</li>
</ol>
<p>
Post install append the PATH system variable to point to the install ./lib.
My Computer -> Properties -> Advanced > Environment Variables
</p>
<p>The build can be configured using by setting flags on the command line i.e.</p>
<ol type="disc">
<li>cmake -G "MinGW Makefiles" -DWORD_LENGTH=64 ..</li>
</ol>
<h2>Uninstall software</h2>
<ul type="disc">
<li>mingw32-make uninstall</li>
</ul>
<h2>Building an installer</h2>
<p>After having built the libraries you can build a Windows installer using this command</p>
<ul type="disc">
<li>sudo mingw32-make package</li>
</ul>
<p>In order for this to work <a href="http://nsis.sourceforge.net/Download">NSSI</a> has
to have been installed</p>
*/