 
Basics, Building SPICE Applications (FORTRAN)
===========================================================================
 
   March 01, 2023
 
 
Note About HTML Links
--------------------------------------------------------
 
   The HTML version of this lesson contains links pointing to various HTML
   documents provided with the Toolkit. All of these links are relative
   and, in order to function, require this document to be in a certain
   location in the Toolkit HTML documentation directory tree.
 
   In order for the links to be resolved, if not done already by installing
   the lessons package under the Toolkit's ``doc/html'' directory, create a
   subdirectory called ``lessons'' under the ``doc/html'' directory of the
   ``toolkit/'' tree and copy this document to that subdirectory before
   loading it into a Web browser.
 
 
Environment Set-up
--------------------------------------------------------
 
 
Unix/Linux
 
   Assume SPICELIB is installed at /naif/toolkit/. The corresponding path
   for the SPICELIB library being /naif/toolkit/lib/spicelib.a.
 
   Use a terminal window.
 
 
Windows
 
   Assume SPICELIB is installed at c:\naif\toolkit. The corresponding path
   for the SPICELIB library being c:\naif\toolkit\lib\spicelib.lib.
 
   Launch a command window with pre-set Intel Fortran compiler environment
   variables:
 
      Programs ->
         Intel oneAPI YYYY ->
            Intel oneAPI command prompt for Intel 64 ...
 
 
A simple example program
--------------------------------------------------------
 
   This program calls the SPICELIB subroutine 'TKVRSN' then outputs the
   VERSN return argument.
 
   File tk_ver.f:
 
            PROGRAM TK_VER
 
            CHARACTER*(20) VERSN
 
            CALL TKVRSN ( 'TOOLKIT', VERSN )
 
            WRITE(*,*) 'Toolkit version: ', VERSN
 
            END
 
 
Unix/Linux
 
   This example uses the GNU FORTRAN 9X compiler (gfortran):
 
      $ gfortran tk_ver.f -o tk_ver /naif/toolkit/lib/spicelib.a
 
      $ ./tk_ver
       Toolkit version: N0067
 
   SPICE library naming does not conform to the UNIX convention of
   libname.a for use with the -L/path_to_libs/ -lname_of_lib compile
   option.
 
 
Windows
 
   This example uses the Intel FORTRAN compiler (ifort):
 
      > SET TKF77OPS=/fpscomp:all /assume:byterecl /check:bounds
 
      > ifort %TKF77OPS% /c /Tftk_ver.f
      Intel(R) Fortran Intel(R) 64 Compiler Classic ...
 
 
      > ifort %TKF77OPS% tk_ver.obj c:\naif\toolkit\lib\spicelib.lib
      Intel(R) Fortran Intel(R) 64 Compiler Classic ...
 
      -out:tk_ver.exe
      -subsystem:console
      tk_ver.obj
      c:\naif\toolkit\lib\spicelib.lib
 
      > .\tk_ver.exe
      Toolkit version: N0067
 
