Download Mi_D

A. Binaries

In order to link your program against a precompiled binary of Mi_D, you'll need the shared library itself and the appropriate header files.

1. The Shared Library

OS Vers. Platf. Driver Linkage
C/C++ LISP
Irix 6.21 o32 SGI libmi_d.so (unstripped)
n32 libmi_d.so (unstripped)
MacOS 7.51 68k2 OMS3 Mi_D Library CFM68K Mi_D Library CFM68K (MCL)
PPC Mi_D Library PPC Mi_D Library PPC (MCL)
Fat2 Mi_D Library Mi_D Library (MCL)
Linux ? Intel OSS under development
Mac -
Windows 95/98 Intel MS - -
NeXTStep 3.? Intel NeXT - -
1) Or higher
2) The use of shared libraries on 68k machines under a pre-MacOS 8.0 system requires the
     "CFM Runtime Enabler" extension, available for free from Apple, Inc.
3) OMS 2.0 or higher

NOTE: the MacOS binaries are still version 1.2 until I get access to a Mac or someone builds the new libraries for me. 21-10-98, tk

2. The Right Header File

To link with a C/C++ application, #include "mi_d.h" and instruct the linker to use the appropriate library. Under UNIX, this is done by adding -lmi_d to the link line. On the Macintosh, you will need to add the appropriate library to your project file. See the mi_d-shell.mcp project file for an example.

To link with a LISP application, the procedure depends on your Lisp implementation. In ACL, evaluate

(progn
  (load "LIBRARY_PATH/libmi_d.so")
  (load "MI_D_DIRECTORY/include/mi_d.lisp"))

with appropriate substitutes for LIBRARY_PATH and MI_D_DIRECTORY. In MCL, first make sure the shared library is in the extensions folder inside the system folder or in the same folder as the running LISP image, then evaluate

(load "MI_D_DIRECTORY/include/mi_d.lisp")

again, with the appropriate substitute for MI_D_DIRECTORY.

Linkage Header Platform Development Environment
C/C++ mi_d.h SGI any
MacOS any
LISP mi_d.lisp SGI ACL 4.2 or higher1
MacOS MCL 4.0 or higher (PPC)2
1) I haven't tested ACL 5.0 yet
2) I haven't been able to get shared library loading to work in MCL on a 68k machine (MCL 3.9)

B. Sources

Alternatively, you may download the full source archive and compile everything yourself.

1. SGI

Building Mi_D on the SGI requires the SGI CC compiler. The sources might be able to compile with GNU g++, but I have not tried it. So, if the c++_dev.sw.c++ product is installed on your machine, execute these steps

% cd MI_D_DIRECTORY/src
% make dso

where MI_D_DIRECTORY is the path to, and including, the Mi_D root directory. This builds the library. make app builds a minimal API test application called "mi_d-shell" and make examples builds example applications. make or make all builds everything in one go.

2. MacOS

Building Mi_D on the Macintosh requires CodeWarrior Pro 2.0 and the OMS Software Developer Kit (SDK), available for free from Opcode's website.

  1. The files in the "mac" folder inside the Mi_D folder are in MacBinary format. Use your favourite decoder to convert them to Macintosh files.
  2. Create a new folder "OMS" next to the Mi_D folder and place the OMS SDK inside it (I think the Mi_D project expects the OMS SDK folder to be named "OMS 2.0 SDK 28-Jan-98" and to be inside an "OMS" folder in the same folder as the "mi_d" folder, but cannot verify it right now; if you get warnings regarding these files when you open the project file, look in the "Project Settings", section "Access Paths" and either adjust the paths or move the OMS SDK folder to the location where it is expected.)
  3. Double-click the project file "mi_d.shlb.mcp" inside the "mac" folder and choose "Bring Up To Date" from the "Project" menu.

A separate project, "mi_d-shell.mcp" builds the example SIOUX "Mi_D Shell" application.