Skip to content

Latest commit

 

History

History

core

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Architecture

alt text

Notable Subsystems

Working with the Code

Objeck can be built for various targets. The language is implemented in C++ and assembly (i.e., generated machine code) and assisted by code generators for SDL2 and GTK 3/4 bindings.

Linux (x64, ARM64)

  • For Linux, install required libraries: sudo apt-get install build-essential git libssl-dev unixodbc-dev libsdl2-dev libsdl2-image-dev libsdl2-ttf-dev libsdl2-mixer-dev libreadline-dev unzip libeigen3-dev
  • cd to objeck-lang/core/release and run ./deploy_posix.sh with the parameter 64 or rpi for x64 or ARM64 Linux
  • Build output with binaries and documentation will be located in objeck-lang/core/release/deploy
  • Reference objeck-lang/core/release/deploy/readme.html to set additional paths and find examples

macOS (ARM64)

  • Install Xcode with command line tools
  • Open a command shell and go to objeck-lang/core/release and run ./deploy_macos_arm64.sh
  • Build output with binaries and documentation will be located in objeck-lang/core/release/deploy
  • Reference objeck-lang/core/release/deploy/readme.html to set additional paths and find examples

Windows (ARM64, Visual Studio)

  • Install MSVS build tools for arm64 via the Visual Studio Installer. Go to 'Modify', 'Individual Components', and search 'arm64' Alt text
  • Unzip the OpenSSL Windows libraries in objeck-lang/core/lib/openssl/win/arm64
  • Using Visual Studio 2022 or later open objeck-lang/core/release/objeck.sln
  • Ensure the core build completes successfully (in Release mode)
  • To build everything, open a Visual Studio arm64 command prompt and go to objeck-lang/core/release directory and run deploy_windows.cmd arm64
  • Build output with binaries and documentation will be located in objeck-lang/core/release/deploy-arm64
  • Reference objeck-lang/core/release/deploy-arm64/readme.html to learn how to set the environment variables and find code examples

Windows (x64, Visual Studio)

  • Unzip the OpenSSL Windows libraries in objeck-lang/core/lib/openssl/win/x64
  • Using Visual Studio 2022 or later open objeck-lang/core/release/objeck.sln
  • Ensure the core build completes successfully (in Release mode)
  • To build everything, open a Visual Studio x64 command prompt and go to objeck-lang/core/release directory and run deploy_windows.cmd x64
  • Build output with binaries and documentation will be located in objeck-lang/core/release/deploy-x64
  • Reference objeck-lang/core/release/deploy-x64/readme.html to learn how to set the environment variables and find code examples

Windows (x64, MSYS2)

  • Under the UCRT64 (Unicode shell support)
    • Package dependencies
    • pacman --noconfirm -S mingw-w64-ucrt-x86_64-gcc mingw-w64-ucrt-x86_64-openssl make mingw-w64-ucrt-x86_64-SDL2 unzip mingw-w64-ucrt-x86_64-SDL2_ttf mingw-w64-ucrt-x86_64-SDL2_mixer mingw-w64-ucrt-x86_64-SDL2_image mingw-w64-ucrt-x86_64-unixodbc mingw-w64-ucrt-x86_64-eigen3 mingw-w64-ucrt-x86_64-pkgconf
    • cd to objeck-lang/core/release and run ./deploy_msys2-ucrt.sh
    • Build output with binaries and documentation will be located in objeck-lang/core/release/deploy-msys2-ucrt
    • Set the path for to the UCRT64 'bin' directory
    • Reference objeck-lang/core/release/deploy-msys2-ucrt/readme.html to set additional paths and find examples
  • Under the Clang64
    • Package dependencies
    • pacman --noconfirm -S mingw-w64-clang-x86_64-gcc mingw-w64-clang-x86_64-openssl make mingw-w64-clang-x86_64-SDL2 unzip mingw-w64-clang-x86_64-SDL2_ttf mingw-w64-clang-x86_64-SDL2_mixer mingw-w64-clang-x86_64-SDL2_image mingw-w64-clang-x86_64-unixodbc mingw-w64-clang-x86_64-eigen3 mingw-w64-clang-x86_64-pkgconf
    • cd to objeck-lang/core/release and run ./deploy_msys2-clang.sh
    • Build output with binaries and documentation will be located in objeck-lang/core/release/deploy-msys2-clang
    • Set the path for to the Clang64 'bin' directory
    • Reference objeck-lang/core/release/deploy-msys2-clang/readme.html to set additional paths and find examples