From 44e8c1e7fac805631f057728d7f6848cf9ffd127 Mon Sep 17 00:00:00 2001 From: dzaima Date: Sat, 23 Nov 2024 16:04:52 +0200 Subject: [PATCH] expand feature list for Singeli compile commands --- build/src/build.bqn | 9 +++++---- build/src/clangd.bqn | 4 ++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/build/src/build.bqn b/build/src/build.bqn index ae25e97f..bb18492b 100644 --- a/build/src/build.bqn +++ b/build/src/build.bqn @@ -282,11 +282,13 @@ po ← { # parsed options singeliArch ⇐ @ singeliCFlags ⇐ ⟨⟩ + SingeliArchInfo ⇐ ! # takes arg of infer { ¬singeli? @; UpdateSubmodule singeliDir SingeliUtil ← {𝕨 •Import AtRoot singeliDir •file.At 𝕩} + SingeliArchInfo ↩ {⟨{native? ⟨⟩; singeliArch}, 𝕩⟩ SingeliUtil "arch.bqn"} singeliArch ↩ { truecc ∧ @≡GetOpt"arch"? archutil ← SingeliUtil "archutil.bqn" @@ -299,9 +301,8 @@ po ← { # parsed options { arch≡"X86_64"? singeliArch∾↩ Uppercase ∊⟜"ssse3"‿"sse4.1"‿"sse4.2"‿"avx2"‿"bmi2"‿"pclmul"⊸/ has - ArchInfo ← {(⟨{native? ⟨⟩; singeliArch}, 𝕩⟩ SingeliUtil "arch.bqn").GetCFlags @} - singeliCFlags ↩ ArchInfo 1 - {𝕊: Log "Note: inferred the following C flags:"∾∾' '⊸∾¨𝕩}⍟(loud ∧ ×∘≠) singeliCFlags (¬∘∊/⊣) ArchInfo 0 + singeliCFlags ↩ (SingeliArchInfo 1).GetCFlags @ + {𝕊: Log "Note: inferred the following C flags:"∾∾' '⊸∾¨𝕩}⍟(loud ∧ ×∘≠) singeliCFlags (¬∘∊/⊣) (SingeliArchInfo 0).GetCFlags @ ;@ } } @@ -782,7 +783,7 @@ cachedBin‿linkerCache ← { (⊑"slow-pdep"<⊸∊ po.has) / ⟨"-c", "SLOW_PDEP=1"⟩ {po.native? ⟨⟩; "-a" ⋈ 1↓∾ ','⊸∾¨ po.singeliArch} ⟩ - clangd.SingeliInit ⟨po.singeliDir, po.arch⟩ + clangd.SingeliInit po {𝕊: "Singeli args: "∾•Repr singeliArgs} _verboseLog @ {𝕊: "Singeli-determined C arch: "∾•Repr po.singeliCFlags; @} _verboseLog @ singeliObjs ↩ {MakeSingeliInv ⟨singeliArgs, {𝕊:UpdateSubmodule po.singeliDir}, singeliCache, 𝕩, "src/singeli/src/"•file.At 𝕩∾".singeli", (𝕩≡"dyarith")/⟨gaRule⟩⟩}¨ 1⊑¨singeliMap diff --git a/build/src/clangd.bqn b/build/src/clangd.bqn index 3a5339a4..46bb97ed 100644 --- a/build/src/clangd.bqn +++ b/build/src/clangd.bqn @@ -34,8 +34,8 @@ singeliObjects ← ⟨⟩ AddSingeli ⇐ { singeliObjects∾↩ <𝕨‿𝕩 } -SingeliInit ⇐ { - singeliState ↩ 𝕩 +SingeliInit ⇐ { 𝕊 po: + singeliState ↩ ⟨po.singeliDir, 1↓∾ ','⊸∾¨ {𝕩.basearch/𝕩.feats} po.SingeliArchInfo 1⟩ }