トップ > 最終調整 と動作確認 >
最終調整

  

最終調整

GIMPのビルドは終わりましたが、まだまだ、やらなくてはならないことがあります。 不要なフォルダやファイルの削除と不足している動的リンクライブラリの追加および一部の動的リンクライブラリの移動です。

現状のバックアップ

まずは、GIMPのインストール先ディレクトリである /working/gimp をバックアップします。 MinGW Shell上で以下を実行します。


cd /working/
tar cvf gimp.tar gimp

 
  
次の作業では、GIMPの動作に不要なフォルダやファイルを削除します。 しかし、それらのファイルはGIMPのプラグインの開発には必要となります。
  
そのため、必要な時にいつでも現時点の状態に戻せるようバックアップを行います。

不要ディレクトリやファイルの削除

まずは、GIMPの動作に不要なディレクトリを削除します。 MinGW Shell上で以下を実行します。


rm -r /working/gimp/include
rm -r /working/gimp/man
rm -r /working/gimp/etc/gtk-2.0
rm -r /working/gimp/etc/pango
rm -r /working/gimp/lib/babl-0.1
rm -r /working/gimp/lib/gdbus-2.0
rm -r /working/gimp/lib/gettext
rm -r /working/gimp/lib/gio
rm -r /working/gimp/lib/glib-2.0
rm -r /working/gimp/lib/gtk-2.0/include
rm -r /working/gimp/lib/pango
rm -r /working/gimp/lib/pkgconfig
rm -r /working/gimp/share/aclocal
rm -r /working/gimp/share/applications
rm -r /working/gimp/share/bash-completion
rm -r /working/gimp/share/doc
rm -r /working/gimp/share/gdb
rm -r /working/gimp/share/gettext
rm -r /working/gimp/share/glib-2.0
rm -r /working/gimp/share/gtk-2.0
rm -r /working/gimp/share/gtk-doc
rm -r /working/gimp/share/info
rm -r /working/gimp/share/man
rm -r /working/gimp/share/pkgconfig
rm -r /working/gimp/share/xml

 

続いて、静的リンクライブラリおよび関連ファイルを削除します。 MinGW Shell上で以下を実行します。


find /working/gimp/ -name '*.a'  -exec rm {} \;
find /working/gimp/ -name '*.la' -exec rm {} \;

 
  
*.aファイルは、UNIX系OSの静的リンクライブラリの拡張子です。 GIMPのビルドは終わっているため、もう不要です。
  
*.laファイルは、*.aファイルに対応しているLibtoolライブラリの拡張子です。 ライブラリはプラットフォームによって仕組みが異なります。 その差異を吸収するためのツールがLibtoolです。 GIMPのビルドは終わっているため、もう不要です。

続いて、動的リンクライブラリ関連の不要ファイルを削除します。 MinGW Shell上で以下を実行します。


find /working/gimp/ -name '*.def' -exec rm {} \;

 
  
*.defファイルは、モジュール定義ファイルです。 モジュール定義ファイルは、Windowsの動的リンクライブラリ(*.dllファイル)の定義情報を持ちます。 GIMPのビルドは終わっているため、もう不要です。

最後に、その他の不要ファイルを削除します。 MinGW Shell上で以下を実行します。


