19.05 SDK

This commit is contained in:
Ehmry - 2019-03-02 15:23:50 +01:00
parent 24a3eea89e
commit 4198e418df
73 changed files with 683 additions and 1 deletions

8
.gitignore vendored
View File

@ -9,3 +9,11 @@
/public
/repos/world
##### TUP GITIGNORE #####
##### Lines below automatically generated by Tup.
##### Do not edit.
.tup
/.gitignore
/sdk
/sdk.tar
/startup.o

22
Tupfile Normal file
View File

@ -0,0 +1,22 @@
include_rules
: $(BASE_DIR)/src/ld/genode.ld |> !cp |> $(SDK_DIR)/ld/%b {ld}
: $(BASE_DIR)/src/ld/genode_dyn.dl |> !cp |> $(SDK_DIR)/ld/%b {ld}
: $(BASE_DIR)/src/ld/genode_dyn.ld |> !cp |> $(SDK_DIR)/ld/%b {ld}
: $(BASE_DIR)/src/ld/genode_rel.ld |> !cp |> $(SDK_DIR)/ld/%b {ld}
: $(BASE_DIR)/src/lib/ldso/startup/startup.cc |> ^ CC %f^ \
$(CXX) -c %f -o %o -fPIC |> %B.o
!merge = |> ^ MERGE %o^ $(AR) -rcs %o %f |>
: startup.o |> !merge |> $(SDK_DIR)/$(LOCAL_LIB_PREFIX)/arm64/ldso-startup.lib.a {startup}
: startup.o |> !merge |> $(SDK_DIR)/$(LOCAL_LIB_PREFIX)/x86_32/ldso-startup.lib.a {startup}
: startup.o |> !merge |> $(SDK_DIR)/$(LOCAL_LIB_PREFIX)/x86_64/ldso-startup.lib.a {startup}
: {ld} {startup} $(SDK_DIR)/<pkgconfigs> $(SDK_DIR)/<api_tarballs> |> \
tar cf %o --transform='s|^|$(SDK_PREFIX)/|' -C sdk . ; \
for t in %<api_tarballs>; do \
tar --concatenate -f %o $t; \
done \
|> sdk.tar

0
Tupfile.ini Normal file
View File

66
Tuprules.tup Normal file
View File

@ -0,0 +1,66 @@
.gitignore
GENODE_DIR = $(TUP_CWD)
BASE_DIR = $(GENODE_DIR)/repos/base
SDK_VERSION = 19.05
# TODO: these are configuration settings
LOCAL_LIB_PREFIX = lib
LOCAL_PKGCONFIG_PREFIX = pkgconfig
SDK_PREFIX = /opt/genode/sdk-$(SDK_VERSION)
SDK_INCLUDE_PREFIX = $(SDK_PREFIX)/include
SDK_LIB_PREFIX = $(SDK_PREFIX)/$(LOCAL_LIB_PREFIX)
SDK_PKGCONFIG_PREFIX = $(SDK_PREFIX)/$(LOCAL_PKGCONFIG_PREFIX)
SDK_DIR = $(GENODE_DIR)/sdk
!ln = |> ^ LN %o -> %f^ ln -s %f %o |>
!cp = |> ^ CP %o^ cp %f %o |>
!tar = |> tar cf %o %f $(TAR_FLAGS) |>
SED_PKGCONFIG_FLAGS += -e 's|@exec_prefix@|$(SDK_PREFIX)|'
SED_PKGCONFIG_FLAGS += -e 's|@includedir@|$(SDK_INCLUDE_PREFIX)|'
SED_PKGCONFIG_FLAGS += -e 's|@prefix@|$(SDK_PREFIX)|'
SED_PKGCONFIG_FLAGS += -e 's|@sharedlibdir@|@libdir@|'
SED_PKGCONFIG_FLAGS += -e 's|@SDK_VERSION@|$(SDK_VERSION)|'
SED_FLAGS_arm64 += -e 's|@libdir@|$(SDK_LIB_PREFIX)/arm64|'
SED_FLAGS_i386 += -e 's|@libdir@|$(SDK_LIB_PREFIX)/x86_32|'
SED_FLAGS_x86_64 += -e 's|@libdir@|$(SDK_LIB_PREFIX)/x86_64|'
!sed_pkgconfig_file = |> ^ SED %B^ \
sed $(SED_PKGCONFIG_FLAGS) $(SED_FLAGS) $(SED_FLAGS_arm64) %f \
> $(LOCAL_PKGCONFIG_PREFIX)/arm64/%B; \
sed $(SED_PKGCONFIG_FLAGS) $(SED_FLAGS) $(SED_FLAGS_i386) %f \
> $(LOCAL_PKGCONFIG_PREFIX)/x86_32/%B; \
sed $(SED_PKGCONFIG_FLAGS) $(SED_FLAGS) $(SED_FLAGS_x86_64) %f \
> $(LOCAL_PKGCONFIG_PREFIX)/x86_64/%B; \
|> $(LOCAL_PKGCONFIG_PREFIX)/arm64/%B \
$(LOCAL_PKGCONFIG_PREFIX)/x86_32/%B \
$(LOCAL_PKGCONFIG_PREFIX)/x86_64/%B \
<artifacts>
!sed_pkgconfig_flags = |> ^ SED %d.pc^ \
sed $(SED_PKGCONFIG_FLAGS) $(SED_FLAGS) $(SED_FLAGS_arm64) \
> $(LOCAL_PKGCONFIG_PREFIX)/arm64/%d.pc; \
sed $(SED_PKGCONFIG_FLAGS) $(SED_FLAGS) $(SED_FLAGS_i386) \
> $(LOCAL_PKGCONFIG_PREFIX)/x86_32/%d.pc; \
sed $(SED_PKGCONFIG_FLAGS) $(SED_FLAGS) $(SED_FLAGS_x86_64) \
> $(LOCAL_PKGCONFIG_PREFIX)/x86_64/%d.pc; \
|> $(LOCAL_PKGCONFIG_PREFIX)/arm64/%d.pc \
$(LOCAL_PKGCONFIG_PREFIX)/x86_32/%d.pc \
$(LOCAL_PKGCONFIG_PREFIX)/x86_64/%d.pc \
<artifacts>
PORTS_CURRENT = $(GENODE_DIR)/tool/ports/current
SDK_ABI_INCLUDE = $(TUP_CWD)/abi.tup
SDK_TAR_INCLUDE = $(TUP_CWD)/tar.tup
SDK_PKGCONFIG_TEMPLATE_INCLUDE = $(TUP_CWD)/template.pc.tup
CC = /usr/local/genode-gcc/bin/genode-x86-gcc
CXX = /usr/local/genode-gcc/bin/genode-x86-g++
AR = /usr/local/genode-gcc/bin/genode-x86-ar
LD = /usr/local/genode-gcc/bin/genode-x86-ld

