Assume the presence of a $CXX that just works

This commit is contained in:
Ehmry - 2020-03-31 20:11:37 +05:30
parent 7533b10648
commit 12fe1e94f3
12 changed files with 21 additions and 184 deletions

8
.gitignore vendored
View File

@ -1,5 +1,11 @@
/.reuse /.reuse
/.tup /.tup
/out /flake.lock
result result
result-* result-*
##### TUP GITIGNORE #####
##### Lines below automatically generated by Tup.
##### Do not edit.
.tup
/.gitignore
/sotest-harness

10
Tupfile Normal file
View File

@ -0,0 +1,10 @@
.gitignore
ifdef CXX
CXX = @(CXX)
else
export CXX
CXX = $CXX
endif
: component.cc |> $(CXX) -o %o %f |> sotest-harness

View File

View File

@ -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 }
]
}

View File

@ -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
'';
}

View File

@ -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" ]
}

View File

@ -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
}

View File

@ -3,23 +3,8 @@
edition = 201909; edition = 201909;
inputs.genodepkgs.uri = "git+https://git.sr.ht/~ehmry/genodepkgs?ref=staging"; outputs = { self, genodepkgs }: {
defaultPackage.x86_64-linux =
outputs = { self, genodepkgs, dhall-haskell }: genodepkgs.packages.x86_64-linux-x86_64-genode.sotest-producer;
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;
};
} }

View File

@ -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>

View File

@ -1,5 +0,0 @@
include_rules
LIBS += genode-prg
: foreach *.cc |> !cxx |> {obj}
: {obj} |> !ld |> %d {bin}
: {bin} |> !collect_bin |>

View File

@ -1,3 +0,0 @@
CONFIG_IS_LLVM=
CONFIG_CXX=x86_64-unknown-genode-clang++
CONFIG_LD=x86_64-unknown-genode-ld