rm /working/gimp/bin/autopoint
rm /working/gimp/bin/bmp2tiff.exe
rm /working/gimp/bin/bunzip2.exe
rm /working/gimp/bin/bzcat.exe
rm /working/gimp/bin/bzcmp
rm /working/gimp/bin/bzdiff
rm /working/gimp/bin/bzegrep
rm /working/gimp/bin/bzfgrep
rm /working/gimp/bin/bzgrep
rm /working/gimp/bin/bzip2.exe
rm /working/gimp/bin/bzip2recover.exe
rm /working/gimp/bin/bzless
rm /working/gimp/bin/bzmore
rm /working/gimp/bin/cjpeg.exe
rm /working/gimp/bin/djpeg.exe
rm /working/gimp/bin/dvipdf
rm /working/gimp/bin/envsubst.exe
rm /working/gimp/bin/eps2eps
rm /working/gimp/bin/fax2ps.exe
rm /working/gimp/bin/fax2tiff.exe
rm /working/gimp/bin/fc-cache.exe
rm /working/gimp/bin/fc-cat.exe
rm /working/gimp/bin/fc-list.exe
rm /working/gimp/bin/fc-match.exe
rm /working/gimp/bin/fc-pattern.exe
rm /working/gimp/bin/fc-query.exe
rm /working/gimp/bin/fc-scan.exe
rm /working/gimp/bin/fc-validate.exe
rm /working/gimp/bin/font2c
rm /working/gimp/bin/freetype-config
rm /working/gimp/bin/gdbus.exe
rm /working/gimp/bin/gdbus-codegen
rm /working/gimp/bin/gdk-pixbuf-csource.exe
rm /working/gimp/bin/gdk-pixbuf-pixdata.exe
rm /working/gimp/bin/gdk-pixbuf-query-loaders.exe
rm /working/gimp/bin/gegl.exe
rm /working/gimp/bin/gettext.exe
rm /working/gimp/bin/gettext.sh
rm /working/gimp/bin/gettextize
rm /working/gimp/bin/gif2tiff.exe
rm /working/gimp/bin/gimp-console.exe
rm /working/gimp/bin/gimp.exe
rm /working/gimp/bin/gio-querymodules.exe
rm /working/gimp/bin/glib-compile-resources.exe
rm /working/gimp/bin/glib-compile-schemas.exe
rm /working/gimp/bin/glib-genmarshal.exe
rm /working/gimp/bin/glib-gettextize
rm /working/gimp/bin/glib-mkenums
rm /working/gimp/bin/gobject-query.exe
rm /working/gimp/bin/gresource.exe
rm /working/gimp/bin/gs.exe
rm /working/gimp/bin/gsbj
rm /working/gimp/bin/gsc.exe
rm /working/gimp/bin/gsdj
rm /working/gimp/bin/gsdj500
rm /working/gimp/bin/gsettings.exe
rm /working/gimp/bin/gslj
rm /working/gimp/bin/gslp
rm /working/gimp/bin/gsnd
rm /working/gimp/bin/gspawn-win32-helper.exe
rm /working/gimp/bin/gsx.exe
rm /working/gimp/bin/gspawn-win32-helper-console.exe
rm /working/gimp/bin/gtk-builder-convert
rm /working/gimp/bin/gtk-demo.exe
rm /working/gimp/bin/gtk-query-immodules-2.0.exe
rm /working/gimp/bin/gtk-update-icon-cache.exe
rm /working/gimp/bin/gtk-update-icon-cache.exe.manifest
rm /working/gimp/bin/icc2ps.exe
rm /working/gimp/bin/icclink.exe
rm /working/gimp/bin/icctrans.exe
rm /working/gimp/bin/iconv.exe
rm /working/gimp/bin/jpegicc.exe
rm /working/gimp/bin/jpegtran.exe
rm /working/gimp/bin/libpng-config
rm /working/gimp/bin/libpng15-config
rm /working/gimp/bin/lprsetup.sh
rm /working/gimp/bin/msgattrib.exe
rm /working/gimp/bin/msgcat.exe
rm /working/gimp/bin/msgcmp.exe
rm /working/gimp/bin/msgcomm.exe
rm /working/gimp/bin/msgconv.exe
rm /working/gimp/bin/msgen.exe
rm /working/gimp/bin/msgexec.exe
rm /working/gimp/bin/msgfilter.exe
rm /working/gimp/bin/msgfmt.exe
rm /working/gimp/bin/msggrep.exe
rm /working/gimp/bin/msginit.exe
rm /working/gimp/bin/msgmerge.exe
rm /working/gimp/bin/msgunfmt.exe
rm /working/gimp/bin/msguniq.exe
rm /working/gimp/bin/ngettext.exe
rm /working/gimp/bin/pal2rgb.exe
rm /working/gimp/bin/pango-querymodules.exe
rm /working/gimp/bin/pango-view.exe
rm /working/gimp/bin/pdf2dsc
rm /working/gimp/bin/pdf2ps
rm /working/gimp/bin/pdfdetach.exe
rm /working/gimp/bin/pdffonts.exe
rm /working/gimp/bin/pdfimages.exe
rm /working/gimp/bin/pdfinfo.exe
rm /working/gimp/bin/pdfseparate.exe
rm /working/gimp/bin/pdftocairo.exe
rm /working/gimp/bin/pdftohtml.exe
rm /working/gimp/bin/pdftoppm.exe
rm /working/gimp/bin/pdftops.exe
rm /working/gimp/bin/pdftotext.exe
rm /working/gimp/bin/pdfunite.exe
rm /working/gimp/bin/pf2afm
rm /working/gimp/bin/pfbtopfa
rm /working/gimp/bin/poppler-glib-demo.exe
rm /working/gimp/bin/pphs
rm /working/gimp/bin/ppm2tiff.exe
rm /working/gimp/bin/printafm
rm /working/gimp/bin/ps2ascii
rm /working/gimp/bin/ps2epsi
rm /working/gimp/bin/ps2pdf
rm /working/gimp/bin/ps2pdf12
rm /working/gimp/bin/ps2pdf13
rm /working/gimp/bin/ps2pdf14
rm /working/gimp/bin/ps2pdfwr
rm /working/gimp/bin/ps2ps
rm /working/gimp/bin/ps2ps2
rm /working/gimp/bin/ras2tiff.exe
rm /working/gimp/bin/raw2tiff.exe
rm /working/gimp/bin/rdjpgcom.exe
rm /working/gimp/bin/recode-sr-latin.exe
rm /working/gimp/bin/rgb2ycbcr.exe
rm /working/gimp/bin/thumbnail.exe
rm /working/gimp/bin/tiff2bw.exe
rm /working/gimp/bin/tiff2pdf.exe
rm /working/gimp/bin/tiff2ps.exe
rm /working/gimp/bin/tiff2rgba.exe
rm /working/gimp/bin/tiffcmp.exe
rm /working/gimp/bin/tiffcp.exe
rm /working/gimp/bin/tiffcrop.exe
rm /working/gimp/bin/tiffdiff.exe
rm /working/gimp/bin/tiffdither.exe
rm /working/gimp/bin/tiffdump.exe
rm /working/gimp/bin/tifficc.exe
rm /working/gimp/bin/tiffinfo.exe
rm /working/gimp/bin/tiffmedian.exe
rm /working/gimp/bin/tiffset.exe
rm /working/gimp/bin/tiffsplit.exe
rm /working/gimp/bin/unix-lpr.sh
rm /working/gimp/bin/wftopfa
rm /working/gimp/bin/wrjpgcom.exe
rm /working/gimp/bin/wtpt.exe
rm /working/gimp/bin/xgettext.exe
rm /working/gimp/bin/xmlwf
rm /working/gimp/lib/charset.alias

 