31
abi.tup Normal file
View File

@ -0,0 +1,31 @@
ifeq ($(SYMBOLS_DIR),)
SYMBOLS_DIR = $(REP_DIR)/lib/symbols
endif
LD_SCRIPT_SO = $(BASE_DIR)/src/ld/genode_rel.ld
: |> ^ CONVERT %o^ sed \
-e "s/^\(\w\+\) D \(\w\+\)\$/.data; .global \1; .type \1,%%object; .size \1,\2; \1:/p" \
-e "s/^\(\w\+\) V/.data; .weak \1; .type \1,%%object; \1:/p" \
-e "s/^\(\w\+\) T/.text; .global \1; .type \1,%%function; \1:/p" \
-e "s/^\(\w\+\) R \(\w\+\)\$/.section .rodata; .global \1; .type \1,%%object; .size \1,\2; \1:/p" \
-e "s/^\(\w\+\) W/.text; .weak \1; .type \1,%%function; \1:/p" \
-e "s/^\(\w\+\) B \(\w\+\)\$/.bss; .global \1; .type \1,%%object; .size \1,\2; \1:/p" \
-e "s/^\(\w\+\) U/.text; .global \1; $(ASM_SYM_DEPENDENCY)/p" \
$(SYMBOLS_DIR)/%d > %o |> $(LOCAL_LIB_PREFIX)/%d.symbols.s {asm}
: {asm} |> ^ ASSEMBLE %o^ $(CC) -c %f -o %o \
|> $(LOCAL_LIB_PREFIX)/%b.o {obj}
!merge = |> ^ MERGE %o^ $(LD) \
-o %o \
-shared --eh-frame-hdr $(LD_OPT) \
-T $(LD_SCRIPT_SO) \
--whole-archive --start-group \
$(LIB_SO_DEPS) %f \
--end-group --no-whole-archive \
|>
: {obj} |> !merge |> $(LOCAL_LIB_PREFIX)/arm64/%d.lib.so <artifacts>
: {obj} |> !merge |> $(LOCAL_LIB_PREFIX)/x86_32/%d.lib.so <artifacts>
: {obj} |> !merge |> $(LOCAL_LIB_PREFIX)/x86_64/%d.lib.so <artifacts>

17
cmake/Toolchain.cmake.in Normal file
View File

