Compare commits

..
4 Commits
178 changed files with 1206 additions and 2768 deletions

No files matched your search

-43
View File
@@ -1,45 +1,3 @@
## v2.3.0
### New Features
- #125 - Support subsidiary Rsconscript files
- #126 - Add PATH manipulation methods
### Fixes
- #121 - env.depends() does not work with built-root-relative "^/" paths
- #130 - Document -f command line option
- #133 - Clarify failed command error message indicating to run -F
- #134 - Document CMD_STDOUT variable for Command builder
- #135 - Write dependency file to build directory when user invokes Object builder directly
- #141 - Document phony targets
## v2.2.0
### New Features
- #120 - improve support for MSYS2
- #119 - add failure messages for failed configuration checks
- #118 - compiler checks should support cross-compilers and freestanding compilers
## v2.1.0
### New Features
- #117 - ruby 2.7 compatibility
## v2.0.2
### Fixes
- #113 - distinguish object files built from multiple sources with the same base name but different extensions
## v2.0.1
### Fixes
- #112 - Install builder cannot replace a currently executing binary on Linux
## v2.0.0 ## v2.0.0
- convert rscons from a Ruby gem to a standalone script - convert rscons from a Ruby gem to a standalone script
@@ -74,7 +32,6 @@
- various performance improvements - various performance improvements
- wrote a new user guide - wrote a new user guide
- added new website ([https://holtrop.github.io/rscons/](https://holtrop.github.io/rscons/)) - added new website ([https://holtrop.github.io/rscons/](https://holtrop.github.io/rscons/))
- added new logo
## v1.17.0 ## v1.17.0
-14
View File
@@ -1,14 +0,0 @@
# Developing
# Specs
To run the rscons specs, the following commands must be available:
* gcc
* clang
* g++
* clang++
* gdc
* ldc
* flex
* bison
+6 -10
View File
@@ -1,14 +1,10 @@
source 'https://rubygems.org' source 'https://rubygems.org'
gem "json"
gem "rspec" gem "rspec"
gem "rake" gem "rake"
gem "simplecov", "~> 0.15.0" gem "simplecov"
if RbConfig::CONFIG["host"]["msys"] gem "yard"
gem "json", "2.1.0" gem "rdoc"
else gem "redcarpet"
gem "json" gem "syntax"
gem "yard"
gem "rdoc"
gem "redcarpet"
gem "syntax"
end
+21 -21
View File
@@ -1,32 +1,32 @@
GEM GEM
remote: https://rubygems.org/ remote: https://rubygems.org/
specs: specs:
diff-lcs (1.4.4) diff-lcs (1.3)
docile (1.1.5) docile (1.3.2)
json (2.5.1) json (2.2.0)
rake (13.0.6) rake (12.3.2)
rdoc (6.3.2) rdoc (6.1.1)
redcarpet (3.5.1) redcarpet (3.4.0)
rspec (3.10.0) rspec (3.8.0)
rspec-core (~> 3.10.0) rspec-core (~> 3.8.0)
rspec-expectations (~> 3.10.0) rspec-expectations (~> 3.8.0)
rspec-mocks (~> 3.10.0) rspec-mocks (~> 3.8.0)
rspec-core (3.10.1) rspec-core (3.8.2)
rspec-support (~> 3.10.0) rspec-support (~> 3.8.0)
rspec-expectations (3.10.1) rspec-expectations (3.8.4)
diff-lcs (>= 1.2.0, < 2.0) diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.10.0) rspec-support (~> 3.8.0)
rspec-mocks (3.10.2) rspec-mocks (3.8.1)
diff-lcs (>= 1.2.0, < 2.0) diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.10.0) rspec-support (~> 3.8.0)
rspec-support (3.10.2) rspec-support (3.8.2)
simplecov (0.15.1) simplecov (0.15.0)
docile (~> 1.1.0) docile (~> 1.1.0)
json (>= 1.8, < 3) json (>= 1.8, < 3)
simplecov-html (~> 0.10.0) simplecov-html (~> 0.10.0)
simplecov-html (0.10.2) simplecov-html (0.10.2)
syntax (1.2.2) syntax (1.2.2)
yard (0.9.26) yard (0.9.20)
PLATFORMS PLATFORMS
ruby ruby
@@ -38,9 +38,9 @@ DEPENDENCIES
rdoc rdoc
redcarpet redcarpet
rspec rspec
simplecov (~> 0.15.0) simplecov
syntax syntax
yard yard
BUNDLED WITH BUNDLED WITH
2.1.4 1.17.3
-2
View File
@@ -1,7 +1,5 @@
# Rscons # Rscons
![rscons logo](img/rscons_logo_1000.png)
Rscons (https://github.com/holtrop/rscons) is an open-source build system Rscons (https://github.com/holtrop/rscons) is an open-source build system
for developers. for developers.
+9 -24
View File
@@ -6,27 +6,24 @@ rescue Bundler::BundlerError => e
end end
require "rspec/core/rake_task" require "rspec/core/rake_task"
require "yard"
require "rake/clean" require "rake/clean"
require "fileutils" require "fileutils"
CLEAN.include %w[build_test_run .yardoc yard coverage test] CLEAN.include %w[build_test_run .yardoc yard coverage test]
CLOBBER.include %w[dist gen large_project pkg] CLOBBER.include %w[dist pkg]
task :build_dist do task :build_dist do
sh "ruby rb/build_dist.rb" sh "ruby rb/build_dist.rb"
end end
RSpec::Core::RakeTask.new(:spec, :example_string) do |task, args| RSpec::Core::RakeTask.new(:spec, :example_string) do |task, args|
ENV["specs"] = "1"
if args.example_string if args.example_string
ENV["partial_specs"] = "1" ENV["partial_specs"] = "1"
task.rspec_opts = %W[-e "#{args.example_string}" -f documentation] task.rspec_opts = %W[-e "#{args.example_string}" -f documentation]
end end
end end
task :spec => :build_dist task :spec => :build_dist
task :spec do
ENV.delete("specs")
end
# dspec task is useful to test the distributable release script, but is not # dspec task is useful to test the distributable release script, but is not
# useful for coverage information. # useful for coverage information.
@@ -35,11 +32,16 @@ task :dspec, [:example_string] => :build_dist do |task, args|
FileUtils.mkdir_p("test") FileUtils.mkdir_p("test")
FileUtils.cp("dist/rscons", "test/rscons.rb") FileUtils.cp("dist/rscons", "test/rscons.rb")
ENV["dist_specs"] = "1" ENV["dist_specs"] = "1"
Rake::Task["spec"].execute(args.example_string) Rake::Task["spec"].invoke(args.example_string)
ENV.delete("dist_specs") ENV.delete("dist_specs")
FileUtils.rm_f(Dir.glob(".rscons-*")) FileUtils.rm_f(Dir.glob(".rscons-*"))
end end
YARD::Rake::YardocTask.new do |yard|
yard.files = ['lib/**/*.rb']
yard.options = ["-ogen/yard"]
end
task :gen_large_project, [:size] => :build_dist do |task, args| task :gen_large_project, [:size] => :build_dist do |task, args|
size = (args.size || 10000).to_i size = (args.size || 10000).to_i
FileUtils.rm_rf("large_project") FileUtils.rm_rf("large_project")
@@ -86,25 +88,8 @@ EOF
FileUtils.cp("dist/rscons", "large_project") FileUtils.cp("dist/rscons", "large_project")
end end
unless RbConfig::CONFIG["host"]["msys"] task :user_guide do
require "yard"
YARD::Rake::YardocTask.new do |yard|
yard.files = ['lib/**/*.rb']
yard.options = ["-ogen/yard"]
end
desc "Build user guide"
task :user_guide do
system("ruby", "-Ilib", "rb/gen_user_guide.rb") system("ruby", "-Ilib", "rb/gen_user_guide.rb")
end
end end
task :default => :spec task :default => :spec
task :all => [
:build_dist,
:spec,
:dspec,
:yard,
:user_guide,
]
+1 -1
View File
@@ -3,5 +3,5 @@
require "rscons/cli" require "rscons/cli"
if __FILE__ == $0 if __FILE__ == $0
Rscons::Cli.new.run(ARGV) Rscons::Cli.run(ARGV)
end end
+1 -1
View File
@@ -1,4 +1,4 @@
default do build do
Environment.new do |env| Environment.new do |env|
env.CFile("lexer.c", "lexer.l") env.CFile("lexer.c", "lexer.l")
env.CFile("parser.c", "parser.y") env.CFile("parser.c", "parser.y")
+1 -1
View File
@@ -1,4 +1,4 @@
default do build do
Environment.new do |env| Environment.new do |env|
env.CFile("file.c", "foo.bar") env.CFile("file.c", "foo.bar")
end end
+1 -1
View File
@@ -1,4 +1,4 @@
default do build do
debug = Environment.new(echo: :command) do |env| debug = Environment.new(echo: :command) do |env|
env['CFLAGS'] = '-O2' env['CFLAGS'] = '-O2'
env['CPPFLAGS'] = '-DSTRING="Debug Version"' env['CPPFLAGS'] = '-DSTRING="Debug Version"'
+1 -1
View File
@@ -1,4 +1,4 @@
default do build do
env1 = Environment.new(echo: :command) do |env| env1 = Environment.new(echo: :command) do |env|
env['CFLAGS'] = '-O2' env['CFLAGS'] = '-O2'
env.add_build_hook do |builder| env.add_build_hook do |builder|
-1
View File
@@ -1,4 +1,3 @@
configure do configure do
check_c_compiler "nope.nope" check_c_compiler "nope.nope"
end end
default
-2
View File
@@ -1,3 +1 @@
autoconf false autoconf false
Environment.new do |env|
end
+1 -1
View File
@@ -3,7 +3,7 @@ configure do
check_c_header "stdio.h" check_c_header "stdio.h"
end end
default do build do
Environment.new do |env| Environment.new do |env|
env.Program("simple.exe", "simple.c") env.Program("simple.exe", "simple.c")
end end
@@ -1,4 +1,3 @@
configure do configure do
check_c_compiler check_c_compiler
end end
default
@@ -3,7 +3,7 @@ configure do
check_c_header "frobulous.h", check_cpppath: ["./usr2"] check_c_header "frobulous.h", check_cpppath: ["./usr2"]
end end
default do build do
Environment.new do |env| Environment.new do |env|
env.Object("test.o", "test.c") env.Object("test.o", "test.c")
end end
@@ -2,7 +2,7 @@ configure do
check_c_header "not___found.h", set_define: "HAVE_NOT___FOUND_H" check_c_header "not___found.h", set_define: "HAVE_NOT___FOUND_H"
end end
default do build do
Environment.new(echo: :command) do |env| Environment.new(echo: :command) do |env|
env.Object("simple.o", "simple.c") env.Object("simple.o", "simple.c")
end end
@@ -2,7 +2,7 @@ configure do
check_c_header "string.h", set_define: "HAVE_STRING_H" check_c_header "string.h", set_define: "HAVE_STRING_H"
end end
default do build do
Environment.new(echo: :command) do |env| Environment.new(echo: :command) do |env|
env.Object("simple.o", "simple.c") env.Object("simple.o", "simple.c")
end end
+1 -1
View File
@@ -2,7 +2,7 @@ configure do
check_cfg program: "my-config" check_cfg program: "my-config"
end end
default do build do
Environment.new(echo: :command) do |env| Environment.new(echo: :command) do |env|
env.Program("myconfigtest", "simple.c") env.Program("myconfigtest", "simple.c")
end end
+1 -1
View File
@@ -2,7 +2,7 @@ configure do
check_cfg package: "mypackage" check_cfg package: "mypackage"
end end
default do build do
Environment.new(echo: :command) do |env| Environment.new(echo: :command) do |env|
env.Program("myconfigtest", "simple.c") env.Program("myconfigtest", "simple.c")
end end
+1 -1
View File
@@ -2,7 +2,7 @@ configure do
check_cfg package: "mypackage", use: "myp" check_cfg package: "mypackage", use: "myp"
end end
default do build do
Environment.new(echo: :command) do |env| Environment.new(echo: :command) do |env|
env.Copy("myconfigtest1.c", "simple.c") env.Copy("myconfigtest1.c", "simple.c")
env.Program("myconfigtest1.exe", "myconfigtest1.c") env.Program("myconfigtest1.exe", "myconfigtest1.c")
@@ -3,7 +3,7 @@ configure do
check_cxx_header "frobulous.h", check_cpppath: ["./usr2"] check_cxx_header "frobulous.h", check_cpppath: ["./usr2"]
end end
default do build do
Environment.new do |env| Environment.new do |env|
env.Object("test.o", "test.cc") env.Object("test.o", "test.cc")
end end
@@ -1,10 +1,9 @@
configure do configure do
check_d_compiler
check_d_import "std.stdio", check_d_import_path: ["./usr1"] check_d_import "std.stdio", check_d_import_path: ["./usr1"]
check_d_import "frobulous", check_d_import_path: ["./usr2"] check_d_import "frobulous", check_d_import_path: ["./usr2"]
end end
default do build do
Environment.new do |env| Environment.new do |env|
env.Object("test.o", "test.d") env.Object("test.o", "test.d")
end end
@@ -1,4 +1,3 @@
configure do configure do
check_d_compiler
check_d_import "std.stdio" check_d_import "std.stdio"
end end
+1 -1
View File
@@ -1,4 +1,4 @@
default do build do
Environment.new(echo: :command) do |env| Environment.new(echo: :command) do |env|
env.Library("usr2/libfrobulous.a", "two.c") env.Library("usr2/libfrobulous.a", "two.c")
end end
+1 -1
View File
@@ -3,7 +3,7 @@ configure do
check_lib "frobulous", check_libpath: ["./usr2"] check_lib "frobulous", check_libpath: ["./usr2"]
end end
default do build do
Environment.new(echo: :command) do |env| Environment.new(echo: :command) do |env|
env.Program("simple.exe", "simple.c") env.Program("simple.exe", "simple.c")
end end
+1 -1
View File
@@ -2,7 +2,7 @@ configure do
check_lib "m" check_lib "m"
end end
default do build do
Environment.new(echo: :command) do |env| Environment.new(echo: :command) do |env|
env.Program("simple.exe", "simple.c") env.Program("simple.exe", "simple.c")
end end
+1 -1
View File
@@ -2,7 +2,7 @@ configure do
check_lib "m", use: :m check_lib "m", use: :m
end end
default do build do
Environment.new(echo: :command) do |env| Environment.new(echo: :command) do |env|
env.Copy("test1.c", "simple.c") env.Copy("test1.c", "simple.c")
env.Program("test2.exe", "test1.c") env.Program("test2.exe", "test1.c")
+1 -1
View File
@@ -2,7 +2,7 @@ configure do
check_lib "m", use: false check_lib "m", use: false
end end
default do build do
Environment.new(echo: :command) do |env| Environment.new(echo: :command) do |env|
env.Copy("test1.c", "simple.c") env.Copy("test1.c", "simple.c")
env.Program("test2.exe", "test1.c") env.Program("test2.exe", "test1.c")
+1 -5
View File
@@ -17,13 +17,9 @@ configure do
end end
op.complete(status, success_message: "good!", fail_message: fail_message, fail: should_fail) op.complete(status, success_message: "good!", fail_message: fail_message, fail: should_fail)
end end
custom_check("Checking sed -E flag") do |op|
stdout, stderr, status = op.log_and_test_command(%w[sed -E -e s/ab+/rep/], stdin: "abbbc")
op.complete(stdout =~ /repc/ ? 0 : 1, success_message: "good", fail_message: "fail")
end
end end
default do build do
Environment.new do |env| Environment.new do |env|
puts env["CPPDEFINES"] puts env["CPPDEFINES"]
end end
@@ -0,0 +1,3 @@
Environment.new do |env|
env.Object("simple.o", "simple.cc")
end
+1 -1
View File
@@ -3,7 +3,7 @@ configure do
check_c_header "stdio.h", set_define: "HAVE_STDIO_H" check_c_header "stdio.h", set_define: "HAVE_STDIO_H"
end end
default do build do
Environment.new(echo: :command) do |env| Environment.new(echo: :command) do |env|
env.Object("simple.o", "simple.c") env.Object("simple.o", "simple.c")
end end
-5
View File
@@ -1,5 +0,0 @@
configure do
check_c_compiler "foo123c", fail: false, on_fail: "Install the foo123 package"
check_d_compiler "foo123d", fail: false
check_cxx_compiler "foo123cxx", on_fail: lambda {puts "Install the foo123cxx package"}
end
+1 -1
View File
@@ -9,7 +9,7 @@ EOF
end end
end end
default do build do
Environment.new do |env| Environment.new do |env|
env.add_builder(MySource) env.add_builder(MySource)
env.MySource('inc.h', []) env.MySource('inc.h', [])
+3 -4
View File
@@ -1,4 +1,4 @@
default do build do
Environment.new do |env| Environment.new do |env|
env.Command("inc.c", env.Command("inc.c",
[], [],
@@ -6,8 +6,7 @@ default do
"CMD_DESC" => "Generating") "CMD_DESC" => "Generating")
env["build_root"] = env.build_root env["build_root"] = env.build_root
env["inc_c"] = "inc.c" env["inc_c"] = "inc.c"
env.Object("program.o", "program.c") env.build_after("${build_root}/program.o", "${inc_c}")
env.build_after("program.o", "${inc_c}") env.Program("program.exe", ["program.c", "inc.c"])
env.Program("program.exe", ["program.o", "inc.c"])
end end
end end
+1 -1
View File
@@ -9,7 +9,7 @@ EOF
end end
end end
default do build do
env = Environment.new do |env| env = Environment.new do |env|
env["hdr"] = "inc.h" env["hdr"] = "inc.h"
env["src"] = "program.c" env["src"] = "program.c"
+1 -1
View File
@@ -9,7 +9,7 @@ EOF
end end
end end
default do build do
e1 = Environment.new do |env| e1 = Environment.new do |env|
env.add_builder(MySource) env.add_builder(MySource)
env["one"] = "5" env["one"] = "5"
@@ -1,4 +1,4 @@
default do build do
Environment.new do |env| Environment.new do |env|
env.add_builder(:MyBuilder) do |options| env.add_builder(:MyBuilder) do |options|
"hi" "hi"
+1 -1
View File
@@ -1,4 +1,4 @@
default do build do
Environment.new do |env| Environment.new do |env|
env.add_builder(:MyBuilder) do |options| env.add_builder(:MyBuilder) do |options|
wait_for(1) wait_for(1)
@@ -12,7 +12,7 @@ class CHGen < Rscons::Builder
end end
end end
default do build do
Environment.new do |env| Environment.new do |env|
env.add_builder(CHGen) env.add_builder(CHGen)
env.CHGen("inc.c", ["program.c"]) env.CHGen("inc.c", ["program.c"])
+3 -4
View File
@@ -1,12 +1,11 @@
default do build do
Environment.new do |env| Environment.new do |env|
env["build_root"] = env.build_root env["build_root"] = env.build_root
env["inc_h"] = "inc.h" env["inc_h"] = "inc.h"
env.Copy("copy_inc.h", "${inc_h}") env.Copy("copy_inc.h", "${inc_h}")
env.depends("program.o", "${inc_h}") env.depends("${build_root}/program.o", "${inc_h}")
env.Object("program.o", "program.c") env.Program("program.exe", ["program.c", "inc.c"])
env.Program("program.exe", ["program.o", "inc.c"])
inc_c = env.Command("inc.c", inc_c = env.Command("inc.c",
[], [],
+3 -4
View File
@@ -1,12 +1,11 @@
default do build do
Environment.new do |env| Environment.new do |env|
env["build_root"] = env.build_root env["build_root"] = env.build_root
env["inc_h"] = "inc.h" env["inc_h"] = "inc.h"
env.Copy("copy_inc.h", "${inc_h}") env.Copy("copy_inc.h", "${inc_h}")
env.depends("program.o", "${inc_h}") env.depends("${build_root}/program.o", "${inc_h}")
env.Object("program.o", "program.c") env.Program("program.exe", ["program.c", "inc.c"])
env.Program("program.exe", ["program.o", "inc.c"])
env.Command("inc.c", env.Command("inc.c",
[], [],
@@ -13,7 +13,7 @@ class MyBuilder < Rscons::Builder
end end
end end
default do build do
Environment.new do |env| Environment.new do |env|
env.add_builder(MyBuilder) env.add_builder(MyBuilder)
env.MyBuilder("foo") env.MyBuilder("foo")
+1 -1
View File
@@ -2,7 +2,7 @@ configure do
check_d_compiler "gdc" check_d_compiler "gdc"
end end
default do build do
Environment.new(echo: :command) do |env| Environment.new(echo: :command) do |env|
env.Program("hello-d.exe", glob("*.d")) env.Program("hello-d.exe", glob("*.d"))
end end
+1 -1
View File
@@ -2,7 +2,7 @@ configure do
check_d_compiler "ldc2" check_d_compiler "ldc2"
end end
default do build do
Environment.new(echo: :command) do |env| Environment.new(echo: :command) do |env|
env.Program("hello-d.exe", glob("*.d")) env.Program("hello-d.exe", glob("*.d"))
end end
+1 -1
View File
@@ -1,4 +1,4 @@
default do build do
Environment.new(echo: :command) do |env| Environment.new(echo: :command) do |env|
env.Object("main.o", "main.d") env.Object("main.o", "main.d")
env.Object("mod.o", "mod.d") env.Object("mod.o", "mod.d")
+1 -1
View File
@@ -1,4 +1,4 @@
default do build do
Environment.new do |env| Environment.new do |env|
env.Program("test.exe", glob("*.c"), direct: true) env.Program("test.exe", glob("*.c"), direct: true)
end end
+1 -1
View File
@@ -1,4 +1,4 @@
default do build do
Environment.new do |env| Environment.new do |env|
lib = env.SharedLibrary("mylib", ["two.c", "three.c"], direct: true) lib = env.SharedLibrary("mylib", ["two.c", "three.c"], direct: true)
program = env.Program("test.exe", "main.c", "LIBS" => ["mylib"], "LIBPATH" => ["."]) program = env.Program("test.exe", "main.c", "LIBS" => ["mylib"], "LIBPATH" => ["."])
+1 -1
View File
@@ -1,4 +1,4 @@
default do build do
Environment.new do |env| Environment.new do |env|
env.Program('header.exe', Dir['*.c']) env.Program('header.exe', Dir['*.c'])
end end
+1 -2
View File
@@ -1,10 +1,9 @@
default do build do
Environment.new do |env| Environment.new do |env|
require 'json' require 'json'
require 'yaml' require 'yaml'
env.add_builder(:JsonToYaml) do |params| env.add_builder(:JsonToYaml) do |params|
unless @cache.up_to_date?(@target, :JsonToYaml, @sources, @env) unless @cache.up_to_date?(@target, :JsonToYaml, @sources, @env)
print_run_message("JsonToYaml #{@target}", nil)
@cache.mkdir_p(File.dirname(@target)) @cache.mkdir_p(File.dirname(@target))
File.open(@target, 'w') do |f| File.open(@target, 'w') do |f|
f.write(YAML.dump(JSON.load(IO.read(@sources.first)))) f.write(YAML.dump(JSON.load(IO.read(@sources.first))))
+1 -1
View File
@@ -1,4 +1,4 @@
default do build do
Environment.new(echo: :command) do |env| Environment.new(echo: :command) do |env|
env.Program('library.exe', ['lib.a', 'three.c']) env.Program('library.exe', ['lib.a', 'three.c'])
env.Library("lib.a", ['one.c', 'two.c'], 'CPPFLAGS' => ['-Dmake_lib']) env.Library("lib.a", ['one.c', 'two.c'], 'CPPFLAGS' => ['-Dmake_lib'])
+1 -1
View File
@@ -1,4 +1,4 @@
default do build do
Environment.new do |env| Environment.new do |env|
env.Program("library.exe", ["lib.a", "three.c"]) env.Program("library.exe", ["lib.a", "three.c"])
env.Object("two.o", "two.c") env.Object("two.o", "two.c")
+1 -1
View File
@@ -1,4 +1,4 @@
default do build do
Environment.new(echo: :command) do |env| Environment.new(echo: :command) do |env|
env["ARCMD"] = %w[ar rcf ${_TARGET} ${_SOURCES}] env["ARCMD"] = %w[ar rcf ${_TARGET} ${_SOURCES}]
env.Library("lib.a", glob("*.c")) env.Library("lib.a", glob("*.c"))
@@ -1,5 +0,0 @@
default do
Environment.new do |env|
env.Program("foo.exe", glob("*.cc", "*.c"))
end
end
-6
View File
@@ -1,6 +0,0 @@
#include <stdio.h>
void foo(void)
{
printf("foo\n");
}
-12
View File
@@ -1,12 +0,0 @@
#include <iostream>
extern "C" {
void foo(void);
}
int main(int argc, char * argv[])
{
foo();
std::cout << "main" << std::endl;
return 0;
}
+1 -1
View File
@@ -1,4 +1,4 @@
default do build do
Environment.new do |env| Environment.new do |env|
env.Preprocess("pp", "foo.h") env.Preprocess("pp", "foo.h")
end end
-4
View File
@@ -1,4 +0,0 @@
default do
sh "echo", "hi there"
sh(["echo 1 2"])
end
-4
View File
@@ -1,4 +0,0 @@
default do
sh "foobar42"
sh "echo", "continued"
end
-4
View File
@@ -1,4 +0,0 @@
default do
sh "foobar42", continue: true
sh "echo", "continued"
end
+1 -1
View File
@@ -1,4 +1,4 @@
default do build do
Environment.new do |env| Environment.new do |env|
env["CPPPATH"] << "src/lib" env["CPPPATH"] << "src/lib"
libmine = env.SharedLibrary("mine", glob("src/lib/*.c")) libmine = env.SharedLibrary("mine", glob("src/lib/*.c"))
@@ -1,4 +1,4 @@
default do build do
Environment.new do |env| Environment.new do |env|
File.open("foo.xyz", "wb") do |fh| File.open("foo.xyz", "wb") do |fh|
fh.puts("hi") fh.puts("hi")
@@ -1,4 +1,4 @@
default do build do
Environment.new do |env| Environment.new do |env|
env["CPPPATH"] << "src/lib" env["CPPPATH"] << "src/lib"
env.Object("file.S", "src/lib/one.c", "CFLAGS" => env["CFLAGS"] + ["-S"]) env.Object("file.S", "src/lib/one.c", "CFLAGS" => env["CFLAGS"] + ["-S"])
@@ -1,4 +1,4 @@
default do build do
Environment.new do |env| Environment.new do |env|
env["CPPPATH"] << "src/lib" env["CPPPATH"] << "src/lib"
libmine = env.SharedLibrary("mine", glob("src/lib/*.cc")) libmine = env.SharedLibrary("mine", glob("src/lib/*.cc"))
@@ -1,4 +1,4 @@
default do build do
Environment.new do |env| Environment.new do |env|
env["CPPPATH"] << "src/lib" env["CPPPATH"] << "src/lib"
libmine = env.SharedLibrary("mine", glob("src/lib/*.d")) libmine = env.SharedLibrary("mine", glob("src/lib/*.d"))
@@ -1,4 +1,4 @@
default do build do
Environment.new do |env| Environment.new do |env|
env["CPPPATH"] << "src/lib" env["CPPPATH"] << "src/lib"
env.SharedObject("one.o", "src/lib/one.c") env.SharedObject("one.o", "src/lib/one.c")
@@ -1,4 +1,4 @@
default do build do
Environment.new do |env| Environment.new do |env|
env["CPPPATH"] << "src/lib" env["CPPPATH"] << "src/lib"
env["SHLD"] = "gcc" env["SHLD"] = "gcc"
+1 -1
View File
@@ -1,4 +1,4 @@
default do build do
Environment.new do |env| Environment.new do |env|
env.Program('simple.exe', Dir['*.c']) env.Program('simple.exe', Dir['*.c'])
end end
+1 -1
View File
@@ -1,4 +1,4 @@
default do build do
Environment.new(echo: :command) do |env| Environment.new(echo: :command) do |env|
tempdir = ENV["TEMP"] || ENV["TMP"] || "/tmp" tempdir = ENV["TEMP"] || ENV["TMP"] || "/tmp"
source_file = File.join(tempdir, "abs.c") source_file = File.join(tempdir, "abs.c")
+1 -1
View File
@@ -10,7 +10,7 @@ class ThreadedTestBuilder < Rscons::Builder
end end
end end
default do build do
Environment.new do |env| Environment.new do |env|
env.add_builder(ThreadedTestBuilder) env.add_builder(ThreadedTestBuilder)
env.ThreadedTestBuilder("T3", [], "delay" => 3) env.ThreadedTestBuilder("T3", [], "delay" => 3)
+1 -1
View File
@@ -1,4 +1,4 @@
default do build do
Environment.new do |env| Environment.new do |env|
object = env.Object("simple.o", "simple.c") object = env.Object("simple.o", "simple.c")
env.Program("simple.exe", object) env.Program("simple.exe", object)
+1 -1
View File
@@ -3,7 +3,7 @@ class TestBuilder < Rscons::Builder
true true
end end
end end
default do build do
Environment.new do |env| Environment.new do |env|
env.add_builder(TestBuilder) env.add_builder(TestBuilder)
env.TestBuilder("file") env.TestBuilder("file")
@@ -14,7 +14,7 @@ class MyObject < Rscons::Builder
end end
end end
default do build do
Environment.new do |env| Environment.new do |env|
env.add_builder(MyObject) env.add_builder(MyObject)
env.MyObject("simple.o", "simple.c") env.MyObject("simple.o", "simple.c")
+1 -1
View File
@@ -1,4 +1,4 @@
default do build do
Environment.new do |env| Environment.new do |env|
env["LIBS"] += ["m"] env["LIBS"] += ["m"]
env.Program('simple.exe', Dir['*.c']) env.Program('simple.exe', Dir['*.c'])
+6 -6
View File
@@ -4,17 +4,17 @@ class DebugBuilder < Rscons::Builder
finalize_command finalize_command
else else
@command = %W[gcc -c -o #{@target} #{@sources.first}] @command = %W[gcc -c -o #{@target} #{@sources.first}]
if ENV["test"] == "command_change" if Rscons.vars["command_change"]
@command += %w[-Wall] @command += %w[-Wall]
end end
if ENV["test"] == "new_dep" if Rscons.vars["new_dep"]
@sources += ["extra"] @sources += ["extra"]
end end
if ENV["test"] == "strict_deps1" if Rscons.vars["strict_deps1"]
@sources += ["extra"] @sources += ["extra"]
strict_deps = true strict_deps = true
end end
if ENV["test"] == "strict_deps2" if Rscons.vars["strict_deps2"]
@sources = ["extra"] + @sources @sources = ["extra"] + @sources
strict_deps = true strict_deps = true
end end
@@ -27,10 +27,10 @@ class DebugBuilder < Rscons::Builder
end end
end end
default do build do
Environment.new do |env| Environment.new do |env|
env.add_builder(DebugBuilder) env.add_builder(DebugBuilder)
if ENV["test"] == "new_user_dep" if Rscons.vars["new_user_dep"]
env.depends("foo.o", "new_dep") env.depends("foo.o", "new_dep")
end end
env.DebugBuilder("foo.o", "simple.c") env.DebugBuilder("foo.o", "simple.c")
@@ -1,4 +1,4 @@
default do build do
Environment.new do |env| Environment.new do |env|
env.Copy("simple.copy", "simple.c") env.Copy("simple.copy", "simple.c")
end end
+1 -1
View File
@@ -1,4 +1,4 @@
default do build do
Environment.new do |env| Environment.new do |env|
env.Object("simple.o", "simple.c") env.Object("simple.o", "simple.c")
env.process env.process
+1 -1
View File
@@ -1,4 +1,4 @@
default do build do
Environment.new do |env| Environment.new do |env|
env.Object("simple.o", "simple.c") env.Object("simple.o", "simple.c")
env["LDCMD"] = %w[gcc -o ${_TARGET} simple.o] env["LDCMD"] = %w[gcc -o ${_TARGET} simple.o]
@@ -1,4 +1,4 @@
default do build do
Environment.new do |env| Environment.new do |env|
env.Object("simple.o", "simple.c") env.Object("simple.o", "simple.c")
env.Object("two.o", "two.c") env.Object("two.o", "two.c")
+1 -1
View File
@@ -1,4 +1,4 @@
default do build do
Environment.new do |env| Environment.new do |env|
target = env.Program("simple.exe", "simple.c") target = env.Program("simple.exe", "simple.c")
user_deps = File.read("user_deps", mode: "rb").split(" ") user_deps = File.read("user_deps", mode: "rb").split(" ")
+1 -1
View File
@@ -13,7 +13,7 @@ class TestBuilder < Rscons::Builder
end end
end end
default do build do
Environment.new do |env| Environment.new do |env|
env.add_builder(TestBuilder) env.add_builder(TestBuilder)
env.TestBuilder("foo") env.TestBuilder("foo")
+1 -1
View File
@@ -1,4 +1,4 @@
default do build do
Environment.new do |env| Environment.new do |env|
env.Program("simple.exe", "simple.c") env.Program("simple.exe", "simple.c")
env.clear_targets env.clear_targets
+1 -1
View File
@@ -1,4 +1,4 @@
default do build do
base_env = Environment.new do |env| base_env = Environment.new do |env|
env.n_threads = 165 env.n_threads = 165
end end
+1 -1
View File
@@ -1,4 +1,4 @@
default do build do
Environment.new(echo: :command) do |env| Environment.new(echo: :command) do |env|
env["LD"] = "gcc" env["LD"] = "gcc"
env.Program('simple.exe', Dir['*.c']) env.Program('simple.exe', Dir['*.c'])
+1 -1
View File
@@ -1,4 +1,4 @@
default do build do
Environment.new do |env| Environment.new do |env|
command = %W[gcc -o ${_TARGET} ${_SOURCES}] command = %W[gcc -o ${_TARGET} ${_SOURCES}]
env.Command("simple.exe", env.Command("simple.exe",
+1 -1
View File
@@ -1,4 +1,4 @@
default do build do
Environment.new do |env| Environment.new do |env|
env.Object("simple.o", "simple.c") env.Object("simple.o", "simple.c")
env.Command("simple.txt", env.Command("simple.txt",
+1 -1
View File
@@ -1,4 +1,4 @@
default do build do
Environment.new do |env| Environment.new do |env|
env["sources"] = glob("*.c") env["sources"] = glob("*.c")
env.Program("simple.exe", "${sources}") env.Program("simple.exe", "${sources}")
+1 -1
View File
@@ -1,4 +1,4 @@
default do build do
Environment.new do |env| Environment.new do |env|
env.Directory("teh_dir") env.Directory("teh_dir")
end end
+1 -1
View File
@@ -1,4 +1,4 @@
default do build do
Environment.new do |env| Environment.new do |env|
env.Object("simple.o", "simple.c") env.Object("simple.o", "simple.c")
env.Disassemble("simple.txt", "simple.o") env.Disassemble("simple.txt", "simple.o")
+1 -1
View File
@@ -1,4 +1,4 @@
default do build do
Environment.new do |env| Environment.new do |env|
env.Object("simple.o", "simple.c") env.Object("simple.o", "simple.c")
end end
+1 -1
View File
@@ -1,4 +1,4 @@
default do build do
env = Environment.new do |env| env = Environment.new do |env|
env["CFLAGS"] += %w[-O2 -fomit-frame-pointer] env["CFLAGS"] += %w[-O2 -fomit-frame-pointer]
env[:foo] = :bar env[:foo] = :bar
@@ -1,4 +1,4 @@
default do build do
Environment.new do |env| Environment.new do |env|
env.Command("foo", "bar") env.Command("foo", "bar")
env.Command("bar", "baz") env.Command("bar", "baz")
@@ -1,4 +1,4 @@
default do build do
Environment.new do |env| Environment.new do |env|
env.Command("foo", "foo") env.Command("foo", "foo")
end end
@@ -1,4 +1,4 @@
default do build do
Environment.new do |env| Environment.new do |env|
env.produces("foo", "bar") env.produces("foo", "bar")
end end
+1 -1
View File
@@ -1,4 +1,4 @@
default do build do
Environment.new do |env| Environment.new do |env|
File.open("foo.xyz", "wb") do |fh| File.open("foo.xyz", "wb") do |fh|
fh.puts("hi") fh.puts("hi")
+1 -1
View File
@@ -1,4 +1,4 @@
default do build do
Environment.new(echo: :command) do |env| Environment.new(echo: :command) do |env|
env["LD"] = "gcc" env["LD"] = "gcc"
env["LIBPATH"] += ["libdir"] env["LIBPATH"] += ["libdir"]
+1 -1
View File
@@ -1,4 +1,4 @@
default do build do
Environment.new(echo: :command) do |env| Environment.new(echo: :command) do |env|
env.Object("simple.o", "simple.c", env.Object("simple.o", "simple.c",
"CCCMD" => %w[${CC} -c -o ${_TARGET} -Dfoobar ${_SOURCES}]) "CCCMD" => %w[${CC} -c -o ${_TARGET} -Dfoobar ${_SOURCES}])
+1 -1
View File
@@ -1,4 +1,4 @@
default do build do
Environment.new(echo: :command) do |env| Environment.new(echo: :command) do |env|
env["DEPFILESUFFIX"] = ".deppy" env["DEPFILESUFFIX"] = ".deppy"
env.Object("simple.o", "simple.c") env.Object("simple.o", "simple.c")
-3
View File
@@ -1,3 +0,0 @@
#!/bin/sh
echo "foobar!"
-3
View File
@@ -1,3 +0,0 @@
#!/bin/sh
exit 42
Loaded 100 of 178 files, more files were not shown because too many files have changed in this diff. Show more