switch build system to rscons v2.0.0

This commit is contained in:
josh committed 2019-09-12 20:25:48 -04:00
1 parent b4d5de0910
commit b5e4655f03
9 files changed
+52 -62

No files matched your search

+2 -4
View File
@@ -1,7 +1,5 @@
*.dep
fart fart
*.bmp *.bmp
*.png *.png
parser/parser.tab.cc /.rscons*
parser/parser.tab.hh /build/
parser/lex.yy.cc
+4 -7
View File
@@ -1,10 +1,7 @@
export SCONSFLAGS := -Q .PHONY: all
all: all:
@scons @./rscons
install:
@scons $@
.PHONY: clean
clean: clean:
@scons -c @./rscons clean
-24
View File
@@ -1,24 +0,0 @@
require "rscons"
task :default do
Rscons::Environment.new do |env|
env.build_root = "build"
lexer_source = "#{env.build_root}/lex.yy.cc"
env.CFile(lexer_source, "parser/parser.ll")
parser_source = "#{env.build_root}/parser.tab.cc"
env.CFile(parser_source, "parser/parser.yy")
sources = Dir["{util,shapes,main,distrib,parser}/**/*.cc"]
sources << lexer_source
sources << parser_source
env["CXXFLAGS"] += ["-Wall", "-O2"]
env["CPPPATH"] += Dir["{util,shapes,main,distrib,parser}/**/"]
env["CPPPATH"] << "."
env["LIBS"] += ["fl", "pthread", "freeimage"]
env.Program("fart", sources)
end
end
+21
View File
@@ -0,0 +1,21 @@
configure do
check_cxx_compiler
check_program "flex"
check_program "bison"
check_lib ":libfl.a"
check_lib "pthread"
check_lib "freeimage"
end
build do
Environment.new do |env|
subdirs = %w[util shapes main distrib parser]
env["CCFLAGS"] += %w[-Wall -O2]
env["CPPPATH"] += %w[.] + subdirs + ["#{env.build_root}/parser"]
sources = glob("{#{subdirs.join(",")}}/*.cc")
sources += ["^/parser/lexer.cc", "^/parser/parser.cc"]
env.CFile("^/parser/lexer.cc", "parser/parser.ll")
env.CFile("^/parser/parser.cc", "parser/parser.yy")
env.Program("fart", sources)
end
end
-25
View File
@@ -1,25 +0,0 @@
# vim:syntax=python
import os
target = 'fart'
subdirs = ['util', 'shapes', 'main', 'distrib']
parser_sources = Glob('parser/*.cc')
sources = map(lambda x: Glob(x + '/*.cc'), subdirs)
lexer_source = 'parser/lex.yy.cc'
parser_source = 'parser/parser.tab.cc'
for f in parser_sources:
if str(f) != lexer_source and str(f) != parser_source:
sources.append(f)
sources += [lexer_source, parser_source]
env = Environment(CPPFLAGS = '-I.',
CXXFLAGS = '-Wall -O2',
YACCFLAGS = '-d',
LIBS = ['-lfl', '-lpthread', '-lfreeimage'])
lexer = env.CXXFile(lexer_source, 'parser/parser.ll')
parser = env.CXXFile(parser_source, 'parser/parser.yy')
env.Depends(lexer, parser_source)
env.Program(target, sources)
Vendored Executable
+2
View File
@@ -0,0 +1,2 @@
#!/bin/sh
exec ./rscons configure "$@"
+1 -1
View File
@@ -8,7 +8,7 @@
#include "nodes.h" #include "nodes.h"
#include "parser.h" #include "parser.h"
#include "parser.tab.hh" #include "parser.hh"
#define YY_USER_ACTION yylloc->first_column += yyleng; #define YY_USER_ACTION yylloc->first_column += yyleng;
+1 -1
View File
@@ -8,7 +8,7 @@
#include "util/Scope.h" #include "util/Scope.h"
#include "nodes.h" #include "nodes.h"
#include "parser.h" #include "parser.h"
#include "parser.tab.hh" /* bison-generated header with YY[SL]TYPE */ #include "parser.hh" /* bison-generated header with YY[SL]TYPE */
using namespace std; using namespace std;
#define yyerror(msg) errFunc(msg, &yylloc) #define yyerror(msg) errFunc(msg, &yylloc)
Executable
+21
View File
@@ -0,0 +1,21 @@
#!/usr/bin/env ruby
script = File.join(File.dirname(__FILE__), ".rscons-2.0.0-92557ee8887d9abe7b63557266619823.rb")
unless File.exists?(script)
if File.read(__FILE__, mode: "rb") =~ /^#==>(.*)/
require "zlib"
require "base64"
encoded_compressed = $1
unescaped_compressed = Base64.decode64(encoded_compressed)
inflated = Zlib::Inflate.inflate(unescaped_compressed)
File.open(script, "wb") do |fh|
fh.write(inflated)
end
else
raise "Could not decompress."
end
end
load script
if __FILE__ == $0
Rscons::Cli.run(ARGV)
end
#==>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 truncated