aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/backend/ninjabackend.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2018-05-03 00:44:37 +0300
committerGitHub <noreply@github.com>2018-05-03 00:44:37 +0300
commit6c115f1626f9f1f945b3de75ca38f5bc2ac4aad3 (patch)
tree66f687ed20229ff8e2515d2df0ec9ed27997faea /mesonbuild/backend/ninjabackend.py
parent8d5598227ecc9be346919532fd1ee0cf71a82312 (diff)
parenta2fdaa9ea081304dda70557755f5895194227668 (diff)
downloadmeson-6c115f1626f9f1f945b3de75ca38f5bc2ac4aad3.zip
meson-6c115f1626f9f1f945b3de75ca38f5bc2ac4aad3.tar.gz
meson-6c115f1626f9f1f945b3de75ca38f5bc2ac4aad3.tar.bz2
Merge pull request #3474 from mesonbuild/dcpp
Can combine D and C++ in a single target.
Diffstat (limited to 'mesonbuild/backend/ninjabackend.py')
-rw-r--r--mesonbuild/backend/ninjabackend.py8
1 files changed, 4 insertions, 4 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py
index 6dd04da..1d8d011 100644
--- a/mesonbuild/backend/ninjabackend.py
+++ b/mesonbuild/backend/ninjabackend.py
@@ -470,8 +470,8 @@ int dummy;
if is_unity:
for src in self.generate_unity_files(target, unity_src):
obj_list.append(self.generate_single_compile(target, outfile, src, True, unity_deps + header_deps))
- linker = self.determine_linker(target)
- elem = self.generate_link(target, outfile, outname, obj_list, linker, pch_objects)
+ linker, stdlib_args = self.determine_linker_and_stdlib_args(target)
+ elem = self.generate_link(target, outfile, outname, obj_list, linker, pch_objects, stdlib_args=stdlib_args)
self.generate_shlib_aliases(target, self.get_target_dir(target))
elem.write(outfile)
@@ -2485,7 +2485,7 @@ rule FORTRAN_DEP_HACK%s
return guessed_dependencies + absolute_libs
- def generate_link(self, target, outfile, outname, obj_list, linker, extra_args=[]):
+ def generate_link(self, target, outfile, outname, obj_list, linker, extra_args=[], stdlib_args=[]):
if isinstance(target, build.StaticLibrary):
linker_base = 'STATIC'
else:
@@ -2496,7 +2496,6 @@ rule FORTRAN_DEP_HACK%s
if target.is_cross:
crstr = '_CROSS'
linker_rule = linker_base + crstr + '_LINKER'
-
# Create an empty commands list, and start adding link arguments from
# various sources in the order in which they must override each other
# starting from hard-coded defaults followed by build options and so on.
@@ -2602,6 +2601,7 @@ rule FORTRAN_DEP_HACK%s
custom_target_libraries = self.get_custom_target_provided_libraries(target)
commands += extra_args
commands += custom_target_libraries
+ commands += stdlib_args # Standard library arguments go last, because they never depend on anything.
# Convert from GCC-style link argument naming to the naming used by the
# current compiler.
commands = commands.to_native()