| ... | ... | @@ -800,6 +800,14 @@ fn dumpArgv(self: *MachO, comp: *Compilation) !void { |
| 800 | 800 | try argv.appendSlice(&.{ "-e", entry_name }); |
| 801 | 801 | } |
| 802 | 802 | |
| 803 | try argv.append("-o"); |
| 804 | try argv.append(full_out_path); |
| 805 | |
| 806 | if (self.base.isDynLib() and self.base.allow_shlib_undefined) { |
| 807 | try argv.append("-undefined"); |
| 808 | try argv.append("dynamic_lookup"); |
| 809 | } |
| 810 | |
| 803 | 811 | for (comp.objects) |obj| { |
| 804 | 812 | // TODO: verify this |
| 805 | 813 | if (obj.must_link) { |
| ... | ... | @@ -816,19 +824,11 @@ fn dumpArgv(self: *MachO, comp: *Compilation) !void { |
| 816 | 824 | try argv.append(p); |
| 817 | 825 | } |
| 818 | 826 | |
| 819 | | if (comp.compiler_rt_lib) |lib| try argv.append(lib.full_object_path); |
| 820 | | if (comp.compiler_rt_obj) |obj| try argv.append(obj.full_object_path); |
| 821 | | |
| 822 | | if (comp.config.link_libcpp) { |
| 823 | | try argv.append(comp.libcxxabi_static_lib.?.full_object_path); |
| 824 | | try argv.append(comp.libcxx_static_lib.?.full_object_path); |
| 827 | for (self.lib_dirs) |lib_dir| { |
| 828 | const arg = try std.fmt.allocPrint(arena, "-L{s}", .{lib_dir}); |
| 829 | try argv.append(arg); |
| 825 | 830 | } |
| 826 | 831 | |
| 827 | | try argv.append("-o"); |
| 828 | | try argv.append(full_out_path); |
| 829 | | |
| 830 | | try argv.append("-lSystem"); |
| 831 | | |
| 832 | 832 | for (comp.system_libs.keys()) |l_name| { |
| 833 | 833 | const info = comp.system_libs.get(l_name).?; |
| 834 | 834 | const arg = if (info.needed) |
| ... | ... | @@ -840,9 +840,9 @@ fn dumpArgv(self: *MachO, comp: *Compilation) !void { |
| 840 | 840 | try argv.append(arg); |
| 841 | 841 | } |
| 842 | 842 | |
| 843 | | for (self.lib_dirs) |lib_dir| { |
| 844 | | const arg = try std.fmt.allocPrint(arena, "-L{s}", .{lib_dir}); |
| 845 | | try argv.append(arg); |
| 843 | for (self.framework_dirs) |f_dir| { |
| 844 | try argv.append("-F"); |
| 845 | try argv.append(f_dir); |
| 846 | 846 | } |
| 847 | 847 | |
| 848 | 848 | for (self.frameworks) |framework| { |
| ... | ... | @@ -856,15 +856,15 @@ fn dumpArgv(self: *MachO, comp: *Compilation) !void { |
| 856 | 856 | try argv.append(arg); |
| 857 | 857 | } |
| 858 | 858 | |
| 859 | | for (self.framework_dirs) |f_dir| { |
| 860 | | try argv.append("-F"); |
| 861 | | try argv.append(f_dir); |
| 859 | if (comp.config.link_libcpp) { |
| 860 | try argv.append(comp.libcxxabi_static_lib.?.full_object_path); |
| 861 | try argv.append(comp.libcxx_static_lib.?.full_object_path); |
| 862 | 862 | } |
| 863 | 863 | |
| 864 | | if (self.base.isDynLib() and self.base.allow_shlib_undefined) { |
| 865 | | try argv.append("-undefined"); |
| 866 | | try argv.append("dynamic_lookup"); |
| 867 | | } |
| 864 | try argv.append("-lSystem"); |
| 865 | |
| 866 | if (comp.compiler_rt_lib) |lib| try argv.append(lib.full_object_path); |
| 867 | if (comp.compiler_rt_obj) |obj| try argv.append(obj.full_object_path); |
| 868 | 868 | } |
| 869 | 869 | |
| 870 | 870 | Compilation.dump_argv(argv.items); |