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


* 動作環境

  必須環境

  ・gtkmm 3.22.0 以上
  ・glibmm 2.50.0 以上 ( 2.56.0 未満のサポートは将来のリリースで廃止される )
  ・zlib 1.2 以上
  ・gnutls 3.5.8 以上 ( 3.5.18 未満のサポートは将来のリリースで廃止される )

  推奨環境

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

  ※ GTK2版はv0.4.0リリースをもって廃止 ( https://github.com/JDimproved/JDim/issues/229 を参照 )

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

  必須

  ・autoconf
  ・autoconf-archive
  ・automake
  ・g++ 6 以上、または clang++ 5.0 以上 ( 将来のリリースで g++ 7 以上、または clang++ 6.0 以上になる )
  ・gnutls
  ・gtkmm
  ・libtool
  ・make
  ・zlib

  オプション

  ・meson 0.49.0 以上
  ・alsa-lib (--with-alsa)
  ・openssl (--with-tls=openssl, バージョン 1.1.0 未満のサポートは将来のリリースで廃止される )
  ・oniguruma (--with-regex=oniguruma, 廃止予定)
  ・migemo (--with-migemo)
  ・googletest (`test/RADME.md`を参照)

  画像表示に必要なパッケージ
  インストールされていない環境では`.webp`や`.avif`で終わるURLは通常リンクになる。

  ・libwebp, webp-pixbuf-loader (WebP)
  ・libavif (AVIF)

  OSやディストリビューション別の解説は https://github.com/JDimproved/JDim/discussions/592 を参照。

  configure のかわりに meson を使ってビルドする方法は https://github.com/JDimproved/JDim/discussions/556 を参照。
  (v0.4.0+から暫定サポート)

  GTKがデフォルトでサポートしていないWebPやAVIF形式の画像を表示する方法は
  https://github.com/JDimproved/JDim/discussions/737 を参照。(v0.5.0+からサポート)

* ビルド方法( configure + make の場合 )

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

* ビルド方法( meson の場合 )

    1. meson builddir
    2. meson compile -C builddir ( 又は ninja -C builddir )
    3. 起動は ./builddir/src/jdim

    mesonのビルドオプション
    - meson builddir -Dregex=glib のように指定する。
    - オプションの一覧は meson configure を実行してProject optionsの段落を参照する。

* 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-alsa

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

    --enable-gprof

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

    --with-regex=oniguruma|glib

       使用する正規表現ライブラリを設定する。
       デフォルトでは Glib Regex(GRegex) を使用する。(v0.4.0+から変更)
       非推奨: 正規表現ライブラリを選択するオプションは将来廃止される。
       https://github.com/JDimproved/JDim/issues/697 を参照すること。

    --with-regex=oniguruma

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

    --with-regex=glib

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

    --disable-compat-cache-dir

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

* メモ

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

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

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