NAME
oztool - oz DLL builder
SYNOPSIS
oztool [c++|cc|ld|platform] ...
oztool facilitates the creation of native functors (see Part VI of
Application Programming and Interfacing to C and C++). A native
functor is a DLL, i. e. a library that is dynamically loaded by the Oz
emulator and interfaces with it. Creating a native functor often
involves complicated compilation and linking technicalities (e. g.
options). oztool takes care of these details for you.
oztool c++ ...
Instead of calling the C++ compiler directly, you should invoke
it through oztool. The advantages are: it calls the right
compiler, with the right options, and also extends the include
search path to find the Mozart specific includes such as
mozart.h. Normally, you would compile a native functor
implemented in foo.cc using:
oztool c++ -c foo.cc
oztool cc ...
Same idea, but for the C compiler
oztool ld ...
Instead of calling the linker directly, you should also invoke
it through oztool. Again, the advantages are that it calls the
right linker, with the right options. Normally, you would create
a DLL from foo.o as follows:
oztool ld -o foo.so foo.o
oztool platform
The default Resolution mechanism locates architecture specific
DLLs as follows: If the system needs a native functor called
(abstractly) foo.so, then it will look for a DLL called foo.so-
linux-i486 on a Linux machine, foo.so-solaris-sparc on a Solaris
machine, or foo.so-win32-i486 on a Windows machine, etc... Thus,
when you create a DLL, you should install it with a name where
the machine’s architecture is appended. Invoking oztool platform
simply prints out the appropriate architecture name for your
machine. In this respect, oztool helps you write portable
Makefiles: to create a DLL from file foo.cc you would normally
invoke:
oztool c++ -c foo.cc
oztool ld -o foo.so-‘oztool platform‘ foo.o
oztool(1)