From ed2710d758f7fec6338a94f450c5e56c18babe32 Mon Sep 17 00:00:00 2001
From: Lev Walkin <vlm@lionet.info>
Date: Wed, 11 Aug 2004 05:26:29 +0000
Subject: [PATCH] C++ testing

---
 asn1c/tests/Makefile.am       |  7 ++++++-
 asn1c/tests/Makefile.in       |  6 ++++--
 asn1c/tests/check-assembly.sh | 15 ++++++++++-----
 3 files changed, 20 insertions(+), 8 deletions(-)

diff --git a/asn1c/tests/Makefile.am b/asn1c/tests/Makefile.am
index 7c9bcb8f..78cf68e3 100644
--- a/asn1c/tests/Makefile.am
+++ b/asn1c/tests/Makefile.am
@@ -2,9 +2,14 @@
 check_SCRIPTS = check-assembly.sh
 
 TESTS_ENVIRONMENT= ./check-assembly.sh
+
+if CPLUSPLUS_FOUND
+TESTS = check-*.c check-*.cc	## Include C++ test filed (.cc)
+else
 TESTS = check-*.c
+endif
 
-EXTRA_DIST = ${check_SCRIPTS} check-*.c
+EXTRA_DIST = ${check_SCRIPTS} check-*.c*
 
 clean:
 	for t in test-*; do rm -rf $$t; done
diff --git a/asn1c/tests/Makefile.in b/asn1c/tests/Makefile.in
index 6f26e1ab..a64bc54f 100644
--- a/asn1c/tests/Makefile.in
+++ b/asn1c/tests/Makefile.in
@@ -62,6 +62,8 @@ CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
 CONFIGURE_DEPENDS = @CONFIGURE_DEPENDS@
+CPLUSPLUS_FOUND_FALSE = @CPLUSPLUS_FOUND_FALSE@
+CPLUSPLUS_FOUND_TRUE = @CPLUSPLUS_FOUND_TRUE@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CXX = @CXX@
@@ -158,8 +160,8 @@ target_os = @target_os@
 target_vendor = @target_vendor@
 check_SCRIPTS = check-assembly.sh
 TESTS_ENVIRONMENT = ./check-assembly.sh
-TESTS = check-*.c
-EXTRA_DIST = ${check_SCRIPTS} check-*.c
+TESTS = check-*.c*
+EXTRA_DIST = ${check_SCRIPTS} check-*.c*
 all: all-am
 
 .SUFFIXES:
diff --git a/asn1c/tests/check-assembly.sh b/asn1c/tests/check-assembly.sh
index a1756b4d..5a67ab66 100755
--- a/asn1c/tests/check-assembly.sh
+++ b/asn1c/tests/check-assembly.sh
@@ -9,7 +9,7 @@
 source=$(echo "$1" | sed -e 's/.*\///')
 testno=`echo "$source" | cut -f2 -d'-' | cut -f1 -d'.'`
 
-args=$(echo "$source" | sed -e 's/\.c$//')
+args=$(echo "$source" | sed -e 's/\.c[c]*$//')
 testdir=test-${args}
 
 OFS=$IFS
@@ -33,15 +33,20 @@ set +x
 
 # Create a Makefile for the project.
 cat > Makefile <<EOM
-CFLAGS=-I. -Wall -g ${CFLAGS} -DEMIT_ASN_DEBUG
-SRCS=`echo *.c`
-OBJS=\${SRCS:.c=.o}
+COMMON_FLAGS= -I. -Wall -g -DEMIT_ASN_DEBUG
+CFLAGS=\${COMMON_FLAGS} ${CFLAGS}
+CXXFLAGS=\${COMMON_FLAGS} ${CXXFLAGS}
+SRCS=`echo *.c*`
+OBJS1=\${SRCS:.c=.o}
+OBJS=\${OBJS1:.cc=.o}
 check-executable: \${OBJS}
 	\${CC} \${CFLAGS} -o check-executable \${OBJS}
 .SUFFIXES:
-.SUFFIXES: .c .o
+.SUFFIXES: .c .cc .o
 .c.o:
 	\${CC} \${CFLAGS} -o \$@ -c \$<
+.cc.o:
+	\${CXX} \${CXXFLAGS} -o \$@ -c \$<
 check: check-executable
 	./check-executable
 clean:
-- 
GitLab