diff --git a/source/dub/project.d b/source/dub/project.d index ff431fc..0fdb7bd 100644 --- a/source/dub/project.d +++ b/source/dub/project.d @@ -893,8 +893,13 @@ packageDescription = pack; } - // Remove linker files from sourceFiles + // Copy linker files from sourceFiles to linkerFiles auto target = projectDescription.lookupTarget(projectDescription.rootPackage); + target.buildSettings.sourceFiles + .filter!(isLinkerFile) + .each!(file => target.buildSettings.addLinkerFiles(file)); + + // Remove linker files from sourceFiles target.buildSettings.sourceFiles = target.buildSettings.sourceFiles .filter!(a => !isLinkerFile(a)) diff --git a/test/4-describe-data-1-list.sh b/test/4-describe-data-1-list.sh index c0e848e..021188f 100755 --- a/test/4-describe-data-1-list.sh +++ b/test/4-describe-data-1-list.sh @@ -64,6 +64,8 @@ echo >> "$expected_file" # --data=linker-files echo "$CURR_DIR/describe-dependency-3/libdescribe-dependency-3.a" >> "$expected_file" +echo "$CURR_DIR/describe-project/some.a" >> "$expected_file" +echo "$CURR_DIR/describe-dependency-1/dep.a" >> "$expected_file" echo >> "$expected_file" # --data=source-files echo "$CURR_DIR/describe-project/src/dummy.d" >> "$expected_file" diff --git a/test/4-describe-data-2-dmd.sh b/test/4-describe-data-2-dmd.sh index 8dd54e0..af0681c 100755 --- a/test/4-describe-data-2-dmd.sh +++ b/test/4-describe-data-2-dmd.sh @@ -47,6 +47,8 @@ echo -n "-lcurl " >> "$expected_file" # --data=linker-files echo -n "'$CURR_DIR/describe-dependency-3/libdescribe-dependency-3.a' " >> "$expected_file" +echo -n "'$CURR_DIR/describe-project/some.a' " >> "$expected_file" +echo -n "'$CURR_DIR/describe-dependency-1/dep.a' " >> "$expected_file" # --data=source-files echo -n "'$CURR_DIR/describe-project/src/dummy.d' " >> "$expected_file" echo -n "'$CURR_DIR/describe-dependency-1/source/dummy.d' " >> "$expected_file" diff --git a/test/describe-dependency-1/dub.json b/test/describe-dependency-1/dub.json index 93acf76..fba1c01 100644 --- a/test/describe-dependency-1/dub.json +++ b/test/describe-dependency-1/dub.json @@ -6,6 +6,8 @@ "homepage": "fake.com", "license": "BSD 2-clause", "copyright": "Copyright © 2015, nobody", + "sourceFiles-posix": ["dep.a"], + "sourceFiles-windows": ["dep.lib"], "dflags": ["--another-dflag"], "lflags": ["--another-lflag"], "libs": ["curl"], diff --git a/test/describe-project/dub.json b/test/describe-project/dub.json index ade60d5..71dddd0 100644 --- a/test/describe-project/dub.json +++ b/test/describe-project/dub.json @@ -7,6 +7,8 @@ "license": "BSD 2-clause", "copyright": "Copyright © 2015, nobody", "mainSourceFile": "src/dummy.d", + "sourceFiles-posix": ["./some.a"], + "sourceFiles-windows": ["./some.lib"], "dflags": ["--some-dflag"], "lflags": ["--some-lflag"], "libs": ["crypto"],