問題タブ [scons]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
makefile - CプログラムからのC++関数の呼び出し
CプログラムからC++関数を呼び出すにはどうすればよいですか?それは可能ですか?それが可能であればどうすればよいですか?ありがとうございました。
build-process - SCons 用のライブラリ/フレームワークはありますか?
SCons を使用する各プロジェクトは、車輪の再発明を行っているようです。誰かのディレクトリ レイアウト、および/またはバリアント ビルド (デバッグ/リリース)、および/またはテスト フレームワーク、および/またはベスト プラクティスのソリューションを喜んで取り上げます。
あまりにも単純ではないいくつかの例でも役に立ちます。
build-process - 組み込み開発/クロスコンパイルに最適なビルドシステム
現在、dsPIC を使用して開発を行っていますが、MPLAB が好きというわけではありません。私は実際にメイクファイル プロジェクトで Visual Studio を使用しています。現在、私は SCons を使用していますが、代替コンパイラを使用するためのセットアップに関する役立つガイドを見つけた後、かなりうまく機能しているようです。それでも、私は不思議に思わずにはいられません。これのためのより良いビルドシステムはありますか? また、Sconsにこれをさせるより良い方法はありますか?
scons - scons では、ビルドするターゲットをどのように注入できますか?
オフになる前に終了する他の多くのターゲットと gzip のいくつかのログ ファイルに依存する「クリーンアップ」ターゲットを挿入したいと考えています。一部のツールが失敗する可能性があるため、早期に gzip しないことが重要です。
Scons が実行するクリーンアップ ターゲットを挿入するにはどうすればよいですか?
たとえば、ターゲット foo と bar があります。ユーザーが指定しなくても、foo と bar に依存し、両方が完了した後に実行される「クリーンアップ」と呼ばれる新しいカスタム ターゲットを挿入したい
次のように入力してもらいます。
ただし、ユーザーが入力したかのように scons を実行する
クリーンアップ ターゲットを作成して sys.argv に追加しようとしましたが、コードに到達するまでに scons が sys.argv を既に処理しているように見えるため、手動で追加した「クリーンアップ」ターゲットを処理しません。 sys.argv.
python - scons で外部スクリプトを呼び出すにはどうすればよいですか?
scons を使用してラテックス ドキュメントを作成しようとしています。特に、\input{} であるテーブルを含むファイルをメイン ドキュメントに生成する python プログラムを呼び出す scons を取得したいと考えています。私は scons のドキュメントに目を通しましたが、何をする必要があるのかすぐにはわかりません。
私が達成したいことは、本質的にこのメイクファイルで得られるものです:
これをsconsで表現するにはどうすればよいですか?
scons - SCons が変更されたディレクトリ内のインストール済みファイルを更新する方法は?
私がやっている:
これは初めてうまくいきます。しかし、'data' フォルダ内の何かを変更してscons -Q install
もう一度実行すると、ファイルが変更され再インストールが必要であるにもかかわらず、「インストールは最新です」と表示されます。
ディレクトリ(およびサブディレクトリ)には多くのファイルがあるため、それらを明示的にリストすることを避けることができれば、それが最善です。チップ?
scons - scons の env.Clone() はディープコピーを行いません
SCons スクリプトで、他の環境を派生させたベース環境を作成します。このようなもの :
このようにして、ベース環境からさらに環境 (リリース/デバッグ/インストルメント化/pgo) を作成できます。SCons のドキュメントでは、env.Clone() は env のディープ コピーを行うと言われています。しかし、実際にはうまくいかないようです。この例では、基本環境に -DNDEBUG および -O3 フラグが適用されるためです。
AIが何か悪いことをしている?
編集:これが実際のコードです。このコードには 2 つの print ステートメントがあり、同じものを出力する必要があると思いますが、そうではありません。出力は次のとおりです。
出力 :
編集2:
SCons のバグですhttp://scons.tigris.org/issues/show_bug.cgi?id=2390
編集3:
1.3.1 および 2.0.1 で修正予定
python - 依存関係が変更された場合にのみ実行するように SCons コマンド ビルダーを制限するにはどうすればよいですか?
scons でコマンド ビルダーを使用して、特定のファイルを生成するために特定のスクリプトを呼び出す必要があることを指定しています。
ファイルが以前に生成されてから変更された場合にのみ、スクリプトを実行したいと思います。コマンドビルダーのデフォルトの動作は、常にスクリプトを実行するようです。どうすればこれを変更できますか?
これは私の現在のSConstructです:
unit-testing - 単体テスト ビルド ファイル
ビルド ファイルの単体テストに最適なポリシーは何ですか?
質問する理由は、私の会社が信頼性の高い組み込みデバイスを製造しているからです。ソフトウェア パッチは、お客様が配布するのに何千ドルもかかるため、オプションではありません。このため、非常に厳格なコード品質手順 (単体テスト、コード レビュー、トレーサビリティなど) を採用しています。これらの手順はビルド ファイルに適用されています (知っておく必要がある場合は autotools です。残念です) が、ハックのように感じます。
ええと...プロジェクトがコンパイルされます...ビルドファイルをレビュー済みおよびユニットテスト済みとしてマークします。
もっと良い方法があるはずです。アイデア?