Resources | Operating System | Status | |
---|---|---|---|
Download | macOS (Compiler: gcc C) | ||
Help | Ubuntu Linux (Compiler: gcc C) | ||
Try | macOS (Compiler: clang C) | ||
Support | Ubuntu Linux (Compiler: clang C) |
The Ring is an Innovative and practical general-purpose multi-paradigm language. The supported programming paradigms are Imperative, Procedural, Object-Oriented, Functional, Meta programming, Declarative programming using nested structures, and Natural programming. The language is portable (Windows, Linux, macOS, Android, etc.) and can be used to create Console, GUI, Web, Games and Mobile applications. The language is designed to be Simple, Small, Flexible and Fast. Read more!
You can build Ring using CMake or using Scripts (Batch Files or Shell Scripts).
The next steps explains building using scripts.
We provide instructions for building on the next platforms :-
(1) Microsoft Windows
(2) Ubuntu Linux
(3) Fedora Linux
(4) macOS
git clone http://github.com/ring-lang/ring.git
cd ring/src
buildvc.bat
buildvcw.bat
cd ../ring2exe
buildring2exe.bat
cd ../extensions/ringodbc
buildvc.bat
cd ../extensions/ringmysql
buildvc.bat
cd ../extensions/ringsqlite
buildvc.bat
cd ../extensions/ringopenssl
buildvc.bat
cd ../extensions/ringinternet
buildvc.bat
cd ../extensions/ringmurmurhash
buildvc.bat
cd ../extensions/ringconsolecolors
gencode.bat
buildvc.bat
cd ../extensions/ringallegro
gencode.bat
buildvc.bat
cd ../extensions/ringcurl
gencode.bat
buildvc.bat
cd ../extensions/ringzip
gencode.bat
buildvc.bat
cd ../extensions/ringlibuv
gencode.bat
buildvc.bat
cd ../extensions/ringfreeglut
gencode.bat
buildvc.bat
The ringopengl folder contains many sub folders for different OpenGL versions Starting from OpenGL 1.1 to OpenGL 4.6
cd ../extensions/ringopengl/opengl21
gencode.bat
buildvc.bat
Install Qt 5.5 : https://download.qt.io/archive/qt/5.5/5.5.1/
cd ../extensions/ringqt
gencode.bat
buildmingw32.bat
cd ../../bin
install.bat
Hit "windows key".
Type "Edit the System environment variables"
Select "Advanced" tab.
Click on "Enviroment Variables..."
Double click on "Path"
Add at the end the new path separated by semicolon.
;C:\Ring\Bin
cd applications/rnote
ring rnote.ring
git clone http://github.com/ring-lang/ring.git
cd ring/src
./installdep.sh
sudo ./buildgcc.sh
cd ../ring2exe
sudo ./buildring2exe.sh
cd ../extensions/ringodbc
./buildgcc.sh
cd ../extensions/ringmysql
./buildgcc.sh
cd ../extensions/ringsqlite
./buildgcc.sh
cd ../extensions/ringopenssl
./buildgcc.sh
cd ../extensions/ringinternet
./buildgcc.sh
cd ../extensions/ringmurmurhash
./buildgcc.sh
cd ../extensions/ringconsolecolors
./gencode.sh
./buildgcc.sh
cd ../extensions/ringallegro
./gencode.sh
./buildgcc.sh
cd ../extensions/ringcurl
./gencode.sh
./buildgcc.sh
cd ../extensions/ringzip
./gencode.sh
./buildgcc.sh
We will build Libuv first
cd ../extensions/ringlibuv/libuv
sudo apt-get libtool install m4 automake
sh autogen.sh
./configure
make
make check
sudo make install
Then we will build RingLibuv
cd ..
./gencode.sh
./buildgcc.sh
cd ../extensions/ringfreeglut
./gencode.sh
./buildgcc.sh
The ringopengl folder contains many sub folders for different OpenGL versions Starting from OpenGL 1.1 to OpenGL 4.6
cd ../extensions/ringopengl/opengl21
./gencode.sh
./buildgcc.sh
cd ../extensions/ringqt
./gencode.sh
./buildgcc.sh
cd ../../bin
sudo ./install.sh
cd applications/rnote
sudo ring rnote.ring
git clone http://github.com/ring-lang/ring.git
cd ring/src
./installdepfedora.sh
sudo ./buildgcc.sh
cd ../ring2exe
sudo ./buildring2exe.sh
cd ../extensions/ringodbc
./buildgcc.sh
cd ../extensions/ringmysql
./buildgccfedora.sh
cd ../extensions/ringsqlite
./buildgcc.sh
cd ../extensions/ringopenssl
./buildgcc.sh
cd ../extensions/ringinternet
./buildgcc.sh
cd ../extensions/ringmurmurhash
./buildgcc.sh
cd ../extensions/ringconsolecolors
./gencode.sh
./buildgcc.sh
cd ../extensions/ringallegro
./gencode.sh
./buildgcc.sh
cd ../extensions/ringcurl
./gencode.sh
./buildgcc.sh
cd ../extensions/ringzip
./gencode.sh
./buildgcc.sh
We will build Libuv first
cd ../extensions/ringlibuv/libuv
sudo dnf install libtool m4 autoconf automake
sh autogen.sh
./configure
make
make check
sudo make install
Then we will build RingLibuv
cd ..
./gencode.sh
./buildgcc.sh
cd ../extensions/ringfreeglut
./gencode.sh
./buildgcc.sh
The ringopengl folder contains many sub folders for different OpenGL versions Starting from OpenGL 1.1 to OpenGL 4.6
cd ../extensions/ringopengl/opengl21
./gencode.sh
./buildgcc.sh
cd ../extensions/ringqt
./gencode.sh
./buildgccfedora.sh
cd ../../bin
sudo ./install.sh
cd applications/rnote
sudo ring rnote.ring
git clone http://github.com/ring-lang/ring.git
Install homebrew (follow the directions on homebrew's homepage).
cd ring/src
./installdepmac.sh
./buildclang.sh
cd ../ring2exe
sudo ./buildring2exe.sh
cd ../extensions/ringodbc
./buildclang.sh
cd ../extensions/ringmysql
./buildclang.sh
cd ../extensions/ringsqlite
./buildclang.sh
cd ../extensions/ringopenssl
./buildclang.sh
cd ../extensions/ringinternet
./buildclang.sh
cd ../extensions/ringmurmurhash
./buildclang.sh
cd ../extensions/ringconsolecolors
./gencode.sh
./buildclang.sh
cd ../extensions/ringallegro
./gencode.sh
./buildclang.sh
cd ../extensions/ringcurl
./gencode.sh
./buildclang.sh
cd ../extensions/ringzip
./gencode.sh
./buildclang.sh
cd ../extensions/ringlibuv
./gencode.sh
./buildclang.sh
cd ../extensions/ringfreeglut
./gencode.sh
./buildclang.sh
The ringopengl folder contains many sub folders for different OpenGL versions Starting from OpenGL 1.1 to OpenGL 4.6
cd ../extensions/ringopengl/opengl21
./gencode.sh
./buildclang.sh
cd ../extensions/ringqt
./gencode.sh
./buildclang.sh
cd ../../bin
sudo ./install.sh
cd applications/rnote
ring rnote.ring
This will build the Ring compiler and Ring Virtual Machine
cmake .
make