package third_party.gcc

@LinkerSection(text="libsupcxx_text",rodata="libsupcxx_rodata",data="libsupcxx_data",bss="libsupcxx_bss",arm_exidx="libsupcxx_arm_exidx",arm_extab="libsupcxx_arm_extab")
@BuildDepends(third_party.lib.OpenLibm)
@BuildDepends(gcc_build)
@BuildArtifactPath(cppflags_before="-I$(abspath $(EXTERNAL_BUILD_DIR))/third_party/gcc/gcc_build/install/include -I$(abspath $(EXTERNAL_BUILD_DIR))/third_party/gcc/gcc_build/install/include/_target")
static module libsupcxx extends embox.lib.libsupcxx {
	@AddPrefix("^BUILD/extbld/third_party/gcc/gcc_build/install/lib")
	source "libsupc++.a"

	@NoRuntime depends gcc_build
}

@LinkerSection(text="libstdcxx_text",rodata="libstdcxx_rodata",data="libstdcxx_data",bss="libstdcxx_bss",arm_exidx="libstdcxx_arm_exidx",arm_extab="libstdcxx_arm_extab")
@BuildDepends(third_party.lib.OpenLibm)
@BuildDepends(gcc_build)
@BuildArtifactPath(cppflags_before="-I$(abspath $(EXTERNAL_BUILD_DIR))/third_party/gcc/gcc_build/install/include -I$(abspath $(EXTERNAL_BUILD_DIR))/third_party/gcc/gcc_build/install/include/_target")
static module libstdcxx extends embox.lib.libstdcxx {
	@AddPrefix("^BUILD/extbld/third_party/gcc/gcc_build/install/lib")
	source "libstdc++.a"

	@NoRuntime depends gcc_build
}

@BuildDepends(third_party.lib.OpenLibm)
@BuildDepends(gcc_build)
static module libgcc extends embox.lib.libgcc {
	@AddPrefix("^BUILD/extbld/third_party/gcc/gcc_build/install/lib")
	source "libgcc.a"

	@NoRuntime depends gcc_build
}

@BuildDepends(third_party.lib.OpenLibm)
@Build(stage=1,script="$(EXTERNAL_MAKE)")
static module gcc_build {
	option string gcc_version="9.3.0"

	@NoRuntime depends embox.compat.libc.all
	@NoRuntime depends embox.compat.posix.proc.atexit_api
}
