genode/repos/libports/recipes/api/libc/content.mk
Christian Helmuth 42fddf8390 Cleanup shared-object support mechanics
The former ldso-startup static library (now called ldso_so_support) is
used to spice each shared object/library with local support code for the
dynamic linker (execution of static constructors and ARM-EABI).
Therefore, the library must be statically linked to each dynamic
library.

As a result recipes for dynamic libraries must always depend on the "so"
API, which makes ldso_so_support.mk and so_support.c available
independent of "base". Additionally, ldso_so_support is also provided in
the libc API to cut the dependency early for libc/posix libraries.

Issue #3720
2020-05-18 10:16:13 +02:00

35 lines
907 B
Makefile

MIRROR_FROM_REP_DIR := lib/import/import-libc.mk \
lib/symbols/libc \
lib/symbols/libm \
content: $(MIRROR_FROM_REP_DIR)
$(MIRROR_FROM_REP_DIR):
$(mirror_from_rep_dir)
PORT_DIR := $(call port_dir,$(REP_DIR)/ports/libc)
content: include
include:
mkdir $@
cp -r $(PORT_DIR)/include/* $@/
cp -r $(REP_DIR)/include/libc $@/
cp -r $(REP_DIR)/include/libc-genode $@/
cp $(REP_DIR)/src/lib/libc/internal/legacy.h $@/libc/
content: lib/mk/ldso_so_support.mk src/lib/ldso/so_support.c
lib/mk/ldso_so_support.mk src/lib/ldso/so_support.c:
mkdir -p $(dir $@)
cp $(GENODE_DIR)/repos/base/$@ $@
content: LICENSE
LICENSE:
(echo "Based on FreeBSD, which is BSD licensed:"; \
echo " http://www.freebsd.org/copyright/freebsd-license.html"; \
echo "Genode-specific adaptations are AGPLv3 licensed:"; \
echo " http://genode.org/about/licenses") > $@