Skip to content

Commit aadbb5b

Browse files
committed
fix: makefile test tasks
Signed-off-by: Jose Quintana <joseluisquintana20@gmail.com>
1 parent e92a547 commit aadbb5b

File tree

2 files changed

+68
-62
lines changed

2 files changed

+68
-62
lines changed

Makefile

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,20 @@ REPOSITORY ?= joseluisq
22
TAG ?= latest
33

44

5-
build:
5+
build-amd64:
66
docker build \
7-
-t $(REPOSITORY)/rust-linux-darwin-builder:$(TAG) \
7+
-t $(REPOSITORY)/rust-linux-darwin-builder:$(TAG)-amd64 \
88
--network=host \
99
-f docker/amd64/Dockerfile .
10-
.PHONY: build
10+
.PHONY: build-amd64
11+
12+
build-arm64:
13+
docker buildx build \
14+
-t $(REPOSITORY)/rust-linux-darwin-builder:$(TAG)-arm64 \
15+
--network=host \
16+
--platform linux/arm64 \
17+
-f docker/arm64/Dockerfile .
18+
.PHONY: build-arm64
1119

1220
# Use to build both arm64 and amd64 images at the same time.
1321
# WARNING! Will automatically push, since multi-platform images are not available locally.
@@ -95,7 +103,7 @@ test-app:
95103
&& echo "Cross-compiling application (apple-darwin aarch64)..." \
96104
&& cargo build --release --target aarch64-apple-darwin \
97105
&& du -sh target/aarch64-apple-darwin/release/hello-world-test \
98-
&& file target/aarch64-apple-darwin/release/hello-world-test
106+
&& file target/aarch64-apple-darwin/release/hello-world-test \
99107
&& echo
100108
.ONESHELL: test-app
101109

@@ -156,7 +164,8 @@ test-zlib:
156164
&& CC=oa64-clang CXX=oa64-clang++ \
157165
cargo build --release --target aarch64-apple-darwin \
158166
&& du -sh target/aarch64-apple-darwin/release/zlib-test \
159-
&& file target/aarch64-apple-darwin/release/zlib-test
167+
&& file target/aarch64-apple-darwin/release/zlib-test \
168+
&& echo \
160169

161170
.ONESHELL: test-zlib
162171

docker/arm64/Dockerfile

