Skip to content

Commit 246cc5f

Browse files
committed
Distribute both rust-lldb and rust-gdb everywhere
Both debuggers are viable in some capacity on all tier-1 platforms, and people often ask for rust-lldb on Linux or rust-gdb on OS X.
1 parent 8694b4f commit 246cc5f

File tree

3 files changed

+25
-98
lines changed

3 files changed

+25
-98
lines changed

mk/debuggers.mk

+8-72
Original file line numberDiff line numberDiff line change
@@ -13,68 +13,24 @@
1313
######################################################################
1414

1515

16-
## GDB ##
17-
DEBUGGER_RUSTLIB_ETC_SCRIPTS_GDB=gdb_load_rust_pretty_printers.py \
16+
## ALL ##
17+
DEBUGGER_RUSTLIB_ETC_SCRIPTS_ALL=lldb_rust_formatters.py \
18+
gdb_load_rust_pretty_printers.py \
1819
gdb_rust_pretty_printing.py \
1920
debugger_pretty_printers_common.py
20-
DEBUGGER_RUSTLIB_ETC_SCRIPTS_GDB_ABS=\
21-
$(foreach script,$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_GDB), \
22-
$(CFG_SRC_DIR)src/etc/$(script))
23-
24-
DEBUGGER_BIN_SCRIPTS_GDB=rust-gdb
25-
DEBUGGER_BIN_SCRIPTS_GDB_ABS=\
26-
$(foreach script,$(DEBUGGER_BIN_SCRIPTS_GDB), \
27-
$(CFG_SRC_DIR)src/etc/$(script))
28-
29-
30-
## LLDB ##
31-
DEBUGGER_RUSTLIB_ETC_SCRIPTS_LLDB=lldb_rust_formatters.py \
32-
debugger_pretty_printers_common.py
33-
DEBUGGER_RUSTLIB_ETC_SCRIPTS_LLDB_ABS=\
34-
$(foreach script,$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_LLDB), \
21+
DEBUGGER_RUSTLIB_ETC_SCRIPTS_ALL_ABS=\
22+
$(foreach script,$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_ALL), \
3523
$(CFG_SRC_DIR)src/etc/$(script))
3624

37-
DEBUGGER_BIN_SCRIPTS_LLDB=rust-lldb
38-
DEBUGGER_BIN_SCRIPTS_LLDB_ABS=\
39-
$(foreach script,$(DEBUGGER_BIN_SCRIPTS_LLDB), \
25+
DEBUGGER_BIN_SCRIPTS_ALL=rust-gdb rust-lldb
26+
DEBUGGER_BIN_SCRIPTS_ALL_ABS=\
27+
$(foreach script,$(DEBUGGER_BIN_SCRIPTS_ALL), \
4028
$(CFG_SRC_DIR)src/etc/$(script))
4129

42-
43-
## ALL ##
44-
DEBUGGER_RUSTLIB_ETC_SCRIPTS_ALL=$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_GDB) \
45-
$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_LLDB)
46-
DEBUGGER_RUSTLIB_ETC_SCRIPTS_ALL_ABS=$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_GDB_ABS) \
47-
$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_LLDB_ABS)
48-
DEBUGGER_BIN_SCRIPTS_ALL=$(DEBUGGER_BIN_SCRIPTS_GDB) \
49-
$(DEBUGGER_BIN_SCRIPTS_LLDB)
50-
DEBUGGER_BIN_SCRIPTS_ALL_ABS=$(DEBUGGER_BIN_SCRIPTS_GDB_ABS) \
51-
$(DEBUGGER_BIN_SCRIPTS_LLDB_ABS)
52-
53-
5430
# $(1) - the stage to copy to
5531
# $(2) - the host triple
5632
define DEF_INSTALL_DEBUGGER_SCRIPTS_HOST
5733

