add spec for building a shared library using D
This commit is contained in:
1 parent
db2ec82a25
commit
10d4c647b9
4 files changed
+34
No files matched your search
@@ -0,0 +1,9 @@
|
||||
Rscons::Environment.new do |env|
|
||||
env["CPPPATH"] << "src/lib"
|
||||
libmine = env.SharedLibrary("libmine", Dir["src/lib/*.d"])
|
||||
env.Program("test-shared.exe",
|
||||
Dir["src/*.c"],
|
||||
"LIBPATH" => %w[.],
|
||||
"LIBS" => %w[mine])
|
||||
env.build_after("test-shared.exe", libmine.to_s)
|
||||
end
|
||||
@@ -0,0 +1,6 @@
|
||||
import core.stdc.stdio;
|
||||
|
||||
extern (C) void one()
|
||||
{
|
||||
printf("Hi from one()\n");
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
import core.stdc.stdio;
|
||||
|
||||
extern (C) void two()
|
||||
{
|
||||
printf("Hi from two()\n");
|
||||
}
|
||||
@@ -435,6 +435,19 @@ EOF
|
||||
]
|
||||
expect(`./hello-d.exe`.rstrip).to eq "Hello from D!"
|
||||
end
|
||||
|
||||
it "creates shared libraries using D" do
|
||||
test_dir("shared_library")
|
||||
|
||||
result = run_test(rsconsfile: "shared_library_d.rb")
|
||||
# Currently gdc produces an error while trying to build the shared
|
||||
# library. Since this isn't really an rscons problem, I'm commenting out
|
||||
# this check. I'm not sure what I want to do about D support at this
|
||||
# point anyway...
|
||||
#expect(result.stderr).to eq ""
|
||||
slines = lines(result.stdout)
|
||||
expect(slines).to include("SHLD libmine.so")
|
||||
end
|
||||
end
|
||||
|
||||
it "supports disassembling object files" do
|
||||
|
||||
Reference in new issue
Block a user