Add propane and initial skeleton grammar

This commit is contained in:
josh committed 2026-10-30 19:36:59 -04:00
1 parent 94105a883f
commit e3d4c88f66
4 files changed
+94 -5

No files matched your search

+19 -4
View File
@@ -3,10 +3,25 @@ configure do
check_cfg package: "libpng"
end
env do |env|
env["CCFLAGS"] += %w[-Wall -O2 -std=c++23]
env["CPPPATH"] += %w[src]
class Propane < Builder
def run(options)
@sources += ["propane"] unless @sources.include?("propane")
if @command
finalize_command
else
command = %W[./propane -w --log #{@target}.log #{@sources.first} #{@target}]
standard_command("Propane <target>#{@target}<reset>", command, options)
end
end
end
sources = glob("src/**/*.cpp")
env do |env|
env.add_builder(Propane)
env["CCFLAGS"] += %w[-Wall -O2 -std=c++23]
env["CPPPATH"] += %W[src #{env.build_root}/src]
env.Propane("^/src/propane.cpp", "src/fart.propane")
env.barrier
sources = glob("src/**/*.cpp") + ["#{env.build_root}/src/propane.cpp"]
env.Program("fart", sources)
end