58-
tmp/install-debugger-scripts$(1)_H_$(2)-gdb.done: \
59-
$$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_GDB_ABS) \
60-
$$(DEBUGGER_BIN_SCRIPTS_GDB_ABS)
61-
$(Q)touch $$@.start_time
62-
$(Q)mkdir -p $$(HBIN$(1)_H_$(2))
63-
$(Q)mkdir -p $$(HLIB$(1)_H_$(2))/rustlib/etc
64-
$(Q)install $$(DEBUGGER_BIN_SCRIPTS_GDB_ABS) $$(HBIN$(1)_H_$(2))
65-
$(Q)install $$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_GDB_ABS) $$(HLIB$(1)_H_$(2))/rustlib/etc
66-
$(Q)touch -r $$@.start_time $$@ && rm $$@.start_time
67-
68-
tmp/install-debugger-scripts$(1)_H_$(2)-lldb.done: \
69-
$$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_LLDB_ABS) \
70-
$$(DEBUGGER_BIN_SCRIPTS_LLDB_ABS)
71-
$(Q)touch $$@.start_time
72-
$(Q)mkdir -p $$(HBIN$(1)_H_$(2))
73-
$(Q)mkdir -p $$(HLIB$(1)_H_$(2))/rustlib/etc
74-
$(Q)install $$(DEBUGGER_BIN_SCRIPTS_LLDB_ABS) $$(HBIN$(1)_H_$(2))
75-
$(Q)install $$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_LLDB_ABS) $$(HLIB$(1)_H_$(2))/rustlib/etc
76-
$(Q)touch -r $$@.start_time $$@ && rm $$@.start_time
77-
7834
tmp/install-debugger-scripts$(1)_H_$(2)-all.done: \
7935
$$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_ALL_ABS) \
8036
$$(DEBUGGER_BIN_SCRIPTS_ALL_ABS)
@@ -100,26 +56,6 @@ $(foreach stage,$(STAGES), \
10056
# $(3) is the host triple
10157
define DEF_INSTALL_DEBUGGER_SCRIPTS_TARGET
10258

103-
tmp/install-debugger-scripts$(1)_T_$(2)_H_$(3)-gdb.done: \
104-
$$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_GDB_ABS) \
105-
$$(DEBUGGER_BIN_SCRIPTS_GDB_ABS)
106-
$(Q)touch $$@.start_time
107-
$(Q)mkdir -p $$(TBIN$(1)_T_$(2)_H_$(3))
108-
$(Q)mkdir -p $$(TLIB$(1)_T_$(2)_H_$(3))/rustlib/etc
109-
$(Q)install $(DEBUGGER_BIN_SCRIPTS_GDB_ABS) $$(TBIN$(1)_T_$(2)_H_$(3))
110-
$(Q)install $(DEBUGGER_RUSTLIB_ETC_SCRIPTS_GDB_ABS) $$(TLIB$(1)_T_$(2)_H_$(3))/rustlib/etc
111-
$(Q)touch -r $$@.start_time $$@ && rm $$@.start_time
112-
113-
tmp/install-debugger-scripts$(1)_T_$(2)_H_$(3)-lldb.done: \
114-
$$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_LLDB_ABS) \
115-
$$(DEBUGGER_BIN_SCRIPTS_LLDB_ABS)
116-
$(Q)touch $$@.start_time
117-
$(Q)mkdir -p $$(TBIN$(1)_T_$(2)_H_$(3))
118-
$(Q)mkdir -p $$(TLIB$(1)_T_$(2)_H_$(3))/rustlib/etc
119-
$(Q)install $(DEBUGGER_BIN_SCRIPTS_LLDB_ABS) $$(TBIN$(1)_T_$(2)_H_$(3))
120-
$(Q)install $(DEBUGGER_RUSTLIB_ETC_SCRIPTS_LLDB_ABS) $$(TLIB$(1)_T_$(2)_H_$(3))/rustlib/etc
121-
$(Q)touch -r $$@.start_time $$@ && rm $$@.start_time
122-
12359
tmp/install-debugger-scripts$(1)_T_$(2)_H_$(3)-all.done: \
12460
$$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_ALL_ABS) \
12561
$$(DEBUGGER_BIN_SCRIPTS_ALL_ABS)

