その他のライブラリのビルド

概要

音声、映像以外のライブラリをビルドします。
必要のないものは、パスすることもできます。

作業手順は以下のとおりです。

  1. MSYS\msys.bat を実行。(プロンプト画面(黒い画面)が起動します。)
  2. 下記の黒い部分のコマンドを一行ずつ入力し、Enterキーを押す。
    (一部 static と shared がありますが、よく分からない場合は static を選択してください。)
  3. 処理が完了するまで待つ。
  4. 2~3を繰り返す。

なお、ビルド作業を自動化したスクリプトもあります。
詳しくは、ビルド用スクリプトをご覧ください。

※ご注意※
  • このページの内容は、こちらで構築した環境をベースに記述されています。
    その他の環境では正常に動作しない可能性があります。
  • このページの内容は、2016/04/08 時点のものです。
    備忘録的なページのため、内容に誤りがある可能性があります。

L-SMASHのインストール

x264はMP4-muxerにGPACを使用しますが、最近のリビジョンではL-SMASHも使用できます。

  1. ダウンロードします。
    1. cd /tmp1
    2. git clone https://github.com/l-smash/l-smash.git l-smash
    3. cd l-smash
  2. 32bit版をインストールします。
    • static
    • shared
    1. ./configure --prefix=/x86 --cross-prefix=i686-w64-mingw32-
    2. make -j3
    3. make install
    4. make distclean
    1. ./configure --prefix=/x86 --cross-prefix=i686-w64-mingw32- --disable-static --enable-shared
    2. make -j3
    3. make install
    4. make distclean
  3. 64bit版をインストールします。
    • static
    • shared
    1. ./configure --prefix=/x64 --cross-prefix=x86_64-w64-mingw32-
    2. make -j3
    3. make install
    4. make distclean
    1. ./configure --prefix=/x64 --cross-prefix=x86_64-w64-mingw32- --disable-static --enable-shared
    2. make -j3
    3. make install
    4. make distclean

以上で完了です。

PolarSSL(mbed TLS)のインストール

※GnuTLSを使用する場合は、必要ありません。

  1. ダウンロードします。
    1. cd /tmp1
    2. git clone https://github.com/ARMmbed/mbedtls.git mbedtls
    3. cd mbedtls
    4. git checkout refs/tags/mbedtls-1.3.16
    5. sed -i.orig -e "/POLARSSL_HAVEGE_C/s/\/\///g" include/polarssl/config.h
  2. 32bit版をインストールします。
    1. make lib CC=i686-w64-mingw32-gcc LD=i686-w64-mingw32-ld AR=i686-w64-mingw32-ar -j3
    2. make install DESTDIR=/x86
    3. make clean
  3. 64bit版をインストールします。
    1. make lib CC=x86_64-w64-mingw32-gcc LD=x86_64-w64-mingw32-ld AR=x86_64-w64-mingw32-ar -j3
    2. make install DESTDIR=/x64
    3. make clean

以上で完了です。

GMPのインストール

※GnuTLSを使用する場合に必要です。PolarSSLを使用する場合は、必要ありません。

  1. ダウンロードします。
    1. cd /tmp1
    2. curl -O# https://gmplib.org/download/gmp/gmp-6.1.0.tar.bz2
    3. tar jxf gmp*
    4. cd gmp*
  2. 32bit版をインストールします。
    1. ./configure --prefix=/x86 --host=i686-w64-mingw32 --enable-cxx --disable-shared
    2. make -j3
    3. make install-strip
    4. make distclean
  3. 64bit版をインストールします。
    1. ./configure --prefix=/x64 --host=x86_64-w64-mingw32 --enable-cxx --disable-shared
    2. make -j3
    3. make install-strip
    4. make distclean

以上で完了です。

Nettleのインストール

※このライブラリは、GMP が必要です。
※GnuTLSを使用する場合に必要です。PolarSSLを使用する場合は、必要ありません。

  1. ダウンロードします。
    1. cd /tmp1
    2. curl -O# https://ftp.gnu.org/gnu/nettle/nettle-3.2.tar.gz
    3. tar zxf nettle*
    4. cd nettle*
  2. 32bit版をインストールします。
    1. ./configure --prefix=/x86 --host=i686-w64-mingw32 --disable-shared --disable-openssl --disable-documentation --with-include-path=/x86/include --with-lib-path=/x86/lib
    2. make -j3
    3. make install
    4. make distclean
  3. 64bit版をインストールします。
    1. ./configure --prefix=/x64 --host=x86_64-w64-mingw32 --disable-shared --disable-openssl --disable-documentation --with-include-path=/x64/include --with-lib-path=/x64/lib
    2. make -j3
    3. make install
    4. make distclean

以上で完了です。

GnuTLSのインストール

