Installing & Building Djazair

Djazair is crafted to compile cleanly and rapidly on Linux, macOS, and Windows with virtually zero external build dependencies.

Prerequisites

To compile the Djazair interpreter and its command-line tools, you need:

  • A standard C99 (or newer) compiler: GCC or Clang.
  • GNU Make (or MinGW Make on Windows).
  • Windows only: libregex (provided via MSYS2 / MinGW-w64 as mingw-w64-x86_64-libgnurx).

Building on Linux & macOS

Open your terminal and clone the repository, then run make:

bash
# 1. Clone the repository
git clone https://github.com/djazair-language/djazair.git
cd djazair

# 2. Build the interpreter (extremely fast, ~2-4 seconds)
make

# 3. Verify the executable
./build/bin/djazair -v
# Output: Djazair Programming Language v1.1.0
System-wide Installation (Optional)

To install the djazair executable into your standard binary path (/usr/local/bin), execute:

bash
sudo make install

Building on Windows

Djazair includes an automated build script written in PowerShell that configures the build, links with MinGW, and automatically registers the binary directory in your system environment PATH.

powershell
# 1. Clone the repository
git clone https://github.com/djazair-language/djazair.git
cd djazair

# 2. Execute the automated PowerShell build script
powershell -ExecutionPolicy Bypass -File .\tools\build.ps1

# 3. Test the built executable
.\build\bin\djazair.exe -v
MinGW-w64 Dependency Note

If you encounter a linker error regarding missing regex symbols (regcomp, regexec) on Windows, ensure that libgnurx is installed in your MSYS2 / MinGW environment using:

bash
pacman -S mingw-w64-x86_64-libgnurx

Build Output Structure

Once compilation completes, the build directory contains:

Artifact Path Description
build/bin/djazair (or .exe) The core Djazair standalone interpreter binary.
build/bin/dpm (or .bat) The Djazair Package Manager executable utility.
build/bin/libdjazair.a Static import library for embedding Djazair into C/C++ applications.
build/obj/ Compiled C object files.