2 single: Building From Source Code; Introduction
4 =========================
5 Building From Source Code
6 =========================
8 The Ring programming language is a free open source product (MIT License).
10 You can build Ring using CMake or using Scripts (Batch Files or Shell Scripts).
12 The next steps explains building using scripts.
15 pair: Building From Source Code; Building using Microsoft Windows
17 Building using Microsoft Windows
18 ================================
24 git clone http://github.com/ring-lang/ring.git
26 Build Ring (Compiler/VM)
41 Generate RingConsoleColors Source Code and Build
45 cd ../extensions/ringconsolecolors
53 cd ../extensions/ringinternet
56 Generate RingLibCurl Source Code and Build
60 cd ../extensions/ringcurl
64 Generate RingZip Source Code and Build
68 cd ../extensions/ringzip
84 cd ../extensions/ringodbc
91 cd ../extensions/ringmysql
98 cd ../extensions/ringsqlite
105 cd ../extensions/ringpostgresql
113 cd ../extensions/ringopenssl
120 cd ../extensions/ringmurmurhash
123 Generate RingAllegro Source Code and Build
127 cd ../extensions/ringallegro
131 Generate RingLibuv Source Code and Build
135 cd ../extensions/ringlibuv
139 Generate RingFreeGLUT Source Code and Build
143 cd ../extensions/ringfreeglut
147 Generate RingOpenGL Source Code and Build
149 The ringopengl folder contains many sub folders for different OpenGL versions
151 Starting from OpenGL 1.1 to OpenGL 4.6
155 cd ../extensions/ringopengl/opengl21
159 Generate RingPostgreSQL Source Code and Build
163 cd ../extensions/ringpostgresql
167 Install Qt 5.12 : https://download.qt.io/archive/qt/5.12/5.12.6/
169 Generate RingQt Source Code and Build
173 cd ../extensions/ringqt
177 To be able to call ring from any folder
184 Add Ring/bin to System path
189 Type "Edit the System environment variables"
190 Select "Advanced" tab.
191 Click on "Enviroment Variables..."
192 Double click on "Path"
193 Add at the end the new path separated by semicolon.
200 cd applications/rnote
204 pair: Building From Source Code; Building using Ubuntu Linux
206 Building using Ubuntu Linux
207 ===========================
213 git clone http://github.com/ring-lang/ring.git
222 Build Ring (Compiler/VM)
233 sudo ./buildring2exe.sh
235 Generate RingConsoleColors Source Code and Build
239 cd ../extensions/ringconsolecolors
247 cd ../extensions/ringinternet
250 Generate RingLibCurl Source Code and Build
254 cd ../extensions/ringcurl
258 Generate RingZip Source Code and Build
262 cd ../extensions/ringzip
271 sudo ./buildringpm.sh
277 cd ../extensions/ringodbc
284 cd ../extensions/ringmysql
291 cd ../extensions/ringsqlite
298 cd ../extensions/ringpostgresql
306 cd ../extensions/ringopenssl
313 cd ../extensions/ringmurmurhash
316 Generate RingAllegro Source Code and Build
320 cd ../extensions/ringallegro
324 Generate RingLibuv Source Code and Build
326 We will build Libuv first
330 cd ../extensions/ringlibuv/libuv
331 sudo apt-get install libtool m4 automake
338 Then we will build RingLibuv
346 Generate RingFreeGLUT Source Code and Build
350 cd ../extensions/ringfreeglut
354 Generate RingOpenGL Source Code and Build
356 The ringopengl folder contains many sub folders for different OpenGL versions
358 Starting from OpenGL 1.1 to OpenGL 4.6
362 cd ../extensions/ringopengl/opengl21
366 Generate RingPostgreSQL Source Code and Build
370 cd ../extensions/ringpostgresql
374 Generate RingQt Source Code and Build
378 cd ../extensions/ringqt
382 To be able to call ring from any folder
393 cd applications/rnote
397 pair: Building From Source Code; Building using Fedora Linux
399 Building using Fedora Linux
400 ===========================
406 git clone http://github.com/ring-lang/ring.git
413 ./installdepfedora.sh
415 Build Ring (Compiler/VM)
426 sudo ./buildring2exe.sh
428 Generate RingConsoleColors Source Code and Build
432 cd ../extensions/ringconsolecolors
440 cd ../extensions/ringinternet
443 Generate RingLibCurl Source Code and Build
447 cd ../extensions/ringcurl
451 Generate RingZip Source Code and Build
455 cd ../extensions/ringzip
464 sudo ./buildringpm.sh
470 cd ../extensions/ringodbc
477 cd ../extensions/ringmysql
484 cd ../extensions/ringsqlite
491 cd ../extensions/ringpostgresql
499 cd ../extensions/ringopenssl
506 cd ../extensions/ringmurmurhash
509 Generate RingAllegro Source Code and Build
513 cd ../extensions/ringallegro
517 Generate RingLibuv Source Code and Build
519 We will build Libuv first
523 cd ../extensions/ringlibuv/libuv
524 sudo dnf install libtool m4 autoconf automake
531 Then we will build RingLibuv
539 Generate RingFreeGLUT Source Code and Build
543 cd ../extensions/ringfreeglut
547 Generate RingOpenGL Source Code and Build
549 The ringopengl folder contains many sub folders for different OpenGL versions
551 Starting from OpenGL 1.1 to OpenGL 4.6
555 cd ../extensions/ringopengl/opengl21
559 Generate RingPostgreSQL Source Code and Build
563 cd ../extensions/ringpostgresql
567 Generate RingQt Source Code and Build
571 cd ../extensions/ringqt
575 To be able to call ring from any folder
586 cd applications/rnote
592 pair: Building From Source Code; Building using MacOS X
594 Building using MacOS X
595 ======================
601 git clone http://github.com/ring-lang/ring.git
603 Install homebrew (follow the directions on homebrew's homepage).
611 Build Ring (Compiler/VM)
622 sudo ./buildring2exe.sh
624 Generate RingConsoleColors Source Code and Build
628 cd ../extensions/ringconsolecolors
636 cd ../extensions/ringinternet
639 Generate RingLibCurl Source Code and Build
643 cd ../extensions/ringcurl
647 Generate RingZip Source Code and Build
651 cd ../extensions/ringzip
660 sudo ./buildringpm.sh
666 cd ../extensions/ringodbc
673 cd ../extensions/ringmysql
680 cd ../extensions/ringsqlite
687 cd ../extensions/ringpostgresql
695 cd ../extensions/ringopenssl
702 cd ../extensions/ringmurmurhash
705 Generate RingAllegro Source Code and Build
709 cd ../extensions/ringallegro
713 Generate RingLibuv Source Code and Build
717 cd ../extensions/ringlibuv
721 Generate RingFreeGLUT Source Code and Build
725 cd ../extensions/ringfreeglut
729 Generate RingOpenGL Source Code and Build
731 The ringopengl folder contains many sub folders for different OpenGL versions
732 Starting from OpenGL 1.1 to OpenGL 4.6
736 cd ../extensions/ringopengl/opengl21
740 Generate RingPostgreSQL Source Code and Build
744 cd ../extensions/ringpostgresql
748 Generate RingQt Source Code and Build
752 cd ../extensions/ringqt
756 To be able to call ring from any folder
767 cd applications/rnote
771 pair: Building From Source Code; Building using CMake
776 Install libraries (MySQL Client, OpenSSL, LibCurl, Allegro 5 and Qt 5.5)