Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9d4323ca53 | ||
|
|
dd3bb1e016 | ||
|
|
7ed8012c7e | ||
|
|
e7f7325c54 | ||
|
|
516be28057 | ||
|
|
2d190c221a | ||
|
|
dd56ffbcb4 | ||
|
|
ee7dcd107b | ||
|
|
671c144ad5 | ||
|
|
8755f108f2 | ||
|
|
17ee64ba02 | ||
|
|
6383b35945 | ||
|
|
b9e6c53be2 | ||
|
|
abac1ce4a3 | ||
|
|
5628c1ddbf |
No files matched your search
@@ -17,6 +17,7 @@ steps:
|
|||||||
|
|
||||||
- name: compile
|
- name: compile
|
||||||
image: t3hn3rd/asuro-build:latest
|
image: t3hn3rd/asuro-build:latest
|
||||||
|
pull: always
|
||||||
depends_on:
|
depends_on:
|
||||||
- build-image
|
- build-image
|
||||||
commands:
|
commands:
|
||||||
|
|||||||
@@ -19,4 +19,8 @@ lessons_learnt.md
|
|||||||
wasuro
|
wasuro
|
||||||
src/core/core.version.pas
|
src/core/core.version.pas
|
||||||
site/*
|
site/*
|
||||||
!site/.gitkeep
|
!site/.gitkeep
|
||||||
|
/src/boot/dangling_units.inc
|
||||||
|
/lib/dangling/
|
||||||
|
.moderne
|
||||||
|
CLAUDE.md
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
FROM ubuntu:latest
|
ARG RECIPES_IMAGE=t3hn3rd/moderne-asuro-recipes:0.1.1@sha256:eaf54188053511dad9c620a8fb98b0f50c41770cd49a0b3d71a0538386522011
|
||||||
|
FROM ${RECIPES_IMAGE}
|
||||||
|
|
||||||
VOLUME ["/code"]
|
VOLUME ["/code"]
|
||||||
|
|
||||||
@@ -6,8 +7,8 @@ ENV DEBIAN_FRONTEND=noninteractive
|
|||||||
RUN dpkg --add-architecture i386
|
RUN dpkg --add-architecture i386
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
curl dos2unix wget git make nasm binutils xorriso grub-pc-bin gcc gcc-multilib \
|
curl dos2unix wget git make nasm binutils xorriso grub-pc-bin gcc gcc-multilib \
|
||||||
python3 python3-pip && \
|
python3 python3-pip python3-pil && \
|
||||||
apt-get clean my room
|
apt-get clean && rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
RUN pip3 install --no-cache-dir --break-system-packages "mkdocs>=1.6,<2" mkdocs-material
|
RUN pip3 install --no-cache-dir --break-system-packages "mkdocs>=1.6,<2" mkdocs-material
|
||||||
|
|
||||||
@@ -20,6 +21,5 @@ RUN curl -sL https://sourceforge.net/projects/freepascal/files/Linux/$FPC_VERSIO
|
|||||||
ADD https://raw.githubusercontent.com/fsaintjacques/semver-tool/master/src/semver /usr/bin/semver
|
ADD https://raw.githubusercontent.com/fsaintjacques/semver-tool/master/src/semver /usr/bin/semver
|
||||||
RUN chmod +x /usr/bin/semver
|
RUN chmod +x /usr/bin/semver
|
||||||
WORKDIR /code
|
WORKDIR /code
|
||||||
RUN find . -type f -print0 | xargs -0 dos2unix
|
|
||||||
ENTRYPOINT ["/bin/bash", "-c"]
|
ENTRYPOINT ["/bin/bash", "-c"]
|
||||||
CMD ["find toolchain -name '*.sh' -exec dos2unix {} + 2>/dev/null; find toolchain -name '*.sh' -exec chmod +x {} +; bash toolchain/compile.sh"]
|
CMD ["find toolchain -name '*.sh' -exec dos2unix {} + 2>/dev/null; find toolchain -name '*.sh' -exec chmod +x {} +; bash toolchain/compile.sh"]
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
**/.git
|
||||||
|
**/.gradle
|
||||||
|
**/build
|
||||||
|
**/.moderne
|
||||||
|
wasuro
|
||||||
|
site
|
||||||
|
lib
|
||||||
|
release
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
# Automatic boot-unit inclusion
|
||||||
|
|
||||||
|
Run the usual `docker compose build builder` and `docker compose run builder`
|
||||||
|
from Asuro. Only this repository is required. Compose and Drone use the same
|
||||||
|
Dockerfile and repository build context, producing `t3hn3rd/asuro-build:latest`.
|
||||||
|
The Dockerfile inherits the published `t3hn3rd/moderne-asuro-recipes:0.1.1` image,
|
||||||
|
pinned by digest. It already includes Java, Moderne CLI, the Pascal LST generator,
|
||||||
|
and the registered recipe. The Asuro layer installs FPC and the kernel build tools.
|
||||||
|
|
||||||
|
To upgrade tooling, publish the upstream images first and update `RECIPES_IMAGE`
|
||||||
|
in the Dockerfile to the new tag and digest. Local tooling image testing can use
|
||||||
|
`docker compose build --build-arg RECIPES_IMAGE=<local-tag> builder`.
|
||||||
|
|
||||||
|
`ASURO_ARCH` selects the source architecture, defaulting to `x86`. For example:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
export ASURO_ARCH=x86
|
||||||
|
docker compose run --rm builder
|
||||||
|
```
|
||||||
|
|
||||||
|
Compose forwards this variable to the builder; Drone inherits it from its compile
|
||||||
|
environment. Only `src/arch/$ASURO_ARCH` is added to FPC's unit search paths.
|
||||||
|
Other architecture folders are excluded from LST generation and from the recipe's
|
||||||
|
dependency graph and results. Common units outside `src/arch` remain eligible.
|
||||||
|
The selected architecture folder must exist. This source selection does not
|
||||||
|
change the existing i386 compiler target, assembly stub, or linker settings;
|
||||||
|
an x86_64 port still needs those platform-specific changes.
|
||||||
|
|
||||||
|
`compile_dangling.sh` runs after Wasuro synchronization and before FPC. It copies
|
||||||
|
only `src/` and `compat/` into an isolated temporary analysis repository, generates
|
||||||
|
LSTs with rewrite-pascal, runs the standalone Moderne recipe, exports its
|
||||||
|
datatable, and writes `src/boot/dangling_units.inc`. Wasuro is not parsed.
|
||||||
|
Datatable conversion is provided by the standalone project's Java exporter.
|
||||||
|
Parse errors, recipe failures, and malformed datatables stop the build. The
|
||||||
|
generated include is ignored by Git and removed before each generation attempt.
|
||||||
|
|
||||||
|
Use `{$DEFINE NOT_DANGLING}` near a unit declaration to exclude an experimental
|
||||||
|
or legacy unit from automatic inclusion. It can still be referenced normally.
|
||||||
|
This is a file-level marker; conditional definitions are not evaluated. The
|
||||||
|
analysis follows both interface and implementation uses, without expanding
|
||||||
|
includes or evaluating conditional compilation.
|
||||||
|
|
||||||
|
Moderne runs through its CLI normally; any license or tenant configuration
|
||||||
|
required by your CLI installation must be provided to the container separately.
|
||||||
|
No host credentials are copied into the image.
|
||||||
@@ -1,5 +1,8 @@
|
|||||||
services:
|
services:
|
||||||
builder:
|
builder:
|
||||||
|
image: t3hn3rd/asuro-build:latest
|
||||||
build: .
|
build: .
|
||||||
|
environment:
|
||||||
|
ASURO_ARCH: ${ASURO_ARCH:-x86}
|
||||||
volumes:
|
volumes:
|
||||||
- .:/code
|
- .:/code
|
||||||
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 1.0 KiB |
@@ -30,8 +30,8 @@
|
|||||||
#define LV_LIMITS_INCLUDE <limits.h>
|
#define LV_LIMITS_INCLUDE <limits.h>
|
||||||
#define LV_STDARG_INCLUDE <stdarg.h>
|
#define LV_STDARG_INCLUDE <stdarg.h>
|
||||||
|
|
||||||
/* Built-in memory pool: 256 KB should be plenty for our UI */
|
/* Built-in memory pool: 1 MB for complex UI (file browser etc.) */
|
||||||
#define LV_MEM_SIZE (256 * 1024U)
|
#define LV_MEM_SIZE (1024 * 1024U)
|
||||||
#define LV_MEM_POOL_EXPAND_SIZE 0
|
#define LV_MEM_POOL_EXPAND_SIZE 0
|
||||||
#define LV_MEM_ADR 0
|
#define LV_MEM_ADR 0
|
||||||
|
|
||||||
|
|||||||
@@ -283,6 +283,7 @@ nav:
|
|||||||
- Version Generation: toolchain/compile_vergen.md
|
- Version Generation: toolchain/compile_vergen.md
|
||||||
- LVGL Compilation: toolchain/compile_lvgl.md
|
- LVGL Compilation: toolchain/compile_lvgl.md
|
||||||
- Wasuro Pull: toolchain/compile_wasuro.md
|
- Wasuro Pull: toolchain/compile_wasuro.md
|
||||||
|
- Automatic Boot Units: toolchain/dangling_units.md
|
||||||
- Source List: toolchain/compile_sourcelist.md
|
- Source List: toolchain/compile_sourcelist.md
|
||||||
- Source Compilation: toolchain/compile_sources.md
|
- Source Compilation: toolchain/compile_sources.md
|
||||||
- Checksum: toolchain/compile_checksum.md
|
- Checksum: toolchain/compile_checksum.md
|
||||||
|
|||||||