So who is the end-user that we should be optimizing for?
When I started on graphviz I would have described the end-user as someone with developer skills, probably on a Unix system … Sun, HP, Amdahl … someone that was used to installing software with
./configure; make; make install
and someone who expects ./configure to figure out maximum functionality on their system
Today I don’t think that is our end-user. Today the end-user does a:
yum install graphviz
and chooses functionality by which sub-packages they install. Dependencies are handled automatically.
So we now have an intermediate stage (user?) which is a maximally equipped for a specific distro, i.e. our gitlab-runner build hosts (docker images)
I believe that we want our CI builds to break hard and early if they do not produce all features for the packages of the target system.
I think of the “./configure;make;make install” user as more of a developer today.
We can still debate if ./configure shouldn’t allow ps2pdf to soft fail for the developer
user, … but I don’t think this user is our primary target any more. They are still important, but they can be expected to deal with stricter environment requirements.
re: cmake – can somebody talk about how complete they are for Unix builds?