]> git.lizzy.rs Git - rust.git/blob - src/test/run-make-fulldeps/split-debuginfo/Makefile
Auto merge of #100944 - nnethercote:shrink-thir-Expr, r=cjgillot
[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 =off
33 off:
34 packed:
35 unpacked:
36 else
37 # If disabled, don't run dsymutil
38 off:
39         $(RUSTC) foo.rs -g -C split-debuginfo=off -Z unstable-options
40         [ ! -f $(TMPDIR)/*.dwp ]
41         [ ! -f $(TMPDIR)/*.dwo ]
42
43         $(RUSTC) foo.rs -g
44         [ ! -f $(TMPDIR)/*.dwp ]
45         [ ! -f $(TMPDIR)/*.dwo ]
46
47 packed: packed-split packed-single
48
49 packed-split:
50         $(RUSTC) foo.rs -g -C split-debuginfo=packed -Z unstable-options -Zsplit-dwarf-kind=split
51         ls $(TMPDIR)/*.dwp
52         rm -rf $(TMPDIR)/*.dwp $(TMPDIR)/*.dwo
53
54 packed-single:
55         $(RUSTC) foo.rs -g -C split-debuginfo=packed -Z unstable-options -Zsplit-dwarf-kind=single
56         ls $(TMPDIR)/*.dwp
57         ls $(TMPDIR)/*.dwo && exit 1 || exit 0
58         rm -rf $(TMPDIR)/*.dwp
59
60 packed-remapped: packed-remapped-split packed-remapped-single
61
62 packed-remapped-split:
63         $(RUSTC) -Z unstable-options -C split-debuginfo=packed -C debuginfo=2 \
64                 -Z split-dwarf-kind=split --remap-path-prefix $(TMPDIR)=/a foo.rs -g
65         objdump -Wi $(TMPDIR)/foo | grep DW_AT_GNU_dwo_name | (! grep $(TMPDIR)) || exit 1
66
67 packed-remapped-single:
68         $(RUSTC) -Z unstable-options -C split-debuginfo=packed -C debuginfo=2 \
69                 -Z split-dwarf-kind=single --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-crosscrate: packed-crosscrate-split packed-crosscrate-single
73
74 packed-crosscrate-split:
75         $(RUSTC) --crate-type lib -Z unstable-options -C split-debuginfo=packed \
76                 -Zsplit-dwarf-kind=split -C debuginfo=2 -g bar.rs
77         ls $(TMPDIR)/*.rlib
78         ls $(TMPDIR)/*.dwo && exit 1 || exit 0
79         ls $(TMPDIR)/*.dwp && exit 1 || exit 0
80         $(RUSTC) --extern bar=$(TMPDIR)/libbar.rlib -Z unstable-options -C split-debuginfo=packed \
81                 -Zsplit-dwarf-kind=split -C debuginfo=2 -g main.rs
82         rm $(TMPDIR)/*.dwo
83         rm $(TMPDIR)/main.dwp
84         rm $(TMPDIR)/$(call BIN,main)
85
86 packed-crosscrate-single:
87         $(RUSTC) --crate-type lib -Z unstable-options -C split-debuginfo=packed \
88                 -Zsplit-dwarf-kind=single -C debuginfo=2 -g bar.rs
89         ls $(TMPDIR)/*.rlib
90         ls $(TMPDIR)/*.dwo && exit 1 || exit 0
91         ls $(TMPDIR)/*.dwp && exit 1 || exit 0
92         $(RUSTC) --extern bar=$(TMPDIR)/libbar.rlib -Z unstable-options -C split-debuginfo=packed \
93                 -Zsplit-dwarf-kind=single -C debuginfo=2 -g main.rs
94         ls $(TMPDIR)/*.dwo && exit 1 || exit 0
95         rm $(TMPDIR)/main.dwp
96         rm $(TMPDIR)/$(call BIN,main)
97
98 unpacked: unpacked-split unpacked-single unpacked-remapped-split unpacked-remapped-single
99
100 unpacked-split:
101         $(RUSTC) foo.rs -g -C split-debuginfo=unpacked -Z unstable-options -Zsplit-dwarf-kind=split
102         ls $(TMPDIR)/*.dwp && exit 1 || exit 0
103         ls $(TMPDIR)/*.dwo
104         rm -rf $(TMPDIR)/*.dwp $(TMPDIR)/*.dwo
105
106 unpacked-single:
107         $(RUSTC) foo.rs -g -C split-debuginfo=unpacked -Z unstable-options -Zsplit-dwarf-kind=single
108         ls $(TMPDIR)/*.dwp && exit 1 || exit 0
109         ls $(TMPDIR)/*.dwo && exit 1 || exit 0
110
111 unpacked-remapped-split:
112         $(RUSTC) -Z unstable-options -C split-debuginfo=unpacked -C debuginfo=2 \
113                 -Z split-dwarf-kind=split --remap-path-prefix $(TMPDIR)=/a foo.rs -g
114         objdump -Wi $(TMPDIR)/foo | grep DW_AT_GNU_dwo_name | (! grep $(TMPDIR)) || exit 1
115
116 unpacked-remapped-single:
117         $(RUSTC) -Z unstable-options -C split-debuginfo=unpacked -C debuginfo=2 \
118                 -Z split-dwarf-kind=single --remap-path-prefix $(TMPDIR)=/a foo.rs -g
119         objdump -Wi $(TMPDIR)/foo | grep DW_AT_GNU_dwo_name | (! grep $(TMPDIR)) || exit 1
120 endif
121 endif