@ -0,0 +1,17 @@
INCLUDE(CMakeForceCompiler)
SET(CMAKE_SYSTEM_NAME Genode)
SET(CMAKE_SYSTEM_VERSION @SDK_VERSION@)
SET(CMAKE_FORCE_C_COMPILER @COMPILER_PREFIX@gcc GNU)
SET(CMAKE_FORCE_CXX_COMPILER @COMPILER_PREFIX@g++ GNU)
# where is the target environment
SET(CMAKE_FIND_ROOT_PATH @SDK_PREFIX@)
SET(CMAKE_PREFIX_PATH @SDK_PREFIX@/cmake)
# search for programs in the build host directories
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
# for libraries and headers in the target directories
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

10
cmake/Tupfile Normal file
View File

@ -0,0 +1,10 @@
include_rules
SED_FLAGS_CMAKE += -e 's|@SDK_VERSION@|$(SDK_VERSION)|'
SED_FLAGS_CMAKE += -e 's|@SDK_PREFIX@|$(SDK_PREFIX)|'
ifeq ($(ARCH),x86_64)
SED_FLAGS_CMAKE += -e 's|@COMPILER_PREFIX@|/usr/local/genode-gcc/bin/genode-x86-|'
endif
: Toolchain.cmake.in |> sed $(SED_FLAGS_CMAKE) %f > %o |> %B

1
repos/base/Tuprules.tup Normal file
View File

@ -0,0 +1 @@
REP_DIR = $(TUP_CWD)

View File

@ -0,0 +1,19 @@
include_rules
SED_FLAGS += -e 's|@TOOLCHAIN_DIR@|/opt/genode/toolchain-19.05|'
SED_FLAGS_arm64 += -e 's|@TOOL_PREFIX@|genode-arm-|'
SED_FLAGS_arm64 += -e 's|@SPEC_INCLUDES@| -I${includedir}/spec/arm_64 -I${includedir}/spec/64bit|'
SED_FLAGS_i386 += -e 's|@TOOL_PREFIX@|genode-x86-|'
SED_FLAGS_i386 += -e 's|@SPEC_INCLUDES@|-I${includedir}/spec/x86_32 -I${includedir}/spec/x86 -I${includedir}/spec/32bit|'
SED_FLAGS_x86_64 += -e 's|@TOOL_PREFIX@|genode-x86-|'
SED_FLAGS_x86_64 += -e 's|@SPEC_INCLUDES@|-I${includedir}/spec/x86_64 -I${includedir}/spec/x86 -I${includedir}/spec/64bit|'
: foreach *.pc.in |> !sed_pkgconfig_file |>
TAR_FLAGS += --transform='s|/include/|/include/genode-base/|'
TAR_FLAGS += -C $(REP_DIR) include
include $(SDK_TAR_INCLUDE)

View File

@ -0,0 +1,13 @@
includedir=@includedir@/genode-base
toolchaindir=@TOOLCHAIN_DIR@
cc=${toolchaindir}/bin/@TOOL_PREFIX@gcc
cxx=${toolchaindir}/bin/@TOOL_PREFIX@g++
ld=${toolchaindir}/bin/@TOOL_PREFIX@ld
ar=${toolchaindir}/bin/@TOOL_PREFIX@ar
ranlib=${toolchaindir}/bin/@TOOL_PREFIX@ranlib
Name: base
Description: Genode base library
URL: https://genode.org/
Version: @SDK_VERSION@
Cflags: -nostdinc -fPIC -I${includedir} @SPEC_INCLUDES@ -I${toolchaindir}/lib/gcc/x86_64-pc-elf/8.3.0/include

View File

@ -0,0 +1,11 @@
prefix=@prefix@
lddir=${prefix}/ld
libdir=@libdir@
toolchaindir=@TOOLCHAIN_DIR@
Name: genode-lib
Description: Flags for linking Genode libraries
URL: https://genode.org/
Version: @SDK_VERSION@
Requires: genode-base
Libs: -shared --eh-frame-hdr -melf_x86_64 -gc-sections -z max-page-size=0x1000 -T ${lddir}/genode_rel.ld --entry=0x0 ${libdir}/ldso-startup.lib.a ${toolchaindir}/lib/gcc/x86_64-pc-elf/8.3.0/64/libgcc.a

View File

@ -0,0 +1,12 @@
prefix=@prefix@
lddir=${prefix}/ld
libdir=@libdir@
toolchaindir=@TOOLCHAIN_DIR@
ld=${toolchaindir}/bin/genode-x86-ld
Name: genode-prg
Description: Flags for dynamically-linked Genode programs
URL: https://genode.org/
Version: @SDK_VERSION@
Requires: genode-base
Libs: -melf_x86_64 -gc-sections -z max-page-size=0x1000 --dynamic-list=${lddir}/genode_dyn.dl -nostdlib -Ttext=0x01000000 --dynamic-linker=ld.lib.so --eh-frame-hdr -rpath-link=. -T ${lddir}/genode_dyn.ld ${libdir}/ld.lib.so ${toolchaindir}/lib/gcc/x86_64-pc-elf/8.3.0/64/libgcc.a