mk/main.mk

+2-8
Original file line numberDiff line numberDiff line change
@@ -385,12 +385,6 @@ endif
385385
# Per-stage targets and runner
386386
######################################################################
387387

388-
# Valid setting-strings are 'all', 'none', 'gdb', 'lldb'
389-
# This 'function' will determine which debugger scripts to copy based on a
390-
# target triple. See debuggers.mk for more information.
391-
TRIPLE_TO_DEBUGGER_SCRIPT_SETTING=\
392-
$(if $(findstring windows,$(1)),none,$(if $(findstring darwin,$(1)),lldb,gdb))
393-
394388
STAGES = 0 1 2 3
395389

396390
define SREQ
@@ -435,7 +429,7 @@ else
435429
HSREQ$(1)_H_$(3) = \
436430
$$(HBIN$(1)_H_$(3))/rustc$$(X_$(3)) \
437431
$$(MKFILE_DEPS) \
438-
tmp/install-debugger-scripts$(1)_H_$(3)-$$(call TRIPLE_TO_DEBUGGER_SCRIPT_SETTING,$(3)).done
432+
tmp/install-debugger-scripts$(1)_H_$(3)-all.done
439433
endif
440434

441435
# Prerequisites for using the stageN compiler to build target artifacts
@@ -450,7 +444,7 @@ SREQ$(1)_T_$(2)_H_$(3) = \
450444
$$(TSREQ$(1)_T_$(2)_H_$(3)) \
451445
$$(foreach dep,$$(TARGET_CRATES_$(2)), \
452446
$$(TLIB$(1)_T_$(2)_H_$(3))/stamp.$$(dep)) \
453-
tmp/install-debugger-scripts$(1)_T_$(2)_H_$(3)-$$(call TRIPLE_TO_DEBUGGER_SCRIPT_SETTING,$(2)).done
447+
tmp/install-debugger-scripts$(1)_T_$(2)_H_$(3)-all.done
454448

455449
# Prerequisites for a working stageN compiler and complete set of target
456450
# libraries

src/bootstrap/build/dist.rs

+15-18
Original file line numberDiff line numberDiff line change
@@ -198,24 +198,21 @@ pub fn rustc(build: &Build, stage: u32, host: &str) {
198198
t!(fs::create_dir_all(&dst));
199199
install(&build.src.join("src/etc/").join(file), &dst, 0o644);
200200
};
201-
if host.contains("windows") {
202-
// no debugger scripts
203-
} else if host.contains("darwin") {
204-
// lldb debugger scripts
205-
install(&build.src.join("src/etc/rust-lldb"), &image.join("bin"),
206-
0o755);
207-
208-
cp_debugger_script("lldb_rust_formatters.py");
209-
cp_debugger_script("debugger_pretty_printers_common.py");
210-
} else {
211-
// gdb debugger scripts
212-
install(&build.src.join("src/etc/rust-gdb"), &image.join("bin"),
213-
0o755);
214-
215-
cp_debugger_script("gdb_load_rust_pretty_printers.py");
216-
cp_debugger_script("gdb_rust_pretty_printing.py");
217-
cp_debugger_script("debugger_pretty_printers_common.py");
218-
}
201+
202+
// lldb debugger scripts
203+
install(&build.src.join("src/etc/rust-lldb"), &image.join("bin"),
204+
0o755);
205+
206+
cp_debugger_script("lldb_rust_formatters.py");
207+
208+
// gdb debugger scripts
209+
install(&build.src.join("src/etc/rust-gdb"), &image.join("bin"),
210+
0o755);
211+
212+
cp_debugger_script("gdb_load_rust_pretty_printers.py");
213+
cp_debugger_script("gdb_rust_pretty_printing.py");
214+
215+
cp_debugger_script("debugger_pretty_printers_common.py");
219216

220217
// Misc license info
221218
let cp = |file: &str| {

0 commit comments

Comments
 (0)