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 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153
|
<!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 FORTRAN 77 Stubs</TITLE>
<META NAME="description" CONTENT="Invoking Babel to generate FORTRAN 77 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="node137.html">
<LINK REL="previous" HREF="node135.html">
<LINK REL="up" HREF="node131.html">
<LINK REL="next" HREF="node137.html">
</HEAD>
<BODY >
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html2743"
HREF="node137.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html2737"
HREF="node131.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html2731"
HREF="node135.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html2739"
HREF="node14.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<A NAME="tex2html2741"
HREF="node317.html">
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html2744"
HREF="node137.html">Implementing Classes in FORTRAN</A>
<B> Up:</B> <A NAME="tex2html2738"
HREF="node131.html">FORTRAN 77 Bindings</A>
<B> Previous:</B> <A NAME="tex2html2732"
HREF="node135.html">Catching and Throwing Exceptions</A>
<B> <A NAME="tex2html2740"
HREF="node14.html">Contents</A></B>
<B> <A NAME="tex2html2742"
HREF="node317.html">Index</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H1><A NAME="SECTION03350000000000000000"></A>
<A NAME="7288"></A>
<BR>
Invoking Babel to generate FORTRAN 77 Stubs
</H1>
<P>
Here is how you should invoke Babel to create the FORTRAN 77 stubs for an IDL
file <A NAME="tex2html38"
HREF="footnode.html#foot7354"><SUP><SPAN CLASS="arabic">9</SPAN>.<SPAN CLASS="arabic">1</SPAN></SUP></A>.
<P>
<BLOCKQUOTE>
<TT> <TT>%</TT> <TT><B>babel -client=f77 file.sidl</B></TT>
<BR>
</TT></BLOCKQUOTE>or simply
<BLOCKQUOTE>
<TT> <TT>%</TT> <TT><B>babel -c=f77 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 77 files. The files ending in <TT>_fStub.c</TT> are the
FORTRAN 77 stubs that allow FORTRAN 77 to call a SIDL method.
<P>
You will need to compile and link the files ending in <TT>_fStub.c</TT>
into your application
(i.e. <TT>STUBSRCS</TT> in <TT>babel.make</TT>).
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>
If you have some <TT><I CLASS="slanted">enum</I></TT>'s defined in your SIDL file, Babel will generate FORTRAN 77
include files in the style of DEC FORTRAN (Compaq FORTRAN? (now HP Fortran???))
<TT>%INCLUDE</TT>. These files are named by taking the fully qualified name of the
<TT><I CLASS="slanted">enum</I></TT>, changing the periods to underscores, and appending <TT>.inc</TT> .
Here is an example of a generated include file.
<P>
<BR>
<PRE CLASS="verbatim">
C File: enums_car.inc
C Symbol: enums.car-v1.0
C Symbol Type: enumeration
C Babel Version: 0.5.0
C Description: Automatically generated; changes will be lost
C
C babel-version = 0.5.0
C source-line = 25
C
integer porsche
parameter (porsche = 911)
integer ford
parameter (ford = 150)
integer mercedes
parameter (mercedes = 550)
</PRE></td></tr></table></blockquote>
<P>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html2743"
HREF="node137.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html2737"
HREF="node131.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html2731"
HREF="node135.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html2739"
HREF="node14.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<A NAME="tex2html2741"
HREF="node317.html">
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html2744"
HREF="node137.html">Implementing Classes in FORTRAN</A>
<B> Up:</B> <A NAME="tex2html2738"
HREF="node131.html">FORTRAN 77 Bindings</A>
<B> Previous:</B> <A NAME="tex2html2732"
HREF="node135.html">Catching and Throwing Exceptions</A>
<B> <A NAME="tex2html2740"
HREF="node14.html">Contents</A></B>
<B> <A NAME="tex2html2742"
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>
|