前回(【COBOL】WindowsにOpenCOBOL環境を構築 - くんすとの備忘録)から約2年が経ち、パッケージやらなにやらのバージョンが上がったりしているので、最近のやり方でもう一度セットアップしてみます。
※前回はMinGWを使いましたが、今回はMSYS2を使用します。
MSYS2のセットアップ
インストーラの実行
MSYS2のインストーラを以下のサイトからダウンロードし、インストールします
MSYS2 installer
- x86_64 … 64bit版
- i686 … 32bit版
※管理者権限は不要のようです
環境のアップデート
スタートメニューより「MinGW-w64 Win32 Shell」を起動します。※以降は全てこのコンソール上で作業します。
システムパッケージの更新
1
|
pacman --needed -Sy bash pacman pacman-mirrors msys2-runtime
|
MSYS2のコンソールを閉じて、開き直します。
組み込みパッケージの更新
コンパイルに必要なパッケージのインストール
1
2
3
|
pacman -S gcc make gmp-devel libdb-devel
pacman -S wget
mkdir /usr/local
|
nkfのセットアップ
ソースコードのダウンロード~インストール
1
2
3
4
5
6
7
|
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)]」をダウンロードしてインストールします
1
2
3
4
5
6
7
8
9
|
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
|
動作確認、コンパイルなど
検証用ソース
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
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.
*
|
コンパイル
実行
1
2
|
./cobtest.exe | nkf -xS
|
実行結果
1
2
3
4
5
6
|
TEST-X :This is X Type/
TEST-9 :12345678/
TEST-S9 :001234u/
TEST-COMP3:4Vx/
TEST-N :こんにちは、世界!/
TEST-BYTE :妹/
|
以上。
参考URL
MSYS2 installer
pacman - ArchWiki
MSYS2でMinGW環境整備(2)