MpsInstallationGuide |
You will need:
Operating systems that have worked with MPS:
Basically, you should be OK with anything that supports G++, has a recent STL implementation, and supports BSD sockets. I know I haven't been as careful as I could be regarding reliance on 32-bit ints, so there may be some gotchas on Alphas and other 64-bit machines. YMMV. Currently, MPS believes that C++'s int matches Java's int at 32 bits (an MPSIDL int), and that Java's long matches C++'s long long at 64 bits (an MPSIDL long). Floats are IEEE 32-bit floats as used by the Java runtime. Endianness isn't an issue.
The library should compile out-of-the-box on most platforms. Some platforms (Sun) require a bit of Makefile-tweaking to get the library, the nameserver and the test applications to link (mostly -lnsl -lsocket).
Copy the library (libmps.a) into a local library directory; I use /usr/local/lib. Copy mps.h and mpsnaming.h into a local include directory (such as /usr/local/include). The mps_naming binary should be copied into a local binary directory.
If you decided to compile the java, put the resulting mps.jar file somewhere in your CLASSPATH. Note that mps.jar contains not only the Java MPS runtime support classes (packages org.hebe.mps and org.hebe.mps.naming), but also a complete Java implementation of the MPS NamingService protocol to match the standalone C++ application mps_naming which performs the same duty.
Currently I don't use autoconf, although I get the feeling it's on the agenda. Implementations of BSD sockets vary a little, and it'd be nice to have something take care of the little differences in the flexible way that autoconf does.