※このライブラリは、Nettle が必要です。
※PolarSSLを使用する場合は、必要ありません。

  1. ダウンロードします。
    1. cd /tmp1
    2. curl -O# ftp://ftp.gnutls.org/gcrypt/gnutls/v3.4/gnutls-3.4.10.tar.xz
    3. tar Jxf gnutls*
    4. cd gnutls*
  2. 32bit版をインストールします。
    1. PKG_CONFIG_PATH=/x86/lib/pkgconfig LDFLAGS=-L/x86/lib ./configure --prefix=/x86 --host=i686-w64-mingw32 --disable-shared --disable-tools --disable-doc --disable-cxx --disable-nls --disable-gtk-doc-html --disable-guile --with-included-libtasn1 --without-p11-kit
    2. sed -i.orig -e "/Libs.private:/s/$/ -lcrypt32/" lib/gnutls.pc
    3. make -j3
    4. make install-strip
    5. make distclean
  3. 64bit版をインストールします。
    1. PKG_CONFIG_PATH=/x64/lib/pkgconfig LDFLAGS=-L/x64/lib ./configure --prefix=/x64 --host=x86_64-w64-mingw32 --disable-shared --disable-tools --disable-doc --disable-cxx --disable-nls --disable-gtk-doc-html --disable-guile --with-included-libtasn1 --without-p11-kit
    2. sed -i.orig -e "/Libs.private:/s/$/ -lcrypt32/" lib/gnutls.pc
    3. make -j3
    4. make install-strip
    5. make distclean

以上で完了です。

RTMPDumpのインストール

※このライブラリは、PolarSSL(mbed TLS) または GnuTLS が必要です。
  インストールしたライブラリを選択してください。

  1. ダウンロードし、パッチをあてます。 ダウンロードします。
    1. cd /tmp1
    2. git clone git://git.ffmpeg.org/rtmpdump rtmpdump
    3. cd rtmpdump
    4. curl -O# http://mylabo.webcrow.jp/data/diff/rtmpdump-2.4-polarssl-1.3.diff
    5. patch -p1 < rtmpdump-2.4-polarssl-1.3.diff
  2. 32bit版をインストールします。
    • static
    • shared
    1. make CROSS_COMPILE=i686-w64-mingw32- SYS=mingw CRYPTO=POLARSSL SHARED=no INC=-I/x86/include XLDFLAGS=-L/x86/lib make CROSS_COMPILE=i686-w64-mingw32- SYS=mingw CRYPTO=GNUTLS SHARED=no INC=-I/x86/include XLDFLAGS=-L/x86/lib XLIBS=-lcrypt32
    2. cd librtmp
    3. make install prefix=/x86 mandir=/x86/share/man SYS=mingw CRYPTO=POLARSSL SHARED=no PRIVATE_LIBS="-lpolarssl -lws2_32 -lwinmm" make install prefix=/x86 mandir=/x86/share/man SYS=mingw CRYPTO=GNUTLS SHARED=no
    4. cd ..
    5. make clean
    1. make CROSS_COMPILE=i686-w64-mingw32- SYS=mingw CRYPTO=POLARSSL SHARED=yes INC=-I/x86/include XLDFLAGS=-L/x86/lib make CROSS_COMPILE=i686-w64-mingw32- SYS=mingw CRYPTO=GNUTLS SHARED=yes INC=-I/x86/include XLDFLAGS=-L/x86/lib XLIBS=-lcrypt32
    2. cd librtmp
    3. make install prefix=/x86 mandir=/x86/share/man SYS=mingw CRYPTO=POLARSSL SHARED=yes PRIVATE_LIBS="-lpolarssl -lws2_32 -lwinmm" make install prefix=/x86 mandir=/x86/share/man SYS=mingw CRYPTO=GNUTLS SHARED=yes
    4. cd ..
    5. make clean
  3. 64bit版をインストールします。
    • static
    • shared
    1. make CROSS_COMPILE=x86_64-w64-mingw32- SYS=mingw CRYPTO=POLARSSL SHARED=no INC=-I/x64/include XLDFLAGS=-L/x64/lib make CROSS_COMPILE=x86_64-w64-mingw32- SYS=mingw CRYPTO=GNUTLS SHARED=no INC=-I/x64/include XLDFLAGS=-L/x64/lib XLIBS=-lcrypt32
    2. cd librtmp
    3. make install prefix=/x64 mandir=/x64/share/man SYS=mingw CRYPTO=POLARSSL SHARED=no PRIVATE_LIBS="-lpolarssl -lws2_32 -lwinmm" make install prefix=/x64 mandir=/x64/share/man SYS=mingw CRYPTO=GNUTLS SHARED=no
    4. cd ..
    5. make clean
    1. make CROSS_COMPILE=x86_64-w64-mingw32- SYS=mingw CRYPTO=POLARSSL SHARED=yes INC=-I/x64/include XLDFLAGS=-L/x64/lib make CROSS_COMPILE=x86_64-w64-mingw32- SYS=mingw CRYPTO=GNUTLS SHARED=yes INC=-I/x64/include XLDFLAGS=-L/x64/lib XLIBS=-lcrypt32
    2. cd librtmp
    3. make install prefix=/x64 mandir=/x64/share/man SYS=mingw CRYPTO=POLARSSL SHARED=yes PRIVATE_LIBS="-lpolarssl -lws2_32 -lwinmm" make install prefix=/x64 mandir=/x64/share/man SYS=mingw CRYPTO=GNUTLS SHARED=yes
    4. cd ..
    5. make clean