動的リンクライブラリの追加

GIMPを実行するために必要な動的リンクライブラリを追加します。 MinGW Shell上で以下を実行します。


cp C:/MinGW/bin/libgcc_s_dw2-1.dll /working/gimp/bin/
cp C:/MinGW/bin/libstdc++-6.dll    /working/gimp/bin/

 
  
上記はMinGWのセットアップ時にインストールされた動的リンクライブラリで、どちらもGCCのライブラリです。
  
つまり、自力でビルドしたわけではない2つのファイルが /working/gimp/ ディレクトリ以下に含まれることになります。
  
GCCをソースからビルドしてインストールすれば、全てのファイルを自力でビルドしたことになります。
  
しかし、GCCをビルドするには、Glibc、MPFR、GMP、MPCが必要になります。
  
なお、GlibcのビルドにはLinuxカーネルのビルドが必要になり、LinuxカーネルのビルドにはBinutilsのビルドが必要となります。
  
このようにたくさんのライブラリが必要になるため自力ではビルドしていません。
  
『全てを自力でビルドしたい!!』という熱い想いを持っている方は、ぜひGCCのMinGW上でのビルドに挑戦してみてください。

動的リンクライブラリの移動

仲間外れになっている動的リンクライブラリを移動します。 MinGW Shell上で以下を実行します。


mv /working/gimp/lib/libgs.dll      /working/gimp/bin/
mv /working/gimp/lib/libgs-9.dll    /working/gimp/bin/
mv /working/gimp/lib/libgs-9-16.dll /working/gimp/bin/

 

不要なシンボルの削除

実行ファイルおよびライブラリに含まれている不要なシンボルを削除します。 MinGW Shell上で以下を実行します。


strip --strip-unneeded /working/gimp/bin/*.exe
strip --strip-debug    /working/gimp/bin/*.dll

 
  
--strip-debug オプションを指定するとデバッグシンボルを削除します。 --strip-unneeded オプションを指定すると再配置に不要なシンボルを削除します。
  
  

まとめ

GIMPのビルド後に不要なフォルダやファイルの削除と不足している動的リンクライブラリの追加および一部の動的リンクライブラリの移動を行う必要があります。

 
メニュー