問題タブ [m4]

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.

0 投票する
0 に答える
38 参照

autotools - autotools 条件テストには、伝統的に余分な「x」があります

autotools でテストを書くとき、x空になる可能性のある変数の前に文字を置くのが伝統的なようです。

状況に応じて、変数variablethatneedscheckingforemptyは通常、空/未定義の値を取りyesますno

コードは/bin/sh使用前にシェルに変換されるため、これは冗長に思えます。または、余分な文字を文字列に配置する正当な理由はありますか?

0 投票する
1 に答える
1163 参照

python - Python で m4 を使用し、インデントと空白を処理する方法

Python で m4 を使用するための適切な一般的な戦略はありますか? 具体的には、Python の空白要件により、m4 の使用はやや厄介になります。たとえば、次のプログラムです。

test01.defとして_

Python プログラムを生成します。

そのため、インデントはオフです。確かに、これを修正できます

ただし、コード構成のインデントを追跡するのが難しくなるため、編集するファイルが見苦しくなります。本当に、私がやりたいことは、最初のプログラムを使用して、インクルードの前に m4 に先頭の空白を食べさせることです。m4 が先頭の空白を食べることが可能かどうかはわかりません。

さらに、Python 固有のマクロ ユーティリティがあることも認識しています。しかし、私はこれらを使用することに興味がありません。これらの X マクロを C や LaTeX などのさまざまな言語で使用する必要があります。m4 はすぐに利用でき、言語に依存しないため、これらの各ケースで m4 を使用するつもりです。そのため、可能な場合は m4 ソリューションを本当に探しています。

0 投票する
1 に答える
424 参照

macros - m4 マクロでテキスト ブロックをインデントする方法

m4 マクロでテキストのブロックを均一にインデントする良い方法はありますか? つまり、マクロ

生成する

テキストのブロック全体を指定された量にインデントする方法が欲しいです。

0 投票する
1 に答える
221 参照

c++ - Automake を使用して bin_SCRIPTS 内の各ファイルにコマンドを適用する

私のプロジェクトには、C/C++ バイナリと共にインストール ルートにコピーされる一連の bash スクリプトがあります。

問題は、これらの BASH スクリプトをインストールする前に、それぞれに対してコマンドを実行する必要があることです。より具体的には、変数を autoconf 出力変数に置き換える必要があります。

Makefile.am でスクリプトが定義されている場所は次のとおりです。

これに対処する標準的な方法があるかどうか疑問に思います。そうでない場合は、それに対処するためのハックを用意したいと思います。ありがとう!

アップデート

私はそれを解決するためのハックを思いつきました.Automakeのレシピは次のとおりです:

しかし、それを行う標準的な方法があるかどうかはまだ疑問です

0 投票する
0 に答える
1208 参照

automake - hunspell を再コンパイルするときに automake に自分のバージョンの aclocal を見つけるように指示する方法は?

現在、次のように、fedora からダウンロードした git ソースから hunspell を再コンパイルしています。

HACKING の手順で述べたように、すべての前提条件をインストールし、ビルド コマンドを実行しました。

そして、私はこのエラーメッセージを受け取りました:

私のコンピュータには automake 1.14 がインストールされています。

システムが「make」しているときに発生する問題のあるステートメントはどれですか。私のaclocalを見つけるようにmakeに指示する方法はありますか?作るときの工程をなぞってみました。リストされた手順を投稿しますか?

皆さんありがとう。

0 投票する
1 に答える
1874 参照

escaping - GNU m4: バッククォート (`) のエスケープ

簡単な GNU m4 の質問ですが、正しい答えが見つかりません。コードセクションを開始/終了するマークダウンヘッダーを出力したい:

3 つのバッククォートを含む GNU M4 マクロを作成するにはどうすればよいですか? 何かのようなもの

0 投票する
1 に答える
106 参照

assembly - m4 の --synclines オプションのコメント記号を変更するには?

m4コマンドラインオプションでプリプロセッサを使用しています--synclines。このオプションは#line <nn>、展開された各複数行の後に行を出力します。

例:

結果:

sr0(reg_0, 3) は 2 行目で発生したため、#line 2各展開の後に m4 が追加されます。

#コメント記号をに変更するにはどうすればよい;ですか? #アセンブラがコメント記号としてサポートしていないためです。

0 投票する
2 に答える
249 参照

linux - autoconf/configure.ac で AC_CHECK_HEADER が失敗した場合、プラットフォームごとに異なるフィードバックを指定する方法は?

configure.acソースルートにあるヘッダーファイルをチェックしています

そして、ヘッダーを提供するさまざまな最も簡単な方法を反映するために、さまざまなプラットフォームでさまざまなフィードバックを提供したいと思います。

  • Debian では、メッセージでエラーになるはずですCouldn't find or include log4c.h. Install log4c using 'sudo apt-get install liblog4c-dev'
  • OpenSUSE では、エラーが発生するはず... Install log4c using 'sudo yum install log4c-devel'です (パッケージ名は調査しませんでしたが、私のドリフトをキャッチしました)。
  • 他のシステム(パッケージ名を調べるのが面倒なところ)では、次のエラーが発生するはずです... Install log4c by fetching ftp://.../log4c.tar.gz and installing with './configure && make && make install' in the source root

  • マクロをチェックしましたが、 inではなくin でAM_CONDITIONAL使用する方法がわかりません( autoconf/automake: conditional compilation based on presents of library? で説明されているように)configure.acMakefile.am
  • esyscmdstackoverflow.com/questions/4627900/m4-executing-a-shell-command で実行するためのヒントを見つけましたが、実行しても何も出力esyscmd (/bin/echo abc)されません。configure.acautoreconf --install --verbose --force

上記のOSのシェルコマンドを使用しない条件付きマクロの使用法と、事前定義されたマクロ( 、など)へのリンクを説明する両方の回答AC_CHECK_HEADER_DEBIANAC_CHECK_HEADER_SUSE高く評価されます。

以下configure.acは機能しません。

./configureで失敗するため

./configure: line 4427: #include: command not foundが指定されているかどうかに関係なく発生するものもありAC_CHECK_HEADERます。