.. 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