.. index:: 
	single: ソースコードからのビルド方法; はじめに

============================
ソースコードからのビルド方法
============================

Ring は自由なオープンソース製品 (MIT ライセンス) です。

Ring は CMake あるいは、スクリプト (バッチファイル、またはシェルスクリプト) でビルドします。

この手順はスクリプトによるビルド方法の解説です。

* Microsoft Windows でのビルド方法
* Ubuntu Linux でのビルド方法
* Fedora Linux でのビルド方法
* macOS でのビルド方法
* CMake でのビルド方法

.. index:: 
	pair: ソースコードからのビルド方法; Microsoft Windows でのビルド方法

Microsoft Windows でのビルド方法
================================

ソースコードの取得

.. code-block:: ring

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

Ring (コンパイラ、仮想計算機) のビルド

.. code-block:: ring

	cd ring/src
	buildvc.bat
	buildvcw.bat

Ring2EXE のビルド

.. code-block:: none

	cd ../ring2exe
	buildring2exe.bat

RingConsoleColors ソースコードの生成とビルド

.. code-block:: ring

	cd ../extensions/ringconsolecolors
	gencode.bat
	buildvc.bat

RingInternet のビルド

.. code-block:: ring
	
	cd ../extensions/ringinternet
	buildvc.bat

RingLibCurl ソースコードの生成とビルド

.. code-block:: ring

	cd ../extensions/ringcurl
	gencode.bat
	buildvc.bat

RingZip ソースコードの生成とビルド

.. code-block:: ring

	cd ../extensions/ringzip
	gencode.bat
	buildvc.bat


RingPM のビルド

.. code-block:: none

	cd ../ringpm
	buildringpm.bat

.. warning:: 特に指定がない限り /ring2exe/libs フォルダは削除しないでください。 RingPM のビルドが正常にできなくなります。

.. note:: Light Release 版では「どのフォルダからでも Ring を呼び出せるようにします」まで読みとばしてください。

RingODBC のビルド

.. code-block:: ring
	
	cd ../extensions/ringodbc
	buildvc.bat

RingMySQL のビルド

.. code-block:: ring
	
	cd ../extensions/ringmysql
	buildvc.bat

RingSQLite のビルド

.. code-block:: ring
	
	cd ../extensions/ringsqlite
	buildvc.bat

RingPostgreSQL のビルド

.. code-block:: ring
	
	cd ../extensions/ringpostgresql
	gencode.bat
	buildvc.bat

RingOpenSSL のビルド

.. code-block:: ring
	
	cd ../extensions/ringopenssl
	buildvc.bat

RingMurmurHash のビルド

.. code-block:: ring
	
	cd ../extensions/ringmurmurhash
	buildvc.bat

RingAllegro ソースコードの生成とビルド

.. code-block:: ring

	cd ../extensions/ringallegro
	gencode.bat
	buildvc.bat

RingLibuv ソースコードの生成とビルド

.. code-block:: ring

	cd ../extensions/ringlibuv
	gencode.bat
	buildvc.bat

RingFreeGLUT ソースコードの生成とビルド

.. code-block:: ring
	
	cd ../extensions/ringfreeglut
	gencode.bat
	buildvc.bat

RingOpenGL ソースコードの生成とビルド

ringopengl フォルダ配下のサブフォルダには OpenGL 1.1 ～ 4.6 が収録されています。



.. code-block:: ring
	
	cd ../extensions/ringopengl/opengl21
	gencode.bat
	buildvc.bat

RingPostgreSQL ソースコードの生成とビルド 

.. code-block:: ring
	
	cd ../extensions/ringpostgresql
	gencode.bat
	buildvc.bat

Qt 5.12 のインストール : https://download.qt.io/archive/qt/5.12/5.12.6/

RingQt ソースコードの生成とビルド

.. code-block:: ring

	cd ../extensions/ringqt
	gencodeqt512.bat
	buildqt512.bat

どのフォルダからでも Ring を呼び出せるようにします。

.. code-block:: ring

	cd ../../bin
	install.bat

システムパスへ Ring/bin を追加

.. code-block:: ring

	"Windows キー" の打鍵。
	"システム環境変数の編集" の入力
	"詳細" タブ を選択。
	"環境変数..." をクリック
	"パス" のダブル・クリック
	パスの末尾へセミコロンで区切った新しいパスを追加します。
	    ;C:\Ring\Bin

Ring ノートパッドの実行

.. code-block:: ring

	cd applications/rnote
	ring rnote.ring

.. index:: 
	pair: ソースコードからのビルド方法; Ubuntu Linux でのビルド方法

Ubuntu Linux でのビルド方法
===========================

ソースコードの取得

.. code-block:: ring

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

ライブラリのインストール

.. code-block:: ring

	cd ring/src
	./installdep.sh 

Ring (コンパイラ、仮想計算機) のビルド

