Building and distributing applications
Building, or compiling, turns your source code into an application. A native executable is a program file made for a particular operating system and processor family. An operating system, such as Windows or Linux, manages the computer’s programs and devices. A target selects where the exported program should work.
The commands below belong in a terminal, not inside a .pliro program. A flag is an option beginning with -, such as --platform; the word after it supplies the choice. The CLI, or command-line interface, is this way of controlling Pliro with typed commands.
Understanding export options
Architecture means the processor family an application is built for. AMD64, also called x86-64, is a 64-bit x86 architecture; the name does not mean AMD processors only. ARM64 and ARMv7 are ARM architectures used by different devices. Pliro’s windows-386 target means 32-bit x86. These labels describe compatibility, not difficulty levels: choose the one your destination supports. SSE2 names a set of processor instructions required by Pliro’s Windows x86 build. RISC-V is another processor architecture; that target is currently experimental in Pliro.
Compression packs the executable into fewer bytes. UPX is the tool used for that packing. It reduces file size; it does not change the target operating system. A splash screen is the opening picture shown briefly before the program begins.
Metadata is information about the application, such as its title and version in Windows file properties. It is separate from the instructions your program performs. A version component is one number between the dots in a version such as 1.0.0.0.
Deploying means preparing and transferring an application to the computer where it will run. SSH means Secure Shell: an encrypted connection for remote terminal access. Pliro’s Pi deployment uses SSH; see the Raspberry Pi SSH explanation.
Deterministic formatting means the same code and formatting rules produce the same layout. A canonical execution document is a machine-readable description of the program using Pliro’s shared model, so English and Dutch syntax can describe the same operations.
Command reference
| Command | Purpose |
|---|---|
pliro new |
Create a localized starter project. |
pliro check |
Validate a source file or project. |
pliro run |
Validate and execute with the Go reference runtime. |
pliro repl |
Start a stateful localized interactive session. |
pliro fmt |
Format deterministically. |
pliro translate |
Convert syntax locale without translating user content. |
pliro emit-model |
Emit the portable canonical execution document. |
pliro build |
Compile a native application. |
pliro deploy |
Build and deploy Raspberry Pi ARM64 over SSH. |
pliro version |
Print compiler version. |
Useful examples:
pliro check program.pliro
pliro run project.bipli
pliro repl --locale en --diagnostics en
pliro build -o program.exe program.pliro
pliro build --platform windows-386 -o program-x86.exe project.bipli
pliro build --compress upx -o small-game.exe project.bipli
pliro build --platform windows-arm64 -o program-arm64.exe project.bipli
pliro build --platform linux-amd64 -o program-linux project.bipli
pliro build --platform linux-arm64 -o program-linux-arm64 project.bipli
pliro build --platform raspberry-pi-arm64 -o program-pi project.bipli
pliro build --platform raspberry-pi-armv7 -o program-pi-armv7 project.bipli
pliro build --platform linux-riscv64 -o program-riscv64 project.bipli
Graphical exports show a localized Pli splash for one second. Add an optional
bundled PNG/JPEG with --splash assets/intro.png; --splash-duration 2s controls
its display time (0.5–10 seconds), and --splash-locale en|nl selects the Pli
artwork language. Programs and their timers start after these screens. The IDE
remembers accepted Build dialog settings for each saved source/project.
Use --compress upx to pack an exported executable and report saved bytes.
--compress none is the default. Windows Build Tools includes UPX; the
exported application needs no UPX installation.
Native build modes are auto, console, and window. Stable targets
include host, Windows x86 (32-bit), Windows ARM64, Linux AMD64/ARM64, and Raspberry Pi ARM64/ARMv7.
Windows x86 requires Windows 10 or later and an SSE2-capable processor; it uses
the existing build tools and does not support Windows XP.
Linux RISC-V 64 is experimental and console-only. The android-arm64 target
name is reserved by the CLI but is not an available native backend yet. A
target must support every capability used by the program.
Windows exports embed file properties in both console and graphical modes.
--window-title "Laser Maze 3D" selects the application title. The File
description is always <title of program> created with Pliro Creator Pro;
for this title it is Laser Maze 3D created with Pliro Creator Pro. This value
is automatic and read-only. The legacy --file-description flag is accepted
but ignored.
Product name defaults to the final title; company and copyright default to
empty. Custom copyright text is preserved without adding attribution. Existing
saved copyright text remains editable. File and product versions default to
1.0.0.0; one to four decimal components in 0..65535 are accepted and padded
to four components. Set these with --product-name, --company-name,
--copyright, --file-version, and --product-version. Windows --icon
accepts PNG or ICO. Title and metadata are export settings, not Pliro syntax.
See the native-build specification for all options.
Generated applications contain no Pliro product-license check and run
independently of the author’s later subscription state.
