Ring Programming Language

August 6, 2025 ยท View on GitHub

Ring

Ring Programming Language

Building using Ubuntu Linux

This version is tested using Ubuntu 24.04 LTS

Upgrade the packages

sudo apt-get update && sudo apt-get upgrade

Install Git

sudo apt-get install git

Get the source code

Using HTTP

git clone https://github.com/ring-lang/ring.git

Or using SSH

git clone git@github.com:ring-lang/ring.git

Install Libraries

cd ring/build
./installdepubuntu.sh 

Complete Build (Compiler/VM, Extensions, Tools, etc.)

This will build everything (Also, will call ring/bin/install.sh)

cd ring/build
./buildgcc.sh

Run Ring Notepad

ringpm run ringnotepad

Custom Build

Build Ring (Compiler/VM)

sudo ./buildgcc.sh

Build Ring2EXE

cd ring/tools/ring2exe
sudo ./build.sh	

Generate RingConsoleColors Source Code and Build

cd ring/extensions/ringconsolecolors
./gencode.sh
./buildgcc.sh

Build RingInternet

cd ring/extensions/ringinternet
./buildgcc.sh

Generate RingLibCurl Source Code and Build

cd ring/extensions/ringcurl
./gencode.sh
./buildgcc.sh

Generate RingZip Source Code and Build

cd ring/extensions/ringzip
./gencode.sh
./buildgcc.sh

Build RingPM

cd ring/tools/ringpm
sudo ./build.sh	

Build RingREPL

cd ring/tools/ringrepl
sudo ./build.sh	

Build Folder2QRC

cd ring/tools/folder2qrc
sudo ./build.sh	

Build RingODBC

cd ring/extensions/ringodbc
./buildgcc.sh

Build RingMySQL

cd ring/extensions/ringmysql
./buildgcc.sh

Build RingSQLite

cd ring/extensions/ringsqlite
./buildgcc.sh

Generate RingPostgreSQL Source Code and Build

cd ring/extensions/ringpostgresql
./gencode.sh
./buildgcc.sh

Build RingOpenSSL

cd ring/extensions/ringopenssl
./buildgcc.sh

Build RingMurmurHash

cd ring/extensions/ringmurmurhash
./buildgcc.sh		

Generate RingAllegro Source Code and Build

cd ring/extensions/ringallegro
./gencode.sh
./buildgcc.sh

Generate RingLibuv Source Code and Build

We will build Libuv first

cd ring/extensions/ringlibuv/libuv
sudo apt-get install libtool m4 automake
sh autogen.sh
./configure
make
make check
sudo make install

Then we will build RingLibuv

cd ring/extensions/ringlibuv
./gencode.sh
./buildgcc.sh

Generate RingFreeGLUT Source Code and Build

cd ring/extensions/ringfreeglut
./gencode.sh
./buildgcc.sh

Generate RingOpenGL Source Code and Build

The ringopengl folder contains many sub folders for different OpenGL versions Starting from OpenGL 1.1 to OpenGL 4.6

cd ring/extensions/ringopengl/opengl21
./gencode.sh
./buildgcc.sh

Generate RingQt Source Code and Build

cd ring/extensions/ringqt
./gencode_light.sh
./buildgcc_light.sh
./gencode.sh
./buildgcc.sh

To be able to call ring from any folder

cd ring/bin
sudo ./install.sh

Run Ring Notepad

ringpm run ringnotepad

More Extensions

The previous steps demonstrates building Ring and some of the Ring extensions.

There are more extensions in ring/extensions folder like RingCJSON, RingHTTPLib, etc.