木曜日, 11月 27, 2008

Windows版OpenOfficeの64bitへの道(肆) ー 32bitの試み

いよいよ本格に入りますけど、なかなかMicrosoft Visual Studio Expressを使って、32bitを試そうとします。


  1. Cygwinのインストール
    • gccもインストールの必要があり、インストール方法はここに参照します(Cygwin Setup ⇒ All ⇒ Devel)
    • zipコマンドは標準では組み込まれないので、インストール時に手動で選択する必要があります(Cygwin Setup ⇒ All ⇒ Archive)

  2. $SRC_ROOT/external/msiへのファイルのコピー
    • InstMsiA.exe
    • InstMsiW.exe

  3. Visual C++ 2005 Expressの場合、$SRC_ROOT/external/msvcp80へのファイルのコピー
    • msvcm80.dll
    • msvcp80.dll
    • msvcr80.dll

    Visual C++ 2008 Expressの場合、$SRC_ROOT/external/msvcp90へのファイルのコピー
    • Microsoft.VC90.CRT.manifest
    • msvcm90.dll
    • msvcp90.dll
    • msvcr90.dll

  4. $SRC_ROOT/external/unicowsへのファイルのコピー
    • unicows.dll

  5. $SRC_ROOT/external/dbghelpへのファイルのコピー
    • DbgHelp.dll

  6. $SRC_ROOT/external/gdiplusへのファイルのコピー
    • gdiplus.dll

  7. Visual C++ 2008 Expressの場合、C:\Program Files\Common Files\Merge Modulesから、$SRC_ROOT/external/msm90へのファイルのコピー
    • Microsoft_VC90_CRT_x86.msm
    • policy_9_0_Microsoft_VC90_CRT_x86.msm

  8. Visual C++ 2005 Expressの場合、この問題に注意
    • Some modules do not build correctly with MS Platform SDK - April 2005 Edition if the library ($PSDK_HOME/Lib/libcp.lib) is found. Remove/rename/backup that file and restart configure. Details about this problem can be found in issue 49856.

  9. $SRC_ROOT/moz/zipped/へのPrebuild mozilla librariesのコピー

    ソースからコンパイルする時、
    1. http://ftp.mozilla.org/pub/mozilla.org/mozilla/releases/mozilla1.7.5/source/からmozilla-source-1.7.5.tar.bz2或いはmozilla-source-1.7.5.tar.gzをmoz/download/へコピー
    2. ftp://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/historic/vc71から
      vc71-glib-1.2.10-bin.zip
      vc71-libIDL-0.6.8-bin.zipをmoz/download/へコピー
    3. http://ftp.mozilla.org/pub/mozilla.org/mozilla/source/wintools.zipからwintools.zipをmoz/download/へコピー

  10. Native windows programsのシンボリックリンクされたコマンドに関して、以下のコンマンドでリンクを解消します
    cd /usr/bin && for files in awk.exe tar.exe gunzip.exe; do cp -p $files $files.new && rm $files && cp -p $files.new $files && rm $files.new; done

    この中にgunzip.exeでなく、gunzipだけです。
    cd /usr/bin && for files in awk.exe tar.exe gunzip; do cp -p $files $files.new && rm $files && cp -p $files.new $files && rm $files.new; done

  11. 自己インストーラを作成する時、NSISをインストールする必要があります。
    • --with-nsis-path=<absolute path to nsis.exe>

  12. ファイルのエンコードの変更
    1. $SRC_ROOT/libxml2/wntmsci12.pro/misc/build/libxml2-2.6.31/testapi.c
    2. $SRC_ROOT/qadevOOo/runner/helper/OfficeProvider.java

  13. atlwin.hのソース変更
    Microsoft Platform SDK for Windows Server 2003 R3\Include\atl\atlwin.hをここに書かれたように変更する。
      (Line 1753):
    - for(i = 0; i < m_aChainEntry.GetSize(); i++)
    + for(int i = 0; i < m_aChainEntry.GetSize(); i++)

  14. enable the use of tcsh with --with-use-shell=tcsh or the use of bash with --with-use-shell=bash

  15. MinGWでコンパイル時、--with-mingwin=yes(OpenOffice.org 3 MinGW+tcsh Buildを参照)

  16. configureオプション(config_officeに)
    $./configure --help

  17. 環境設定
    • tcsh:source winenv.set
    • sh:source winenv.set.sh

  18. $SRC_ROOTの直下に./bootstrapを実行して、以下の二つのファイルがされたことになります
    1. $SRC_ROOT/solenv/wntmsci12/bin/dmake.exe
    2. $SRC_ROOT/solenv/wntmsci12/bin/guw.exe

  19. フルビルド
    $ dmake
    ビルドのログがほしい時、
    $ dmake 2>&1 | tee ログファイル名

  20. 再フルビルドの時、中間ファイル、出力ファイルを削除して行います。(XXはバージョンによって変わります)
    $ rm -r /cygdrive/c/$SRC_ROOT/*/wntmsciXX.pro
    $SRC_ROOT$ dmake

  21. モジュール毎のビルド
    • 該当モジュールのサブディレクトリに移動:cd $SRC_ROOT/(module)
    • 中間ファイル、出力ファイルを削除:$SRC_ROOT/(module) rm -r wntmsciXX.pro
    • ビルド:$SRC_ROOT/(module) build
      或いは
      $SRC_ROOT/(module) build debug=true
    • solver以下の所定のフォルダにコピー:$SRC_ROOT/(module) deliver

0 件のコメント: