Add shortcut method for creating environments - close #149
Add env() method to create environments. Process all environments created at build script top level before executing any autoconf-enabled tasks, or if no tasks are specified by the user.
This commit is contained in:
1 parent
6d5f44d4e5
commit
ef7e9259cb
129 files changed
+742
-901
No files matched your search
@@ -1,6 +1,4 @@
|
||||
default do
|
||||
Environment.new(name: "typical") do |env|
|
||||
env["CPPPATH"] += glob("src/**")
|
||||
env.Program("^/typical.exe", glob("src/**/*.c"))
|
||||
end
|
||||
env "typical" do |env|
|
||||
env["CPPPATH"] += glob("src/**")
|
||||
env.Program("^/typical.exe", glob("src/**/*.c"))
|
||||
end
|
||||
@@ -1,13 +1,11 @@
|
||||
default do
|
||||
Environment.new(echo: :command) do |env|
|
||||
env.append('CPPPATH' => glob('src/**/*/'))
|
||||
env.add_build_hook do |builder|
|
||||
if File.basename(builder.sources.first) == "one.c"
|
||||
builder.vars["CFLAGS"] << "-O1"
|
||||
elsif File.basename(builder.sources.first) == "two.c"
|
||||
builder.vars["CFLAGS"] << "-O2"
|
||||
end
|
||||
env(echo: :command) do |env|
|
||||
env.append('CPPPATH' => glob('src/**/*/'))
|
||||
env.add_build_hook do |builder|
|
||||
if File.basename(builder.sources.first) == "one.c"
|
||||
builder.vars["CFLAGS"] << "-O1"
|
||||
elsif File.basename(builder.sources.first) == "two.c"
|
||||
builder.vars["CFLAGS"] << "-O2"
|
||||
end
|
||||
env.Program('build_hook.exe', glob('src/**/*.c'))
|
||||
end
|
||||
env.Program('build_hook.exe', glob('src/**/*.c'))
|
||||
end
|
||||
@@ -1,17 +1,15 @@
|
||||
default do
|
||||
Environment.new(echo: :command) do |env|
|
||||
env.append('CPPPATH' => glob('src/**'))
|
||||
env.add_build_hook do |builder|
|
||||
if builder.name == "Object" && builder.sources.first =~ %r{one\.c}
|
||||
builder.vars["CFLAGS"] << "-O1"
|
||||
builder.sources = ['src/two/two.c']
|
||||
elsif builder.name == "Object" && builder.target =~ %r{two\.o}
|
||||
new_vars = builder.vars.clone
|
||||
new_vars["CFLAGS"] << "-O2"
|
||||
builder.vars = new_vars
|
||||
end
|
||||
env(echo: :command) do |env|
|
||||
env.append('CPPPATH' => glob('src/**'))
|
||||
env.add_build_hook do |builder|
|
||||
if builder.name == "Object" && builder.sources.first =~ %r{one\.c}
|
||||
builder.vars["CFLAGS"] << "-O1"
|
||||
builder.sources = ['src/two/two.c']
|
||||
elsif builder.name == "Object" && builder.target =~ %r{two\.o}
|
||||
new_vars = builder.vars.clone
|
||||
new_vars["CFLAGS"] << "-O2"
|
||||
builder.vars = new_vars
|
||||
end
|
||||
env.Object('one.o', 'src/one/one.c')
|
||||
env.Object('two.o', 'src/two/two.c')
|
||||
end
|
||||
env.Object('one.o', 'src/one/one.c')
|
||||
env.Object('two.o', 'src/two/two.c')
|
||||
end
|
||||
@@ -1,10 +1,8 @@
|
||||
default do
|
||||
Environment.new(echo: :command) do |env|
|
||||
env.append("CPPPATH" => glob("src/**"))
|
||||
FileUtils.mkdir_p(env.build_root)
|
||||
FileUtils.mv("src/one/one.c", env.build_root)
|
||||
FileUtils.mv("src/two/two.c", Rscons.application.build_dir)
|
||||
env.Object("^/one.o", "^/one.c")
|
||||
env.Program("^^/program.exe", ["^/one.o", "^^/two.c"])
|
||||
end
|
||||
env(echo: :command) do |env|
|
||||
env.append("CPPPATH" => glob("src/**"))
|
||||
FileUtils.mkdir_p(env.build_root)
|
||||
FileUtils.mv("src/one/one.c", env.build_root)
|
||||
FileUtils.mv("src/two/two.c", Rscons.application.build_dir)
|
||||
env.Object("^/one.o", "^/one.c")
|
||||
env.Program("^^/program.exe", ["^/one.o", "^^/two.c"])
|
||||
end
|
||||
@@ -1,9 +1,7 @@
|
||||
default do
|
||||
base_env = Environment.new do |env|
|
||||
env["CPPPATH"] += glob("src/**")
|
||||
end
|
||||
|
||||
base_env.clone(name: "typical") do |env|
|
||||
env.Program("^/typical.exe", glob("src/**/*.c"))
|
||||
end
|
||||
base_env = env do |env|
|
||||
env["CPPPATH"] += glob("src/**")
|
||||
end
|
||||
|
||||
base_env.clone "typical" do |env|
|
||||
env.Program("^/typical.exe", glob("src/**/*.c"))
|
||||
end
|
||||
@@ -0,0 +1,7 @@
|
||||
env "first" do |env|
|
||||
env["CPPPATH"] += glob("src/**")
|
||||
end
|
||||
|
||||
Environment["first"].clone "typical" do |env|
|
||||
env.Program("^/typical.exe", glob("src/**/*.c"))
|
||||
end
|
||||
@@ -1,5 +1,3 @@
|
||||
default do
|
||||
Environment.new do |env|
|
||||
env.Copy("inst.exe", "copy.rb")
|
||||
end
|
||||
env do |env|
|
||||
env.Copy("inst.exe", "copy.rb")
|
||||
end
|
||||
@@ -1,11 +1,9 @@
|
||||
default do
|
||||
Environment.new do |env|
|
||||
env.Directory("copy")
|
||||
env.Copy("copy", "copy_directory.rb")
|
||||
env do |env|
|
||||
env.Directory("copy")
|
||||
env.Copy("copy", "copy_directory.rb")
|
||||
|
||||
env.Copy("noexist/src", "src")
|
||||
env.Copy("noexist/src", "src")
|
||||
|
||||
env.Directory("exist/src")
|
||||
env.Copy("exist/src", "src")
|
||||
end
|
||||
env.Directory("exist/src")
|
||||
env.Copy("exist/src", "src")
|
||||
end
|
||||
@@ -1,5 +1,3 @@
|
||||
default do
|
||||
Environment.new do |env|
|
||||
env.Copy("dest", ["copy.rb", "copy_multiple.rb"])
|
||||
end
|
||||
env do |env|
|
||||
env.Copy("dest", ["copy.rb", "copy_multiple.rb"])
|
||||
end
|
||||
@@ -1,8 +1,6 @@
|
||||
default do
|
||||
Environment.new do |env|
|
||||
env["CSUFFIX"] = %w[.yargh .c]
|
||||
env["CFLAGS"] += %w[-x c]
|
||||
env["CPPPATH"] += glob("src/**")
|
||||
env.Program("program.exe", glob("src/**/*.{c,yargh}"))
|
||||
end
|
||||
env do |env|
|
||||
env["CSUFFIX"] = %w[.yargh .c]
|
||||
env["CFLAGS"] += %w[-x c]
|
||||
env["CPPPATH"] += glob("src/**")
|
||||
env.Program("program.exe", glob("src/**/*.{c,yargh}"))
|
||||
end
|
||||
@@ -1,7 +1,4 @@
|
||||
default do
|
||||
Environment.new do |env|
|
||||
env.echo = :command
|
||||
env.Copy("copy.rb", "echo_command_ruby_builder.rb")
|
||||
end
|
||||
|
||||
env do |env|
|
||||
env.echo = :command
|
||||
env.Copy("copy.rb", "echo_command_ruby_builder.rb")
|
||||
end
|
||||
@@ -5,10 +5,8 @@ class MyBuilder < Rscons::Builder
|
||||
end
|
||||
end
|
||||
|
||||
default do
|
||||
Environment.new do |env|
|
||||
env.echo = :command
|
||||
env.add_builder(MyBuilder)
|
||||
env.MyBuilder("foo")
|
||||
end
|
||||
env do |env|
|
||||
env.echo = :command
|
||||
env.add_builder(MyBuilder)
|
||||
env.MyBuilder("foo")
|
||||
end
|
||||
@@ -0,0 +1 @@
|
||||
env(depends: "foo", task: false)
|
||||
@@ -0,0 +1 @@
|
||||
env(foo: :bar)
|
||||
@@ -1,13 +1,13 @@
|
||||
project_name "install_test"
|
||||
|
||||
Environment.new do |env|
|
||||
env do |env|
|
||||
env["CPPPATH"] += glob("src/**")
|
||||
|
||||
task "build" do
|
||||
env.Program("^/program.exe", glob("src/**/*.c"))
|
||||
end
|
||||
|
||||
task "install", deps: "build" do
|
||||
task "install", depends: "build" do
|
||||
env.InstallDirectory("${prefix}/bin")
|
||||
env.Install("${prefix}/bin", "^/program.exe")
|
||||
env.InstallDirectory("${prefix}/share")
|
||||
@@ -17,4 +17,4 @@ Environment.new do |env|
|
||||
end
|
||||
end
|
||||
|
||||
default(deps: "build")
|
||||
default(depends: "build")
|
||||
@@ -1,12 +1,10 @@
|
||||
default do
|
||||
Environment.new do |env|
|
||||
env["CPPPATH"] += glob("src/**")
|
||||
env.Program("^/prog.exe", glob("src/**/*.c"))
|
||||
end
|
||||
|
||||
Environment.new do |env|
|
||||
env["CPPPATH"] += glob("src/**")
|
||||
env["CCFLAGS"] += %w[-Wall -g]
|
||||
env.Program("^/prog-debug.exe", glob("src/**/*.c"))
|
||||
end
|
||||
env do |env|
|
||||
env["CPPPATH"] += glob("src/**")
|
||||
env.Program("^/prog.exe", glob("src/**/*.c"))
|
||||
end
|
||||
|
||||
env do |env|
|
||||
env["CPPPATH"] += glob("src/**")
|
||||
env["CCFLAGS"] += %w[-Wall -g]
|
||||
env.Program("^/prog-debug.exe", glob("src/**/*.c"))
|
||||
end
|
||||
@@ -1,7 +1,5 @@
|
||||
default do
|
||||
Environment.new do |env|
|
||||
env["CPPPATH"] << "src/two"
|
||||
env.Object("one.o", "src/one/one.c")
|
||||
env.Object("one.o", "src/two/two.c")
|
||||
end
|
||||
env do |env|
|
||||
env["CPPPATH"] << "src/two"
|
||||
env.Object("one.o", "src/one/one.c")
|
||||
env.Object("one.o", "src/two/two.c")
|
||||
end
|
||||
@@ -1,12 +1,10 @@
|
||||
default do
|
||||
Environment.new do |env|
|
||||
env["CPPPATH"] << "src/two"
|
||||
env.Object("one.o", "src/one/one.c")
|
||||
env.add_post_build_hook do |builder|
|
||||
if builder.target == "one.o"
|
||||
env["MODULE"] = "two"
|
||||
env.Object("${MODULE}.o", "src/${MODULE}/${MODULE}.c")
|
||||
end
|
||||
env do |env|
|
||||
env["CPPPATH"] << "src/two"
|
||||
env.Object("one.o", "src/one/one.c")
|
||||
env.add_post_build_hook do |builder|
|
||||
if builder.target == "one.o"
|
||||
env["MODULE"] = "two"
|
||||
env.Object("${MODULE}.o", "src/${MODULE}/${MODULE}.c")
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in new issue
Block a user