以上で完了です。

OpenJPEGのインストール

  1. ダウンロードします。
    1. cd /tmp1
    2. git clone https://github.com/uclouvain/openjpeg.git openjpeg
    3. cd openjpeg
    4. mkdir -p build/{x86,x86_64}
  2. 32bit版をインストールします。
    • static
    • shared
    1. cd /tmp1/openjpeg/build/x86
    2. cmake -G "MSYS Makefiles" -DCMAKE_TOOLCHAIN_FILE=../../tools/ctest_scripts/toolchain-mingw32.cmake ../.. -DCMAKE_INSTALL_PREFIX=/x86 -DBUILD_SHARED_LIBS=OFF -DBUILD_CODEC=OFF -DCMAKE_BUILD_TYPE=Release
    3. make -j3
    4. make install/strip
    1. cd /tmp1/openjpeg/build/x86
    2. cmake -G "MSYS Makefiles" -DCMAKE_TOOLCHAIN_FILE=../../tools/ctest_scripts/toolchain-mingw32.cmake ../.. -DCMAKE_INSTALL_PREFIX=/x86 -DBUILD_SHARED_LIBS=ON -DBUILD_CODEC=OFF -DCMAKE_BUILD_TYPE=Release
    3. make -j3
    4. make install/strip
  3. 64bit版をインストールします。
    • static
    • shared
    1. cd /tmp1/openjpeg/build/x86_64
    2. cmake -G "MSYS Makefiles" -DCMAKE_TOOLCHAIN_FILE=../../tools/ctest_scripts/toolchain-mingw64.cmake ../.. -DCMAKE_INSTALL_PREFIX=/x64 -DBUILD_SHARED_LIBS=OFF -DBUILD_CODEC=OFF -DCMAKE_BUILD_TYPE=Release
    3. make -j3
    4. make install/strip
    1. cd /tmp1/openjpeg/build/x86_64
    2. cmake -G "MSYS Makefiles" -DCMAKE_TOOLCHAIN_FILE=../../tools/ctest_scripts/toolchain-mingw64.cmake ../.. -DCMAKE_INSTALL_PREFIX=/x64 -DBUILD_SHARED_LIBS=ON -DBUILD_CODEC=OFF -DCMAKE_BUILD_TYPE=Release
    3. make -j3
    4. make install/strip

以上で完了です。

FreeTypeのインストール

  1. ダウンロードします。
    1. cd /tmp1
    2. git clone git://git.sv.gnu.org/freetype/freetype2.git freetype
    3. cd freetype
    4. git checkout refs/tags/VER-2-6-3
    5. ./autogen.sh
  2. 32bit版をインストールします。
    • static
    • shared
    1. CFLAGS=-I/x86/include LDFLAGS=-L/x86/lib ./configure --prefix=/x86 --host=i686-w64-mingw32 --without-png --enable-fast-install --enable-static --disable-shared
    2. make -j3
    3. make install
    4. make distclean
    1. CFLAGS=-I/x86/include LDFLAGS=-L/x86/lib ./configure --prefix=/x86 --host=i686-w64-mingw32 --without-png --enable-fast-install --disable-static --enable-shared
    2. make -j3
    3. make install
    4. make distclean
  3. 64bit版をインストールします。
    • static
    • shared
    1. CFLAGS=-I/x64/include LDFLAGS=-L/x64/lib ./configure --prefix=/x64 --host=x86_64-w64-mingw32 --without-png --enable-fast-install --enable-static --disable-shared
    2. make -j3
    3. make install
    4. make distclean
    1. CFLAGS=-I/x64/include LDFLAGS=-L/x64/lib ./configure --prefix=/x64 --host=x86_64-w64-mingw32 --without-png --enable-fast-install --disable-static --enable-shared
    2. make -j3
    3. make install
    4. make distclean

以上で完了です。

ソースファイルの削除

MSYS\tmp には各ライブラリのソースファイルが残っています。
必要ない場合は、削除しても構いません。

削除手順は以下のとおりです。

  1. cd /tmp1
  2. rm -rf l-smash
  3. rm -rf mbedtls
  4. rm -rf gmp*
  5. rm -rf nettle*
  6. rm -rf gnutls*
  7. rm -rf rtmpdump
  8. rm -rf openjpeg
  9. rm -rf freetype
  10. rm -rf cc*
Comment Form is loading comments...