Fix Cygwin example compile issues (#2856).

This commit is contained in:
Wilson Snyder 2021-03-26 23:01:58 -04:00
parent 02d82978e5
commit 4155de721b
4 changed files with 19 additions and 3 deletions

View File

@ -25,6 +25,7 @@ Verilator 4.201 devel
* Fix false TIMESCALEMOD on generate-ignored instances (#2838). [Kaleb Barrett] * Fix false TIMESCALEMOD on generate-ignored instances (#2838). [Kaleb Barrett]
* Fix --output-split with class extends (#2839). [Iru Cai] * Fix --output-split with class extends (#2839). [Iru Cai]
* Fix false WIDTHCONCAT on casted constant (#2849). [Rupert Swarbrick] * Fix false WIDTHCONCAT on casted constant (#2849). [Rupert Swarbrick]
* Fix Cygwin example compile issues (#2856). [Mark Shaw]
Verilator 4.200 2021-03-12 Verilator 4.200 2021-03-12

View File

@ -36,6 +36,12 @@ VERILATOR_FLAGS += -cc
VERILATOR_FLAGS += -Os -x-assign 0 VERILATOR_FLAGS += -Os -x-assign 0
# Warn abount lint issues; may not want this on less solid designs # Warn abount lint issues; may not want this on less solid designs
VERILATOR_FLAGS += -Wall VERILATOR_FLAGS += -Wall
# This example does not use vl_time_stamp but rather
# VerilatedContext::timeInc(), so to avoid a linker error on cygwin which
# does not support weak symbols, we need to define VL_TIME_CONTEXT *in CPP*
# to not compile in the vl_time_stamp using code.
VERILATOR_FLAGS += -CFLAGS -DVL_TIME_CONTEXT
# Make waveforms # Make waveforms
TOP_VERILATOR_FLAGS = $(VERILATOR_FLAGS) --trace TOP_VERILATOR_FLAGS = $(VERILATOR_FLAGS) --trace

View File

@ -31,7 +31,6 @@ VERILATOR = $(VERILATOR_ROOT)/bin/verilator
VERILATOR_COVERAGE = $(VERILATOR_ROOT)/bin/verilator_coverage VERILATOR_COVERAGE = $(VERILATOR_ROOT)/bin/verilator_coverage
endif endif
VERILATOR_FLAGS =
# Generate C++ in executable form # Generate C++ in executable form
VERILATOR_FLAGS += -cc --exe VERILATOR_FLAGS += -cc --exe
# Generate makefile dependencies (not shown as complicates the Makefile) # Generate makefile dependencies (not shown as complicates the Makefile)
@ -50,6 +49,12 @@ VERILATOR_FLAGS += --coverage
#VERILATOR_FLAGS += --debug #VERILATOR_FLAGS += --debug
# Add this trace to get a backtrace in gdb # Add this trace to get a backtrace in gdb
#VERILATOR_FLAGS += --gdbbt #VERILATOR_FLAGS += --gdbbt
# This example does not use vl_time_stamp but rather
# VerilatedContext::timeInc(), so to avoid a linker error on cygwin which
# does not support weak symbols, we need to define VL_TIME_CONTEXT *in CPP*
# to not compile in the vl_time_stamp using code.
VERILATOR_FLAGS += -CFLAGS -DVL_TIME_CONTEXT
# Input files for Verilator # Input files for Verilator
VERILATOR_INPUT = -f input.vc top.v sim_main.cpp VERILATOR_INPUT = -f input.vc top.v sim_main.cpp

View File

@ -22,10 +22,13 @@ COMPILE.cc = $(OBJCACHE) $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c
####################################################################### #######################################################################
# Compile flags # Compile flags
# Override some default compile flags # Turn on creating .d make dependency files
CPPFLAGS += -MMD -MP CPPFLAGS += -MMD -MP
# Compile in Verilator runtime debugging, so +verilator+debug works
CPPFLAGS += -DVL_DEBUG=1 CPPFLAGS += -DVL_DEBUG=1
# Turn on some more flags (when configured appropriately)
# Turn on some more compiler lint flags (when configured appropriately)
# For testing inside Verilator, "configure --enable-ccwarn" will do this # For testing inside Verilator, "configure --enable-ccwarn" will do this
# automatically; otherwise you may want this unconditionally enabled # automatically; otherwise you may want this unconditionally enabled
ifeq ($(CFG_WITH_CCWARN),yes) # Local... Else don't burden users ifeq ($(CFG_WITH_CCWARN),yes) # Local... Else don't burden users
@ -36,6 +39,7 @@ endif
# Support class optimizations. This includes the tracing and symbol table. # Support class optimizations. This includes the tracing and symbol table.
# SystemC takes minutes to optimize, thus it is off by default. # SystemC takes minutes to optimize, thus it is off by default.
OPT_SLOW = OPT_SLOW =
# Fast path optimizations. Most time is spent in these classes. # Fast path optimizations. Most time is spent in these classes.
OPT_FAST = -Os -fstrict-aliasing OPT_FAST = -Os -fstrict-aliasing
#OPT_FAST = -O #OPT_FAST = -O