tagion 1.0.2
Configuration exists to allow language server to do proper static analasys, compilation is not supported
To use this package, run the following command in your project's root directory:
Manual usage
Put the following dependency into your project's dependences section:
Tagion
🚧 This document is still in development. Some things may be out of date or incomplete
👋 Welcome to the Tagion project!
This repository is a home for all core units, also containing scripts for cross-compilation, testing and docs generation.
Installation
Installation tested on ubuntu 22.04, nixos-unstable
Setup steps & preflight checks
- Make sure that you have add your ssh keys to your github profile
The project uses git submodules over ssh, so you need to be able to connect to github over ssh. You can follow this guide here: https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent
- First of all please be sure that you have everything, command You can run the following commands, if you are using arch, nix or ubuntu
- Ubuntu
apt-get install git autoconf build-essential libtool dub cmake
Download a D compiler ldc or dmd
- LLVM D compiler - ldc2 (latest working version is 1.35)
wget https://github.com/ldc-developers/ldc/releases/download/v1.35.0/ldc2-1.35.0-linux-x86_64.tar.xz
tar xf ldc2-1.35.0-linux-x86_64.tar.xz
export PATH="path-to-ldc2/ldc2-1.34.0-linux-x86_64/bin:$PATH"
- Reference D compiler - dmd
wget https://downloads.dlang.org/releases/2.x/2.105.2/dmd.2.105.2.linux.tar.xz
tar xf dmd.2.105.2.linux.tar.xz
export PATH="path-to-dmd2/dmd2/linux/bin64:$PATH"
- Arch
pacman -Syu git make autoconf gcc libtool dub cmake
- Nix
nix develop
- Verify that the binaries are available and check their version (comments showing versions used as of writing)
ldc2 --version # LDC - the LLVM D compiler (1.35.0): ...
dmd --version # v2.105.2
- Cloning tagion repo
git clone [email protected]:tagion/tagion.git
Compiling
- Running tests
make test
- Compiling binaries
make tagion
make install
# Will install to dir specified by INSTALL=/path/to/dir
# This directory should also be in your PATH variable
# such that you can use the tools from you shell
- General info about build flow
# Help info
make help
# or
make help-<topic>
# Info about environment variables
make env
# or
make env-<topic>
- Compilation options, can be specified on the commandline or in a
local.mk
in the project root
Notice that if you choose to compile with ldc there is a bug which means that the unittests wont run.
# Showing the default values
ONETOOL=1 # ALL tools linked in to a single executable
# and individual tools are symbolic links to that binary
DC= # D compiler to use, default will try to pick between dmd and ldc2
CC= # C compiler to use, default will try to pick between gcc and clang
Profiling
Profiling can be enabled in two way.
Buildin profiler
Enable the dmd build profiler with the PROFILE
environment.
make PROFILE=1 DC=dmd <target>
The result of the profile can be sorted and displayed with the tprofile
(onetool).
Profiling Valgrind
Valgrind profiler can be started with the VALGRIND
environment.
Run the unittest with valgrind and callgrind.
make VALGRIND=1 unittest
Any of the test/bdd target can be executed with the VALGRIND=1
.
Note. The result from the callgrind
viewed with Kcachegrind.
Overview
./documents/ # Development flow docs
./src/
/lib-* # Library source code
/bin-* # Executable source code
/fork-* # Vendor library compilation scripts
./bdd/ # behaviour driven tests
./tub/ # Build flow scripts
Generating Docs
Installation
You have to install docsify globally.
npm i docsify-cli -g
Building the docs
To build the docs use the command:
make ddoc
Running the document servers
make servedocs
This will start two servers ( default 3000 and 3001 ), with each of them running the different servers.
Tools
Tagion Node Architecture
BDD-test tools
Maintainers
License
The files in this repository is distributed under the DECARD Services GmbH free and grant back license
unless otherwise specified.
The parts which are distributed under other licenses include, but are not limited to the
pbkdf2 module and the translated secp256k1 headers
- Registered by Tagion
- 1.0.2 released 11 months ago
- tagion/tagion
- proprietary
- Copyright © 2023, decard
- Authors:
- Dependencies:
- none
- Versions:
-
1.2.0 2024-Feb-20 1.2.0-rc 2024-Feb-12 1.1.1 2024-Jan-20 1.1.0 2024-Jan-12 1.0.5 2023-Dec-20 - Download Stats:
-
-
0 downloads today
-
0 downloads this week
-
0 downloads this month
-
11 downloads total
-
- Score:
- 0.8
- Short URL:
- tagion.dub.pm