From b8d08c007a6d5e8f64d19368914ae238fd833e37 Mon Sep 17 00:00:00 2001 From: Norayr Chilingarian Date: Thu, 5 Oct 2023 16:54:37 +0400 Subject: [PATCH] additional opts should be on the left of other CFLAGS, this fixes linking to third party libraries issue on some operating systems including Ubuntu and Debian, probably older gcc 11 is to blame. Did not notice this problem on Gentoo, at least with gcc 13. --- src/compiler/extTools.Mod | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/compiler/extTools.Mod b/src/compiler/extTools.Mod index 0c7acded..18890f79 100644 --- a/src/compiler/extTools.Mod +++ b/src/compiler/extTools.Mod @@ -44,12 +44,13 @@ BEGIN END execute; -PROCEDURE InitialiseCompilerCommand(VAR s: ARRAY OF CHAR); +PROCEDURE InitialiseCompilerCommand(VAR s: ARRAY OF CHAR; additionalopts: ARRAY OF CHAR); BEGIN COPY(Configuration.compile, s); Strings.Append(' -I "', s); Strings.Append(OPM.ResourceDir, s); Strings.Append('/include" ', s); + Strings.Append(additionalopts, s); Platform.GetEnv("CFLAGS", CFLAGS); Strings.Append (CFLAGS, s); Strings.Append (" ", s); @@ -60,7 +61,7 @@ PROCEDURE Assemble*(moduleName: ARRAY OF CHAR); VAR cmd: CommandString; BEGIN - InitialiseCompilerCommand(cmd); + InitialiseCompilerCommand(cmd, ""); Strings.Append("-c ", cmd); Strings.Append(moduleName, cmd); Strings.Append(".c", cmd); @@ -72,10 +73,9 @@ PROCEDURE LinkMain*(VAR moduleName: ARRAY OF CHAR; statically: BOOLEAN; addition VAR cmd: CommandString; BEGIN - InitialiseCompilerCommand(cmd); + InitialiseCompilerCommand(cmd, additionalopts); Strings.Append(moduleName, cmd); Strings.Append(".c ", cmd); - Strings.Append(additionalopts, cmd); IF statically THEN IF Configuration.os = "darwin" THEN Strings.Append(OPM.InstallDir, cmd);