2013年1月9日水曜日

peg-markdownのコンパイル (MinGW)

Windows環境でのMarkdownエディタを作りたかったので、peg-markdownというものを使ってみようと思いました。peg-markdownはC言語で記述されている為、動作も早く軽快なエディタが作れるかもしれないと思ったからです。githubにあるソースから、MinGWを使用してpeg-markdownだけでもコンパイルしてみたので忘備録。

環境: MinGW on Windows7


<用意するもの>


MinGWの環境
MinGWのサイトリンクから、SourceForgeにある最新のインストーラをダウンロード
http://sourceforge.net/projects/mingw/files/
インストール画面のツール群全てにチェックを入れてインストール実行。

MinGW Shell (msys)を起動、wgetコマンドのインストール
$ mingw-get install msys-wget

GLib
GTK+ のサイトから、Windows 32bit用のバイナリファイルをダウンロード
http://www.gtk.org/download/win32.php
pkg-config
GLib
zlib
gettext
 等々が必要になるが、”all-in-one-bundle”というのがあるので、
そこから全てダウンロード。
MinGW環境にそれぞれディレクトリを作成しておき。
/usr/local/bin
/usr/local/include
/usr/local/lib
そこにそれぞれのファイルを配置する。


peg-markdown
Githubからダウンロード(https://github.com/jgm/peg-markdown)
MinGWの環境内にダウンロード。


<コンパイル>

peg-markdownのReadMeを参考に、
付属するpegというライブラリをmakeする。

$ cd peg-0.1.4
$ make PKG_CONFIG=c:/path/to/glib/bin/pkg-config.exe
※/usr/local/bin内にpkg-config等はインストールしている為、変数は指定しなくてもよい。

peg-markdownディレクトリに戻って、makeする。
$ cd ../
$ ./configure
$ make

markdown.exeが生成されるので、Markdownファイルを渡すとhtmlファイルを生成できる。
$ markdown input.md -o output.html

MinGW環境でコンパイルしたmarkdown.exeは、下記dllファイルを一緒に配布すれば、
WindowsXP, 7環境で問題なく動作するようでした。
intl.dll
libglib-2.0-0.dll
msvcrt.dll

日本語を含むMarkdownファイルや、
文字コードがshift-jis, utf-8でもちゃんと変換できていました。







0 件のコメント:

コメントを投稿