From c05a00c718cb00a4dbe4615fdffc269a710cc39d Mon Sep 17 00:00:00 2001 From: Jonas 'Sortie' Termansen Date: Wed, 28 Aug 2024 11:47:31 +0200 Subject: [PATCH] Fix linking C++ base programs on new toolchains with -nostdlib++. --- build-aux/compiler.mak | 4 ++++ ext/Makefile | 2 +- games/Makefile | 2 +- trianglix/Makefile | 2 +- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/build-aux/compiler.mak b/build-aux/compiler.mak index 73dd5c67..3e1dba87 100644 --- a/build-aux/compiler.mak +++ b/build-aux/compiler.mak @@ -130,3 +130,7 @@ DEFAULT_OPTLEVEL:=$(DEFAULT_GENERIC_OPTLEVEL_BASE) ifeq ($(HOST_IS_SORTIX),1) DEFAULT_OPTLEVEL+= endif + +# TODO: After releasing Sortix 1.1, drop support for gcc 5.2.0 and use the +# -nostdlibc++ option unconditionally. +NOSTDLIBCXX=$(shell if [ 13 -le `$(CC) -dumpversion | grep -Eo '^[0-9]+'` ]; then echo -nostdlib++; fi) diff --git a/ext/Makefile b/ext/Makefile index e5c6d431..67fccb90 100644 --- a/ext/Makefile +++ b/ext/Makefile @@ -7,7 +7,7 @@ OPTLEVEL?=$(DEFAULT_OPTLEVEL) CXXFLAGS?=$(OPTLEVEL) CPPFLAGS:=$(CPPFLAGS) -DVERSIONSTR=\"$(VERSION)\" -CXXFLAGS:=$(CXXFLAGS) -Wall -Wextra -fno-exceptions -fno-rtti -fcheck-new +CXXFLAGS:=$(CXXFLAGS) -Wall -Wextra -fno-exceptions -fno-rtti -fcheck-new $(NOSTDLIBCXX) LIBS:=$(LIBS) diff --git a/games/Makefile b/games/Makefile index 2acce0fb..b93c8244 100644 --- a/games/Makefile +++ b/games/Makefile @@ -9,7 +9,7 @@ CFLAGS?=$(OPTLEVEL) CXXFLAGS?=$(OPTLEVEL) CFLAGS:=$(CFLAGS) -Wall -Wextra -CXXFLAGS:=$(CXXFLAGS) -Wall -Wextra -fno-exceptions -fno-rtti -fcheck-new +CXXFLAGS:=$(CXXFLAGS) -Wall -Wextra -fno-exceptions -fno-rtti -fcheck-new $(NOSTDLIBCXX) BINARIES:=\ asteroids \ diff --git a/trianglix/Makefile b/trianglix/Makefile index 43ac7347..ac01bfad 100644 --- a/trianglix/Makefile +++ b/trianglix/Makefile @@ -7,7 +7,7 @@ include ../build-aux/dirs.mak OPTLEVEL?=-g -O2 CXXFLAGS?=$(OPTLEVEL) -CXXFLAGS:=$(CXXFLAGS) -std=gnu++11 -Wall -Wextra -fno-exceptions -fno-rtti -fcheck-new +CXXFLAGS:=$(CXXFLAGS) -std=gnu++11 -Wall -Wextra -fno-exceptions -fno-rtti -fcheck-new $(NOSTDLIBCXX) BINARY:=trianglix