tagion ~crypto-review-freeze
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
Follow this guide: 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
# Arch
pacman -Syu git make autoconf gcc libtool dub cmake
# nix
nix develop
You can skip the next step if you installed with nix.
- Choose a D compiler ldc2 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"
- Install dstep if you need to be able to update c headers to d interface Download release binaries (or follow build instruction from https://github.com/jacob-carlborg/dstep)
wget https://github.com/jacob-carlborg/dstep/releases/download/v1.0.0/dstep-1.0.0-linux-x86_64.tar.xz
tar xf dstep-1.0.0-linux-x86_64.tar.xz
# Then copy the executable to a directory searched by your path, like the path you added when you set up your compiler
- Verify that the binaries are available and check their version (comments showing versions used as of writing)
dstep --version # 1.0.0
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
# 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
- Registered by Tagion
- ~crypto-review-freeze 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:
- 1.1
- Short URL:
- tagion.dub.pm