From 4198e418df6af6906330642c53c96bfdfdd47610 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Sat, 2 Mar 2019 15:23:50 +0100 Subject: [PATCH] 19.05 SDK --- .gitignore | 8 +++ Tupfile | 22 +++++++ Tupfile.ini | 0 Tuprules.tup | 66 +++++++++++++++++++ abi.tup | 31 +++++++++ cmake/Toolchain.cmake.in | 17 +++++ cmake/Tupfile | 10 +++ repos/base/Tuprules.tup | 1 + repos/base/sdk/base/Tupfile | 19 ++++++ repos/base/sdk/base/genode-base.pc.in | 13 ++++ repos/base/sdk/base/genode-lib.pc.in | 11 ++++ repos/base/sdk/base/genode-prg.pc.in | 12 ++++ repos/base/sdk/ld/Tupfile | 6 ++ repos/base/sdk/ld/ld.pc.in | 5 ++ repos/gems/Tuprules.tup | 1 + repos/gems/sdk/genode-gems/Tupfile | 8 +++ repos/gems/sdk/genode-gems/genode-gems.pc.in | 7 ++ repos/libports/Tuprules.tup | 1 + repos/libports/sdk/egl/Tupfile | 17 +++++ repos/libports/sdk/egl_api/Tupfile | 12 ++++ repos/libports/sdk/egl_api/egl_api.pc.in | 6 ++ repos/libports/sdk/libc/Tupfile | 24 +++++++ repos/libports/sdk/libc/libc.pc.in | 10 +++ repos/libports/sdk/libm/Tupfile | 7 ++ repos/libports/sdk/libm/libm.pc.in | 5 ++ repos/libports/sdk/libpng/Tupfile | 17 +++++ repos/libports/sdk/mesa/Tupfile | 11 ++++ repos/libports/sdk/mesa/mesa.pc.in | 9 +++ repos/libports/sdk/posix/Tupfile | 2 + repos/libports/sdk/posix/posix.pc.in | 6 ++ repos/libports/sdk/qt5/Tuprules.tup | 2 + repos/libports/sdk/qt5/qt5_core/Tupfile | 11 ++++ .../libports/sdk/qt5/qt5_core/qt5_core.pc.in | 6 ++ repos/libports/sdk/qt5/qt5_gui/Tupfile | 9 +++ repos/libports/sdk/qt5/qt5_gui/qt5_gui.pc.in | 6 ++ repos/libports/sdk/qt5/qt5_network/Tupfile | 9 +++ .../sdk/qt5/qt5_network/qt5_network.pc.in | 6 ++ .../sdk/qt5/qt5_scriptclassic/Tupfile | 9 +++ .../qt5_scriptclassic/qt5_scriptclassic.pc.in | 6 ++ repos/libports/sdk/qt5/qt5_sql/Tupfile | 9 +++ repos/libports/sdk/qt5/qt5_sql/qt5_sql.pc.in | 6 ++ repos/libports/sdk/qt5/qt5_svg/Tupfile | 9 +++ repos/libports/sdk/qt5/qt5_svg/qt5_svg.pc.in | 6 ++ repos/libports/sdk/qt5/qt5_webkit/Tupfile | 9 +++ .../sdk/qt5/qt5_webkit/qt5_webkit.pc.in | 6 ++ .../sdk/qt5/qt5_webkitwidgets/Tupfile | 9 +++ .../qt5_webkitwidgets/qt5_webkitwidgets.pc.in | 6 ++ repos/libports/sdk/qt5/qt5_widgets/Tupfile | 9 +++ .../sdk/qt5/qt5_widgets/qt5_widgets.pc.in | 6 ++ repos/libports/sdk/qt5/qt5_xml/Tupfile | 9 +++ repos/libports/sdk/qt5/qt5_xml/qt5_xml.pc.in | 6 ++ repos/libports/sdk/qt5_component/Tupfile | 6 ++ .../sdk/qt5_component/qt5_component.pc.in | 3 + repos/libports/sdk/qt5core/Tupfile | 12 ++++ repos/libports/sdk/qt5core/qt5core.pc.in | 4 ++ repos/libports/sdk/qt5gui/Tupfile | 13 ++++ repos/libports/sdk/qt5gui/qt5gui.pc.in | 4 ++ repos/libports/sdk/qt5network/Tupfile | 13 ++++ .../libports/sdk/qt5network/qt5network.pc.in | 4 ++ repos/libports/sdk/qt5widgets/Tupfile | 12 ++++ .../libports/sdk/qt5widgets/qt5widgets.pc.in | 4 ++ repos/libports/sdk/stdcxx/Tupfile | 11 ++++ repos/libports/sdk/stdcxx/stdcxx.pc.in | 10 +++ repos/libports/sdk/zlib/Tupfile | 16 +++++ repos/os/Tuprules.tup | 1 + repos/os/sdk/genode-os/Tupfile | 17 +++++ repos/os/sdk/genode-os/genode-os.pc.in | 7 ++ repos/os/sdk/vfs/Tupfile | 5 ++ repos/os/sdk/vfs/vfs.pc.in | 7 ++ tar.tup | 1 + template.pc.in | 1 + template.pc.tup | 13 ++++ tool/sdk/genode-base.pc.in | 2 +- 73 files changed, 683 insertions(+), 1 deletion(-) create mode 100644 Tupfile create mode 100644 Tupfile.ini create mode 100644 Tuprules.tup create mode 100644 abi.tup create mode 100644 cmake/Toolchain.cmake.in create mode 100644 cmake/Tupfile create mode 100644 repos/base/Tuprules.tup create mode 100644 repos/base/sdk/base/Tupfile create mode 100644 repos/base/sdk/base/genode-base.pc.in create mode 100644 repos/base/sdk/base/genode-lib.pc.in create mode 100644 repos/base/sdk/base/genode-prg.pc.in create mode 100644 repos/base/sdk/ld/Tupfile create mode 100644 repos/base/sdk/ld/ld.pc.in create mode 100644 repos/gems/Tuprules.tup create mode 100644 repos/gems/sdk/genode-gems/Tupfile create mode 100644 repos/gems/sdk/genode-gems/genode-gems.pc.in create mode 100644 repos/libports/Tuprules.tup create mode 100644 repos/libports/sdk/egl/Tupfile create mode 100644 repos/libports/sdk/egl_api/Tupfile create mode 100644 repos/libports/sdk/egl_api/egl_api.pc.in create mode 100644 repos/libports/sdk/libc/Tupfile create mode 100644 repos/libports/sdk/libc/libc.pc.in create mode 100644 repos/libports/sdk/libm/Tupfile create mode 100644 repos/libports/sdk/libm/libm.pc.in create mode 100644 repos/libports/sdk/libpng/Tupfile create mode 100644 repos/libports/sdk/mesa/Tupfile create mode 100644 repos/libports/sdk/mesa/mesa.pc.in create mode 100644 repos/libports/sdk/posix/Tupfile create mode 100644 repos/libports/sdk/posix/posix.pc.in create mode 100644 repos/libports/sdk/qt5/Tuprules.tup create mode 100644 repos/libports/sdk/qt5/qt5_core/Tupfile create mode 100644 repos/libports/sdk/qt5/qt5_core/qt5_core.pc.in create mode 100644 repos/libports/sdk/qt5/qt5_gui/Tupfile create mode 100644 repos/libports/sdk/qt5/qt5_gui/qt5_gui.pc.in create mode 100644 repos/libports/sdk/qt5/qt5_network/Tupfile create mode 100644 repos/libports/sdk/qt5/qt5_network/qt5_network.pc.in create mode 100644 repos/libports/sdk/qt5/qt5_scriptclassic/Tupfile create mode 100644 repos/libports/sdk/qt5/qt5_scriptclassic/qt5_scriptclassic.pc.in create mode 100644 repos/libports/sdk/qt5/qt5_sql/Tupfile create mode 100644 repos/libports/sdk/qt5/qt5_sql/qt5_sql.pc.in create mode 100644 repos/libports/sdk/qt5/qt5_svg/Tupfile create mode 100644 repos/libports/sdk/qt5/qt5_svg/qt5_svg.pc.in create mode 100644 repos/libports/sdk/qt5/qt5_webkit/Tupfile create mode 100644 repos/libports/sdk/qt5/qt5_webkit/qt5_webkit.pc.in create mode 100644 repos/libports/sdk/qt5/qt5_webkitwidgets/Tupfile create mode 100644 repos/libports/sdk/qt5/qt5_webkitwidgets/qt5_webkitwidgets.pc.in create mode 100644 repos/libports/sdk/qt5/qt5_widgets/Tupfile create mode 100644 repos/libports/sdk/qt5/qt5_widgets/qt5_widgets.pc.in create mode 100644 repos/libports/sdk/qt5/qt5_xml/Tupfile create mode 100644 repos/libports/sdk/qt5/qt5_xml/qt5_xml.pc.in create mode 100644 repos/libports/sdk/qt5_component/Tupfile create mode 100644 repos/libports/sdk/qt5_component/qt5_component.pc.in create mode 100644 repos/libports/sdk/qt5core/Tupfile create mode 100644 repos/libports/sdk/qt5core/qt5core.pc.in create mode 100644 repos/libports/sdk/qt5gui/Tupfile create mode 100644 repos/libports/sdk/qt5gui/qt5gui.pc.in create mode 100644 repos/libports/sdk/qt5network/Tupfile create mode 100644 repos/libports/sdk/qt5network/qt5network.pc.in create mode 100644 repos/libports/sdk/qt5widgets/Tupfile create mode 100644 repos/libports/sdk/qt5widgets/qt5widgets.pc.in create mode 100644 repos/libports/sdk/stdcxx/Tupfile create mode 100644 repos/libports/sdk/stdcxx/stdcxx.pc.in create mode 100644 repos/libports/sdk/zlib/Tupfile create mode 100644 repos/os/Tuprules.tup create mode 100644 repos/os/sdk/genode-os/Tupfile create mode 100644 repos/os/sdk/genode-os/genode-os.pc.in create mode 100644 repos/os/sdk/vfs/Tupfile create mode 100644 repos/os/sdk/vfs/vfs.pc.in create mode 100644 tar.tup create mode 100644 template.pc.in create mode 100644 template.pc.tup diff --git a/.gitignore b/.gitignore index 134de28b1..d2fb15c2e 100644 --- a/.gitignore +++ b/.gitignore @@ -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 diff --git a/Tupfile b/Tupfile new file mode 100644 index 000000000..2bd62b1de --- /dev/null +++ b/Tupfile @@ -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)/ $(SDK_DIR)/ |> \ + tar cf %o --transform='s|^|$(SDK_PREFIX)/|' -C sdk . ; \ + for t in %; do \ + tar --concatenate -f %o $t; \ + done \ +|> sdk.tar diff --git a/Tupfile.ini b/Tupfile.ini new file mode 100644 index 000000000..e69de29bb diff --git a/Tuprules.tup b/Tuprules.tup new file mode 100644 index 000000000..19da45b44 --- /dev/null +++ b/Tuprules.tup @@ -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 \ + + +!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 \ + + +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 diff --git a/abi.tup b/abi.tup new file mode 100644 index 000000000..1fe6badd0 --- /dev/null +++ b/abi.tup @@ -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 +: {obj} |> !merge |> $(LOCAL_LIB_PREFIX)/x86_32/%d.lib.so +: {obj} |> !merge |> $(LOCAL_LIB_PREFIX)/x86_64/%d.lib.so diff --git a/cmake/Toolchain.cmake.in b/cmake/Toolchain.cmake.in new file mode 100644 index 000000000..582536375 --- /dev/null +++ b/cmake/Toolchain.cmake.in @@ -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) diff --git a/cmake/Tupfile b/cmake/Tupfile new file mode 100644 index 000000000..315b8a5b8 --- /dev/null +++ b/cmake/Tupfile @@ -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 diff --git a/repos/base/Tuprules.tup b/repos/base/Tuprules.tup new file mode 100644 index 000000000..ba90ee9d6 --- /dev/null +++ b/repos/base/Tuprules.tup @@ -0,0 +1 @@ +REP_DIR = $(TUP_CWD) diff --git a/repos/base/sdk/base/Tupfile b/repos/base/sdk/base/Tupfile new file mode 100644 index 000000000..9e6c61aae --- /dev/null +++ b/repos/base/sdk/base/Tupfile @@ -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) diff --git a/repos/base/sdk/base/genode-base.pc.in b/repos/base/sdk/base/genode-base.pc.in new file mode 100644 index 000000000..682858926 --- /dev/null +++ b/repos/base/sdk/base/genode-base.pc.in @@ -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 diff --git a/repos/base/sdk/base/genode-lib.pc.in b/repos/base/sdk/base/genode-lib.pc.in new file mode 100644 index 000000000..047d7fcda --- /dev/null +++ b/repos/base/sdk/base/genode-lib.pc.in @@ -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 diff --git a/repos/base/sdk/base/genode-prg.pc.in b/repos/base/sdk/base/genode-prg.pc.in new file mode 100644 index 000000000..e5a682ff7 --- /dev/null +++ b/repos/base/sdk/base/genode-prg.pc.in @@ -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 diff --git a/repos/base/sdk/ld/Tupfile b/repos/base/sdk/ld/Tupfile new file mode 100644 index 000000000..b28ffd921 --- /dev/null +++ b/repos/base/sdk/ld/Tupfile @@ -0,0 +1,6 @@ +include_rules +include $(SDK_ABI_INCLUDE) + +: foreach *.pc.in |> !sed_pkgconfig_file |> + +include $(SDK_TAR_INCLUDE) diff --git a/repos/base/sdk/ld/ld.pc.in b/repos/base/sdk/ld/ld.pc.in new file mode 100644 index 000000000..5d1b6523f --- /dev/null +++ b/repos/base/sdk/ld/ld.pc.in @@ -0,0 +1,5 @@ +Name: ld +Description: Genode dynamic loader +URL: https://genode.org/ +Version: @SDK_VERSION@ +Libs: -l:ld.lib.so diff --git a/repos/gems/Tuprules.tup b/repos/gems/Tuprules.tup new file mode 100644 index 000000000..ba90ee9d6 --- /dev/null +++ b/repos/gems/Tuprules.tup @@ -0,0 +1 @@ +REP_DIR = $(TUP_CWD) diff --git a/repos/gems/sdk/genode-gems/Tupfile b/repos/gems/sdk/genode-gems/Tupfile new file mode 100644 index 000000000..dbb6ff963 --- /dev/null +++ b/repos/gems/sdk/genode-gems/Tupfile @@ -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) diff --git a/repos/gems/sdk/genode-gems/genode-gems.pc.in b/repos/gems/sdk/genode-gems/genode-gems.pc.in new file mode 100644 index 000000000..5c5838039 --- /dev/null +++ b/repos/gems/sdk/genode-gems/genode-gems.pc.in @@ -0,0 +1,7 @@ +includedir=@includedir@/genode-gems + +Name: base +Description: Genode gems headers +URL: https://genode.org/ +Version: @SDK_VERSION@ +Cflags: -I${includedir} diff --git a/repos/libports/Tuprules.tup b/repos/libports/Tuprules.tup new file mode 100644 index 000000000..ba90ee9d6 --- /dev/null +++ b/repos/libports/Tuprules.tup @@ -0,0 +1 @@ +REP_DIR = $(TUP_CWD) diff --git a/repos/libports/sdk/egl/Tupfile b/repos/libports/sdk/egl/Tupfile new file mode 100644 index 000000000..79df063a2 --- /dev/null +++ b/repos/libports/sdk/egl/Tupfile @@ -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) diff --git a/repos/libports/sdk/egl_api/Tupfile b/repos/libports/sdk/egl_api/Tupfile new file mode 100644 index 000000000..dfcb9741f --- /dev/null +++ b/repos/libports/sdk/egl_api/Tupfile @@ -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) diff --git a/repos/libports/sdk/egl_api/egl_api.pc.in b/repos/libports/sdk/egl_api/egl_api.pc.in new file mode 100644 index 000000000..bcdd9d115 --- /dev/null +++ b/repos/libports/sdk/egl_api/egl_api.pc.in @@ -0,0 +1,6 @@ +prefix=@prefix@ +includedir=@includedir@/egl_api + +Name: EGL +Description: EGL API headers +Cflags: -I${includedir} diff --git a/repos/libports/sdk/libc/Tupfile b/repos/libports/sdk/libc/Tupfile new file mode 100644 index 000000000..83f7e2ee4 --- /dev/null +++ b/repos/libports/sdk/libc/Tupfile @@ -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) diff --git a/repos/libports/sdk/libc/libc.pc.in b/repos/libports/sdk/libc/libc.pc.in new file mode 100644 index 000000000..956c2d742 --- /dev/null +++ b/repos/libports/sdk/libc/libc.pc.in @@ -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 diff --git a/repos/libports/sdk/libm/Tupfile b/repos/libports/sdk/libm/Tupfile new file mode 100644 index 000000000..6389d85fa --- /dev/null +++ b/repos/libports/sdk/libm/Tupfile @@ -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) diff --git a/repos/libports/sdk/libm/libm.pc.in b/repos/libports/sdk/libm/libm.pc.in new file mode 100644 index 000000000..54a5dec24 --- /dev/null +++ b/repos/libports/sdk/libm/libm.pc.in @@ -0,0 +1,5 @@ +Name: Libm +Description: Genode C mathematic library +URL: https://genode.org/ +Version: @SDK_VERSION@ +Libs: -l:libm.lib.so diff --git a/repos/libports/sdk/libpng/Tupfile b/repos/libports/sdk/libpng/Tupfile new file mode 100644 index 000000000..b2a83ad2c --- /dev/null +++ b/repos/libports/sdk/libpng/Tupfile @@ -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) diff --git a/repos/libports/sdk/mesa/Tupfile b/repos/libports/sdk/mesa/Tupfile new file mode 100644 index 000000000..cdc8d50eb --- /dev/null +++ b/repos/libports/sdk/mesa/Tupfile @@ -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) diff --git a/repos/libports/sdk/mesa/mesa.pc.in b/repos/libports/sdk/mesa/mesa.pc.in new file mode 100644 index 000000000..1245c4d39 --- /dev/null +++ b/repos/libports/sdk/mesa/mesa.pc.in @@ -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} diff --git a/repos/libports/sdk/posix/Tupfile b/repos/libports/sdk/posix/Tupfile new file mode 100644 index 000000000..a653e33be --- /dev/null +++ b/repos/libports/sdk/posix/Tupfile @@ -0,0 +1,2 @@ +include_rules +include $(SDK_ABI_INCLUDE) diff --git a/repos/libports/sdk/posix/posix.pc.in b/repos/libports/sdk/posix/posix.pc.in new file mode 100644 index 000000000..563866406 --- /dev/null +++ b/repos/libports/sdk/posix/posix.pc.in @@ -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 diff --git a/repos/libports/sdk/qt5/Tuprules.tup b/repos/libports/sdk/qt5/Tuprules.tup new file mode 100644 index 000000000..e96d116ed --- /dev/null +++ b/repos/libports/sdk/qt5/Tuprules.tup @@ -0,0 +1,2 @@ +CONTRIB_DIR = `$(PORTS_CURRENT) qt5` +SYMBOLS_DIR = $(CONTRIB_DIR)/lib/symbols diff --git a/repos/libports/sdk/qt5/qt5_core/Tupfile b/repos/libports/sdk/qt5/qt5_core/Tupfile new file mode 100644 index 000000000..8aa82d800 --- /dev/null +++ b/repos/libports/sdk/qt5/qt5_core/Tupfile @@ -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) diff --git a/repos/libports/sdk/qt5/qt5_core/qt5_core.pc.in b/repos/libports/sdk/qt5/qt5_core/qt5_core.pc.in new file mode 100644 index 000000000..f68d3dd4f --- /dev/null +++ b/repos/libports/sdk/qt5/qt5_core/qt5_core.pc.in @@ -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 diff --git a/repos/libports/sdk/qt5/qt5_gui/Tupfile b/repos/libports/sdk/qt5/qt5_gui/Tupfile new file mode 100644 index 000000000..8b2d79a15 --- /dev/null +++ b/repos/libports/sdk/qt5/qt5_gui/Tupfile @@ -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) diff --git a/repos/libports/sdk/qt5/qt5_gui/qt5_gui.pc.in b/repos/libports/sdk/qt5/qt5_gui/qt5_gui.pc.in new file mode 100644 index 000000000..1f67ae063 --- /dev/null +++ b/repos/libports/sdk/qt5/qt5_gui/qt5_gui.pc.in @@ -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 diff --git a/repos/libports/sdk/qt5/qt5_network/Tupfile b/repos/libports/sdk/qt5/qt5_network/Tupfile new file mode 100644 index 000000000..3615aeb61 --- /dev/null +++ b/repos/libports/sdk/qt5/qt5_network/Tupfile @@ -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) diff --git a/repos/libports/sdk/qt5/qt5_network/qt5_network.pc.in b/repos/libports/sdk/qt5/qt5_network/qt5_network.pc.in new file mode 100644 index 000000000..6bd909533 --- /dev/null +++ b/repos/libports/sdk/qt5/qt5_network/qt5_network.pc.in @@ -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 diff --git a/repos/libports/sdk/qt5/qt5_scriptclassic/Tupfile b/repos/libports/sdk/qt5/qt5_scriptclassic/Tupfile new file mode 100644 index 000000000..b278dcf57 --- /dev/null +++ b/repos/libports/sdk/qt5/qt5_scriptclassic/Tupfile @@ -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) diff --git a/repos/libports/sdk/qt5/qt5_scriptclassic/qt5_scriptclassic.pc.in b/repos/libports/sdk/qt5/qt5_scriptclassic/qt5_scriptclassic.pc.in new file mode 100644 index 000000000..c118ebcc2 --- /dev/null +++ b/repos/libports/sdk/qt5/qt5_scriptclassic/qt5_scriptclassic.pc.in @@ -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 diff --git a/repos/libports/sdk/qt5/qt5_sql/Tupfile b/repos/libports/sdk/qt5/qt5_sql/Tupfile new file mode 100644 index 000000000..3a8a5c6c6 --- /dev/null +++ b/repos/libports/sdk/qt5/qt5_sql/Tupfile @@ -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) diff --git a/repos/libports/sdk/qt5/qt5_sql/qt5_sql.pc.in b/repos/libports/sdk/qt5/qt5_sql/qt5_sql.pc.in new file mode 100644 index 000000000..a58012652 --- /dev/null +++ b/repos/libports/sdk/qt5/qt5_sql/qt5_sql.pc.in @@ -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 diff --git a/repos/libports/sdk/qt5/qt5_svg/Tupfile b/repos/libports/sdk/qt5/qt5_svg/Tupfile new file mode 100644 index 000000000..76d96984a --- /dev/null +++ b/repos/libports/sdk/qt5/qt5_svg/Tupfile @@ -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) diff --git a/repos/libports/sdk/qt5/qt5_svg/qt5_svg.pc.in b/repos/libports/sdk/qt5/qt5_svg/qt5_svg.pc.in new file mode 100644 index 000000000..73c8d0cfb --- /dev/null +++ b/repos/libports/sdk/qt5/qt5_svg/qt5_svg.pc.in @@ -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 diff --git a/repos/libports/sdk/qt5/qt5_webkit/Tupfile b/repos/libports/sdk/qt5/qt5_webkit/Tupfile new file mode 100644 index 000000000..56525ec91 --- /dev/null +++ b/repos/libports/sdk/qt5/qt5_webkit/Tupfile @@ -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) diff --git a/repos/libports/sdk/qt5/qt5_webkit/qt5_webkit.pc.in b/repos/libports/sdk/qt5/qt5_webkit/qt5_webkit.pc.in new file mode 100644 index 000000000..06dd3db70 --- /dev/null +++ b/repos/libports/sdk/qt5/qt5_webkit/qt5_webkit.pc.in @@ -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 diff --git a/repos/libports/sdk/qt5/qt5_webkitwidgets/Tupfile b/repos/libports/sdk/qt5/qt5_webkitwidgets/Tupfile new file mode 100644 index 000000000..7fa548cf9 --- /dev/null +++ b/repos/libports/sdk/qt5/qt5_webkitwidgets/Tupfile @@ -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) diff --git a/repos/libports/sdk/qt5/qt5_webkitwidgets/qt5_webkitwidgets.pc.in b/repos/libports/sdk/qt5/qt5_webkitwidgets/qt5_webkitwidgets.pc.in new file mode 100644 index 000000000..3828895bf --- /dev/null +++ b/repos/libports/sdk/qt5/qt5_webkitwidgets/qt5_webkitwidgets.pc.in @@ -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 diff --git a/repos/libports/sdk/qt5/qt5_widgets/Tupfile b/repos/libports/sdk/qt5/qt5_widgets/Tupfile new file mode 100644 index 000000000..cffa86761 --- /dev/null +++ b/repos/libports/sdk/qt5/qt5_widgets/Tupfile @@ -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) diff --git a/repos/libports/sdk/qt5/qt5_widgets/qt5_widgets.pc.in b/repos/libports/sdk/qt5/qt5_widgets/qt5_widgets.pc.in new file mode 100644 index 000000000..2b3fc3663 --- /dev/null +++ b/repos/libports/sdk/qt5/qt5_widgets/qt5_widgets.pc.in @@ -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 diff --git a/repos/libports/sdk/qt5/qt5_xml/Tupfile b/repos/libports/sdk/qt5/qt5_xml/Tupfile new file mode 100644 index 000000000..b37d925a1 --- /dev/null +++ b/repos/libports/sdk/qt5/qt5_xml/Tupfile @@ -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) diff --git a/repos/libports/sdk/qt5/qt5_xml/qt5_xml.pc.in b/repos/libports/sdk/qt5/qt5_xml/qt5_xml.pc.in new file mode 100644 index 000000000..400d7db6f --- /dev/null +++ b/repos/libports/sdk/qt5/qt5_xml/qt5_xml.pc.in @@ -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 diff --git a/repos/libports/sdk/qt5_component/Tupfile b/repos/libports/sdk/qt5_component/Tupfile new file mode 100644 index 000000000..d99cac04c --- /dev/null +++ b/repos/libports/sdk/qt5_component/Tupfile @@ -0,0 +1,6 @@ +include_rules +include $(SDK_ABI_INCLUDE) + +: *.pc.in |> !sed_pkgconfig_file |> + +include $(SDK_TAR_INCLUDE) diff --git a/repos/libports/sdk/qt5_component/qt5_component.pc.in b/repos/libports/sdk/qt5_component/qt5_component.pc.in new file mode 100644 index 000000000..fd8aa5891 --- /dev/null +++ b/repos/libports/sdk/qt5_component/qt5_component.pc.in @@ -0,0 +1,3 @@ +libdir=@libdir@ + +Libs: -L${libdir} -l:qt_component.lib.so diff --git a/repos/libports/sdk/qt5core/Tupfile b/repos/libports/sdk/qt5core/Tupfile new file mode 100644 index 000000000..770d22fc8 --- /dev/null +++ b/repos/libports/sdk/qt5core/Tupfile @@ -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) diff --git a/repos/libports/sdk/qt5core/qt5core.pc.in b/repos/libports/sdk/qt5core/qt5core.pc.in new file mode 100644 index 000000000..fb92c598f --- /dev/null +++ b/repos/libports/sdk/qt5core/qt5core.pc.in @@ -0,0 +1,4 @@ +includedir=@includedir@ + +Name: Qt5Core +Cflags: -DQT_CORE_LIB -I${includedir} -I${includedir}/QtCore diff --git a/repos/libports/sdk/qt5gui/Tupfile b/repos/libports/sdk/qt5gui/Tupfile new file mode 100644 index 000000000..3edd1f7cd --- /dev/null +++ b/repos/libports/sdk/qt5gui/Tupfile @@ -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) diff --git a/repos/libports/sdk/qt5gui/qt5gui.pc.in b/repos/libports/sdk/qt5gui/qt5gui.pc.in new file mode 100644 index 000000000..8ee215f8f --- /dev/null +++ b/repos/libports/sdk/qt5gui/qt5gui.pc.in @@ -0,0 +1,4 @@ +includedir=@includedir@/qt5gui + +Name: QtGui +Cflags: -DQT_GUI_LIB -I${includedir} -I${includedir}/QtGui diff --git a/repos/libports/sdk/qt5network/Tupfile b/repos/libports/sdk/qt5network/Tupfile new file mode 100644 index 000000000..04ce1bea5 --- /dev/null +++ b/repos/libports/sdk/qt5network/Tupfile @@ -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) diff --git a/repos/libports/sdk/qt5network/qt5network.pc.in b/repos/libports/sdk/qt5network/qt5network.pc.in new file mode 100644 index 000000000..f029cc4d8 --- /dev/null +++ b/repos/libports/sdk/qt5network/qt5network.pc.in @@ -0,0 +1,4 @@ +includedir=@includedir@/qt5network + +Name: QtNetwork +Cflags: -I${includedir} -I${includedir}/QtNetwork diff --git a/repos/libports/sdk/qt5widgets/Tupfile b/repos/libports/sdk/qt5widgets/Tupfile new file mode 100644 index 000000000..fc345bed4 --- /dev/null +++ b/repos/libports/sdk/qt5widgets/Tupfile @@ -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) diff --git a/repos/libports/sdk/qt5widgets/qt5widgets.pc.in b/repos/libports/sdk/qt5widgets/qt5widgets.pc.in new file mode 100644 index 000000000..dd19ae589 --- /dev/null +++ b/repos/libports/sdk/qt5widgets/qt5widgets.pc.in @@ -0,0 +1,4 @@ +includedir=@includedir@/qt5widgets + +Name: QtWidgets +Cflags: -DQT_WIDGETS_LIB -I${includedir} -I${includedir}/QtWidgets diff --git a/repos/libports/sdk/stdcxx/Tupfile b/repos/libports/sdk/stdcxx/Tupfile new file mode 100644 index 000000000..140c4f70c --- /dev/null +++ b/repos/libports/sdk/stdcxx/Tupfile @@ -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) diff --git a/repos/libports/sdk/stdcxx/stdcxx.pc.in b/repos/libports/sdk/stdcxx/stdcxx.pc.in new file mode 100644 index 000000000..91f142f2e --- /dev/null +++ b/repos/libports/sdk/stdcxx/stdcxx.pc.in @@ -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 diff --git a/repos/libports/sdk/zlib/Tupfile b/repos/libports/sdk/zlib/Tupfile new file mode 100644 index 000000000..873daa80b --- /dev/null +++ b/repos/libports/sdk/zlib/Tupfile @@ -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) diff --git a/repos/os/Tuprules.tup b/repos/os/Tuprules.tup new file mode 100644 index 000000000..ba90ee9d6 --- /dev/null +++ b/repos/os/Tuprules.tup @@ -0,0 +1 @@ +REP_DIR = $(TUP_CWD) diff --git a/repos/os/sdk/genode-os/Tupfile b/repos/os/sdk/genode-os/Tupfile new file mode 100644 index 000000000..da74f87b2 --- /dev/null +++ b/repos/os/sdk/genode-os/Tupfile @@ -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) diff --git a/repos/os/sdk/genode-os/genode-os.pc.in b/repos/os/sdk/genode-os/genode-os.pc.in new file mode 100644 index 000000000..350561de0 --- /dev/null +++ b/repos/os/sdk/genode-os/genode-os.pc.in @@ -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@ diff --git a/repos/os/sdk/vfs/Tupfile b/repos/os/sdk/vfs/Tupfile new file mode 100644 index 000000000..802035c51 --- /dev/null +++ b/repos/os/sdk/vfs/Tupfile @@ -0,0 +1,5 @@ +include_rules +include $(SDK_ABI_INCLUDE) + +: vfs.pc.in |> !sed_pkgconfig_file |> +include $(SDK_TAR_INCLUDE) diff --git a/repos/os/sdk/vfs/vfs.pc.in b/repos/os/sdk/vfs/vfs.pc.in new file mode 100644 index 000000000..13d9aa236 --- /dev/null +++ b/repos/os/sdk/vfs/vfs.pc.in @@ -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 diff --git a/tar.tup b/tar.tup new file mode 100644 index 000000000..2d7055da9 --- /dev/null +++ b/tar.tup @@ -0,0 +1 @@ +: |> ^ TAR %o^ tar cf %o --transform='s|^|$(SDK_PREFIX)/|' % $(TAR_FLAGS) |> %d.sdk.tar $(SDK_DIR)/ diff --git a/template.pc.in b/template.pc.in new file mode 100644 index 000000000..de8b47987 --- /dev/null +++ b/template.pc.in @@ -0,0 +1 @@ +Libs: -l:%d.lib.so diff --git a/template.pc.tup b/template.pc.tup new file mode 100644 index 000000000..08d281e2a --- /dev/null +++ b/template.pc.tup @@ -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 diff --git a/tool/sdk/genode-base.pc.in b/tool/sdk/genode-base.pc.in index 9a19f9981..d1dae9102 100644 --- a/tool/sdk/genode-base.pc.in +++ b/tool/sdk/genode-base.pc.in @@ -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