View File

@ -0,0 +1,6 @@
include_rules
include $(SDK_ABI_INCLUDE)
: foreach *.pc.in |> !sed_pkgconfig_file |>
include $(SDK_TAR_INCLUDE)

View File

@ -0,0 +1,5 @@
Name: ld
Description: Genode dynamic loader
URL: https://genode.org/
Version: @SDK_VERSION@
Libs: -l:ld.lib.so

1
repos/gems/Tuprules.tup Normal file
View File

@ -0,0 +1 @@
REP_DIR = $(TUP_CWD)

View File

@ -0,0 +1,8 @@
include_rules
: *.pc.in |> !sed_pkgconfig_file |>
TAR_FLAGS += --transform='s|/include/|/include/genode-gems/|'
TAR_FLAGS += -C $(REP_DIR) include
include $(SDK_TAR_INCLUDE)

View File

@ -0,0 +1,7 @@
includedir=@includedir@/genode-gems
Name: base
Description: Genode gems headers
URL: https://genode.org/
Version: @SDK_VERSION@
Cflags: -I${includedir}

View File

@ -0,0 +1 @@
REP_DIR = $(TUP_CWD)

View File

@ -0,0 +1,17 @@
include_rules
include $(SDK_ABI_INCLUDE)
CONTRIB_DIR = `$(PORTS_CURRENT) mesa`
SED_FLAGS += -e 's|@GL_PC_REQ_PRIV@||'
SED_FLAGS += -e 's|@PACKAGE_VERSION@||'
SED_FLAGS += -e 's|-EGL|-l:egl.lib.so|'
SED_FLAGS += -e 's|@GL_PC_LIB_PRIV@||'
SED_FLAGS += -e 's|@GL_PC_CFLAGS@||'
SED_FLAGS += $(CONTRIB_DIR)/src/lib/mesa/src/egl/main/egl.pc.in
: |> !sed_pkgconfig_flags |>
TAR_FLAGS += --transform='s|/include/|/include/egl/|'
TAR_FLAGS += -C $(CONTRIB_DIR) include/EGL include/KHR
include $(SDK_TAR_INCLUDE)

View File

@ -0,0 +1,12 @@
include_rules
: egl_api.pc.in |> !sed_pkgconfig_file |>
CONTRIB_DIR = `$(PORTS_CURRENT) egl_api`
TAR_FLAGS += --transform='s|/include/|/include/egl_api/|'
TAR_FLAGS += -C $(REP_DIR) include/EGL
TAR_FLAGS += -C $(CONTRIB_DIR) include
include $(SDK_TAR_INCLUDE)

View File

@ -0,0 +1,6 @@
prefix=@prefix@
includedir=@includedir@/egl_api
Name: EGL
Description: EGL API headers
Cflags: -I${includedir}

View File

@ -0,0 +1,24 @@
include_rules
include $(SDK_ABI_INCLUDE)
SED_FLAGS_arm64 += -e 's|@SPEC_INCLUDES@|-I${includedir}/spec/arm_64|'
SED_FLAGS_i386 += -e 's|@SPEC_INCLUDES@|-I${includedir}/spec/x86_32 -I${includedir}/spec/x86|'
SED_FLAGS_x86_64 += -e 's|@SPEC_INCLUDES@|-I${includedir}/spec/x86_64 -I${includedir}/spec/x86|'
: libc.pc.in |> !sed_pkgconfig_file |>
CONTRIB_DIR = `$(PORTS_CURRENT) libc`
TAR_FLAGS += --transform='s|/include/spec/arm_64/libc/|/include/libc/spec/arm_64/|'
TAR_FLAGS += --transform='s|/include/spec/arm/libc/|/include/libc/spec/arm/|'
TAR_FLAGS += --transform='s|/include/spec/x86_32/libc/|/include/libc/spec/x86_32/|'
TAR_FLAGS += --transform='s|/include/spec/x86_64/libc/|/include/libc/spec/x86_64/|'
TAR_FLAGS += --transform='s|/include/spec/x86/libc/|/include/libc/spec/x86/|'
TAR_FLAGS += --transform='s|/include/libc/component.h|/include/libc/libc/component.h|'
TAR_FLAGS += -C $(REP_DIR) include/libc
TAR_FLAGS += -C $(CONTRIB_DIR) include
include $(SDK_TAR_INCLUDE)

View File

