Skip to content

Commit c7db0c9

Browse files
committed
Fix Makefile-based build for with CUDD
The previous set-up failed to compile (as cudd.h was not found), and first fixes to make it compile and link resulted in persistent segmentation faults. These were caused by inconsistent includes as HAVE_CUDD was only set in selected directories (unlike the CMake configuration).
1 parent 4fa790b commit c7db0c9

File tree

7 files changed

+18
-2
lines changed

7 files changed

+18
-2
lines changed

jbmc/src/janalyzer/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ OBJ += ../$(CPROVER_DIR)/src/ansi-c/ansi-c$(LIBEXT) \
1111
../$(CPROVER_DIR)/src/pointer-analysis/pointer-analysis$(LIBEXT) \
1212
../$(CPROVER_DIR)/src/langapi/langapi$(LIBEXT) \
1313
../$(CPROVER_DIR)/src/json/json$(LIBEXT) \
14+
../$(CPROVER_DIR)/src/solvers/solvers$(LIBEXT) \
1415
../$(CPROVER_DIR)/src/util/util$(LIBEXT) \
1516
..//miniz/miniz$(OBJEXT) \
1617
../$(CPROVER_DIR)/src/goto-analyzer/static_show_domain$(OBJEXT) \

jbmc/src/jdiff/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ OBJ += ../$(CPROVER_DIR)/src/ansi-c/ansi-c$(LIBEXT) \
2828
../$(CPROVER_DIR)/src/analyses/analyses$(LIBEXT) \
2929
../$(CPROVER_DIR)/src/langapi/langapi$(LIBEXT) \
3030
../$(CPROVER_DIR)/src/xmllang/xmllang$(LIBEXT) \
31+
../$(CPROVER_DIR)/src/solvers/solvers$(LIBEXT) \
3132
../$(CPROVER_DIR)/src/util/util$(LIBEXT) \
3233
../miniz/miniz$(OBJEXT) \
3334
../$(CPROVER_DIR)/src/json/json$(LIBEXT) \

src/analyses/Makefile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,10 @@ CLEANFILES = analyses$(LIBEXT)
4141

4242
all: analyses$(LIBEXT)
4343

44+
ifneq ($(CUDD),)
45+
OBJ += $(CUDD)/cudd/.libs/libcudd$(LIBEXT) $(CUDD)/cplusplus/.libs/libobj$(LIBEXT)
46+
endif
47+
4448
###############################################################################
4549

4650
analyses$(LIBEXT): $(OBJ)

src/common

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,16 @@ ifneq ($(CADICAL),)
195195
endif
196196

197197

198+
ifneq ($(CUDD),)
199+
CP_CXXFLAGS += -DHAVE_CUDD
200+
ifeq ($(CPROVER_DIR),)
201+
INCLUDES += -I $(CUDD) -I $(CUDD)/cudd
202+
else
203+
INCLUDES += -I ../$(CPROVER_DIR)/src/solvers/$(CUDD)
204+
INCLUDES += -I ../$(CPROVER_DIR)/src/solvers/$(CUDD)/cudd
205+
endif
206+
endif
207+
198208

199209
first_target: all
200210

src/goto-analyzer/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ OBJ += ../ansi-c/ansi-c$(LIBEXT) \
1919
../langapi/langapi$(LIBEXT) \
2020
../json/json$(LIBEXT) \
2121
../assembler/assembler$(LIBEXT) \
22+
../solvers/solvers$(LIBEXT) \
2223
../util/util$(LIBEXT) \
2324
# Empty last line
2425

src/solvers/Makefile

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,7 @@ ifneq ($(SQUOLEM2),)
4444
endif
4545

4646
ifneq ($(CUDD),)
47-
CUDD_INCLUDE=-I $(CUDD)
4847
CUDD_LIB=$(CUDD)/cudd/.libs/libcudd$(LIBEXT) $(CUDD)/cplusplus/.libs/libobj$(LIBEXT)
49-
CP_CXXFLAGS += -DHAVE_CUDD
5048
endif
5149

5250
ifneq ($(PICOSAT),)

unit/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ SRC += analyses/ai/ai.cpp \
8484

8585
INCLUDES= -I ../src/ -I.
8686

87+
CPROVER_DIR = .
8788
include ../src/config.inc
8889
include ../src/common
8990

0 commit comments

Comments
 (0)