diff --git a/.gitmodules b/.gitmodules index 9514a0d..82b4940 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "libjade"] path = libjade url = https://github.com/Rixxc/libjade.git +[submodule "jasmin"] + path = jasmin + url = https://github.com/Rixxc/jasmin.git diff --git a/Makefile b/Makefile index 0bc96a2..7d9a786 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,8 @@ -JC ?= jasminc +JC ?= jasmin/compiler/jasminc CC ?= gcc MAKE ?= make -.PHONY: clean run +.PHONY: clean run $(JC) all: build @true @@ -16,5 +16,8 @@ build/%.o: build/%.S clean: rm build/* 2> /dev/null || true -build/%.S: src/%.jazz +$(JC): + nix-shell jasmin/default.nix --command 'make -C jasmin/compiler CIL -j$(nproc) && make -C jasmin/compiler' + +build/%.S: src/%.jazz $(JC) JASMINPATH="Jade=libjade/src/" $(JC) $< -o $@ diff --git a/default.nix b/default.nix index f923614..8b6e489 100644 --- a/default.nix +++ b/default.nix @@ -1,15 +1,15 @@ { pkgs ? import { } }: with pkgs; -let - jasmin-src = fetchFromGitHub { - owner = "jasmin-lang"; - repo = "jasmin"; - rev = "9bb6340fe0e3c5d78ea3957f6c5c3564c3424770"; - hash = "sha256-EVwnD6dZLTy9MgR6gdymhg3Ipudpj1mchDlMpCAdITE="; - }; - - jasmin = callPackage "${jasmin-src}/default.nix" { inherit pkgs; }; -in +# let +# jasmin-src = fetchFromGitHub { +# owner = "jasmin-lang"; +# repo = "jasmin"; +# rev = "9bb6340fe0e3c5d78ea3957f6c5c3564c3424770"; +# hash = "sha256-EVwnD6dZLTy9MgR6gdymhg3Ipudpj1mchDlMpCAdITE="; +# }; +# +# jasmin = callPackage "${jasmin-src}/default.nix" { inherit pkgs; }; +# in stdenv.mkDerivation { name = "x25519-agent"; src = nix-gitignore.gitignoreSource [ ] ./.; @@ -17,15 +17,15 @@ stdenv.mkDerivation { nativeBuildInputs = [ gnumake gcc - jasmin + # jasmin ]; - configurePhase = '' - mkdir build - ''; - - installPhase = '' - mkdir -p $out/lib - cp build/libagent.a $out/lib - ''; + # configurePhase = '' + # mkdir build + # ''; + # + # installPhase = '' + # mkdir -p $out/lib + # cp build/libagent.a $out/lib + # ''; } diff --git a/jasmin b/jasmin new file mode 160000 index 0000000..244d42d --- /dev/null +++ b/jasmin @@ -0,0 +1 @@ +Subproject commit 244d42d2a8c37d7607abf7dd5e92eddd2c339340