@ -0,0 +1,10 @@
includedir=@includedir@/libc
libdir=@libdir@
Name: genode-libc
Description: Genode C runtime library
URL: https://genode.org/
Version: @SDK_VERSION@
Requires: vfs
Cflags: -D__FreeBSD__=12 -D__GENODE__ -fno-builtin-sin -fno-builtin-cos -fno-builtin-sinf -fno-builtin-cosf -I${includedir} @SPEC_INCLUDES@
Libs: -L${libdir} -l:libc.lib.so

View File

@ -0,0 +1,7 @@
include_rules
include $(SDK_ABI_INCLUDE)
SED_FLAGS += -e 's|@SDK_VERSION@|$(SDK_VERSION)|'
: libm.pc.in |> !sed_pkgconfig_file |>
include $(SDK_TAR_INCLUDE)

View File

@ -0,0 +1,5 @@
Name: Libm
Description: Genode C mathematic library
URL: https://genode.org/
Version: @SDK_VERSION@
Libs: -l:libm.lib.so

View File

@ -0,0 +1,17 @@
include_rules
include $(SDK_ABI_INCLUDE)
CONTRIB_DIR = `$(PORTS_CURRENT) libpng`
SED_FLAGS += -e 's|@PNGLIB_MAJOR@||'
SED_FLAGS += -e 's|@PNGLIB_MINOR@||'
SED_FLAGS += -e 's|@PNGLIB_VERSION@||'
SED_FLAGS += -e 's|-lpng|-l:libpng.lib.so|'
SED_FLAGS += -e 's|@LIBS@|libc|'
SED_FLAGS += $(CONTRIB_DIR)/src/lib/libpng/libpng.pc.in
: |> !sed_pkgconfig_flags |>
TAR_FLAGS += -C $(CONTRIB_DIR) include/libpng
include $(SDK_TAR_INCLUDE)

View File

@ -0,0 +1,11 @@
include_rules
include $(SDK_ABI_INCLUDE)
CONTRIB_DIR = `$(PORTS_CURRENT) mesa`
SED_FLAGS += mesa.pc.in
: |> !sed_pkgconfig_flags |>
TAR_FLAGS += --transform='s|/include/|/include/mesa/|'
TAR_FLAGS += -C $(CONTRIB_DIR) include
include $(SDK_TAR_INCLUDE)

View File

@ -0,0 +1,9 @@
prefix=@prefix@
exec_prefix=${prefix}
libdir=@libdir@
includedir=@includedir@/mesa
Name: mesa
Description: Mesa library
Libs: -L${libdir} -l:mesa.lib.so
Cflags: -I${includedir}

View File

@ -0,0 +1,2 @@
include_rules
include $(SDK_ABI_INCLUDE)

View File

@ -0,0 +1,6 @@
Name: POSIX entrypoint
Description: Genode POSIX entrypoint library
URL: https://genode.org/
Version: @SDK_VERSION@
Requires.private: libc
Libs: -l:posix.lib.so

View File

@ -0,0 +1,2 @@
CONTRIB_DIR = `$(PORTS_CURRENT) qt5`
SYMBOLS_DIR = $(CONTRIB_DIR)/lib/symbols

View File

@ -0,0 +1,11 @@
include_rules
include $(SDK_ABI_INCLUDE)
: *.pc.in |> !sed_pkgconfig_file |>
CONTRIB_DIR = `$(PORTS_CURRENT) qt5`
TAR_FLAGS += --transform='s|/include/|/include/qt5_core/|'
TAR_FLAGS += -C $(CONTRIB_DIR) include/QtCore
include $(SDK_TAR_INCLUDE)

View File

@ -0,0 +1,6 @@
includedir=@includedir@/qt5_core
libdir=@libdir@
Name: Qt5Core
Cflags: -DQT_CORE_LIB -I${includedir} -I${includedir}/QtCore
Libs: -L${libdir} -l:qt5_core.lib.so

View File

@ -0,0 +1,9 @@
include_rules
include $(SDK_ABI_INCLUDE)
: *.pc.in |> !sed_pkgconfig_file |>
TAR_FLAGS += --transform='s|/include/|/include/qt5_gui/|'
TAR_FLAGS += -C $(CONTRIB_DIR) include/QtGui
include $(SDK_TAR_INCLUDE)

View File

@ -0,0 +1,6 @@
includedir=@includedir@
libdir=@libdir@
Name: QtGui
Cflags: -DQT_GUI_LIB -I${includedir} -I${includedir}/QtGui
Libs: -L${libdir} -l:qt5_gui.lib.so

View File