.. code-block:: ring

	sudo ./buildgcc.sh

Ring2EXE のビルド

.. code-block:: none

	cd ../ring2exe
	sudo ./buildring2exe.sh

RingConsoleColors ソースコードの生成とビルド

.. code-block:: ring

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

RingInternet のビルド

.. code-block:: ring
	
	cd ../extensions/ringinternet
	./buildgcc.sh

RingLibCurl ソースコードの生成とビルド

.. code-block:: ring

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

RingZip ソースコードの生成とビルド

.. code-block:: ring

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

RingPM のビルド

.. code-block:: none

	cd ../ringpm
	sudo ./buildringpm.sh

RingODBC のビルド

.. code-block:: ring
	
	cd ../extensions/ringodbc
	./buildgcc.sh

RingMySQL のビルド

.. code-block:: ring
	
	cd ../extensions/ringmysql
	./buildgcc.sh

RingSQLite のビルド

.. code-block:: ring
	
	cd ../extensions/ringsqlite
	./buildgcc.sh

RingPostgreSQL のビルド

.. code-block:: ring
	
	cd ../extensions/ringpostgresql
	gencode.sh
	buildgcc.sh

RingOpenSSL のビルド

.. code-block:: ring
	
	cd ../extensions/ringopenssl
	./buildgcc.sh

RingMurmurHash のビルド

.. code-block:: ring
	
	cd ../extensions/ringmurmurhash
	./buildgcc.sh

RingAllegro ソースコードの生成とビルド

.. code-block:: ring

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

RingLibuv ソースコードの生成とビルド

最初に Libuv をビルドします

.. code-block:: ring

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

次に RingLibuv をビルドします

.. code-block:: ring
	
	cd ..
	./gencode.sh
	./buildgcc.sh

RingFreeGLUT ソースコードの生成とビルド

.. code-block:: ring
	
	cd ../extensions/ringfreeglut
	./gencode.sh
	./buildgcc.sh

RingOpenGL ソースコードの生成とビルド

ringopengl フォルダ配下のサブフォルダには OpenGL 1.1 ～ 4.6 が収録されています。



.. code-block:: ring
	
	cd ../extensions/ringopengl/opengl21
	gencode.sh
	buildgcc.sh

RingPostgreSQL ソースコードの生成とビルド

.. code-block:: ring

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

RingQt ソースコードの生成とビルド

.. code-block:: ring

	cd ../extensions/ringqt
	./gencode.sh
	./buildgcc.sh

どのフォルダからでも Ring を呼び出せるようにします。

.. code-block:: ring

	cd ../../bin
	sudo ./install.sh

Ring ノートパッドの実行

.. code-block:: ring

	cd applications/rnote
	ring rnote.ring

.. index:: 
	pair: ソースコードからのビルド方法; Fedora Linux でのビルド方法

Fedora Linux でのビルド方法
===========================

ソースコードの取得

.. code-block:: ring

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

ライブラリのインストール

.. code-block:: ring

	cd ring/src
	./installdepfedora.sh 

Ring (コンパイラ、仮想計算機) のビルド

.. code-block:: ring

	sudo ./buildgcc.sh

Ring2EXE のビルド

.. code-block:: none

	cd ../ring2exe
	sudo ./buildring2exe.sh

RingConsoleColors ソースコードの生成とビルド

.. code-block:: ring

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

RingInternet のビルド

.. code-block:: ring
	
	cd ../extensions/ringinternet
	./buildgcc.sh

RingLibCurl ソースコードの生成とビルド

.. code-block:: ring

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

RingZip ソースコードの生成とビルド

.. code-block:: ring

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

RingPM のビルド

.. code-block:: none

	cd ../ringpm
	sudo ./buildringpm.sh

RingODBC のビルド

.. code-block:: ring
	
	cd ../extensions/ringodbc
	./buildgcc.sh

RingMySQL のビルド

.. code-block:: ring
	
	cd ../extensions/ringmysql
	./buildgccfedora.sh

RingSQLite のビルド

.. code-block:: ring
	
	cd ../extensions/ringsqlite
	./buildgcc.sh

RingPostgreSQL のビルド

.. code-block:: ring
	
	cd ../extensions/ringpostgresql
	gencode.sh
	buildgcc.sh

RingOpenSSL のビルド

.. code-block:: ring
	
	cd ../extensions/ringopenssl
	./buildgcc.sh

RingMurmurHash のビルド

.. code-block:: ring
	
	cd ../extensions/ringmurmurhash
	./buildgcc.sh

RingAllegro ソースコードの生成とビルド

.. code-block:: ring

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

RingLibuv ソースコードの生成とビルド

最初に Libuv をビルドします

.. code-block:: ring

	cd ../extensions/ringlibuv/libuv
	sudo dnf install libtool m4 autoconf automake
	sh autogen.sh
	./configure
	make
	make check
	sudo make install