Lines changed: 54 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,8 @@ RUN set -eux \
5656
musl-dev \
5757
musl-dev:amd64 \
5858
musl-tools \
59-
gcc-aarch64-linux-gnu \
60-
g++-aarch64-linux-gnu \
59+
gcc-x86-64-linux-gnu \
60+
g++-x86-64-linux-gnu \
6161
&& apt-get clean \
6262
&& rm -rf /var/lib/apt/lists/* \
6363
&& true
@@ -123,57 +123,44 @@ RUN set -eux \
123123
RUN set -eux \
124124
&& tar xvzf "openssl-${OPENSSL_VERSION}.tar.gz" \
125125
&& cd "openssl-${OPENSSL_VERSION}" \
126-
&& echo "Building OpenSSL ${OPENSSL_VERSION} for x86_64..." \
126+
&& echo "Building OpenSSL ${OPENSSL_VERSION} for aarch64..." \
127127
&& ls /usr/include/linux \
128-
&& mkdir -p /usr/local/x86_64-linux-musl/include \
129-
&& ln -s /usr/include/linux /usr/local/x86_64-linux-musl/include/linux \
130-
&& ln -s "/usr/include/x86_64-linux-gnu/asm" /usr/local/x86_64-linux-musl/include/asm \
131-
&& ln -s /usr/include/asm-generic /usr/local/x86_64-linux-musl/include/asm-generic \
132-
&& env CC=musl-gcc ./Configure no-shared no-zlib \
133-
-fPIC --prefix=/usr/local/x86_64-linux-musl \
134-
-DOPENSSL_NO_SECURE_MEMORY "linux-x86_64" \
135-
&& env C_INCLUDE_PATH=/usr/local/x86_64-linux-musl/include/ make depend \
136-
&& env C_INCLUDE_PATH=/usr/local/x86_64-linux-musl/include/ make -j$(nproc) \
128+
&& mkdir -p /usr/local/aarch64-linux-gnu/include \
129+
&& env CC=aarch64-linux-gnu-gcc \
130+
./Configure no-shared no-zlib \
131+
-fPIC --prefix=/usr/local/aarch64-linux-gnu \
132+
-DOPENSSL_NO_SECURE_MEMORY -mno-outline-atomics "linux-aarch64" \
133+
&& env C_INCLUDE_PATH=/usr/local/aarch64-linux-gnu/include/ make depend \
134+
&& env C_INCLUDE_PATH=/usr/local/aarch64-linux-gnu/include/ make -j$(nproc) \
137135
&& make -j$(nproc) install_sw \
138136
&& make -j$(nproc) install_ssldirs \
139137
&& openssl version \
140138
&& rm -rf \
141-
/usr/local/x86_64-linux-musl/include/linux \
142-
/usr/local/x86_64-linux-musl/include/asm \
143-
/usr/local/x86_64-linux-musl/include/asm-generic \
144-
&& ls -l /usr/local/x86_64-linux-musl \
145-
&& if ! [ -d /usr/local/x86_64-linux-musl/lib ]; then \
146-
ln -s /usr/local/x86_64-linux-musl/lib64 /usr/local/x86_64-linux-musl/lib; \
147-
else \
148-
mv /usr/local/x86_64-linux-musl/lib /usr/local/x86_64-linux-musl/abc; \
149-
mv /usr/local/x86_64-linux-musl/lib64 /usr/local/x86_64-linux-musl/lib; \
150-
cp -rp /usr/local/x86_64-linux-musl/abc/. /usr/local/x86_64-linux-musl/lib/; \
151-
unlink /usr/local/x86_64-linux-musl/lib/lib64; \
152-
rm -rf /usr/local/x86_64-linux-musl/abc; \
153-
fi \
139+
/usr/local/aarch64-linux-gnu/include/linux \
140+
/usr/local/aarch64-linux-gnu/include/asm \
141+
/usr/local/aarch64-linux-gnu/include/asm-generic \
142+
&& ls -l /usr/local/aarch64-linux-gnu \
154143
&& cd .. \
155144
&& rm -rf "openssl-${OPENSSL_VERSION}" \
156145
&& true
157146

158147
RUN set -eux \
159148
&& tar xvzf "openssl-${OPENSSL_VERSION}.tar.gz" \
160149
&& cd "openssl-${OPENSSL_VERSION}" \
161-
&& echo "Building OpenSSL ${OPENSSL_VERSION} for aarch64..." \
162-
&& ls /usr/include/linux \
163-
&& mkdir -p /usr/local/aarch64-linux-gnu/include \
164-
&& env CC=aarch64-linux-gnu-gcc ./Configure no-shared no-zlib \
165-
-fPIC --prefix=/usr/local/aarch64-linux-gnu \
150+
&& echo "Building OpenSSL ${OPENSSL_VERSION} for aarch64 musl..." \
151+
&& mkdir -p /usr/local/aarch64-linux-musl/include \
152+
&& env CC=aarch64-linux-musl-gcc \
153+
./Configure no-shared no-engine no-zlib \
154+
-fPIC --prefix=/usr/local/aarch64-linux-musl \
166155
-DOPENSSL_NO_SECURE_MEMORY -mno-outline-atomics "linux-aarch64" \
167-
&& env C_INCLUDE_PATH=/usr/local/aarch64-linux-gnu/include/ make depend \
168-
&& env C_INCLUDE_PATH=/usr/local/aarch64-linux-gnu/include/ make -j$(nproc) \
156+
&& env C_INCLUDE_PATH=/usr/local/aarch64-linux-musl/include/ make depend \
157+
&& env C_INCLUDE_PATH=/usr/local/aarch64-linux-musl/include/ make -j$(nproc) \
169158
&& make -j$(nproc) install_sw \
170159
&& make -j$(nproc) install_ssldirs \
171-
&& openssl version \
172160
&& rm -rf \
173-
/usr/local/aarch64-linux-gnu/include/linux \
174-
/usr/local/aarch64-linux-gnu/include/asm \
175-
/usr/local/aarch64-linux-gnu/include/asm-generic \
176-
&& ls -l /usr/local/aarch64-linux-gnu \
161+
/usr/local/aarch64-linux-musl/include/asm \
162+
/usr/local/aarch64-linux-musl/include/asm-generic \
163+
&& ls -l /usr/local/aarch64-linux-musl \
177164
&& cd .. \
178165
&& rm -rf "openssl-${OPENSSL_VERSION}" \
179166
&& true
@@ -216,36 +203,46 @@ RUN set -eux \
216203
&& rm -rf "openssl-${OPENSSL_VERSION}" \
217204
&& true
218205

206+
# TODO:
219207
RUN set -eux \
220208
&& tar xvzf "openssl-${OPENSSL_VERSION}.tar.gz" \
221209
&& cd "openssl-${OPENSSL_VERSION}" \
222-
&& echo "Building OpenSSL ${OPENSSL_VERSION} for aarch64 musl..." \
223-
&& mkdir -p /usr/local/aarch64-linux-musl/include \
224-
&& env CC=aarch64-linux-musl-gcc \
225-
./Configure no-asm no-engine no-shared no-zlib no-tests no-fuzz-libfuzzer no-fuzz-afl \
226-
-fPIC --prefix=/usr/local/aarch64-linux-musl \
227-
-DOPENSSL_NO_SECURE_MEMORY -mno-outline-atomics "linux-aarch64" \
228-
&& env C_INCLUDE_PATH=/usr/local/aarch64-linux-musl/include/ make depend \
229-
&& env C_INCLUDE_PATH=/usr/local/aarch64-linux-musl/include/ make -j$(nproc) \
210+
&& echo "Building OpenSSL ${OPENSSL_VERSION} for x86_64..." \
211+
&& mkdir -p /usr/local/x86_64-linux-musl/include \
212+
&& ln -s "/usr/include/x86_64-linux-gnu/asm" /usr/local/x86_64-linux-musl/include/asm \
213+
&& env CC=x86_64-linux-musl-gcc \
214+
./Configure no-asm no-shared no-zlib no-tests no-fuzz-libfuzzer no-fuzz-afl \
215+
-fPIC --prefix=/usr/local/x86_64-linux-musl \
216+
-DOPENSSL_NO_SECURE_MEMORY "linux-x86_64" \
217+
&& env C_INCLUDE_PATH=/usr/local/x86_64-linux-musl/include/ make depend \
218+
&& env C_INCLUDE_PATH=/usr/local/x86_64-linux-musl/include/ make -j$(nproc) \
230219
&& make -j$(nproc) install_sw \
231220
&& make -j$(nproc) install_ssldirs \
232221
&& rm -rf \
233-
/usr/local/aarch64-linux-musl/include/asm \
234-
/usr/local/aarch64-linux-musl/include/asm-generic \
235-
&& ls -l /usr/local/aarch64-linux-musl \
222+
/usr/local/x86_64-linux-musl/include/asm \
223+
&& ls -l /usr/local/x86_64-linux-musl \
224+
&& if ! [ -d /usr/local/x86_64-linux-musl/lib ]; then \
225+
ln -s /usr/local/x86_64-linux-musl/lib64 /usr/local/x86_64-linux-musl/lib; \
226+
else \
227+
mv /usr/local/x86_64-linux-musl/lib /usr/local/x86_64-linux-musl/abc; \
228+
mv /usr/local/x86_64-linux-musl/lib64 /usr/local/x86_64-linux-musl/lib; \
229+
cp -rp /usr/local/x86_64-linux-musl/abc/. /usr/local/x86_64-linux-musl/lib/; \
230+
unlink /usr/local/x86_64-linux-musl/lib/lib64; \
231+
rm -rf /usr/local/x86_64-linux-musl/abc; \
232+
fi \
236233
&& cd .. \
237234
&& rm -rf "openssl-${OPENSSL_VERSION}" \
238235
&& true
239236

240-
RUN set -eux \
241-
&& echo "Testing musl-gcc with OpenSSL..." \
242-
&& openssl version \
243-
&& echo "int main(){return 0;}" | \
244-
musl-gcc -o test -x c - \
245-
-I/usr/local/x86_64-linux-musl/include \
246-
-L/usr/local/x86_64-linux-musl/lib \
247-
-lssl -lcrypto \
248-
&& true
237+
# RUN set -eux \
238+
# && echo "Testing musl-gcc with OpenSSL..." \
239+
# && openssl version \
240+
# && echo "int main(){return 0;}" | \
241+
# musl-gcc -o test -x c - \
242+
# -I/usr/local/x86_64-linux-musl/include \
243+
# -L/usr/local/x86_64-linux-musl/lib \
244+
# -lssl -lcrypto \
245+
# && true
249246

250247
RUN set -eux \
251248
&& echo "Removing temp files..." \

0 commit comments

Comments
 (0)