@ -0,0 +1,9 @@
include_rules
include $(SDK_ABI_INCLUDE)
: *.pc.in |> !sed_pkgconfig_file |>
TAR_FLAGS += --transform='s|/include/|/include/qt5_network/|'
TAR_FLAGS += -C $(CONTRIB_DIR) include/QtNetwork
include $(SDK_TAR_INCLUDE)

View File

@ -0,0 +1,6 @@
includedir=@includedir@/qt5_network
libdir=@libdir@
Name: QtNetwork
Cflags: -I${includedir} -I${includedir}/QtNetwork
Libs: -L${libdir} -l:qt5_network.lib.so

View File

@ -0,0 +1,9 @@
include_rules
include $(SDK_ABI_INCLUDE)
: *.pc.in |> !sed_pkgconfig_file |>
TAR_FLAGS += --transform='s|/include/|/include/qt5_scriptclassic/|'
TAR_FLAGS += -C $(CONTRIB_DIR) include/QtScript
include $(SDK_TAR_INCLUDE)

View File

@ -0,0 +1,6 @@
includedir=@includedir@/qt5_scriptclassic
libdir=@libdir@
Name: QtScript
Cflags: -I${includedir} -I${includedir}/QtScript
Libs: -L${libdir} -l:qt5_scriptclassic.lib.so

View File

@ -0,0 +1,9 @@
include_rules
include $(SDK_ABI_INCLUDE)
: *.pc.in |> !sed_pkgconfig_file |>
TAR_FLAGS += --transform='s|/include/|/include/qt5_sql/|'
TAR_FLAGS += -C $(CONTRIB_DIR) include/QtSql
include $(SDK_TAR_INCLUDE)

View File

@ -0,0 +1,6 @@
includedir=@includedir@/qt5_sql
libdir=@libdir@
Name: QtSql
Cflags: -I${includedir} -I${includedir}/QtSql
Libs: -L${libdir} -l:qt5_sql.lib.so

View File

@ -0,0 +1,9 @@
include_rules
include $(SDK_ABI_INCLUDE)
: *.pc.in |> !sed_pkgconfig_file |>
TAR_FLAGS += --transform='s|/include/|/include/qt5_svg/|'
TAR_FLAGS += -C $(CONTRIB_DIR) include/QtSvg
include $(SDK_TAR_INCLUDE)

View File

@ -0,0 +1,6 @@
includedir=@includedir@/qt5_svg
libdir=@libdir@
Name: QtSvg
Cflags: -I${includedir} -I${includedir}/QtSvg
Libs: -L${libdir} -l:qt5_svg.lib.so

View File

@ -0,0 +1,9 @@
include_rules
include $(SDK_ABI_INCLUDE)
: *.pc.in |> !sed_pkgconfig_file |>
TAR_FLAGS += --transform='s|/include/|/include/qt5_webkit/|'
TAR_FLAGS += -C $(CONTRIB_DIR) include/QtWebKit
include $(SDK_TAR_INCLUDE)

View File

@ -0,0 +1,6 @@
includedir=@includedir@/qt5_webkit
libdir=@libdir@
Name: QtWebKit
Cflags: -I${includedir} -I${includedir}/QtWebKit
Libs: -L${libdir} -l:qt5_webkit.lib.so

View File

@ -0,0 +1,9 @@
include_rules
include $(SDK_ABI_INCLUDE)
: *.pc.in |> !sed_pkgconfig_file |>
TAR_FLAGS += --transform='s|/include/|/include/qt5_webkitwidgets/|'
TAR_FLAGS += -C $(CONTRIB_DIR) include/QtWebKitWidgets
include $(SDK_TAR_INCLUDE)

View File

@ -0,0 +1,6 @@
includedir=@includedir@/qt5_webkitwidgets
libdir=@libdir@
Name: QtWebKitWidgets
Cflags: -DQT_WIDGETS_LIB -I${includedir} -I${includedir}/QtWebKitWidgets
Libs: -L${libdir} -l:qt5_webkitwidgets.lib.so

View File

@ -0,0 +1,9 @@
include_rules
include $(SDK_ABI_INCLUDE)
: *.pc.in |> !sed_pkgconfig_file |>
TAR_FLAGS += --transform='s|/include/|/include/qt5_widgets/|'
TAR_FLAGS += -C $(CONTRIB_DIR) include/QtWidgets
include $(SDK_TAR_INCLUDE)

View File

@ -0,0 +1,6 @@
includedir=@includedir@/qt5_widgets
libdir=@libdir@
Name: QtWidgets
Cflags: -DQT_WIDGETS_LIB -I${includedir} -I${includedir}/QtWidgets
Libs: -L${libdir} -l:qt5_widgets.lib.so

View File

