1
1
FROM debian:buster-slim
2
2
3
- # -------------------------------------------------------------------
4
- # Toolchain Version Config
5
- # -------------------------------------------------------------------
6
-
7
- # esp-idf framework
8
- ARG IDF_VERSION="v4.0"
9
-
10
- # llvm-xtensa (xtensa_release_9.0.1)
11
- ARG LLVM_VERSION="654ba115e55638acc60a8dacf8b1b8d8468cc4f4"
12
-
13
- # rust-xtensa
14
- ARG RUSTC_VERSION="672b35ef0d38d3cd3b0d77eb15e5e58d9f4efec6"
15
-
16
3
# -------------------------------------------------------------------
17
4
# Toolchain Path Config
18
5
# -------------------------------------------------------------------
19
6
20
7
ARG TOOLCHAIN="/home/esp32-toolchain"
21
8
22
- ARG ESP_BASE="${TOOLCHAIN}/esp"
23
- ENV IDF_PATH "${ESP_BASE}/esp-idf"
24
-
25
- ARG LLVM_BASE="${TOOLCHAIN}/llvm"
26
- ARG LLVM_PATH="${LLVM_BASE}/llvm_xtensa"
27
- ARG LLVM_BUILD_PATH="${LLVM_BASE}/llvm_build"
28
- ARG LLVM_INSTALL_PATH="${LLVM_BASE}/llvm_install"
29
-
30
- ARG RUSTC_BASE="${TOOLCHAIN}/rustc"
31
- ARG RUSTC_PATH="${RUSTC_BASE}/rust_xtensa"
32
- ARG RUSTC_BUILD_PATH="${RUSTC_BASE}/rust_build"
33
9
34
10
ENV PATH "/root/.cargo/bin:${PATH}"
35
11
@@ -63,6 +39,11 @@ RUN apt-get update \
63
39
# Setup esp-idf
64
40
# -------------------------------------------------------------------
65
41
42
+ # esp-idf framework
43
+ ARG IDF_VERSION="v4.0"
44
+ ARG ESP_BASE="${TOOLCHAIN}/esp"
45
+ ENV IDF_PATH "${ESP_BASE}/esp-idf"
46
+
66
47
WORKDIR "${ESP_BASE}"
67
48
RUN git clone \
68
49
--recursive --single-branch -b "${IDF_VERSION}" \
@@ -74,6 +55,13 @@ RUN git clone \
74
55
# Build llvm-xtensa
75
56
# -------------------------------------------------------------------
76
57
58
+ # llvm-xtensa (xtensa_release_9.0.1)
59
+ ARG LLVM_VERSION="ae26b7e4eb0938601f8a8744ff50c178a3ef0847"
60
+ ARG LLVM_BASE="${TOOLCHAIN}/llvm"
61
+ ARG LLVM_PATH="${LLVM_BASE}/llvm_xtensa"
62
+ ARG LLVM_BUILD_PATH="${LLVM_BASE}/llvm_build"
63
+ ARG LLVM_INSTALL_PATH="${LLVM_BASE}/llvm_install"
64
+
77
65
WORKDIR "${LLVM_BASE}"
78
66
RUN mkdir "${LLVM_PATH}" \
79
67
&& cd "${LLVM_PATH}" \
@@ -101,6 +89,12 @@ RUN mkdir "${LLVM_PATH}" \
101
89
# Build rust-xtensa
102
90
# -------------------------------------------------------------------
103
91
92
+ # rust-xtensa
93
+ ARG RUSTC_VERSION="672b35ef0d38d3cd3b0d77eb15e5e58d9f4efec6"
94
+ ARG RUSTC_BASE="${TOOLCHAIN}/rustc"
95
+ ARG RUSTC_PATH="${RUSTC_BASE}/rust_xtensa"
96
+ ARG RUSTC_BUILD_PATH="${RUSTC_BASE}/rust_build"
97
+
104
98
WORKDIR "${RUSTC_BASE}"
105
99
RUN git clone \
106
100
--recursive --single-branch \
@@ -114,12 +108,14 @@ RUN git clone \
114
108
--llvm-root "${LLVM_INSTALL_PATH}" \
115
109
--prefix "${RUSTC_BUILD_PATH}" \
116
110
&& python ./x.py build \
117
- && python ./x.py install
111
+ && python ./x.py install \
112
+ && rm -rf "${RUSTC_PATH}"
118
113
119
114
# -------------------------------------------------------------------
120
115
# Setup rustup toolchain
121
116
# -------------------------------------------------------------------
122
117
118
+ WORKDIR "${RUSTC_BASE}"
123
119
RUN curl \
124
120
--proto '=https' \
125
121
--tlsv1.2 \
0 commit comments