次に RingLibuv をビルドします

.. code-block:: ring
	
	cd ..
	./gencode.sh
	./buildgcc.sh

RingFreeGLUT ソースコードの生成とビルド

.. code-block:: ring
	
	cd ../extensions/ringfreeglut
	./gencode.sh
	./buildgcc.sh

RingOpenGL ソースコードの生成とビルド

ringopengl フォルダ配下のサブフォルダには OpenGL 1.1 ～ 4.6 が収録されています。



.. code-block:: ring
	
	cd ../extensions/ringopengl/opengl21
	gencode.sh
	buildgcc.sh

RingPostgreSQL ソースコードの生成とビルド

.. code-block:: ring

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

RingQt ソースコードの生成とビルド

.. code-block:: ring

	cd ../extensions/ringqt
	./gencode.sh
	./buildgccfedora.sh

どのフォルダからでも Ring を呼び出せるようにします。

.. code-block:: ring

	cd ../../bin
	sudo ./install.sh

Ring ノートパッドの実行

.. code-block:: ring

	cd applications/rnote
	ring rnote.ring



.. index:: 
	pair: ソースコードからのビルド方法; macOS でのビルド方法

macOS でのビルド方法
====================

ソースコードの取得

.. code-block:: ring

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

homebrew のインストール (homebrew のホームページに記載されている説明に従ってください)。

ライブラリのインストール

.. code-block:: ring

	cd ring/src
	./installdepmac.sh 

Ring (コンパイラ、仮想計算機) のビルド

.. code-block:: ring

	./buildclang.sh

Ring2EXE のビルド

.. code-block:: none

	cd ../ring2exe
	sudo ./buildring2exe.sh

RingConsoleColors ソースコードの生成とビルド

.. code-block:: ring

	cd ../extensions/ringconsolecolors
	./gencode.sh
	./buildclang.sh

RingInternet のビルド

.. code-block:: ring
	
	cd ../extensions/ringinternet
	./buildclang.sh

RingLibCurl ソースコードの生成とビルド

.. code-block:: ring

	cd ../extensions/ringcurl
	./gencode.sh
	./buildclang.sh

RingZip ソースコードの生成とビルド

.. code-block:: ring

	cd ../extensions/ringzip
	./gencode.sh
	./buildclang.sh

RingPM のビルド

.. code-block:: none

	cd ../ringpm
	sudo ./buildringpm.sh

RingODBC のビルド

.. code-block:: ring
	
	cd ../extensions/ringodbc
	./buildclang.sh

RingMySQL のビルド

.. code-block:: ring
	
	cd ../extensions/ringmysql
	./buildclang.sh

RingSQLite のビルド

.. code-block:: ring
	
	cd ../extensions/ringsqlite
	./buildclang.sh

RingPostgreSQL のビルド

.. code-block:: ring
	
	cd ../extensions/ringpostgresql
	gencode.sh
	buildclang.sh

RingOpenSSL のビルド

.. code-block:: ring
	
	cd ../extensions/ringopenssl
	./buildclang.sh

RingMurmurHash のビルド

.. code-block:: ring
	
	cd ../extensions/ringmurmurhash
	./buildclang.sh

RingAllegro ソースコードの生成とビルド

.. code-block:: ring

	cd ../extensions/ringallegro
	./gencode.sh
	./buildclang.sh

RingLibuv ソースコードの生成とビルド

.. code-block:: ring

	cd ../extensions/ringlibuv
	./gencode.sh
	./buildclang.sh

RingFreeGLUT ソースコードの生成とビルド

.. code-block:: ring
	
	cd ../extensions/ringfreeglut
	./gencode.sh
	./buildclang.sh

RingOpenGL ソースコードの生成とビルド

ringopengl フォルダ配下のサブフォルダには OpenGL 1.1 ～ 4.6 が収録されています。


.. code-block:: ring
	
	cd ../extensions/ringopengl/opengl21
	./gencode.sh
	./buildclang.sh

RingPostgreSQL ソースコードの生成とビルド

.. code-block:: ring

	cd ../extensions/ringpostgresql
	./gencode.sh
	./buildclang.sh

RingQt ソースコードの生成とビルド

.. code-block:: ring

	cd ../extensions/ringqt
	./gencodemac.sh
	./buildclang.sh

どのフォルダからでも Ring を呼び出せるようにします。

.. code-block:: ring

	cd ../../bin
	sudo ./install.sh

Ring ノートパッドの実行

.. code-block:: ring

	cd applications/rnote
	sudo ring rnote.ring

.. index:: 
	pair: ソースコードからのビルド方法; CMake によるビルド方法

CMake によるビルド方法
======================

ライブラリのインストール (MySQL クライアント, OpenSSL, LibCurl, Allegro 5 および Qt 5.12)

.. code-block:: ring

	cmake .
	make
