Skip to content

Commit ffe4f90

Browse files
committed
ci: Enable format checking in many builds.
Signed-off-by: Jeff Epler <jepler@gmail.com>
1 parent ae87e04 commit ffe4f90

File tree

3 files changed

+75
-46
lines changed

3 files changed

+75
-46
lines changed

.github/workflows/ports_unix.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,8 @@ jobs:
152152
runs-on: ubuntu-latest
153153
steps:
154154
- uses: actions/checkout@v4
155+
- name: Install packages
156+
run: source tools/ci.sh && ci_unix_float_setup
155157
- name: Build
156158
run: source tools/ci.sh && ci_unix_float_build
157159
- name: Run main test suite

.github/workflows/ports_windows.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,10 +141,14 @@ jobs:
141141
run: python run-tests.py --print-failures
142142

143143
cross-build-on-linux:
144+
strategy:
145+
fail-fast: false
146+
matrix:
147+
sys: [i686, x86_64]
144148
runs-on: ubuntu-latest
145149
steps:
146150
- uses: actions/checkout@v4
147151
- name: Install packages
148152
run: source tools/ci.sh && ci_windows_setup
149153
- name: Build
150-
run: source tools/ci.sh && ci_windows_build
154+
run: source tools/ci.sh && ci_windows_build ${{ matrix.sys }}

tools/ci.sh

Lines changed: 68 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,16 @@ function ci_gcc_riscv_setup {
2424
riscv64-unknown-elf-gcc --version
2525
}
2626

