我正在使用autotools來構建我的項目,並且我希望將AM_CPPFLAGS設置爲-I $(top_srcdir)/ include。如何判斷AC_SUBST是否不會在參數中替換變量?
https://stackoverflow.com/a/325436/2592351這個答案幫助了我,我正在做「包括$(top_srcdir)/ include」黑客,它的工作原理。
但是我想在這裏描述的「AC_SUBST」的方式,因爲它看起來更乾淨。問題是,當我加入這個我configure.ac:
AC_SUBST([AM_CPPFLAGS], [-I$(top_srcdir)/include])
然後$(top_srcdir)過於膨脹很快,我得到AM_CPPFLAGS = -I /包括子目錄/ Makefile文件{中}。
而我不知道如何逃避它。
[email protected][email protected]/include
-I\$(top_srcdir)/include
-I$$(top_srcdir)/include
所有這些因各種原因失敗。
請幫忙。我應該如何編寫AC_SUBST,以便$(top_srcdir)在轉換成Makefile {,.in}之前未被轉義?或者,也許我應該使用AC_SUBST以外的東西?
根本沒有測試,但嘗試'[-I @ S | @@ {:@ top_srcdir @:} @/include]''。 https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/Quadrigraphs.html#Quadrigraphs – zwol
謝謝@Zack,但它也被過早取代。 –
Drat。你可以發佈'grep AM_CPPFLAGS config.status configure'的輸出嗎(當然是在運行configure之後)? – zwol