1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Invoking Babel to Generate F90 Stubs</TITLE>
<META NAME="description" CONTENT="Invoking Babel to Generate F90 Stubs">
<META NAME="keywords" CONTENT="users_guide">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="users_guide.css">
<LINK REL="next" HREF="node146.html">
<LINK REL="previous" HREF="node144.html">
<LINK REL="up" HREF="node140.html">
<LINK REL="next" HREF="node146.html">
</HEAD>
<BODY >
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html2874"
HREF="node146.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html2868"
HREF="node140.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html2862"
HREF="node144.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html2870"
HREF="node14.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<A NAME="tex2html2872"
HREF="node317.html">
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html2875"
HREF="node146.html">Implementing Classes in FORTRAN</A>
<B> Up:</B> <A NAME="tex2html2869"
HREF="node140.html">FORTRAN 90 Bindings</A>
<B> Previous:</B> <A NAME="tex2html2863"
HREF="node144.html">Catching and Throwing Exceptions</A>
<B> <A NAME="tex2html2871"
HREF="node14.html">Contents</A></B>
<B> <A NAME="tex2html2873"
HREF="node317.html">Index</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H1><A NAME="SECTION03450000000000000000"></A>
<A NAME="8105"></A>
<BR>
Invoking Babel to Generate F90 Stubs
</H1>
<P>
Here is how you should invoke Babel to create the FORTRAN 90 stubs for an IDL
file <A NAME="tex2html40"
HREF="footnode.html#foot8191"><SUP><SPAN CLASS="arabic">10</SPAN>.<SPAN CLASS="arabic">1</SPAN></SUP></A>.
<P>
<BLOCKQUOTE>
<TT> <TT>%</TT> <TT><B>babel -client=f90 file.sidl</B></TT>
<BR>
</TT></BLOCKQUOTE>or simply
<BLOCKQUOTE>
<TT> <TT>%</TT> <TT><B>babel -c=f90 file.sidl</B></TT>
<BR>
</TT></BLOCKQUOTE>
<P>
This will create a babel.make file, numerous C headers, numerous C source
files, and some FORTRAN 90 files. The files ending in
<TT>_fStub.c</TT> are called by the FORTRAN 90 module which in turn
allow FORTRAN 90 to call a SIDL method. The files ending in
<TT>_type.F90</TT> contain derived type definitions for classes and
interfaces., and the other files ending in <TT>.F90</TT> are FORTRAN 90
modules containing methods.
<P>
You will need to compile and link the files ending in <TT>_fStub.c</TT>
(i.e., <TT>STUBSRCS</TT> in <TT>babel.make</TT>) and all the files ending
in <TT>.F90</TT> (i.e., <TT>STUBMODULESRCS</TT> and <TT>TYPEMODULESRCS</TT>
in <TT>babel.make</TT>) into your application. Normally, the IOR files
(<TT>_IOR.c</TT>) are linked together with the implementation file, so
you probably don't need to compile them.
<P>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html2874"
HREF="node146.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html2868"
HREF="node140.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html2862"
HREF="node144.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html2870"
HREF="node14.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<A NAME="tex2html2872"
HREF="node317.html">
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html2875"
HREF="node146.html">Implementing Classes in FORTRAN</A>
<B> Up:</B> <A NAME="tex2html2869"
HREF="node140.html">FORTRAN 90 Bindings</A>
<B> Previous:</B> <A NAME="tex2html2863"
HREF="node144.html">Catching and Throwing Exceptions</A>
<B> <A NAME="tex2html2871"
HREF="node14.html">Contents</A></B>
<B> <A NAME="tex2html2873"
HREF="node317.html">Index</A></B> </DIV>
<!--End of Navigation Panel-->
<ADDRESS>
<br><br>babel-0.10.2<br>users_guide Last Modified 2005-03-23<br><br><a href="http://www.llnl.gov/CASC/components">http://www.llnl.gov/CASC/components</a><br><a href="mailto:components@llnl.gov">components@llnl.gov</a>
</ADDRESS>
</BODY>
</HTML>
|