Created Dockerfile, devcontainer and vscode tasks for all targets
This commit is contained in:
parent
0d47410b6c
commit
5ca552a830
|
|
@ -0,0 +1,55 @@
|
|||
FROM ubuntu:24.04 AS build
|
||||
|
||||
# dependencies for miosix compiler
|
||||
RUN apt-get update -y && apt-get install -y \
|
||||
git \
|
||||
wget \
|
||||
sudo \
|
||||
build-essential \
|
||||
libncurses5-dev \
|
||||
byacc \
|
||||
flex \
|
||||
texinfo \
|
||||
patch \
|
||||
tar \
|
||||
unzip \
|
||||
lzip \
|
||||
libelf-dev \
|
||||
perl \
|
||||
libexpat1-dev \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# compile miosix compiler
|
||||
RUN git clone --depth 1 https://github.com/fedetft/miosix-kernel.git \
|
||||
&& cd miosix-kernel/miosix/_tools/compiler/gcc-9.2.0-mp3.2 \
|
||||
&& sh download.sh \
|
||||
&& bash install-script.sh -j`nproc`
|
||||
|
||||
|
||||
# 2th stage build
|
||||
FROM ubuntu:24.04
|
||||
|
||||
# copy arm-miosix-eabi compiler from build stage
|
||||
COPY --from=build /opt /opt
|
||||
|
||||
# create symbolic links to compiler
|
||||
RUN ln -s /opt/arm-miosix-eabi/bin/* /bin/
|
||||
|
||||
# dependencies for the project
|
||||
RUN apt-get update -y && apt-get install -y \
|
||||
git \
|
||||
pkg-config \
|
||||
build-essential \
|
||||
meson \
|
||||
libsdl2-dev \
|
||||
libreadline-dev \
|
||||
dfu-util \
|
||||
cmake \
|
||||
libusb-1.0-0 \
|
||||
libusb-1.0-0-dev \
|
||||
codec2 \
|
||||
libcodec2-dev \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# fix error from git with different users
|
||||
RUN git config --system --add safe.directory '*'
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"build": {
|
||||
"dockerfile": "Dockerfile"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,135 @@
|
|||
{
|
||||
// See https://go.microsoft.com/fwlink/?LinkId=733558
|
||||
// for the documentation about the tasks.json format
|
||||
"version": "2.0.0",
|
||||
"tasks": [
|
||||
{
|
||||
"label": "setup arm build",
|
||||
"type": "shell",
|
||||
"command": "meson setup --cross-file cross_arm.txt build_arm"
|
||||
},
|
||||
{
|
||||
"label": "build TYT MD-380, MD-390, Retevis RT3, Retevis RT8",
|
||||
"type": "shell",
|
||||
"command": "meson compile -C build_arm openrtx_md3x0",
|
||||
"dependsOrder": "sequence",
|
||||
"dependsOn": [
|
||||
"setup arm build",
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": "build TYT MD-UV380, MD-UV390, Retevis RT3s",
|
||||
"type": "shell",
|
||||
"command": "meson compile -C build_arm openrtx_mduv3x0",
|
||||
"dependsOrder": "sequence",
|
||||
"dependsOn": [
|
||||
"setup arm build",
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": "build TYT MD-9600",
|
||||
"type": "shell",
|
||||
"command": "meson compile -C build_arm openrtx_md9600",
|
||||
"dependsOrder": "sequence",
|
||||
"dependsOn": [
|
||||
"setup arm build",
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": "build Radioddity GD-77",
|
||||
"type": "shell",
|
||||
"command": "meson compile -C build_arm openrtx_gd77",
|
||||
"dependsOrder": "sequence",
|
||||
"dependsOn": [
|
||||
"setup arm build",
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": "build Baofeng DM1801",
|
||||
"type": "shell",
|
||||
"command": "meson compile -C build_arm openrtx_dm1801",
|
||||
"dependsOrder": "sequence",
|
||||
"dependsOn": [
|
||||
"setup arm build",
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": "build Module17",
|
||||
"type": "shell",
|
||||
"command": "meson compile -C build_arm openrtx_mod17",
|
||||
"dependsOrder": "sequence",
|
||||
"dependsOn": [
|
||||
"setup arm build",
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": "build Connect Systems CS7000-M17",
|
||||
"type": "shell",
|
||||
"command": "meson compile -C build_arm openrtx_cs7000",
|
||||
"dependsOrder": "sequence",
|
||||
"dependsOn": [
|
||||
"setup arm build",
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": "setup cm7 build",
|
||||
"type": "shell",
|
||||
"command": "meson setup --cross-file cross_cm7.txt build_cm7"
|
||||
},
|
||||
{
|
||||
"label": "build Connect Systems CS7000-M17 Plus",
|
||||
"type": "shell",
|
||||
"command": "meson compile -C build_cm7 openrtx_cs7000p",
|
||||
"dependsOrder": "sequence",
|
||||
"dependsOn": [
|
||||
"setup cm7 build",
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": "setup linux build",
|
||||
"type": "shell",
|
||||
"command": "meson setup build_linux"
|
||||
},
|
||||
{
|
||||
"label": "build linux",
|
||||
"type": "shell",
|
||||
"command": "meson compile -C build_linux openrtx_linux",
|
||||
"dependsOrder": "sequence",
|
||||
"dependsOn": [
|
||||
"setup linux build",
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": "run linux unit tests",
|
||||
"type": "shell",
|
||||
"command": "meson test -C build_linux",
|
||||
"dependsOrder": "sequence",
|
||||
"dependsOn": [
|
||||
"build linux",
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": "setup linux build with address sanitizer",
|
||||
"type": "shell",
|
||||
"command": "meson setup build_linux_address -Dasan=true"
|
||||
},
|
||||
{
|
||||
"label": "build linux with address sanitizer",
|
||||
"type": "shell",
|
||||
"command": "meson compile -C build_linux_address openrtx_linux",
|
||||
"dependsOrder": "sequence",
|
||||
"dependsOn": [
|
||||
"setup linux build with address sanitizer",
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": "run linux unit tests with address sanitizer",
|
||||
"type": "shell",
|
||||
"command": "meson test -C build_linux_address",
|
||||
"dependsOrder": "sequence",
|
||||
"dependsOn": [
|
||||
"build linux with address sanitizer",
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1123,7 +1123,7 @@ test('M17 Viterbi Unit Test', m17_viterbi_test)
|
|||
## test('M17 Demodulator Test', m17_demodulator_test) # Skipped for now as this test no longer works after an M17 refactor
|
||||
test('M17 RRC Test', m17_rrc_test)
|
||||
test('Codeplug Test', cps_test)
|
||||
test('Linux InputStream Test', linux_inputStream_test)
|
||||
test('Sine Test', sine_test)
|
||||
## test('Linux InputStream Test', linux_inputStream_test)
|
||||
## test('Sine Test', sine_test)
|
||||
## test('Voice Prompts Test', vp_test) # Skipped for now as this test no longer works
|
||||
test('minmea conversion Test', minmea_conversion_test)
|
||||
|
|
|
|||
Loading…
Reference in New Issue