@ -0,0 +1,9 @@
include_rules
include $(SDK_ABI_INCLUDE)
: *.pc.in |> !sed_pkgconfig_file |>
TAR_FLAGS += --transform='s|/include/|/include/qt5_xml/|'
TAR_FLAGS += -C $(CONTRIB_DIR) include/QtXml
include $(SDK_TAR_INCLUDE)

View File

@ -0,0 +1,6 @@
includedir=@includedir@/qt5_xml
libdir=@libdir@
Name: QtXml
Cflags: -I${includedir} -I${includedir}/QtXml
Libs: -L${libdir} -l:qt5_xml.lib.so

View File

@ -0,0 +1,6 @@
include_rules
include $(SDK_ABI_INCLUDE)
: *.pc.in |> !sed_pkgconfig_file |>
include $(SDK_TAR_INCLUDE)

View File

@ -0,0 +1,3 @@
libdir=@libdir@
Libs: -L${libdir} -l:qt_component.lib.so

View File

@ -0,0 +1,12 @@
include_rules
SED_FLAGS += -e 's|@includedir@|$(SDK_INCLUDE_PREFIX)|'
: qt5core.pc.in |> |> !sed_pkgconfig_file |>
CONTRIB_DIR = `$(PORTS_CURRENT) qt5`
TAR_FLAGS += --transform='s|/include/|/include/qt5core/|'
TAR_FLAGS += -C $(CONTRIB_DIR) include/QtCore
include $(SDK_TAR_INCLUDE)

View File

@ -0,0 +1,4 @@
includedir=@includedir@
Name: Qt5Core
Cflags: -DQT_CORE_LIB -I${includedir} -I${includedir}/QtCore

View File

@ -0,0 +1,13 @@
include_rules
SED_FLAGS += -e 's|@includedir@|$(SDK_INCLUDE_PREFIX)|'
: qt5gui.pc.in |> |> !sed_pkgconfig_file |>
CONTRIB_DIR = `$(PORTS_CURRENT) qt5`
TAR_FLAGS += --transform='s|/include/|/include/qt5gui/|'
TAR_FLAGS += -C $(CONTRIB_DIR) include/QtGui
include $(SDK_TAR_INCLUDE)

View File

@ -0,0 +1,4 @@
includedir=@includedir@/qt5gui
Name: QtGui
Cflags: -DQT_GUI_LIB -I${includedir} -I${includedir}/QtGui

View File

@ -0,0 +1,13 @@
include_rules
SED_FLAGS += -e 's|@includedir@|$(SDK_INCLUDE_PREFIX)|'
: qt5network.pc.in |> !sed_pkgconfig_file |>
CONTRIB_DIR = `$(PORTS_CURRENT) qt5`
TAR_FLAGS += --transform='s|/include/|/include/qt5network/|'
TAR_FLAGS += -C $(CONTRIB_DIR) include/QtNetwork
include $(SDK_TAR_INCLUDE)

View File

@ -0,0 +1,4 @@
includedir=@includedir@/qt5network
Name: QtNetwork
Cflags: -I${includedir} -I${includedir}/QtNetwork

View File

@ -0,0 +1,12 @@
include_rules
SED_FLAGS += -e 's|@includedir@|$(SDK_INCLUDE_PREFIX)|'
: qt5widgets.pc.in |> !sed_pkgconfig_file |>
CONTRIB_DIR = `$(PORTS_CURRENT) qt5`
TAR_FLAGS += --transform='s|/include/|/include/qt5widgets/|'
TAR_FLAGS += -C $(CONTRIB_DIR) include/QtWidgets
include $(SDK_TAR_INCLUDE)

View File

@ -0,0 +1,4 @@
includedir=@includedir@/qt5widgets
Name: QtWidgets
Cflags: -DQT_WIDGETS_LIB -I${includedir} -I${includedir}/QtWidgets

View File

@ -0,0 +1,11 @@
include_rules
include $(SDK_ABI_INCLUDE)
CONTRIB_DIR = `$(PORTS_CURRENT) stdcxx`
: stdcxx.pc.in |> !sed_pkgconfig_file |>
TAR_FLAGS += -C $(REP_DIR) include/stdcxx
TAR_FLAGS += -C $(CONTRIB_DIR) include/stdcxx
include $(SDK_TAR_INCLUDE)

View File

@ -0,0 +1,10 @@
libdir=@libdir@
includedir=@includedir@/stdcxx
Name: stdcxx
Description: Genode Standard C++ library
URL: https://genode.org/
Version: @SDK_VERSION@
Requires.private: libc
Cflags: -D_GLIBCXX_HAVE_MBSTATE_T -D_GLIBCXX_ATOMIC_BUILTINS_4 -I${includedir} -I${includedir}/std -I${includedir}/c_global
Libs: -L${libdir} -l:stdcxx.lib.so

View File

@ -0,0 +1,16 @@
include_rules
include $(SDK_ABI_INCLUDE)
CONTRIB_DIR = `$(PORTS_CURRENT) zlib`
SED_FLAGS += -e 's|@VERSION@|$(SDK_VERSIONS)|'
SED_FLAGS += -e 's|^Libs:.*|Libs: -l:zlib.lib.so|'
SED_FLAGS += -e 's|{includedir}$|{includedir}/zlib|'
SED_FLAGS += $(CONTRIB_DIR)/src/lib/zlib/zlib.pc.in
: |> !sed_pkgconfig_flags |>
TAR_FLAGS += -C $(CONTRIB_DIR) include/zlib
include $(SDK_TAR_INCLUDE)

1
repos/os/Tuprules.tup Normal file
View File

@ -0,0 +1 @@
REP_DIR = $(TUP_CWD)

View File

@ -0,0 +1,17 @@
include_rules
SED_FLAGS += -e 's|@TOOLCHAIN_DIR@|/usr/local/genode-gcc|'
SED_FLAGS_arm64 += -e 's|@SPEC_INCLUDES@|-I${includedir}/spec/arm_64 -I${includedir}/spec/64bit|'
SED_FLAGS_i386 += -e 's|@SPEC_INCLUDES@|-I${includedir}/spec/x86_32 -I${includedir}/spec/x86 -I${includedir}/spec/32bit|'
SED_FLAGS_x86_64 += -e 's|@SPEC_INCLUDES@|-I${includedir}/spec/x86_64 -I${includedir}/spec/x86 -I${includedir}/spec/64bit|'
: genode-os.pc.in |> !sed_pkgconfig_file |>
TAR_FLAGS += --transform='s|/include/|/include/genode-os/|'
TAR_FLAGS += -C $(REP_DIR) include
include $(SDK_TAR_INCLUDE)

View File

@ -0,0 +1,7 @@
includedir=@includedir@/genode-os
Name: os
Description: Genode os API
URL: https://genode.org/
Version: @SDK_VERSION@
Cflags: -std=gnu++17 -I${includedir} @SPEC_INCLUDES@

5
repos/os/sdk/vfs/Tupfile Normal file
View File

@ -0,0 +1,5 @@
include_rules
include $(SDK_ABI_INCLUDE)
: vfs.pc.in |> !sed_pkgconfig_file |>
include $(SDK_TAR_INCLUDE)

View File

@ -0,0 +1,7 @@
libdir=@libdir@
Name: VFS
Description: Genode Virtual File-System library
URL: https://genode.org/
Version: @SDK_VERSION@
Libs: -L${libdir} -l:vfs.lib.so

1
tar.tup Normal file
View File

@ -0,0 +1 @@
: <artifacts> |> ^ TAR %o^ tar cf %o --transform='s|^|$(SDK_PREFIX)/|' %<artifacts> $(TAR_FLAGS) |> %d.sdk.tar $(SDK_DIR)/<api_tarballs>

1
template.pc.in Normal file
View File

@ -0,0 +1 @@
Libs: -l:%d.lib.so

13
template.pc.tup Normal file
View File

@ -0,0 +1,13 @@
TEMPLATE_FILE = $(TUP_CWD)/template.pc.in
: $(TEMPLATE_FILE) | $(LOCAL_LIB_PREFIX)/*.lib.so \
|> ^ Generate %d^ sed 's|%%d|%d|' %f > %o \
|> $(LOCAL_PKGCONFIG_PREFIX)/arm64/%d.pc
: $(TEMPLATE_FILE) | $(LOCAL_LIB_PREFIX)/*.lib.so \
|> ^ Generate %d^ sed 's|%%d|%d|' %f > %o \
|> $(LOCAL_PKGCONFIG_PREFIX)/x86_32/%d.pc
: $(TEMPLATE_FILE) | $(LOCAL_LIB_PREFIX)/*.lib.so \
|> ^ Generate %d^ sed 's|%%d|%d|' %f > %o \
|> $(LOCAL_PKGCONFIG_PREFIX)/x86_64/%d.pc

View File

@ -12,4 +12,4 @@ Name: genode-base
Description: Genode base compiler definitions
URL: https://genode.org/
Version: !VERSION!
Cflags: -nostdinc -fPIC -I${prefix}/include/genode -I${toolchaindir}/lib/gcc/x86_64-pc-elf/6.3.0/include
Cflags: -nostdinc -fPIC -I${prefix}/include/genode -I${toolchaindir}/lib/gcc/x86_64-pc-elf/8.3.0/include