2016-07-21 36 views
1

Ich versuche valgrind in meinen Unit-Test-Framework zu integrieren, indem Sie den folgenden m4 Makro bei https://www.gnu.org/software/autoconf-archive/ax_valgrind_check.html beschrieben ist. In meinem configure.ac Ich habeSyntaxfehler in der Nähe von unerwartetem Token `AX_VALGRIND_CHECK‘

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

ich die mitgelieferte .m4 script platziert haben, in beiden ./m4 und in/usr/share/aclocal. Zur Erzeugung des Configure-Skript etc, betreibe ich folgendes:

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

aber wenn ich einen Lauf ./configure ich folgende Fehlermeldung

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

bekommen Was muss ich tun, um mein Configure-Skript zu bekommen arbeitet mit dem von den .m4 script oben angegebenen Makros. Ich bin mir nicht sicher, welche anderen Informationen zu liefern sind.


Unten ist meine configure.ac. Ich werde versuchen, an welchem ​​Punkt der Dinge brechen mit diesem configure.ac vs dem von autoreconf -i erzeugt zu finden, wie von @Kusalananda geschrieben.

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 

Antwort

0

Ich kann Ihr Problem nicht neu erstellen.

Ich betreibe auch etwas sehr selten andere als autoreconf -i. Dies führt die anderen Autotools nach Bedarf erneut aus.

habe ich die ax_valgrind_check.m4 in ein ./m4 Verzeichnis und erstellt einen Stub configure.ac:

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 Laufen erzeugt einen configure Skript, das die folgenden tut:

$ ./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 

So die Makros aufgenommen werden, (was sie in deinem Fall nicht waren).

So laufen autoreconf -i zu sehen, ob die Dinge sortiert für Sie aus.

Wenn Sie nicht diese Arbeit kommen, versuchen die autoconf-archive-Paket installieren, was auch immer für Unix Sie sind. Es enthält auch dieses Makro.