Add the deck for episode 2 to videos.org
This commit is contained in:
parent
b4285a154c
commit
afa2310b02
|
@ -10,7 +10,7 @@ Setup the githook and install dependencies using the following commands:
|
|||
*** Dependencies
|
||||
You would need the following dependencies to start get started with *Serene* development
|
||||
|
||||
- LLVM ( LLVM Instructions coming up.)
|
||||
- LLVM (LLVM Instructions coming up.)
|
||||
- cmake
|
||||
- ninja
|
||||
- doxygen (If you want to build the docs as well)
|
||||
|
@ -33,14 +33,14 @@ Setup the githook and install dependencies using the following commands:
|
|||
-DLLVM_PARALLEL_COMPILE_JOBS=7 \
|
||||
-DLLVM_PARALLEL_LINK_JOBS=1 \
|
||||
-DLLVM_BUILD_EXAMPLES=ON \
|
||||
-DLLVM_TARGETS_TO_BUILD="X86;NVPTX;AMDGPU" \
|
||||
-DLLVM_TARGETS_TO_BUILD="X86" \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DLLVM_ENABLE_ASSERTIONS=ON \
|
||||
-DLLVM_CCACHE_BUILD=ON \
|
||||
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
|
||||
-DLLVM_ENABLE_PROJECTS='clang;lldb;lld;mlir;clang-tools-extra;compiler-rt' \
|
||||
-DCMAKE_C_COMPILER=clang \
|
||||
-DCMAKE_CXX_COMPILER=clang++ \
|
||||
-DCMAKE_C_COMPILER=clang \ # If you have clang installed already
|
||||
-DCMAKE_CXX_COMPILER=clang++ \ # If you have clang installed already
|
||||
-DLLVM_ENABLE_LLD=ON
|
||||
|
||||
cmake --build .
|
||||
|
@ -57,7 +57,6 @@ Setup the githook and install dependencies using the following commands:
|
|||
If you're using Emacs as your development environment just install =clangd= and =lsp=.
|
||||
|
||||
|
||||
|
||||
* How to build
|
||||
In order to build for development (Debug mode) just use =./builder build= to setup the build and build
|
||||
the project once and then you can just use =./builder compile= to build the changed files only.
|
||||
|
|
11
builder
11
builder
|
@ -2,6 +2,7 @@
|
|||
|
||||
command=$1
|
||||
|
||||
# Utilize `ccache` if available
|
||||
if type "ccache" > /dev/null
|
||||
then
|
||||
CC="$(which ccache) $(which clang)"
|
||||
|
@ -13,15 +14,20 @@ fi
|
|||
|
||||
export CC
|
||||
export CXX
|
||||
|
||||
# Meke sure to use `lld` linker it faster and has a better UX
|
||||
export LDFLAGS="-fuse-ld=lld"
|
||||
export ASAN_FLAG="-fsanitize=address"
|
||||
export ASAN_OPTIONS=check_initialization_order=1
|
||||
LSAN_OPTIONS=suppressions=$(pwd)/.ignore_sanitize
|
||||
export LSAN_OPTIONS
|
||||
|
||||
# The `builder` script is supposed to be run from the
|
||||
# root of the source tree
|
||||
ROOT_DIR=$(pwd)
|
||||
BUILD_DIR=$ROOT_DIR/build
|
||||
|
||||
scanbuild=scan-build-11
|
||||
scanbuild=scan-build
|
||||
|
||||
function pushed_build() {
|
||||
pushd "$BUILD_DIR" > /dev/null || return
|
||||
|
@ -170,6 +176,7 @@ case "$command" in
|
|||
;;
|
||||
*)
|
||||
echo "Commands: "
|
||||
echo "setup - Setup the githooks for devs"
|
||||
echo "full-build - Build and test Serene."
|
||||
echo "build - Build Serene from scratch in DEBUG mode."
|
||||
echo "build-release - Build Serene from scratch in RELEASE mode."
|
||||
|
@ -178,7 +185,7 @@ case "$command" in
|
|||
echo "run - Runs the serene executable"
|
||||
echo "scan-build - Compiles serene with static analyzer"
|
||||
echo "tests - Runs the test cases"
|
||||
echo "memcheck - Runs the memcheck tool."
|
||||
echo "memcheck - Runs the memcheck(valgrind) tool."
|
||||
echo "clean - :D"
|
||||
;;
|
||||
esac
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#+TAGS: READER(r) MISC(m)
|
||||
#+STARTUP: logdrawer logdone logreschedule indent content align constSI entitiespretty
|
||||
|
||||
* Episode 1 - Introduction
|
||||
* DONE Episode 1 - Introduction
|
||||
** What is it all about?
|
||||
- Create a programming lang
|
||||
- Guide for contributors
|
||||
|
@ -20,3 +20,12 @@
|
|||
- Repository: https://devheroes.codes/Serene
|
||||
- Website: lxsameer.com
|
||||
Email: lxsameer@gnu.org
|
||||
* Episode 2 - Basic Setup
|
||||
** Installing Requirements
|
||||
*** LLVM and Clang
|
||||
- mlir-tblgen
|
||||
*** ccache (optional)
|
||||
** Building Serene and the =builder=
|
||||
- git hooks
|
||||
** Source tree structure
|
||||
** =dev.org= resources and TODOs
|
||||
|
|
Loading…
Reference in New Issue