WindowsにMSYS2を使ってCOBOL環境を構築する
前回(【COBOL】WindowsにOpenCOBOL環境を構築 - くんすとの備忘録)から約2年が経ち、パッケージやらなにやらのバージョンが上がったりしているので、最近のやり方でもう一度セットアップしてみます。
※前回はMinGWを使いましたが、今回はMSYS2を使用します。
MSYS2のセットアップ
システムパッケージの更新
pacman --needed -Sy bash pacman pacman-mirrors msys2-runtime
MSYS2のコンソールを閉じて、開き直します。
組み込みパッケージの更新
pacman -Su
コンパイルに必要なパッケージのインストール
pacman -S gcc make gmp-devel libdb-devel pacman -S wget mkdir /usr/local
nkfのセットアップ
ソースコードのダウンロード~インストール
cd /tmp wget -O nkf-2.1.3.tar.gz "http://sourceforge.jp/frs/redir.php?m=jaist&f=%2Fnkf%2F59912%2Fnkf-2.1.3.tar.gz" bsdtar zxvf nkf-2.1.3.tar.gz cd nkf-2.1.3 make make install
opensource COBOLのセットアップ
ソースコードのダウンロード~インストール
http://www.osscons.jp/osscobol/download/ から「opensource COBOL v1.4.0J [SJIS, Source Package, include vbisam (extend OSSCons patch)]」をダウンロードしてインストールします
cd /tmp wget -O opensource-cobol-1.4.0J.tar.gz "http://www.osscons.jp/osscobol/files/?action=cabinet_action_main_download&block_id=414&room_id=21&cabinet_id=11&file_id=308&upload_id=589" bsdtar zxvf opensource-cobol-1.4.0J.tar.gz cd opensource-cobol-1.4.0J ./configure make make install cd
動作確認、コンパイルなど
検証用ソース
- cobtest.cob
IDENTIFICATION DIVISION. PROGRAM-ID. test1. ENVIRONMENT DIVISION. * DATA DIVISION. * WORKING-STORAGE SECTION. 01 FILLER. 03 TEST-X. 10 VAR PIC X(14). 10 END-POINT PIC X(01) VALUES '/'. 03 TEST-9. 10 VAR PIC 9(08). 10 END-POINT PIC X(01) VALUES '/'. 03 TEST-S. 10 VAR PIC S9(07). 10 END-POINT PIC X(01) VALUES '/'. 03 TEST-COMP3. 10 VAR PIC S9(09)V9(2) COMP-3. 10 END-POINT PIC X(01) VALUES '/'. 03 TEST-N. 10 VAR PIC N(09). 10 END-POINT PIC X(01) VALUES '/'. 03 TEST-B. 10 VAR PIC S9(4) COMP. 10 END-POINT PIC X(01) VALUES '/'. * PROCEDURE DIVISION. MAIN-RTN. PERFORM EDIT-RTN. PERFORM OUTPUT-RTN. MOVE 9 TO RETURN-CODE. EXIT. STOP RUN. * EDIT-RTN SECTION. MOVE 'This is X Type' TO VAR OF TEST-X. MOVE 12345678 TO VAR OF TEST-9. MOVE -12345 TO VAR OF TEST-S. MOVE 123456789.12 TO VAR OF TEST-COMP3. MOVE 'こんにちは、世界!' TO VAR OF TEST-N. MOVE 38533 TO VAR OF TEST-B. *> 38533 = 0x9685 = '妹' EXIT. * OUTPUT-RTN SECTION. DISPLAY 'TEST-X :' TEST-X. DISPLAY 'TEST-9 :' TEST-9. DISPLAY 'TEST-S9 :' TEST-S. DISPLAY 'TEST-COMP3:' TEST-COMP3. DISPLAY 'TEST-N :' TEST-N. DISPLAY 'TEST-BYTE :' TEST-B. EXIT. *
コンパイル
cobc -x cobtest.cob
実行
./cobtest.exe | nkf -xS
実行結果
TEST-X :This is X Type/ TEST-9 :12345678/ TEST-S9 :001234u/ TEST-COMP3:4Vx/ TEST-N :こんにちは、世界!/ TEST-BYTE :妹/
以上。