Skip to content

Simplify and optimise build process#272

Open
davexparker wants to merge 16 commits intoprismmodelchecker:masterfrom
davexparker:build
Open

Simplify and optimise build process#272
davexparker wants to merge 16 commits intoprismmodelchecker:masterfrom
davexparker:build

Conversation

@davexparker
Copy link
Member

@davexparker davexparker commented Feb 15, 2026

  • Use a single Makefile, removing sub-Makefiles in src/
  • Merge shared libraries into a single file libprism.{so,dylib}
  • Optimise make process, minimising variable evaluation
  • Fix soname/install_name and rpath on shared libraries
    (no need for (DY)LD_LIBRARY_PATH on Mac/Linux now)

And remove Makefiles that are unnecessary as a result.
prism/Makefile is now redundant and removed.
Set soname/install_name for libprism and Mac liblpsolve55/liblpsolve55j,
where it was previously missing.

For shared libraries with dependencies (libprism, liblpsolve55j), we also
set rpath so that the linker looks in the same directory for dependencies.

This means that LD_LIBRARY_PATH and DYLD_LIBRARY_PATH are removed from
the bin/prism scripts for Linux/Max, just using -Djava.library.path instead.

This fixes a bunch of issues with Java on Mac (e.g. using jenv) and makes
things generally cleaner and more portable. Also no need to set up the
(DY)LD_LIBRARY_PATH variables for running through IDEs.

Windows/Cygwin is unaffected and continues to need to set/use PATH.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

Comments