私はwafビルドツールを初めて使いました。私はグーグルで答えを求めましたが、役に立たないリンクはほとんどありません。wafスクリプトでosプラットフォームを指定する方法は?
誰でも知っていますか?
wscriptは本質的にはPythonスクリプトなので、os
パッケージを使用することができますか?
私はwafビルドツールを初めて使いました。私はグーグルで答えを求めましたが、役に立たないリンクはほとんどありません。wafスクリプトでosプラットフォームを指定する方法は?
誰でも知っていますか?
wscriptは本質的にはPythonスクリプトなので、os
パッケージを使用することができますか?
import
は、他のPythonスクリプトを使用できるあらゆる時点で使用できます。
という属性を評価する代わりに、関数os-agnosticをプログラミングする場合は、platform
を使用することをお勧めします。
import platform
top = '.'
out = 'build_directory'
def configure(ctx):
pass
def build(ctx):
if platform.system().lower().startswith('win'):
cp = 'copy'
else:
cp = 'cp'
ctx(rule=cp+' ${SRC} ${TGT}', source='foo.txt', target='bar.txt')
DEST_*
変数を使用代わりに、os
モジュールを使用しないでください:オン
ctx.load('compiler_c')
print (ctx.env.DEST_OS, ctx.env.DEST_CPU, ctx.env.DEST_BINFMT)
をwaf book OSに依存しないでBuild-related commands例を書く
は、このようなものを見ることができます私のマシンではこれは('linux', 'x86_64', 'elf')
を印刷します。その後、あなたはその上にディスパッチすることができます。
他のpythonスクリプトでも可能な限り、どこでも 'import os'を使うことができます。 'wscript'sは多かれ少なかれプラットフォームに依存しません。私は個人的に 'platform'を使用し、' os'は使用しません。 WindowsとLinux/Unix上で動作が異なる場合は、platform.system()if lower()。startswith( 'win'): a = 'x' else: a = 'y' '。これはあなたの質問に答えますか?それから私は答えとして完全な例を挙げます。 – user69453
@ user69453:あなたのコメントを答えにすることをお勧めします。質問が変わると編集することができます。 – neuro