Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1170,6 +1170,13 @@ if(GECODE_ENABLE_FLATZINC)
endif()
endforeach()
endif()
if(CMAKE_DL_LIBS)
foreach(kind shared static)
if(TARGET gecodeflatzinc_${kind})
target_link_libraries(gecodeflatzinc_${kind} PUBLIC ${CMAKE_DL_LIBS})
endif()
endforeach()
endif()
endif()

# Compatibility aggregate target for downstream projects expecting Gecode::gecode.
Expand Down
4 changes: 2 additions & 2 deletions Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -819,11 +819,11 @@ endif
# FLATZINC
#

FLATZINCSRC0 = flatzinc.cpp registry.cpp branch.cpp
FLATZINCSRC0 = flatzinc.cpp registry.cpp branch.cpp blackbox.cpp
FLATZINC_GENSRC0 = parser.tab.cpp lexer.yy.cpp
FLATZINCHDR0 = ast.hh conexpr.hh option.hh parser.hh \
plugin.hh registry.hh symboltable.hh varspec.hh \
branch.hh branch.hpp lastval.hh complete.hh
branch.hh branch.hpp lastval.hh complete.hh blackbox.hh

FLATZINCSRC = $(FLATZINCSRC0:%=gecode/flatzinc/%)
FLATZINC_GENSRC = $(FLATZINC_GENSRC0:%=gecode/flatzinc/%)
Expand Down
13 changes: 13 additions & 0 deletions changelog.in
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,19 @@ This release modernizes the Gecode build infrastructure, adds a
first-class CMake package for downstream consumers, refreshes the
autoconf build path, and updates CI coverage for current platforms.

[ENTRY]
Module: flatzinc
What: new
Rank: minor
[DESCRIPTION]
Add support for the experimental MiniZinc black-box propagator interface. A
FlatZinc model can request propagation using an external function, implemented
either as a shared library or as a subprocess, through two generic propagators:
gecode_blackbox (value propagation, scheduled once all inputs are fixed) and
gecode_blackbox_bounds (bounds propagation, scheduled on bound changes).The
blackbox_exec and blackbox_dll annotations select the execution mode and pass
through extra arguments.

[ENTRY]
Module: minimodel
What: bug
Expand Down
1 change: 1 addition & 0 deletions cmake/GecodeSources.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -232,6 +232,7 @@ set(GECODE_GIST_SOURCES
)

set(GECODE_FLATZINC_SOURCES
gecode/flatzinc/blackbox.cpp
gecode/flatzinc/branch.cpp
gecode/flatzinc/flatzinc.cpp
gecode/flatzinc/lexer.yy.cpp
Expand Down
Loading
Loading