Assume the presence of a $CXX that just works
parent
7533b10648
commit
12fe1e94f3
|
@ -1,5 +1,11 @@
|
|||
/.reuse
|
||||
/.tup
|
||||
/out
|
||||
/flake.lock
|
||||
result
|
||||
result-*
|
||||
##### TUP GITIGNORE #####
|
||||
##### Lines below automatically generated by Tup.
|
||||
##### Do not edit.
|
||||
.tup
|
||||
/.gitignore
|
||||
/sotest-harness
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
.gitignore
|
||||
|
||||
ifdef CXX
|
||||
CXX = @(CXX)
|
||||
else
|
||||
export CXX
|
||||
CXX = $CXX
|
||||
endif
|
||||
|
||||
: component.cc |> $(CXX) -o %o %f |> sotest-harness
|
|
@ -1,26 +0,0 @@
|
|||
let Genode = env:DHALL_GENODE
|
||||
|
||||
let baseNova = env:BASE_NOVA_MANIFEST
|
||||
|
||||
let os = env:OS_MANIFEST
|
||||
|
||||
let sotest-producer = env:SOTEST_PRODUCER_MANIFEST
|
||||
|
||||
in { arch = let Arch = < x86_32 | x86_64 > in Arch.x86_64
|
||||
, config =
|
||||
Genode.Init::{
|
||||
, verbose = True
|
||||
, children =
|
||||
toMap
|
||||
{ test =
|
||||
Genode.Init.Start::{
|
||||
, binary = "test-sotest"
|
||||
, exitPropagate = True
|
||||
}
|
||||
}
|
||||
}
|
||||
, rom =
|
||||
[ os.bin.init, sotest-producer.bin.test-sotest
|
||||
, { mapKey = "ld.lib.so", mapValue = baseNova.bin.ld-nova.mapValue }
|
||||
]
|
||||
}
|
|
@ -1,19 +0,0 @@
|
|||
{ genodeApps, dhallApps, genodePackages, legacyPackages, sotest-producer }:
|
||||
|
||||
legacyPackages.stdenv.mkDerivation {
|
||||
name = "sotest-nova";
|
||||
DHALL_GENODE = "${genodePackages.dhallGenode}/package.dhall";
|
||||
BASE_NOVA_MANIFEST = genodePackages.base-nova.manifest;
|
||||
OS_MANIFEST = genodePackages.os.manifest;
|
||||
SOTEST_PRODUCER_MANIFEST = sotest-producer.manifest;
|
||||
buildCommand = ''
|
||||
cp "${genodePackages.bender}/share/bender/bender" .
|
||||
cp "${genodePackages.NOVA}/hypervisor-x86_64" .
|
||||
${genodeApps.nova-image.program} ${./boot.dhall}
|
||||
mkdir -p $out
|
||||
${legacyPackages.buildPackages.zip}/bin/zip $out/binaries.zip bender hypervisor-x86_64 image.elf
|
||||
${dhallApps.dhall-to-yaml.program} < ${
|
||||
./sotest_config.dhall
|
||||
} > $out/sotest_config.yaml
|
||||
'';
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{ boot_items =
|
||||
[ { exec = "bender"
|
||||
, load = [ "hypervisor-x86_64 serial novga iommu", "image.elf" ]
|
||||
, name = "NOVA with Genode"
|
||||
}
|
||||
]
|
||||
, boot_panic_patterns = [ "Error: init" "PAGE-FAULT IN CORE" ]
|
||||
}
|
69
flake.lock
69
flake.lock
|
@ -1,69 +0,0 @@
|
|||
{
|
||||
"inputs": {
|
||||
"dhall-haskell": {
|
||||
"inputs": {
|
||||
"nixpkgs": {
|
||||
"inputs": {},
|
||||
"narHash": "sha256-wJg4DA700SoQbEz61448sR6BgxRa1R92K3vvCV1g+HY=",
|
||||
"originalUrl": "git+https://github.com/nixos/nixpkgs.git?ref=18.09-beta&rev=1d4de0d552ae9aa66a5b8dee5fb0650a4372d148",
|
||||
"url": "git+https://github.com/nixos/nixpkgs.git?ref=18.09-beta&rev=1d4de0d552ae9aa66a5b8dee5fb0650a4372d148"
|
||||
},
|
||||
"nixpkgsStaticLinux": {
|
||||
"inputs": {},
|
||||
"narHash": "sha256-famU3pJZ4vkElV9qc71HmyRVSvcrAhfMZ0UJKpmmKP8=",
|
||||
"originalUrl": "git+https://github.com/nh2/nixpkgs.git?ref=static-haskell-nix-stack-dhall-working",
|
||||
"url": "git+https://github.com/nh2/nixpkgs.git?ref=static-haskell-nix-stack-dhall-working&rev=925aac04f4ca58aceb83beef18cb7dae0715421b"
|
||||
}
|
||||
},
|
||||
"narHash": "sha256-KJl9ZLcMcEsLSPcwcWoc0Ac74/6HKC9LkVMeLwhyhlg=",
|
||||
"originalUrl": "dhall-haskell",
|
||||
"url": "git+https://github.com/dhall-lang/dhall-haskell.git?ref=flake&rev=aea28adf3d10ff1982aa4ddd176d1476251b932f"
|
||||
},
|
||||
"genodepkgs": {
|
||||
"inputs": {
|
||||
"dhall-haskell": {
|
||||
"inputs": {
|
||||
"nixpkgs": {
|
||||
"inputs": {},
|
||||
"narHash": "sha256-wJg4DA700SoQbEz61448sR6BgxRa1R92K3vvCV1g+HY=",
|
||||
"originalUrl": "git+https://github.com/nixos/nixpkgs.git?ref=18.09-beta&rev=1d4de0d552ae9aa66a5b8dee5fb0650a4372d148",
|
||||
"url": "git+https://github.com/nixos/nixpkgs.git?ref=18.09-beta&rev=1d4de0d552ae9aa66a5b8dee5fb0650a4372d148"
|
||||
},
|
||||
"nixpkgsStaticLinux": {
|
||||
"inputs": {},
|
||||
"narHash": "sha256-famU3pJZ4vkElV9qc71HmyRVSvcrAhfMZ0UJKpmmKP8=",
|
||||
"originalUrl": "git+https://github.com/nh2/nixpkgs.git?ref=static-haskell-nix-stack-dhall-working",
|
||||
"url": "git+https://github.com/nh2/nixpkgs.git?ref=static-haskell-nix-stack-dhall-working&rev=925aac04f4ca58aceb83beef18cb7dae0715421b"
|
||||
}
|
||||
},
|
||||
"narHash": "sha256-KJl9ZLcMcEsLSPcwcWoc0Ac74/6HKC9LkVMeLwhyhlg=",
|
||||
"originalUrl": "git+https://github.com/dhall-lang/dhall-haskell?ref=flake",
|
||||
"url": "git+https://github.com/dhall-lang/dhall-haskell?ref=flake&rev=aea28adf3d10ff1982aa4ddd176d1476251b932f"
|
||||
},
|
||||
"genode-depot": {
|
||||
"inputs": {
|
||||
"nixpkgs": {
|
||||
"inputs": {},
|
||||
"narHash": "sha256-5obW5UNpu+87ounLp2Y7flGZ6tw3Dp6K3BeMjsfEFlQ=",
|
||||
"originalUrl": "nixpkgs",
|
||||
"url": "github:edolstra/nixpkgs/a1fa9e65cab889c4f45e5966d25e45639fc3381b"
|
||||
}
|
||||
},
|
||||
"narHash": "sha256-7eL2MfGgeEaIwJXPc4LQ7pBa4JeGicm9th7onjKgzsE=",
|
||||
"originalUrl": "git+https://gitea.c3d2.de/ehmry/genode-depot.git",
|
||||
"url": "git+https://gitea.c3d2.de/ehmry/genode-depot.git?ref=master&rev=8c2aafed45b4075e37f1cd93de0ebf93f38c83c3"
|
||||
},
|
||||
"nixpkgs": {
|
||||
"inputs": {},
|
||||
"narHash": "sha256-fszFplbivpM5KPFuiBYPcFLQKbeSbKr95AGFlwVC8qQ=",
|
||||
"originalUrl": "github:ehmry/nixpkgs",
|
||||
"url": "github:ehmry/nixpkgs/173d80a0be841fdb8ca1327fd93d99fa69dded00"
|
||||
}
|
||||
},
|
||||
"narHash": "sha256-u+bLxosriwFz+ifR/EhKpGFNkkVaSL+tJMFPQscjzL0=",
|
||||
"originalUrl": "git+https://git.sr.ht/~ehmry/genodepkgs?ref=staging",
|
||||
"url": "git+https://git.sr.ht/~ehmry/genodepkgs?ref=staging&rev=304a5b2bec0fcd8663bfce66c25746a7278b871d"
|
||||
}
|
||||
},
|
||||
"version": 3
|
||||
}
|
23
flake.nix
23
flake.nix
|
@ -3,23 +3,8 @@
|
|||
|
||||
edition = 201909;
|
||||
|
||||
inputs.genodepkgs.uri = "git+https://git.sr.ht/~ehmry/genodepkgs?ref=staging";
|
||||
|
||||
outputs = { self, genodepkgs, dhall-haskell }:
|
||||
let localSystem = "x86_64-linux";
|
||||
in {
|
||||
|
||||
defaultPackage = with builtins;
|
||||
let
|
||||
pkgs = genodepkgs.packages;
|
||||
systems = attrNames pkgs;
|
||||
f = system: {
|
||||
name = system;
|
||||
value = pkgs.${system}.sotest-producer.overrideAttrs
|
||||
(attrs: { src = self; });
|
||||
};
|
||||
list = map f systems;
|
||||
in listToAttrs list;
|
||||
|
||||
};
|
||||
outputs = { self, genodepkgs }: {
|
||||
defaultPackage.x86_64-linux =
|
||||
genodepkgs.packages.x86_64-linux-x86_64-genode.sotest-producer;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,34 +0,0 @@
|
|||
.gitignore
|
||||
|
||||
export PKG_CONFIG_PATH
|
||||
PKG_CONFIG = pkg-config
|
||||
ifeq (@(TUP_ARCH),i386)
|
||||
CC_MARCH = -march=i686 -m32
|
||||
LD_MARCH = -melf_i386
|
||||
AS_MARCH = -march=i686 --32
|
||||
endif
|
||||
|
||||
ifeq (@(TUP_ARCH),x86_64)
|
||||
CC_MARCH = -m64 -mcmodel=large
|
||||
LD_MARCH = -melf_x86_64
|
||||
endif
|
||||
|
||||
ifeq (@(TUP_ARCH),arm_v8)
|
||||
CC_MARCH = -march=armv8-a
|
||||
endif
|
||||
|
||||
CXXFLAGS += $(CC_MARCH)
|
||||
LDFLAGS += $(LD_MARCH)
|
||||
|
||||
OLEVEL = -O2
|
||||
|
||||
!cxx = |> ^o CXX %b^ @(CC_WRAPPER) @(CXX) $(OLEVEL) $(CXXFLAGS) $(CXXFLAGS_%e) $(CXXFLAGS_%f) $(CPPFLAGS) `$(PKG_CONFIG) --cflags $(LIBS)` -c -fPIC %f -o %o |> %B.o
|
||||
|
||||
LDFLAGS += -melf_x86_64
|
||||
|
||||
!ld = |> ^o LD %o^ @(LD) -o %o $(LDFLAGS) `$(PKG_CONFIG) --libs $(LIBS)` %f |>
|
||||
|
||||
OUT_DIR=$(TUP_CWD)/../out
|
||||
|
||||
!collect_bin = |> ^ COLLECT %b^ install -m555 %f %o \
|
||||
|> $(OUT_DIR)/bin/%b $(OUT_DIR)/<bin>
|
|
@ -1,5 +0,0 @@
|
|||
include_rules
|
||||
LIBS += genode-prg
|
||||
: foreach *.cc |> !cxx |> {obj}
|
||||
: {obj} |> !ld |> %d {bin}
|
||||
: {bin} |> !collect_bin |>
|
|
@ -1,3 +0,0 @@
|
|||
CONFIG_IS_LLVM=
|
||||
CONFIG_CXX=x86_64-unknown-genode-clang++
|
||||
CONFIG_LD=x86_64-unknown-genode-ld
|
Loading…
Reference in New Issue