149 lines
4.2 KiB
Diff
149 lines
4.2 KiB
Diff
Do not use the JD_TERMCAP macro since we cannot get the terminfo from
|
|
ncurses pkg-config, but fix the macro to not reference host directories.
|
|
Also add src/test/Makefile.in so that we can use -ltermcap if we want to.
|
|
|
|
Upstream-Status: Pending
|
|
|
|
Signed-off-by: Joe Slater <joe.slater@windriver.com>
|
|
|
|
|
|
--- a/autoconf/aclocal.m4
|
|
+++ b/autoconf/aclocal.m4
|
|
@@ -506,14 +506,10 @@ then
|
|
else
|
|
MISC_TERMINFO_DIRS=""
|
|
fi
|
|
-JD_Terminfo_Dirs="$MISC_TERMINFO_DIRS \
|
|
- /usr/lib/terminfo \
|
|
- /usr/share/terminfo \
|
|
- /usr/share/lib/terminfo \
|
|
- /usr/local/lib/terminfo"
|
|
+
|
|
TERMCAP=-ltermcap
|
|
|
|
-for terminfo_dir in $JD_Terminfo_Dirs
|
|
+for terminfo_dir in $MISC_TERMINFO_DIRS
|
|
do
|
|
if test -d $terminfo_dir
|
|
then
|
|
--- a/autoconf/configure.ac
|
|
+++ b/autoconf/configure.ac
|
|
@@ -249,7 +249,14 @@ AC_CHECK_SIZEOF(size_t)
|
|
JD_CHECK_LONG_LONG
|
|
JD_LARGE_FILE_SUPPORT
|
|
|
|
-JD_TERMCAP
|
|
+dnl Do not use JD_TERMCAP, since we cannot get terminfo from ncurses*-config anymore.
|
|
+dnl Set TERMCAP=-ltermcap and AC_DEFINE(USE_TERMCAP,1,[Define to use termcap])
|
|
+dnl to use libtermcap.
|
|
+TERMCAP=""
|
|
+MISC_TERMINFO_DIRS=""
|
|
+AC_SUBST(TERMCAP)dnl
|
|
+AC_SUBST(MISC_TERMINFO_DIRS)dnl
|
|
+
|
|
JD_GCC_WARNINGS
|
|
|
|
JD_SET_OBJ_SRC_DIR(src)
|
|
@@ -364,7 +371,7 @@ AC_CONFIG_HEADER(src/sysconf.h:src/confi
|
|
dnl AC_CONFIG_SUBDIRS(demo)
|
|
|
|
AC_OUTPUT(Makefile:autoconf/Makefile.in \
|
|
- src/Makefile slsh/Makefile modules/Makefile demo/Makefile \
|
|
+ src/Makefile src/test/Makefile slsh/Makefile modules/Makefile demo/Makefile \
|
|
slang.pc:autoconf/slangpc.in \
|
|
)
|
|
|
|
--- /dev/null
|
|
+++ b/src/test/Makefile.in
|
|
@@ -0,0 +1,90 @@
|
|
+# -*- make -*-
|
|
+TEST_SCRIPTS_SLC = argv syntax scircuit eqs sscanf loops arith array strops \
|
|
+ bstring pack stdio assoc selfload struct nspace path ifeval anytype arrmult \
|
|
+ time utf8 except bugs list regexp method deref naninf overflow sort \
|
|
+ longlong signal dollar req docfun debug qualif compare break multline \
|
|
+ stack misc posixio posdir proc math
|
|
+
|
|
+TEST_SCRIPTS_NO_SLC = autoload nspace2 prep
|
|
+
|
|
+TEST_SCRIPTS = $(TEST_SCRIPTS_SLC) $(TEST_SCRIPTS_NO_SLC)
|
|
+
|
|
+TEST_PGM = sltest
|
|
+MEMCHECK = valgrind --tool=memcheck --leak-check=yes --leak-resolution=med --num-callers=20
|
|
+RUN_TEST_PGM = ./$(TEST_PGM)
|
|
+SLANGINC = ..
|
|
+SLANGLIB = ../$(ARCH)objs
|
|
+OTHER_LIBS = -lm @TERMCAP@
|
|
+OTHER_CFLAGS =
|
|
+
|
|
+runtests: $(TEST_PGM) cleantmp
|
|
+ @tests=""; \
|
|
+ for test in $(TEST_SCRIPTS); \
|
|
+ do \
|
|
+ tests="$$tests $$test.sl"; \
|
|
+ done; \
|
|
+ for test in $(TEST_SCRIPTS_SLC); \
|
|
+ do \
|
|
+ tests="$$tests $$test.slc"; \
|
|
+ done; \
|
|
+ MAKERUNNING=1 ./runtests.sh $$tests
|
|
+# @touch $(TEST_PGM).c
|
|
+
|
|
+update: $(TEST_PGM) cleantmp
|
|
+ @tests=""; \
|
|
+ for X in $(TEST_SCRIPTS); \
|
|
+ do \
|
|
+ if [ ! -e lastrun/$$X.sl ] || [ $$X.sl -nt lastrun/$$X.sl ] ; \
|
|
+ then \
|
|
+ tests="$$tests $$X.sl"; \
|
|
+ fi \
|
|
+ done; \
|
|
+ for X in $(TEST_SCRIPTS_SLC); \
|
|
+ do \
|
|
+ if [ ! -e lastrun/$$X.slc ] || [ $$X.sl -nt lastrun/$$X.slc ] ; \
|
|
+ then \
|
|
+ tests="$$tests $$X.slc"; \
|
|
+ fi \
|
|
+ done; \
|
|
+ if test -n "$$tests"; \
|
|
+ then \
|
|
+ MAKERUNNING=1 ./runtests.sh $$tests; \
|
|
+ fi
|
|
+# @touch $(TEST_PGM).c
|
|
+
|
|
+memcheck_runtests: $(TEST_PGM) cleantmp
|
|
+ @echo ""
|
|
+ @echo "Running tests:"
|
|
+ @echo ""
|
|
+ -@for X in $(TEST_SCRIPTS); \
|
|
+ do \
|
|
+ $(MEMCHECK) --log-file=log.$${X} $(RUN_TEST_PGM) $$X.sl; \
|
|
+ grep ERROR log.$${X}; grep 'lost: [^0]' log.$${X}; \
|
|
+ $(MEMCHECK) --log-file=log.$${X}_u $(RUN_TEST_PGM) -utf8 $$X.sl; \
|
|
+ grep ERROR log.$${X}_u; grep 'lost: [^0]' log.$${X}_u; \
|
|
+ done
|
|
+# touch $(TEST_PGM).c
|
|
+
|
|
+memcheck_runtests_slc: $(TEST_PGM) cleantmp
|
|
+ @echo ""
|
|
+ @echo "Running tests:"
|
|
+ @echo ""
|
|
+ -@for X in $(TEST_SCRIPTS_SLC); \
|
|
+ do \
|
|
+ $(MEMCHECK) --log-file=log.$${X}_c $(RUN_TEST_PGM) $$X.slc; \
|
|
+ $(MEMCHECK) --log-file=log.$${X}_uc $(RUN_TEST_PGM) -utf8 $$X.slc; \
|
|
+ done
|
|
+# touch $(TEST_PGM).c
|
|
+
|
|
+memcheck: memcheck_runtests memcheck_runtests_slc
|
|
+
|
|
+$(TEST_PGM): $(TEST_PGM).c assoc.c list.c $(SLANGLIB)/libslang.a
|
|
+ $(CC) $(CFLAGS) $(OTHER_CFLAGS) $(LDFLAGS) $(TEST_PGM).c -o $(TEST_PGM) -I$(SLANGINC) -L$(SLANGLIB) -lslang $(OTHER_LIBS)
|
|
+cleantmp:
|
|
+ -/bin/rm -rf tmpfile*.* tmpdir*.*
|
|
+clean: cleantmp
|
|
+ -/bin/rm -f *~ *.o *.log log.pid* *.slc log.* *.log-*
|
|
+distclean: clean
|
|
+ /bin/rm -f $(TEST_PGM) $(TEST_PGM).gcda $(TEST_PGM).gcno
|
|
+.PHONY: clean memcheck runtests memcheck_runtests_slc memcheck_runtests cleantmp
|
|
+
|