2016-07-21 13 views
1

https://www.gnu.org/software/autoconf-archive/ax_valgrind_check.html에 설명 된 다음 m4 매크로를 사용하여 valgrind를 내 단위 테스트 프레임 워크에 통합하려고합니다. 내 configure.ac에서 나는 두 ./m4에 제공된 .m4 script을 배치 한예기치 않은 토큰`AX_VALGRIND_CHECK '근처에서 구문 오류가 발생했습니다.

AC_CONFIG_MACRO_DIR([m4]) 
... 
AX_VALGRIND_DFLT() 
AX_VALGRIND_CHECK 

이는/usr/share/aclocal을한다. 등 구성 스크립트를 생성하려면, 나는 다음과 같은 실행

aclocal && autoconf && autoreconf --no-recursive --install && \ 
autoheader && libtoolize --force && automake --force-missing \ 
--add-missing 

그러나 나는 ./configure 나는 다음과 같은 오류를 내려면 실행을 갈 때가 내 구성 스크립트를 얻으려면 어떻게해야합니까 무엇

./configure: line 12914: syntax error near unexpected token `AX_VALGRIND_CHECK' 
./configure: line 12914: `AX_VALGRIND_CHECK' 

위의 .m4 script에서 제공하는 매크로로 작업하십시오. 나는 어떤 다른 정보를 제공해야할지 모르겠다.


아래는 제 configure.ac입니다. 나는 어떤 점에서이 configure.ac을 사용하여 휴식을 취할 것인가를 찾으려고 노력할 것이다. @Kusalananda가 게시 한 autoreconf -i에 의해 생성 된 것.

AC_INIT([binary_balanced], [0.1], [[email protected]])       
AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects])      
AC_CONFIG_SRCDIR([./src/])              
AC_CONFIG_HEADERS([config.h])             
AC_CONFIG_MACRO_DIR([m4])              
AC_PROG_CC                  
AM_PROG_AR                  
AM_PATH_CHECK                 

LT_INIT                   

# Checks for programs.               
AC_PROG_CC                  

# Checks for libraries.               
AX_VALGRIND_DFLT()                
AX_VALGRIND_CHECK                

# Checks for header files.              

# Checks for typedefs, structures, and compiler characteristics.    

# Checks for library functions.             

AC_CONFIG_FILES([Makefile              
       src/Makefile             
       tests/Makefile])            
AC_OUTPUT 

답변

0

문제를 다시 만들 수 없습니다.

나는 또한 autoreconf -i 이외의 다른 것을 거의 실행하지 않습니다. 이렇게하면 필요에 따라 다른 자동 도구가 다시 실행됩니다.

은 내가 ./m4 디렉토리에 ax_valgrind_check.m4를 넣고 스텁 configure.ac 생성 : 그래서 매크로가 선택됩니다

$ ./configure 
checking for a BSD-compatible install... /Users/kk/sw/bin/ginstall -c 
checking whether build environment is sane... yes 
checking for a thread-safe mkdir -p... /Users/kk/sw/bin/gmkdir -p 
checking for gawk... gawk 
checking whether make sets $(MAKE)... yes 
checking whether make supports nested variables... yes 
checking for valgrind... no 

(:

AC_PREREQ([2.69]) 
AC_INIT([test],[0.0.0-dev]) 
AM_INIT_AUTOMAKE([foreign]) 
AC_CONFIG_MACRO_DIR([m4]) 
AX_VALGRIND_DFLT() 
AX_VALGRIND_CHECK 

autoreconf -i를 실행하면 다음과 같은 않는 configure 스크립트를 만듭니다 그들은 당신의 경우가 아니었다).

따라서 autoreconf -i을 실행하여 문제가 없는지 확인하십시오.

이 기능을 사용할 수 없다면 현재 사용중인 모든 Unix에 대해 autoconf-archive 패키지를 설치하십시오. 이 매크로도 포함됩니다.