diff --git a/CHANGELOG.md b/CHANGELOG.md index 4b13752..c35abd6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,15 @@ Changelog ========= +v1.8.1 - 2018- +------------------- + +- Fixed a regression in 1.8.0 that caused linker files specified as `sourceFiles` to not get inherited properly - [issue #1408][issue1408], [pull #1409][issue1409] + +[issue1408]: https://github.com/dlang/dub/issues/1408 +[issue1409]: https://github.com/dlang/dub/issues/1409 + + v1.8.0 - 2018-03-01 ------------------- diff --git a/appveyor.yml b/appveyor.yml index 143d03a..6a84e42 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -36,6 +36,7 @@ branches: only: - master + - stable install: - ps: function ResolveLatestDMD diff --git a/source/dub/generators/generator.d b/source/dub/generators/generator.d index 144276d..588a111 100644 --- a/source/dub/generators/generator.d +++ b/source/dub/generators/generator.d @@ -269,6 +269,7 @@ const depbs = &depti.buildSettings; if (depbs.targetType == TargetType.executable) continue; + // add to (link) dependencies ti.dependencies ~= depname; ti.linkDependencies ~= depname; @@ -404,7 +405,7 @@ parent.addStringImportPaths(child.stringImportPaths); // linking of static libraries is done by parent if (child.targetType == TargetType.staticLibrary) { - parent.addLinkerFiles(child.sourceFiles.filter!isLinkerFile.array); + parent.addSourceFiles(child.sourceFiles.filter!isLinkerFile.array); parent.addLibs(child.libs); parent.addLFlags(child.lflags); } diff --git a/test/issue1408-inherit-linker-files/.no_run b/test/issue1408-inherit-linker-files/.no_run new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/test/issue1408-inherit-linker-files/.no_run diff --git a/test/issue1408-inherit-linker-files/.no_test b/test/issue1408-inherit-linker-files/.no_test new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/test/issue1408-inherit-linker-files/.no_test diff --git a/test/issue1408-inherit-linker-files/dep.d b/test/issue1408-inherit-linker-files/dep.d new file mode 100644 index 0000000..d0a80bf --- /dev/null +++ b/test/issue1408-inherit-linker-files/dep.d @@ -0,0 +1 @@ +module dep; diff --git a/test/issue1408-inherit-linker-files/dub.sdl b/test/issue1408-inherit-linker-files/dub.sdl new file mode 100644 index 0000000..4aaaed8 --- /dev/null +++ b/test/issue1408-inherit-linker-files/dub.sdl @@ -0,0 +1,14 @@ +name "test" +targetType "executable" +dependency ":dep" version="*" +sourceFiles "main.d" +// make lib.d available for import +importPaths "." + +subPackage { + name "dep" + sourceFiles "dep.d" + sourceFiles "lib/liblib.a" platform="posix" + sourceFiles "lib/lib.lib" platform="windows" + preBuildCommands "dub build --root=\"$PACKAGE_DIR/lib\"" +} diff --git a/test/issue1408-inherit-linker-files/lib.d b/test/issue1408-inherit-linker-files/lib.d new file mode 100644 index 0000000..0f143cf --- /dev/null +++ b/test/issue1408-inherit-linker-files/lib.d @@ -0,0 +1,3 @@ +module lib; + +void foo(); diff --git a/test/issue1408-inherit-linker-files/lib/dub.sdl b/test/issue1408-inherit-linker-files/lib/dub.sdl new file mode 100644 index 0000000..0706e67 --- /dev/null +++ b/test/issue1408-inherit-linker-files/lib/dub.sdl @@ -0,0 +1,3 @@ +name "lib" +targetType "staticLibrary" +sourceFiles "lib.d" diff --git a/test/issue1408-inherit-linker-files/lib/lib.d b/test/issue1408-inherit-linker-files/lib/lib.d new file mode 100644 index 0000000..22c8012 --- /dev/null +++ b/test/issue1408-inherit-linker-files/lib/lib.d @@ -0,0 +1,5 @@ +module lib; + +void foo() +{ +} diff --git a/test/issue1408-inherit-linker-files/main.d b/test/issue1408-inherit-linker-files/main.d new file mode 100644 index 0000000..06383a2 --- /dev/null +++ b/test/issue1408-inherit-linker-files/main.d @@ -0,0 +1,6 @@ +import lib; + +void main() +{ + foo(); +}