]> git.lizzy.rs Git - rust.git/blob - src/test/run-make-fulldeps/split-debuginfo/Makefile
Auto merge of #100989 - lcnr:implied-bounds-uwu, r=spastorino
[rust.git] / src / test / run-make-fulldeps / split-debuginfo / Makefile
1 include ../tools.mk
2
3 all: off packed unpacked
4
5 ifeq ($(UNAME),Darwin)
6 # If disabled, don't run dsymutil
7 off:
8         rm -rf $(TMPDIR)/*.dSYM
9         $(RUSTC) foo.rs -g -C split-debuginfo=off
10         [ ! -d $(TMPDIR)/foo.dSYM ]
11
12 # Packed by default, but only if debuginfo is requested
13 packed:
14         rm -rf $(TMPDIR)/*.dSYM
15         $(RUSTC) foo.rs
16         [ ! -d $(TMPDIR)/foo.dSYM ]
17         rm -rf $(TMPDIR)/*.dSYM
18         $(RUSTC) foo.rs -g
19         [ -d $(TMPDIR)/foo.dSYM ]
20         rm -rf $(TMPDIR)/*.dSYM
21         $(RUSTC) foo.rs -g -C split-debuginfo=packed
22         [ -d $(TMPDIR)/foo.dSYM ]
23         rm -rf $(TMPDIR)/*.dSYM
24
25 # Object files are preserved with unpacked and `dsymutil` isn't run
26 unpacked:
27         $(RUSTC) foo.rs -g -C split-debuginfo=unpacked
28         ls $(TMPDIR)/*.o
29         [ ! -d $(TMPDIR)/foo.dSYM ]
30 else
31 ifdef IS_WINDOWS
32 # Windows only supports =packed
33 off:
34 packed:
35 unpacked:
36 else
37 ifeq ($(UNAME),Linux)
38   UNSTABLEOPTS :=
39 else
40   UNSTABLEOPTS := -Zunstable-options
41 endif
42
43 off:
44         $(RUSTC) foo.rs -g -C $(UNSTABLEOPTS) split-debuginfo=off
45         [ ! -f $(TMPDIR)/*.dwp ]
46         [ ! -f $(TMPDIR)/*.dwo ]
47
48         $(RUSTC) foo.rs -g
49         [ ! -f $(TMPDIR)/*.dwp ]
50         [ ! -f $(TMPDIR)/*.dwo ]
51
52 packed: packed-split packed-single
53
54 packed-split:
55         $(RUSTC) foo.rs -g $(UNSTABLEOPTS) -C split-debuginfo=packed -Zsplit-dwarf-kind=split
56         ls $(TMPDIR)/*.dwp
57         rm -rf $(TMPDIR)/*.dwp $(TMPDIR)/*.dwo
58
59 packed-single:
60         $(RUSTC) foo.rs -g $(UNSTABLEOPTS) -C split-debuginfo=packed -Zsplit-dwarf-kind=single
61         ls $(TMPDIR)/*.dwp
62         ls $(TMPDIR)/*.dwo && exit 1 || exit 0
63         rm -rf $(TMPDIR)/*.dwp
64
65 packed-remapped: packed-remapped-split packed-remapped-single
66
67 packed-remapped-split:
68         $(RUSTC) $(UNSTABLEOPTS) -C split-debuginfo=packed -C debuginfo=2 \
69                 -Z split-dwarf-kind=split --remap-path-prefix $(TMPDIR)=/a foo.rs -g
70         objdump -Wi $(TMPDIR)/foo | grep DW_AT_GNU_dwo_name | (! grep $(TMPDIR)) || exit 1
71
72 packed-remapped-single:
73         $(RUSTC) $(UNSTABLEOPTS) -C split-debuginfo=packed -C debuginfo=2 \
74                 -Z split-dwarf-kind=single --remap-path-prefix $(TMPDIR)=/a foo.rs -g
75         objdump -Wi $(TMPDIR)/foo | grep DW_AT_GNU_dwo_name | (! grep $(TMPDIR)) || exit 1
76
77 packed-crosscrate: packed-crosscrate-split packed-crosscrate-single
78
79 packed-crosscrate-split:
80         $(RUSTC) --crate-type lib $(UNSTABLEOPTS) -C split-debuginfo=packed \
81                 -Zsplit-dwarf-kind=split -C debuginfo=2 -g bar.rs
82         ls $(TMPDIR)/*.rlib
83         ls $(TMPDIR)/*.dwo && exit 1 || exit 0
84         ls $(TMPDIR)/*.dwp && exit 1 || exit 0
85         $(RUSTC) --extern bar=$(TMPDIR)/libbar.rlib -Z unstable-options $(UNSTABLEOPTS) \
86                 -C split-debuginfo=packed -Zsplit-dwarf-kind=split -C debuginfo=2 -g main.rs
87         rm $(TMPDIR)/*.dwo
88         rm $(TMPDIR)/main.dwp
89         rm $(TMPDIR)/$(call BIN,main)
90
91 packed-crosscrate-single:
92         $(RUSTC) --crate-type lib $(UNSTABLEOPTS) -C split-debuginfo=packed \
93                 -Zsplit-dwarf-kind=single -C debuginfo=2 -g bar.rs
94         ls $(TMPDIR)/*.rlib
95         ls $(TMPDIR)/*.dwo && exit 1 || exit 0
96         ls $(TMPDIR)/*.dwp && exit 1 || exit 0
97         $(RUSTC) --extern bar=$(TMPDIR)/libbar.rlib -Z unstable-options $(UNSTABLEOPTS) \
98                 -C split-debuginfo=packed -Zsplit-dwarf-kind=single -C debuginfo=2 -g main.rs
99         ls $(TMPDIR)/*.dwo && exit 1 || exit 0
100         rm $(TMPDIR)/main.dwp
101         rm $(TMPDIR)/$(call BIN,main)
102
103 unpacked: unpacked-split unpacked-single unpacked-remapped-split unpacked-remapped-single
104
105 unpacked-split:
106         $(RUSTC) foo.rs -g $(UNSTABLEOPTS) -C split-debuginfo=unpacked -Zsplit-dwarf-kind=split
107         ls $(TMPDIR)/*.dwp && exit 1 || exit 0
108         ls $(TMPDIR)/*.dwo
109         rm -rf $(TMPDIR)/*.dwp $(TMPDIR)/*.dwo
110
111 unpacked-single:
112         $(RUSTC) foo.rs -g $(UNSTABLEOPTS) -C split-debuginfo=unpacked -Zsplit-dwarf-kind=single
113         ls $(TMPDIR)/*.dwp && exit 1 || exit 0
114         ls $(TMPDIR)/*.dwo && exit 1 || exit 0
115
116 unpacked-remapped-split:
117         $(RUSTC) $(UNSTABLEOPTS) -C split-debuginfo=unpacked -C debuginfo=2 \
118                 -Z split-dwarf-kind=split --remap-path-prefix $(TMPDIR)=/a foo.rs -g
119         objdump -Wi $(TMPDIR)/foo | grep DW_AT_GNU_dwo_name | (! grep $(TMPDIR)) || exit 1
120
121 unpacked-remapped-single:
122         $(RUSTC) $(UNSTABLEOPTS) -C split-debuginfo=unpacked -C debuginfo=2 \
123                 -Z split-dwarf-kind=single --remap-path-prefix $(TMPDIR)=/a foo.rs -g
124         objdump -Wi $(TMPDIR)/foo | grep DW_AT_GNU_dwo_name | (! grep $(TMPDIR)) || exit 1
125 endif
126 endif