「OpenFOAM v2006 リリースノート」の版間の差分

編集の要約なし
74行目: 74行目:
統合と改善は次のバージョンに向けて継続します。
統合と改善は次のバージョンに向けて継続します。


'''追加のコンパイルパラメータ
'''
wmakeシステムは、以下の環境パラメータを通過するようになりました。
FOAM_EXTRA_CFLAGS
FOAM_EXTRA_CXXFLAGS
FOAM_EXTRA_LDFLAGS
OpenFOAMコードを統合する際に追加のコンパイルパラメータが必要な状況やコンパイルパラメータのカスタムチューニングをサポートします。
'''Allwmake は
'''
優先的に Allwmake.override スクリプトを扱い、パッケージングツールが代替の Allwmake スクリプトを定義できるようにします。
'''より多くのポータブルパス
'''
wmakeツールチェーンのバイナリ(wmkdepend, lemon, ....)は、platforms/toolsの下に配置されました(以前はwmake/platformsの下にインストールされていました)。これは、ソースのみのパッケージやバイナリのみのパッケージを作成する際に役立ちます。
'''コンパイラの派生物をより簡単に扱えるようになりました。
'''
これで、コンパイラのバリアントを作成するために[-+.~]で分割することが可能になりました。以下のようなものです。
WM_COMPILER=クラングベンダーのような単純な可読名
異なる情報を組み合わせた将来の定義
例えば
<syntaxhighlight>
WM_COMPILER=Clang~openmp
WM_COMPILER=Clang+cuda~openmp
</syntaxhighlight>
spackが使っているのと同じように、+ (足し算) と ~ (引き算) の記法を使います。
'''オプションで wmake ルールをオーバーライド
'''
オプションの wmake ルールのオーバーライドをサポートします。存在する場合、コンパイラー・ファミリーのオーバーライド・ルールは、コンパイラー・ファミリーの一般的なルールが含まれた後に含まれます。これにより、動的に生成されたコンテンツにいくつかの値をオーバーライドするための中心的な手段を含めることができます。
例えば、異なるバージョンの gcc (システムコンパイラ) を扱うために wmake/rules/linux64Gcc/override には以下のようなものが含まれています。
<syntaxhighlight>
ifneq (,$(findstring 9, $(WM_COMPILER)))
    cc  := gcc-9
    CC  := g++-9 -std=c++11
endif
</syntaxhighlight>