standardml/smackage — Issue #10: Suspicion: install is going to be a problem, support make instead?
Author: robsimmons
Created: 2011-10-28 21:01:48+00:00
State: open

(Originally created this as a milestone, but I kind of wanted to have comments, so doing this instead.)

I wanted to ask if we want to try to get to v1, and what we should try to support there.

There are all sorts of potential dependency and platform detection and support issues with actual installation that I'm convinced we haven't worked through yet which are somewhat tangential to the problem that smackage is currently able to solve, and even just for windows support, I (Rob) will literally go crazy and run away from this project if I continue to be in the untenable situation of debugging windows support using two other people's computers when all three of us have vastly better things to do.

However, smackage can do a pretty good job of getting Standard ML code onto people's systems where it can refer to other Standard ML code that smackage also puts onto people's system. I think a reasonable way to punt on this for now is to have platform sections be existant but totally meaningless in v1, but to support the following command:

```
smackage make pkg ...
```

which would just run `make ...` in the home directory of pkg .

That way we allow installation, but totally punt on the question of how to build binaries, detect systems, deal with FFI or C code - anything like that - while still making a flexible system that people can use.

We can even support an (optional) upgrade path by just telling people to run the following:

```
smackage make smackage {mlton,smlnj,win+mlton,bsd+ocamljs,whatever}
smackage make smackage install
```