27+
function ci_gcc_plugin_setup {
28+
if [ $# -eq 0 ]; then
29+
GCC_VER=$(echo __GNUC__ | gcc -P -E -)
30+
sudo apt-get install gcc-${GCC_VER}-plugin-dev
31+
else
32+
GCC_VER=$(echo __GNUC__ | ${1}-gcc -P -E -)
33+
sudo apt-get install gcc-${GCC_VER}-plugin-dev-${1}
34+
fi
35+
}
36+
2737
function ci_picotool_setup {
2838
# Manually installing picotool ensures we use a release version, and speeds up the build.
2939
git clone https://github.com/raspberrypi/pico-sdk.git
@@ -129,6 +139,7 @@ function ci_mpy_format_setup {
129139
sudo apt-get update
130140
sudo apt-get install python2.7
131141
sudo pip3 install pyelftools
142+
ci_gcc_plugin_setup
132143
python2.7 --version
133144
python3 --version
134145
}
@@ -269,11 +280,11 @@ function ci_mimxrt_setup {
269280
function ci_mimxrt_build {
270281
make ${MAKEOPTS} -C mpy-cross
271282
make ${MAKEOPTS} -C ports/mimxrt BOARD=MIMXRT1020_EVK submodules
272-
make ${MAKEOPTS} -C ports/mimxrt BOARD=MIMXRT1020_EVK
283+
make ${MAKEOPTS} -C ports/mimxrt BOARD=MIMXRT1020_EVK MICROPY_USE_COMPILER_PLUGIN=gcc
273284
make ${MAKEOPTS} -C ports/mimxrt BOARD=TEENSY40 submodules
274-
make ${MAKEOPTS} -C ports/mimxrt BOARD=TEENSY40
285+
make ${MAKEOPTS} -C ports/mimxrt BOARD=TEENSY40 MICROPY_USE_COMPILER_PLUGIN=gcc
275286
make ${MAKEOPTS} -C ports/mimxrt BOARD=MIMXRT1060_EVK submodules
276-
make ${MAKEOPTS} -C ports/mimxrt BOARD=MIMXRT1060_EVK CFLAGS_EXTRA=-DMICROPY_HW_USB_MSC=1
287+
make ${MAKEOPTS} -C ports/mimxrt BOARD=MIMXRT1060_EVK CFLAGS_EXTRA=-DMICROPY_HW_USB_MSC=1 MICROPY_USE_COMPILER_PLUGIN=gcc
277288
}
278289

279290
########################################################################################
@@ -287,10 +298,10 @@ function ci_nrf_build {
287298
ports/nrf/drivers/bluetooth/download_ble_stack.sh s140_nrf52_6_1_1
288299
make ${MAKEOPTS} -C mpy-cross
289300
make ${MAKEOPTS} -C ports/nrf submodules
290-
make ${MAKEOPTS} -C ports/nrf BOARD=PCA10040
291-
make ${MAKEOPTS} -C ports/nrf BOARD=MICROBIT
292-
make ${MAKEOPTS} -C ports/nrf BOARD=PCA10056 SD=s140
293-
make ${MAKEOPTS} -C ports/nrf BOARD=PCA10090
301+
make ${MAKEOPTS} -C ports/nrf BOARD=PCA10040 MICROPY_USE_COMPILER_PLUGIN=gcc
302+
make ${MAKEOPTS} -C ports/nrf BOARD=MICROBIT MICROPY_USE_COMPILER_PLUGIN=gcc
303+
make ${MAKEOPTS} -C ports/nrf BOARD=PCA10056 SD=s140 MICROPY_USE_COMPILER_PLUGIN=gcc
304+
make ${MAKEOPTS} -C ports/nrf BOARD=PCA10090 MICROPY_USE_COMPILER_PLUGIN=gcc
294305
}
295306

296307
########################################################################################
@@ -299,11 +310,12 @@ function ci_nrf_build {
299310
function ci_powerpc_setup {
300311
sudo apt-get update
301312
sudo apt-get install gcc-powerpc64le-linux-gnu libc6-dev-ppc64el-cross
313+
ci_gcc_plugin_setup powerpc64le-linux-gnu
302314
}
303315

304316
function ci_powerpc_build {
305-
make ${MAKEOPTS} -C ports/powerpc UART=potato
306-
make ${MAKEOPTS} -C ports/powerpc UART=lpc_serial
317+
make ${MAKEOPTS} -C ports/powerpc UART=potato MICROPY_USE_COMPILER_PLUGIN=gcc
318+
make ${MAKEOPTS} -C ports/powerpc UART=lpc_serial MICROPY_USE_COMPILER_PLUGIN=gcc
307319
}
308320

309321
########################################################################################
@@ -334,17 +346,17 @@ function ci_qemu_build_arm_prepare {
334346

335347
function ci_qemu_build_arm_bigendian {
336348
ci_qemu_build_arm_prepare
337-
make ${MAKEOPTS} -C ports/qemu CFLAGS_EXTRA=-DMP_ENDIANNESS_BIG=1
349+
make ${MAKEOPTS} -C ports/qemu CFLAGS_EXTRA=-DMP_ENDIANNESS_BIG=1 MICROPY_USE_COMPILER_PLUGIN=gcc
338350
}
339351

340352
function ci_qemu_build_arm_sabrelite {
341353
ci_qemu_build_arm_prepare
342-
make ${MAKEOPTS} -C ports/qemu BOARD=SABRELITE test_full
354+
make ${MAKEOPTS} -C ports/qemu BOARD=SABRELITE test_full MICROPY_USE_COMPILER_PLUGIN=gcc
343355
}
344356

345357
function ci_qemu_build_arm_thumb {
346358
ci_qemu_build_arm_prepare
347-
make ${MAKEOPTS} -C ports/qemu test_full
359+
make ${MAKEOPTS} -C ports/qemu test_full MICROPY_USE_COMPILER_PLUGIN=gcc
348360

349361
# Test building and running native .mpy with armv7m architecture.
350362
ci_native_mpy_modules_build armv7m
@@ -354,7 +366,7 @@ function ci_qemu_build_arm_thumb {
354366
function ci_qemu_build_rv32 {
355367
make ${MAKEOPTS} -C mpy-cross
356368
make ${MAKEOPTS} -C ports/qemu BOARD=VIRT_RV32 submodules
357-
make ${MAKEOPTS} -C ports/qemu BOARD=VIRT_RV32 test_full
369+
make ${MAKEOPTS} -C ports/qemu BOARD=VIRT_RV32 test_full MICROPY_USE_COMPILER_PLUGIN=gcc
358370

359371
# Test building and running native .mpy with rv32imc architecture.
360372
ci_native_mpy_modules_build rv32imc
@@ -372,13 +384,13 @@ function ci_renesas_ra_setup {
372384
function ci_renesas_ra_board_build {
373385
make ${MAKEOPTS} -C mpy-cross
374386
make ${MAKEOPTS} -C ports/renesas-ra submodules
375-
make ${MAKEOPTS} -C ports/renesas-ra BOARD=RA4M1_CLICKER
376-
make ${MAKEOPTS} -C ports/renesas-ra BOARD=EK_RA6M2
377-
make ${MAKEOPTS} -C ports/renesas-ra BOARD=EK_RA6M1
378-
make ${MAKEOPTS} -C ports/renesas-ra BOARD=EK_RA4M1
379-
make ${MAKEOPTS} -C ports/renesas-ra BOARD=EK_RA4W1
387+
make ${MAKEOPTS} -C ports/renesas-ra BOARD=RA4M1_CLICKER MICROPY_USE_COMPILER_PLUGIN=gcc
388+
make ${MAKEOPTS} -C ports/renesas-ra BOARD=EK_RA6M2 MICROPY_USE_COMPILER_PLUGIN=gcc
389+
make ${MAKEOPTS} -C ports/renesas-ra BOARD=EK_RA6M1 MICROPY_USE_COMPILER_PLUGIN=gcc
390+
make ${MAKEOPTS} -C ports/renesas-ra BOARD=EK_RA4M1 MICROPY_USE_COMPILER_PLUGIN=gcc
391+
make ${MAKEOPTS} -C ports/renesas-ra BOARD=EK_RA4W1 MICROPY_USE_COMPILER_PLUGIN=gcc
380392
make ${MAKEOPTS} -C ports/renesas-ra BOARD=ARDUINO_PORTENTA_C33 submodules
381-
make ${MAKEOPTS} -C ports/renesas-ra BOARD=ARDUINO_PORTENTA_C33
393+
make ${MAKEOPTS} -C ports/renesas-ra BOARD=ARDUINO_PORTENTA_C33 MICROPY_USE_COMPILER_PLUGIN=gcc
382394
}
383395

384396
########################################################################################
@@ -416,8 +428,8 @@ function ci_samd_setup {
416428
function ci_samd_build {
417429
make ${MAKEOPTS} -C mpy-cross
418430
make ${MAKEOPTS} -C ports/samd submodules
419-
make ${MAKEOPTS} -C ports/samd BOARD=ADAFRUIT_ITSYBITSY_M0_EXPRESS
420-
make ${MAKEOPTS} -C ports/samd BOARD=ADAFRUIT_ITSYBITSY_M4_EXPRESS
431+
make ${MAKEOPTS} -C ports/samd BOARD=ADAFRUIT_ITSYBITSY_M0_EXPRESS MICROPY_USE_COMPILER_PLUGIN=gcc
432+
make ${MAKEOPTS} -C ports/samd BOARD=ADAFRUIT_ITSYBITSY_M4_EXPRESS MICROPY_USE_COMPILER_PLUGIN=gcc
421433
}
422434

423435
########################################################################################
@@ -436,12 +448,12 @@ function ci_stm32_pyb_build {
436448
make ${MAKEOPTS} -C ports/stm32 BOARD=PYBD_SF2 submodules
437449
git submodule update --init lib/btstack
438450
git submodule update --init lib/mynewt-nimble
439-
make ${MAKEOPTS} -C ports/stm32 BOARD=PYBV11 MICROPY_PY_NETWORK_WIZNET5K=5200 USER_C_MODULES=../../examples/usercmodule
440-
make ${MAKEOPTS} -C ports/stm32 BOARD=PYBD_SF2
441-
make ${MAKEOPTS} -C ports/stm32 BOARD=PYBD_SF6 COPT=-O2 NANBOX=1 MICROPY_BLUETOOTH_NIMBLE=0 MICROPY_BLUETOOTH_BTSTACK=1
442-
make ${MAKEOPTS} -C ports/stm32/mboot BOARD=PYBV10 CFLAGS_EXTRA='-DMBOOT_FSLOAD=1 -DMBOOT_VFS_LFS2=1'
443-
make ${MAKEOPTS} -C ports/stm32/mboot BOARD=PYBD_SF6
444-
make ${MAKEOPTS} -C ports/stm32/mboot BOARD=STM32F769DISC CFLAGS_EXTRA='-DMBOOT_ADDRESS_SPACE_64BIT=1 -DMBOOT_SDCARD_ADDR=0x100000000ULL -DMBOOT_SDCARD_BYTE_SIZE=0x400000000ULL -DMBOOT_FSLOAD=1 -DMBOOT_VFS_FAT=1'
451+
make ${MAKEOPTS} -C ports/stm32 BOARD=PYBV11 MICROPY_PY_NETWORK_WIZNET5K=5200 USER_C_MODULES=../../examples/usercmodule MICROPY_USE_COMPILER_PLUGIN=gcc
452+
make ${MAKEOPTS} -C ports/stm32 BOARD=PYBD_SF2 MICROPY_USE_COMPILER_PLUGIN=gcc
453+
make ${MAKEOPTS} -C ports/stm32 BOARD=PYBD_SF6 COPT=-O2 NANBOX=1 MICROPY_BLUETOOTH_NIMBLE=0 MICROPY_BLUETOOTH_BTSTACK=1 MICROPY_USE_COMPILER_PLUGIN=gcc
454+
make ${MAKEOPTS} -C ports/stm32/mboot BOARD=PYBV10 CFLAGS_EXTRA='-DMBOOT_FSLOAD=1 -DMBOOT_VFS_LFS2=1' MICROPY_USE_COMPILER_PLUGIN=gcc
455+
make ${MAKEOPTS} -C ports/stm32/mboot BOARD=PYBD_SF6 MICROPY_USE_COMPILER_PLUGIN=gcc
456+
make ${MAKEOPTS} -C ports/stm32/mboot BOARD=STM32F769DISC CFLAGS_EXTRA='-DMBOOT_ADDRESS_SPACE_64BIT=1 -DMBOOT_SDCARD_ADDR=0x100000000ULL -DMBOOT_SDCARD_BYTE_SIZE=0x400000000ULL -DMBOOT_FSLOAD=1 -DMBOOT_VFS_FAT=1' MICROPY_USE_COMPILER_PLUGIN=gcc
445457

446458
# Test building native .mpy with armv7emsp architecture.
447459
git submodule update --init lib/berkeley-db-1.xx
@@ -454,15 +466,15 @@ function ci_stm32_nucleo_build {
454466
git submodule update --init lib/mynewt-nimble
455467

456468
# Test building various MCU families, some with additional options.
457-
make ${MAKEOPTS} -C ports/stm32 BOARD=NUCLEO_F091RC
458-
make ${MAKEOPTS} -C ports/stm32 BOARD=STM32H573I_DK
459-
make ${MAKEOPTS} -C ports/stm32 BOARD=NUCLEO_H743ZI COPT=-O2 CFLAGS_EXTRA='-DMICROPY_PY_THREAD=1'
460-
make ${MAKEOPTS} -C ports/stm32 BOARD=NUCLEO_L073RZ
461-
make ${MAKEOPTS} -C ports/stm32 BOARD=NUCLEO_L476RG DEBUG=1
469+
make ${MAKEOPTS} -C ports/stm32 BOARD=NUCLEO_F091RC MICROPY_USE_COMPILER_PLUGIN=gcc
470+
make ${MAKEOPTS} -C ports/stm32 BOARD=STM32H573I_DK MICROPY_USE_COMPILER_PLUGIN=gcc
471+
make ${MAKEOPTS} -C ports/stm32 BOARD=NUCLEO_H743ZI COPT=-O2 CFLAGS_EXTRA='-DMICROPY_PY_THREAD=1' MICROPY_USE_COMPILER_PLUGIN=gcc
472+
make ${MAKEOPTS} -C ports/stm32 BOARD=NUCLEO_L073RZ MICROPY_USE_COMPILER_PLUGIN=gcc
473+
make ${MAKEOPTS} -C ports/stm32 BOARD=NUCLEO_L476RG DEBUG=1 MICROPY_USE_COMPILER_PLUGIN=gcc
462474

463475
# Test building a board with mboot packing enabled (encryption, signing, compression).
464-
make ${MAKEOPTS} -C ports/stm32 BOARD=NUCLEO_WB55 USE_MBOOT=1 MBOOT_ENABLE_PACKING=1
465-
make ${MAKEOPTS} -C ports/stm32/mboot BOARD=NUCLEO_WB55 USE_MBOOT=1 MBOOT_ENABLE_PACKING=1
476+
make ${MAKEOPTS} -C ports/stm32 BOARD=NUCLEO_WB55 USE_MBOOT=1 MBOOT_ENABLE_PACKING=1 MICROPY_USE_COMPILER_PLUGIN=gcc
477+
make ${MAKEOPTS} -C ports/stm32/mboot BOARD=NUCLEO_WB55 USE_MBOOT=1 MBOOT_ENABLE_PACKING=1 MICROPY_USE_COMPILER_PLUGIN=gcc
466478
# Test mboot_pack_dfu.py created a valid file, and that its unpack-dfu command works.
467479
BOARD_WB55=ports/stm32/boards/NUCLEO_WB55
468480
BUILD_WB55=ports/stm32/build-NUCLEO_WB55
@@ -477,7 +489,7 @@ function ci_stm32_nucleo_build {
477489
function ci_stm32_misc_build {
478490
make ${MAKEOPTS} -C mpy-cross
479491
make ${MAKEOPTS} -C ports/stm32 BOARD=ARDUINO_GIGA submodules
480-
make ${MAKEOPTS} -C ports/stm32 BOARD=ARDUINO_GIGA
492+
make ${MAKEOPTS} -C ports/stm32 BOARD=ARDUINO_GIGA MICROPY_USE_COMPILER_PLUGIN=gcc
481493
}
482494

483495
########################################################################################
@@ -612,12 +624,15 @@ function ci_unix_coverage_setup {
612624
pip3 install setuptools
613625
pip3 install pyelftools
614626
pip3 install ar
627+
ci_gcc_plugin_setup
615628
gcc --version
616629
python3 --version
617630
}
618631

619632
function ci_unix_coverage_build {
620-
ci_unix_build_helper VARIANT=coverage
633+
# (Ensure mpy-cross is built with the plugin too)
634+
make ${MAKEOPTS} -C mpy-cross MICROPY_USE_COMPILER_PLUGIN=gcc
635+
ci_unix_build_helper VARIANT=coverage MICROPY_USE_COMPILER_PLUGIN=gcc
621636
ci_unix_build_ffi_lib_helper gcc
622637
}
623638

@@ -658,6 +673,7 @@ function ci_unix_32bit_setup {
658673
sudo dpkg --add-architecture i386
659674
sudo apt-get update
660675
sudo apt-get install gcc-multilib g++-multilib libffi-dev:i386 python2.7
676+
ci_gcc_plugin_setup
661677
sudo pip3 install setuptools
662678
sudo pip3 install pyelftools
663679
sudo pip3 install ar
@@ -667,7 +683,7 @@ function ci_unix_32bit_setup {
667683
}
668684

669685
function ci_unix_coverage_32bit_build {
670-
ci_unix_build_helper VARIANT=coverage MICROPY_FORCE_32BIT=1
686+
ci_unix_build_helper VARIANT=coverage MICROPY_FORCE_32BIT=1 MICROPY_USE_COMPILER_PLUGIN=gcc
671687
ci_unix_build_ffi_lib_helper gcc -m32
672688
}
673689

@@ -681,7 +697,7 @@ function ci_unix_coverage_32bit_run_native_mpy_tests {
681697

682698
function ci_unix_nanbox_build {
683699
# Use Python 2 to check that it can run the build scripts
684-
ci_unix_build_helper PYTHON=python2.7 VARIANT=nanbox CFLAGS_EXTRA="-DMICROPY_PY_MATH_CONSTANTS=1"
700+
ci_unix_build_helper PYTHON=python2.7 VARIANT=nanbox CFLAGS_EXTRA="-DMICROPY_PY_MATH_CONSTANTS=1" MICROPY_USE_COMPILER_PLUGIN=gcc
685701
ci_unix_build_ffi_lib_helper gcc -m32
686702
}
687703

@@ -690,15 +706,19 @@ function ci_unix_nanbox_run_tests {
690706
}
691707

692708
function ci_unix_longlong_build {
693-
ci_unix_build_helper VARIANT=longlong
709+
ci_unix_build_helper VARIANT=longlong MICROPY_USE_COMPILER_PLUGIN=gcc
694710
}
695711

696712
function ci_unix_longlong_run_tests {
697713
ci_unix_run_tests_full_helper longlong
698714
}
699715

716+
function ci_unix_float_setup {
717+
ci_gcc_plugin_setup
718+
}
719+
700720
function ci_unix_float_build {
701-
ci_unix_build_helper VARIANT=standard CFLAGS_EXTRA="-DMICROPY_FLOAT_IMPL=MICROPY_FLOAT_IMPL_FLOAT"
721+
ci_unix_build_helper VARIANT=standard CFLAGS_EXTRA="-DMICROPY_FLOAT_IMPL=MICROPY_FLOAT_IMPL_FLOAT" MICROPY_USE_COMPILER_PLUGIN=gcc
702722
ci_unix_build_ffi_lib_helper gcc
703723
}
704724

@@ -784,15 +804,16 @@ function ci_unix_macos_run_tests {
784804

785805
function ci_unix_qemu_mips_setup {
786806
sudo apt-get update
787-
sudo apt-get install gcc-mips-linux-gnu g++-mips-linux-gnu libc6-mips-cross
807+
sudo apt-get install gcc-10-mips-linux-gnu g++-mips-linux-gnu libc6-mips-cross
788808
sudo apt-get install qemu-user
809+
ci_gcc_plugin_setup mips-linux-gnu
789810
qemu-mips --version
790811
sudo mkdir /etc/qemu-binfmt
791812
sudo ln -s /usr/mips-linux-gnu/ /etc/qemu-binfmt/mips
792813
}
793814

794815
function ci_unix_qemu_mips_build {
795-
ci_unix_build_helper "${CI_UNIX_OPTS_QEMU_MIPS[@]}"
816+
ci_unix_build_helper "${CI_UNIX_OPTS_QEMU_MIPS[@]}" MICROPY_USE_COMPILER_PLUGIN=gcc
796817
ci_unix_build_ffi_lib_helper mips-linux-gnu-gcc
797818
}
798819

@@ -805,13 +826,14 @@ function ci_unix_qemu_arm_setup {
805826
sudo apt-get update
806827
sudo apt-get install gcc-arm-linux-gnueabi g++-arm-linux-gnueabi
807828
sudo apt-get install qemu-user
829+
ci_gcc_plugin_setup arm-linux-gnueabi
808830
qemu-arm --version
809831
sudo mkdir /etc/qemu-binfmt
810832
sudo ln -s /usr/arm-linux-gnueabi/ /etc/qemu-binfmt/arm
811833
}
812834

813835
function ci_unix_qemu_arm_build {
814-
ci_unix_build_helper "${CI_UNIX_OPTS_QEMU_ARM[@]}"
836+
ci_unix_build_helper "${CI_UNIX_OPTS_QEMU_ARM[@]}" MICROPY_USE_COMPILER_PLUGIN=gcc
815837
ci_unix_build_ffi_lib_helper arm-linux-gnueabi-gcc
816838
}
817839

@@ -826,13 +848,14 @@ function ci_unix_qemu_riscv64_setup {
826848
sudo apt-get update
827849
sudo apt-get install gcc-riscv64-linux-gnu g++-riscv64-linux-gnu
828850
sudo apt-get install qemu-user
851+
ci_gcc_plugin_setup riscv64-linux-gnu
829852
qemu-riscv64 --version
830853
sudo mkdir /etc/qemu-binfmt
831854
sudo ln -s /usr/riscv64-linux-gnu/ /etc/qemu-binfmt/riscv64
832855
}
833856

834857
function ci_unix_qemu_riscv64_build {
835-
ci_unix_build_helper "${CI_UNIX_OPTS_QEMU_RISCV64[@]}"
858+
ci_unix_build_helper "${CI_UNIX_OPTS_QEMU_RISCV64[@]}" MICROPY_USE_COMPILER_PLUGIN=gcc
836859
ci_unix_build_ffi_lib_helper riscv64-linux-gnu-gcc
837860
}
838861

@@ -852,7 +875,7 @@ function ci_windows_setup {
852875
function ci_windows_build {
853876
make ${MAKEOPTS} -C mpy-cross
854877
make ${MAKEOPTS} -C ports/windows submodules
855-
make ${MAKEOPTS} -C ports/windows CROSS_COMPILE=i686-w64-mingw32-
878+
make ${MAKEOPTS} -C ports/windows CROSS_COMPILE=${1-i686}-w64-mingw32- MICROPY_USE_COMPILER_PLUGIN=gcc
856879
}
857880

858881
########################################################################################

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy