[ make、実行方法について ]


* 動作環境

  必須環境

  ・gtkmm 2.24.0 以上 ( GTK2版は将来のリリースで廃止される )
  ・gtkmm 3.0.0 以上 ( GTK3版, 3.18.0未満のサポートは将来のリリースで廃止される )
  ・glibmm 2.46.0 以上
  ・zlib 1.2 以上
  ・gnutls 3.3.8 以上 ( 3.4.10未満のサポートは将来のリリースで廃止される )

  推奨環境

  ・Linux Kernel 3.10以上
  ・gtkmm 3.18.0 以上 ( 3.22.0未満は将来のリリースで推奨環境から外れる )
  ・UTF-8環境 ( EUC環境では LANG="ja_JP.UTF-8" を指定する必要がある )

* makeに必要なツール、ライブラリ

  必須

  ・autoconf
  ・autoconf-archive
  ・automake
  ・g++ 5 以上、または clang++ 3.3 以上
  ・gnutls
  ・gtkmm
  ・libtool
  ・make
  ・zlib

  オプション

  ・alsa-lib (--with-alsa)
  ・openssl (--with-tls=openssl)
  ・oniguruma (--with-regex=oniguruma)
  ・libpcre (--with-regex=pcre, 非推奨)
  ・migemo (--with-migemo)

  OSやディストリビューション別の解説は"OS/ディストリビューション別インストール方法 [https://ja.osdn.net/projects/jd4linux/wiki/OS%2f%E3%83%87%E3%82%A3%E3%82%B9%E3%83%88%E3%83%AA%E3%83%93%E3%83%A5%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E5%88%A5%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E6%96%B9%E6%B3%95]"(wiki) を参照。

  configure のかわりに meson を使ってビルドする方法は https://github.com/JDimproved/JDim/pull/388 を参照。
  (v0.3.0+から実験的なサポートとして追加)

* make 方法( rpmbuild の場合 )

    1. rpmbuild -tb 〜.tgz でrpmファイルが出来るのであとは rpm -Uvh 〜.rpm
    2. ライブラリが足りないといわれたら yum install 〜-devel
    3. 起動はメニューから起動するか、端末で jdim と打ち込んでエンターを押す。

* make 方法( configure + make の場合 )

    デフォルトの設定ではGTK3版をビルドする。(バージョン0.3.0以降)

    1. autoreconf -i ( 又は ./autogen.sh )
    2. ./configure
    3. make
    4. (お好みで) strip src/jdim

* configureオプション

    --with-sessionlib=xsmp|no

       XSMP を使ってセッション管理をするには「xsmp」を、セッション管理を無効にするには「no」を選択する。
       デフォルトでは XSMP を使用する。

    --with-pangolayout

       描画にPangoLayoutを使う。デフォルトでは PangoGlyphString を使用する。

    --with-migemo

       migemoによる検索が有効になる。migemoがUTF-8の辞書でインストールされている必要がある。
       有効にすると正規表現のメタ文字が期待通りに動作しない場合があるので注意すること。

    --with-migemodict=PATH

       (--with-migemo 限定) migemo の辞書ファイルの場所を設定する。
       about:config で変更が可能、空欄にした場合は migemo が無効になる。(変更後は要再起動)

    --with-native

       CPUに合わせた最適化
       CPUを指定する場合は ./configure CXXFLAGS="-march=ARCH" を利用してください。

    --with-tls=[gnutls|openssl]

       使用するSSL/TLSライブラリを設定する。デフォルトでは GnuTLS を使用する。

    --with-tls=openssl

       GnuTLS のかわりに OpenSSL を使用する。ライセンス上バイナリ配布が出来なくなることに注意すること。

    --with-openssl

       非推奨: かわりに --with-tls=openssl を使用してください。

    --with-alsa

       ALSAによる効果音再生機能を有効にする。詳しくは"https://jdimproved.github.io/JDim/"の項を参照すること。

    --with-xdgopen

       デフォルトブラウザとしてxdg-openを使用する。
       xdg-openは将来のリリースでデフォルトブラウザになりこのオプションは廃止される予定です。

    --enable-gprof

       gprofによるプロファイリングを行う。コンパイルオプションに -pg が付き、JDimを実行すると
       gmon.out が出来るのでgprof./jdgmon.out で解析できる。CPUの最適化は効かなくなるので注意する。

    --with-regex=[posix|oniguruma|pcre|glib]

       使用する正規表現ライブラリを設定する。デフォルトでは POSIX regex を使用する。

    --with-regex=oniguruma

       POSIX regex のかわりに鬼車を使用する。
       鬼車はBSDライセンスなのでJDimをバイナリ配布する場合には注意すること(ライセンスはGPLになる)。

    --with-regex=pcre

       POSIX regex のかわりに PCRE を使用する。
       PCREはBSDライセンスなのでJDimをバイナリ配布する場合には注意すること(ライセンスはGPLになる)。
       UTF-8が有効な ( --enable-utf オプションを用いて make する ) PCRE 6.5 以降が必要となる。
       Perl互換の正規表現なので、従来の POSIX 拡張の正規表現から設定変更が必要になる場合がある。
       非推奨: かわりに --with-regex=glib を使用してください。

    --with-regex=glib

       POSIX regex のかわりに GRegex を使用する。
       Perl互換の正規表現なので、従来の POSIX 拡張の正規表現から設定変更が必要になる場合がある。
       (v0.3.0+から追加)

    --with-oniguruma

       非推奨: かわりに --with-regex=oniguruma を使用してください。

    --with-pcre

       非推奨: かわりに --with-regex=glib を使用してください。

    --with-thread=[posix|glib|std]

       使用するスレッドライブラリを設定する。デフォルトでは std::thread を使用する。(v0.3.0以降)
       非推奨: スレッドライブラリを設定するオプションは将来のリリースで削除される予定です。

    --with-[gthread|stdthread]

       非推奨: スレッドライブラリを設定するオプションは将来のリリースで削除される予定です。

    --with-gtkmm3=no

       gtkmm3のかわりにgtkmm2を使用する。
       非推奨: GTK2版は将来のリリースで削除される予定です。

    --disable-compat-cache-dir

       JDのキャッシュディレクトリ ~/.jd を読み込む互換機能を無効化する。

* メモ

  最近のディストリビューションの場合は autogen.sh よりも autoreconf -i の方を推奨。

  実行するには直接 src/jdim を起動するか手動で /usr/bin あたりに src/jdim を cp する。

  以上の操作でmakeが通らなかったり動作が変な時は configure のオプションを変更する。
