2012-08-04 48 views
1

我有以下configure.ac自動工具命名錯誤

AC_PREREQ([2.69]) 
AC_INIT([FULL-PACKAGE-NAME], [VERSION], [BUG-REPORT-ADDRESS]) 
AC_PROG_CXX 
AC_OUTPUT 

並生成配置,包含以下幾行:(grep core configure

1572: rm -f core *.core core.conftest.* && 
2143:rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext 
2210:rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext 
2212:rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext 
2214:rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext 

樂趣開始的事實,我有文件夾,命名core。所以./configure產生

checking for g++... g++ 
checking whether the C++ compiler works... yes 
checking for C++ compiler default output file name... a.out 
checking for suffix of executables... 
checking whether we are cross compiling... no 
checking for suffix of object files... o 
checking whether we are using the GNU C++ compiler... rm: cannot remove 'core': Is a directory 
yes 
checking whether g++ accepts -g... rm: cannot remove 'core': Is a directory 
yes 
configure: creating ./config.status 
rm: cannot remove 'core': Is a directory 

我在谷歌發現,它是在編譯器崩潰的情況下完成的。但是禁用這個檢查是否有什麼好方法(我真的不關心可以在autoconf測試中核心轉儲的編譯器)。 重命名文件夾不是我想要做的。

回答

1

但它是禁用此檢查

沒有,沒有任何好的辦法。

重命名文件夾不是我想要做的。

在這種情況下,我建議在某處作爲autoconf「bootstrap.sh」腳本後,修補「配置」,或者運行autoreconf後不管:

#!/bin/sh 
autoreconf -fvi # or whatever autoreconf needs 
sed -i 's/rm -f core/rm -f/g' configure 

注意sed -i不是一個通用的解決方案,如它依賴於GNU sed,但想出一個便攜式解決方案並不難。

+0

謝謝。將'core'移至'src/core'。我必須尊重傳統。 – KAction 2012-08-07 03:08:15