l4re-base-25.08.0

This commit is contained in:
2025-09-12 15:55:45 +02:00
commit d959eaab98
37938 changed files with 9382688 additions and 0 deletions

103
src/l4/mk/modes.inc Normal file
View File

@@ -0,0 +1,103 @@
# -*- Makefile -*-
# vim:et:ts=8:ft=make:
#
# L4Re Buildsystem
#
# Makefile-Include for defining modes
LIBC_INCLUDE = $(BID_NOSTDINC) \
-I$(OBJ_BASE)/include/$(CONFIG_L4_LIBC) \
$(if $(CONFIG_USE_DROPS_STDDIR), \
-I$(DROPS_STDDIR)/include/$(CONFIG_L4_LIBC)) \
$(I_GCCINCDIR)
LIBCXX_INCLUDE = -I$(OBJ_BASE)/include/contrib/libstdc++-v3 \
$(if $(CONFIG_USE_DROPS_STDDIR), \
-I$(DROPS_STDDIR)/include/contrib/libstdc++-v3)
# Select default compiler runtime libraries based on whether targeting system
# with L4 API. The pure compiler runtime libraries do not use L4 specific APIs.
COMPILER_RT-l4api-plain := compiler-rt-pure
COMPILER_RT-l4api-l4f := compiler-rt
COMPILER_RT ?= $(COMPILER_RT-l4api-$(L4API))
#############################################################################
STATIC_PIE_LDFLAGS = $(if $(or $(CONFIG_BID_PIE_ALL), \
$(and $(CONFIG_BID_PIE_VOLUNTARY),$(BID_CAN_PIE))), \
-static-pie,-static)
################################
# sigma0 mode
################################
BID_SUPPORTED_all_sigma0 = y
LIBCINCDIR_all_sigma0 = $(LIBC_INCLUDE)
REQUIRES_LIBS_all_sigma0 = $(COMPILER_RT)
LDFLAGS_all_sigma0 = $(STATIC_PIE_LDFLAGS) -gc-sections
################################
# static mode
################################
BID_SUPPORTED_all_static = y
LIBCINCDIR_all_static = $(LIBCXX_INCLUDE) $(LIBC_INCLUDE)
REQUIRES_LIBS_all_static = stdlibs $(COMPILER_RT)
LDFLAGS_all_static = $(STATIC_PIE_LDFLAGS) -gc-sections
#####################################
# shared mode -- programs are linked against shared libs
#####################################
BID_SUPPORTED_all_shared = y
LIBCINCDIR_all_shared = $(LIBCXX_INCLUDE) $(LIBC_INCLUDE)
REQUIRES_LIBS_all_shared = stdlibs-sh $(COMPILER_RT)
LDFLAGS_all_shared = -gc-sections
################################
# l4linux mode
################################
BID_SUPPORTED_all_l4linux = y
LIBCINCDIR_all_l4linux =
REQUIRES_LIBS_all_l4linux =
LDFLAGS_all_l4linux = -gc-sections
################################
# Targetsys mode
################################
BID_SUPPORTED_all_targetsys = y
LDFLAGS_all_targetsys = -gc-sections
#####################################
# lib mode -- options when building libs
#####################################
BID_SUPPORTED_all_lib = y
LIBCINCDIR_all_lib = $(LIBCXX_INCLUDE) $(LIBC_INCLUDE)
# Libraries need include directories of compiler runtime. Cannot use
# REQUIRES_LIBS here, because a library that links against compiler-rt-pure can
# still be used by a program that links against compiler-rt. With REQUIRES_LIBS
# the program would be linked against both compiler-rt-pure and compiler-rt.
REQUIRES_CFLAGS_all_lib = $(COMPILER_RT)
# Shared libraries need hidden symbols from compiler runtime.
LDFLAGS_SO_all_lib = $(addprefix -PC,$(COMPILER_RT))
#####################################
# host mode -- no L4 specifics
#####################################
BID_SUPPORTED_all_host = y
LIBCINCDIR_all_host =
REQUIRES_LIBS_all_host =
LDFLAGS_all_host =
NOPICFLAGS_all_host ?=
NOPIEFLAGS_all_host ?=
#####################################
# assets building mode
#####################################
BID_SUPPORTED_all_assets = y