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