Update driver make check to work with all systems

This commit is contained in:
Cary R 2026-05-22 00:27:29 -07:00
parent 7b2c050457
commit e54b404700
3 changed files with 22 additions and 26 deletions

View File

@ -140,12 +140,13 @@ dosify$(BUILDEXT): $(srcdir)/dosify.c
$(BUILDCC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o dosify$(BUILDEXT) $(srcdir)/dosify.c
endif
# This rule rules the compiler in the trivial hello.vl program to make
# sure the basics were compiled properly.
# This rule runs the compiler using the trivial hello.vl program to make sure
# the base programs are compiled properly.
check: all
$(foreach dir,$(SUBDIRS),$(MAKE) -C $(dir) $@ && ) true
rm -f check.vvp
test -r check.conf || cp $(srcdir)/check.conf .
driver/iverilog@EXEEXT@ -B. -BMvpi -BPivlpp -tcheck -ocheck.vvp $(srcdir)/examples/hello.vl
driver/iverilog@EXEEXT@ -B. -BMvpi -BPivlpp -tcheck -ocheck.vvp $(srcdir)/examples/hello.vl && \
$(ENV_VVP) vvp/vvp$(suffix)@EXEEXT@ -M- -M./vpi ./check.vvp | grep 'Hello, World'
check-installed check-installed-vpi check-installed-vvp check-installed-vvp-py:

View File

@ -98,21 +98,19 @@ AC_SUBST(EXEEXT)
# Combined check for Microsoft-related bogosities; sets WIN32 if found
AX_WIN32
# detect msys shell
AC_MSG_CHECKING([whether the shell is an MSYS2 runtime shell])
# Detect which directory/file separator to use
AC_MSG_CHECKING([for directory/file separator])
AS_CASE([$host_os:$MSYSTEM],
[*mingw*:UCRT64|*mingw*:MINGW64|*mingw*:MINGW32|*mingw*:CLANG64], [
MSYS_SHELL=true
msys_shell_result=yes
[*mingw*:UCRT64|*mingw*:MINGW64|*mingw*:MINGW32|*mingw*:CLANG64|*mingw*:CLANGARM64], [
PATH_SEP=\\\\
],
[
MSYS_SHELL=false
msys_shell_result=no
PATH_SEP=/
]
)
AC_MSG_RESULT([$msys_shell_result])
AC_SUBST([MSYS_SHELL])
AC_MSG_RESULT([$PATH_SEP])
AC_SUBST([PATH_SEP])
# Check to see if we are using the Sun compiler. If so then configure
# some of the flags to match the Sun compiler syntax. This is also used

View File

@ -19,7 +19,7 @@ SHELL = /bin/sh
EXEEXT = @EXEEXT@
ENV_VVP=@ENV_VVP@
MSYS_SHELL=@MSYS_SHELL@
PATH_SEP=@PATH_SEP@
suffix = @install_suffix@
@ -64,19 +64,16 @@ O = main.o substit.o cflexor.o cfparse.o
all: dep iverilog@EXEEXT@ iverilog.man
check: all
@if $(MSYS_SHELL); then \
echo "iverilog: execution from a build directory not suppported for this runtime"; \
else \
echo "iverilog: create .vpp from .v file and run it"; \
$(builddir)/iverilog@EXEEXT@ \
-B$(top_builddir)/tgt-vvp \
-BI$(top_builddir) \
-BM$(top_builddir)/vpi \
-BP$(top_builddir)/ivlpp \
-Bt$(top_builddir)/tgt-vvp \
$(verbose) -o top.vvp -s top $(srcdir)/hello_world.v; \
$(ENV_VVP) $(top_builddir)/vvp/vvp$(suffix)@EXEEXT@ top.vvp; \
fi
@echo "driver/iverilog: create a vvp file and then run it."
@rm -f top.vvp
@$(builddir)/iverilog@EXEEXT@ \
-B$(top_builddir)$(PATH_SEP)tgt-vvp \
-BI$(top_builddir) \
-BM$(top_builddir)$(PATH_SEP)vpi \
-BP$(top_builddir)$(PATH_SEP)ivlpp \
-Bt$(top_builddir)$(PATH_SEP)tgt-vvp \
$(verbose) -o top.vvp -s top $(srcdir)/hello_world.v && \
$(ENV_VVP) $(top_builddir)/vvp/vvp$(suffix)@EXEEXT@ top.vvp
clean:
rm -f *.o cflexor.c cfparse.c cfparse.h cfparse.output