WiP! absorb Genode upstream
This commit is contained in:
parent
e1172fac40
commit
549e7df89b
|
@ -1,3 +1,16 @@
|
|||
/toolchain-*
|
||||
/sdk-*
|
||||
/.gitignore
|
||||
result
|
||||
##### TUP GITIGNORE #####
|
||||
##### Lines below automatically generated by Tup.
|
||||
##### Do not edit.
|
||||
.tup
|
||||
/.gitignore
|
||||
/Makefile
|
||||
/bin-list
|
||||
/depot
|
||||
/pkg.sed
|
||||
/public
|
||||
/raw-list
|
||||
/versions.sed
|
||||
|
|
28
Tuprules.tup
28
Tuprules.tup
|
@ -1,5 +1,17 @@
|
|||
.gitignore
|
||||
|
||||
ifeq (@(TUP_ARCH),i386)
|
||||
CC_MARCH = -march=i686 -m32
|
||||
LD_MARCH = -melf_i386
|
||||
endif
|
||||
|
||||
ifeq (@(TUP_ARCH),x86_64)
|
||||
CC_MARCH = -m64 -mcmodel=large
|
||||
LD_MARCH = -melf_x86_64
|
||||
endif
|
||||
|
||||
GENODE_DIR = $(TUP_CWD)/upstream
|
||||
|
||||
ifeq ($(RAW_NAME),)
|
||||
RAW_NAME = $(TARGET_NAME)
|
||||
endif
|
||||
|
@ -22,7 +34,7 @@ endif
|
|||
|
||||
DEPOT_DIR = $(TUP_CWD)/depot
|
||||
DEPOT_RAW_DIR = $(DEPOT_DIR)/raw
|
||||
DEPOT_BIN_DIR = $(DEPOT_DIR)/bin/@(TUP_ARCH)
|
||||
DEPOT_BIN_DIR = $(DEPOT_DIR)/bin
|
||||
DEPOT_PKG_DIR = $(DEPOT_DIR)/pkg
|
||||
|
||||
PUBLIC_DIR = $(TUP_CWD)/public
|
||||
|
@ -99,17 +111,19 @@ SDK_INCLUDE = $(TUP_CWD)/sdk.tup
|
|||
|
||||
ERRATA_DIR = $(TUP_CWD)/errata
|
||||
|
||||
PKG_CONFIG = PKG_CONFIG_PATH=@(PKG_CONFIG_PATH) pkg-config
|
||||
export PKG_CONFIG_PATH
|
||||
PKG_CONFIG = PKG_CONFIG_PATH=$(GENODE_DIR)/pkg-config:$PKG_CONFIG_PATH pkg-config
|
||||
|
||||
ifndef TOOL_CHAIN_PREFIX
|
||||
error TOOL_CHAIN_PREFIX not configured
|
||||
endif
|
||||
|
||||
CC = $(TOOL_CHAIN_PREFIX)gcc
|
||||
CXX = $(TOOL_CHAIN_PREFIX)g++
|
||||
LD= $(TOOL_CHAIN_PREFIX)ld
|
||||
AR = $(TOOL_CHAIN_PREFIX)ar
|
||||
CC = @(TOOL_CHAIN_PREFIX)gcc
|
||||
CXX = @(TOOL_CHAIN_PREFIX)g++
|
||||
LD= @(TOOL_CHAIN_PREFIX)ld
|
||||
AR = @(TOOL_CHAIN_PREFIX)ar
|
||||
OBJCOPY = @(TOOL_CHAIN_PREFIX)objcopy
|
||||
|
||||
!cc = |> ^ CC %f^ $(CC) $(DEFINES) $(CFLAGS) $(CFLAGS_%e) $(CFLAGS_%f) -c %f -o %o |>
|
||||
!cxx = |> ^ CC %f^ $(CC) $(DEFINES) $(CXXFLAGS) $(CXXFLAGS_%e) $(CXXFLAGS_%f) -c %f -o %o |>
|
||||
!cxx = | $(GENODE_DIR)/<pkg-config> |> ^ CC %f^ $(CC) $(DEFINES) $(CXXFLAGS) $(CXXFLAGS_%e) $(CXXFLAGS_%f) -c %f -o %o |>
|
||||
!ld = |> ^ LD %o^ $(LD) $(LDFLAGS) %f -o %o |>
|
||||
|
|
16
default.nix
16
default.nix
|
@ -1,9 +1,15 @@
|
|||
{ pkgs ? import <nixpkgs> {} }: with pkgs;
|
||||
|
||||
let
|
||||
lddir = ./upstream/repos/base/src/ld;
|
||||
toolchain = import ./errata/toolchain.nix { inherit pkgs; };
|
||||
sdk = import ./sdk { inherit pkgs toolchain; };
|
||||
ports = import ./upstream/repos/libports/ports { };
|
||||
in
|
||||
pkgs.mkShell {
|
||||
name = "genode-dev-env";
|
||||
nativeBuildInputs =
|
||||
[ (import ./errata/toolchain.nix { inherit pkgs; })
|
||||
[ toolchain
|
||||
stdenv.glibc.dev
|
||||
git tup
|
||||
ccache
|
||||
|
@ -13,6 +19,7 @@ pkgs.mkShell {
|
|||
findutils
|
||||
autoconf264
|
||||
autogen
|
||||
cdrtools
|
||||
|
||||
expect libxml2 syslinux qemu xorriso
|
||||
|
||||
|
@ -38,8 +45,15 @@ pkgs.mkShell {
|
|||
ncurses
|
||||
];
|
||||
|
||||
passthru = { inherit lddir sdk toolchain; };
|
||||
|
||||
shellHook =
|
||||
''
|
||||
export SDK_DIR=${sdk}
|
||||
export LD_DIR=${lddir}
|
||||
export PKG_CONFIG_PATH=${sdk}/pkg-config
|
||||
export TOOLCHAIN_DIR=${toolchain}
|
||||
export SYSLINUX=${syslinux}
|
||||
export PROMPT_DIRTRIM=2
|
||||
export PS1="\[\033[1;30m\]Genode-dev [\[\033[1;37m\]\w\[\033[1;30m\]] $\[\033[0m\] "
|
||||
export PS2="\[\033[1;30m\]>\[\033[0m\] "
|
||||
|
|
|
@ -1,31 +1,30 @@
|
|||
include_rules
|
||||
export SYSLINUX
|
||||
|
||||
: config |> \
|
||||
echo %f | awk -f a.awk >> %o; \
|
||||
echo %f | awk -f b.awk >> %o; \
|
||||
echo %f | awk -f c.awk >> %o; \
|
||||
|> modules.s
|
||||
|
||||
# boot_modules.o {modules}
|
||||
: modules.s |> $(CC) $(CC_MARCH) -c %f -o %o |> boot_modules.o
|
||||
|
||||
LINK_ADDRESS = 0x01000000
|
||||
|
||||
# : {modules}
|
||||
|
||||
: modules.txt |> \
|
||||
awk -f a.awk < %f >> %o; \
|
||||
awk -f b.awk < %f >> %o; \
|
||||
awk -f c.awk < %f >> %o; \
|
||||
|> modules.s
|
||||
|
||||
: | \
|
||||
: boot_modules.o | \
|
||||
$(GENODE_DIR)/repos/base-nova/<core> \
|
||||
$(GENODE_DIR)/repos/base-nova/<ld> \
|
||||
|> \
|
||||
$(CXX) -nostdlib \
|
||||
$(CXX) $(CC_MARCH) -nostdlib \
|
||||
-Wl,-T -Wl,$(GENODE_DIR)/repos/base/src/ld/genode.ld \
|
||||
-Wl,-z -Wl,max-page-size=0x1000 \
|
||||
-Wl,-Ttext=$(LINK_ADDRESS) -Wl,-gc-sections \
|
||||
-Wl,-nostdlib \
|
||||
-Wl,--whole-archive -Wl,--start-group \
|
||||
%<core> %<ld> \
|
||||
%<core> %f \
|
||||
-Wl,--no-whole-archive \
|
||||
-Wl,--end-group $libgcc -o %o \
|
||||
-Wl,--end-group \
|
||||
`$(CXX) $(CC_MARCH) -print-libgcc-file-name` \
|
||||
-o %o \
|
||||
|> image.elf
|
||||
|
||||
: image.elf |> gzip --keep %f |> %b.gz
|
||||
|
|
2
upstream
2
upstream
|
@ -1 +1 @@
|
|||
Subproject commit 11d2a2957af3794ba9776d0958c2165699a77ffd
|
||||
Subproject commit 49098b9af3d089ca4a367d8e12c95d7b792460df
|
Loading…
Reference in New Issue