summaryrefslogtreecommitdiffstats
path: root/ast/ast_link.in
diff options
context:
space:
mode:
authorWilliam Joye <wjoye@cfa.harvard.edu>2017-12-08 18:57:06 (GMT)
committerWilliam Joye <wjoye@cfa.harvard.edu>2017-12-08 18:57:06 (GMT)
commit90a861b642f765d5657ab827aedabe3920ff9333 (patch)
tree88b93d468ca1feed91ef2958f46f3f74f1418aac /ast/ast_link.in
parentfba23129f50db253ed3fbbaa23d6e342bf86068e (diff)
downloadblt-90a861b642f765d5657ab827aedabe3920ff9333.zip
blt-90a861b642f765d5657ab827aedabe3920ff9333.tar.gz
blt-90a861b642f765d5657ab827aedabe3920ff9333.tar.bz2
upgrade AST
Diffstat (limited to 'ast/ast_link.in')
-rw-r--r--ast/ast_link.in463
1 files changed, 0 insertions, 463 deletions
diff --git a/ast/ast_link.in b/ast/ast_link.in
deleted file mode 100644
index c5759e2..0000000
--- a/ast/ast_link.in
+++ /dev/null
@@ -1,463 +0,0 @@
-
-# N.B. the previous line should be blank.
-#++
-# Name:
-# ast_link
-
-# Purpose:
-# Link a program with the AST library.
-
-# Type of Module:
-# Shell script.
-
-# Description:
-# This command should be used when building programs which use the AST
-# library, in order to generate the correct arguments to allow the compiler
-# to link your program. The arguments generated are written to standard
-# output but may be substituted into the compiler command line in the
-# standard UNIX way using backward quotes (see below).
-#
-# By default, it is assumed that you are building a stand-alone program
-# which does not produce graphical output. However, switches are provided
-# for linking other types of program.
-
-# Invocation:
-#c cc program.c -L/star/lib `ast_link [switches]` -o program
-#f f77 program.f -L/star/lib `ast_link [switches]` -o program
-
-# Switches:
-# The following switches may optionally be given to this command to
-# modify its behaviour:
-#
-#
-# - ``-csla'': Ignored. Provided for backward compatibility only.
-#
-# - ``-fsla'': Ignored. Provided for backward compatibility only.
-#
-# - ``-ems'': Requests that the program be linked so that error messages
-# produced by the AST library are delivered via the Starlink EMS (Error
-# Message Service) library (Starlink System Note SSN/4). By default,
-# error messages are simply written to standard error.
-#
-# - ``-drama'': Requests that the program be linked so that error messages
-# produced by the AST library are delivered via the DRAMA Ers (Error
-# Reporting Service) library. By default, error messages are simply
-# written to standard error.
-#
-# - ``-grf'': Requests that no arguments be generated to specify which
-# 2D graphics system is used to display output from the AST library. You
-# should use this option only if you have implemented an interface to a
-# new graphics system yourself and wish to provide your own arguments for
-# linking with it. This switch differs from the other ``grf'' switches in
-# that it assumes that your graphics module implements the complete
-# interface required by the current version of AST. If future versions of
-# AST introduce new functions to the graphics interface, this switch will
-# cause ``unresolved symbol'' errors to occur during linking, warning you
-# that you need to implement new functions in your graphics module. To
-# avoid such errors, you can use one of the other, version-specific,
-# switches in place of the ``-grf'' switch, but these will cause run-time
-# errors to be reported if any AST function is invoked which requires
-# facilities not in the implemented interface.
-#
-# - ``-grf_v2.0'': This switch is equivalent to the ``-mygrf'' switch.
-# It indicates that you want to link with your own graphics module
-# which implements the 2D graphics interface required by V2.0 of AST.
-#
-# - ``-grf_v3.2'': Indicates that you want to link with your own
-# graphics module which implements the 2D graphics interface required by
-# V3.2 of AST.
-#
-# - ``-grf_v5.6'': Indicates that you want to link with your own
-# graphics module which implements the 2D graphics interface required by
-# V5.6 of AST.
-#
-# - ``-myerr'': Requests that no arguments be generated to specify how
-# error messages produced by the AST library should be delivered. You
-# should use this option only if you have implemented an interface to a
-# new error delivery system yourself and wish to provide your own
-# arguments for linking with it.
-#
-# - ``-mygrf'': This switch has been superceeded by the ``-grf'' switch,
-# but is retained in order to allow applications to be linked with a
-# graphics module which implements the 2D interface used by AST V2.0. It
-# is equivalent to the ``-grf_v2.0'' switch.
-#
-# - ``-pgp'': Requests that the program be linked so that 2D
-# graphical output from the AST library is displayed via the
-# Starlink version of the PGPLOT graphics package (which uses GKS
-# for its output). By default, no 2D graphics package is linked and
-# this will result in an error at run time if AST routines are
-# invoked that attempt to generate graphical output.
-#
-# - ``-pgplot'': Requests that the program be linked so that 2D
-# graphical output from the AST library is displayed via
-# the standard (or ``native'') version of the PGPLOT graphics
-# package. By default, no 2D graphics package is linked and this will
-# result in an error at run time if AST routines are invoked that
-# attempt to generate graphical output.
-#
-# - ``-grf3d'': Requests that no arguments be generated to specify which
-# 3D graphics system is used to display output from the AST library. You
-# should use this option only if you have implemented an interface to a
-# new 3D graphics system yourself and wish to provide your own arguments
-# for linking with it.
-#
-# - ``-pgp3d'': Requests that the program be linked so that 3D
-# graphical output from the AST library is displayed via the
-# Starlink version of the PGPLOT graphics package (which uses GKS
-# for its output). By default, no 3D graphics package is linked and
-# this will result in an error at run time if AST routines are
-# invoked that attempt to generate graphical output.
-#
-# - ``-pgplot3d'': Requests that the program be linked so that 3D
-# graphical output from the AST library is displayed via
-# the standard (or ``native'') version of the PGPLOT graphics
-# package. By default, no 3D graphics package is linked and this will
-# result in an error at run time if AST routines are invoked that
-# attempt to generate graphical output.
-
-# ERFA & PAL:
-# The AST distribution includes bundled copies of the ERFA and PAL
-# libraries. These will be used for fundamental positional astronomy
-# calculations unless the "--with-external_pal" option was used when
-# AST was configured. If "--with-external_pal" is used, this script
-# will include "-lpal" in the returned list of linking options, and
-# the user should then ensure that external copies of the PAL and
-# ERFA libraries are available (ERFA functions are used within PAL).
-
-# Examples:
-#c cc display.c -L/star/lib `ast_link -pgplot` -o display
-#c Compiles and links a C program called ``display'' which uses
-#c the standard version of PGPLOT for graphical output.
-#c cc plotit.c -L. -L/star/lib `ast_link -grf` -lgrf -o plotit
-#c Compiles and links a C program ``plotit''. The ``-grf''
-#c switch indicates that graphical output will be delivered through
-#c a graphical interface which you have implemented yourself, which
-#c corresponds to the interface required by the current version of AST.
-#c Here, this interface is supplied by means of the ``-lgrf'' library
-#c reference.
-#c cc plotit.c -L. -L/star/lib `ast_link -grf_v2.0` -lgrf -o plotit
-#c Compiles and links a C program ``plotit''. The ``-grf_v2.0''
-#c switch indicates that graphical output will be delivered through
-#c a graphical interface which you have implemented yourself, which
-#c corresponds to the interface required by version 2.0 of AST.
-#c Here, this interface is supplied by means of the ``-lgrf'' library
-#c reference.
-#f f77 display.f -L/star/lib `ast_link -pgplot` -o display
-#f Compiles and links a Fortran program called ``display'' which uses
-#f the standard version of PGPLOT for graphical output.
-#f f77 plotit.f -L. -L/star/lib `ast_link -grf` -lgrf -o plotit
-#f Compiles and links a Fortran program ``plotit''. The ``-grf''
-#f switch indicates that graphical output will be delivered through
-#f a graphical interface which you have implemented yourself, which
-#f corresponds to the interface required by the current version of AST.
-#f Here, this interface is supplied by means of the ``-lgrf'' library
-#f reference.
-#f f77 plotit.f -L. -L/star/lib `ast_link -grf_v2.0` -lgrf -o plotit
-#f Compiles and links a Fortran program ``plotit''. The ``-grf_v2.0''
-#f switch indicates that graphical output will be delivered through
-#f a graphical interface which you have implemented yourself, which
-#f corresponds to the interface required by version 2.0 of AST.
-#f Here, this interface is supplied by means of the ``-lgrf'' library
-#f reference.
-
-# Copyright:
-# Copyright (C) 1997-2006 Council for the Central Laboratory of the Research Councils
-# Copyright (C) 2007-2008 Science & Technology Facilities Council.
-# All Rights Reserved.
-
-# Authors:
-# RFWS: R.F. Warren-Smith (STARLINK)
-# DSB: David S. Berry (STARLINK)
-# TIMJ: Tim Jenness (JAC, Hawaii)
-# {enter_new_authors_here}
-
-# History:
-# 11-JUN-1996 (RFWS):
-# Original version.
-# 11-NOV-1996 (RFWS):
-# Added switches.
-# 18-NOV-1997 (RFWS):
-# Adapted prologue for document extraction.
-# 28-SEP-1998 (RFWS):
-# Distinguish between -pgp and -pgplot options.
-# 12-JAN-2001 (DSB):
-# Move terminating "}" in function "find" onto a new line to
-# avoid error when run under bash 2.04.11(1) (redhat 7).
-# 3-MAY-2001 (DSB):
-# Added a terminating ";" to the "done" statement at the end of
-# the "find" function, so that ast_link can be used on Debian Linux.
-# 23-JAN-2004 (DSB):
-# Added switches to support older grf implementations.
-# 24-AUG-2004 (DSB):
-# Removed f77='y' from -ems case.
-# 21-APR-2005 (DSB):
-# Added "-fsla" option.
-# 16-JUN-2006 (DSB):
-# Ignore "-fsla" and "-clsa" options, and always use PAL.
-# 26-JUN-2007 (DSB):
-# Added "-grf3d", "-pgplot3d" and "-pgp3d" flags.
-# 13-NOV-2008 (TIMJ):
-# Add -drama option for DRAMA Ers support.
-# 3-MAR-2011 (DSB):
-# Added grf 5.6 options.
-# {enter_further_changes_here}
-
-# Bugs:
-# {note_any_bugs_here}
-
-#--
-
-# This line is edited during configuration of this script to define a list
-# of the libraries that must be linked in order to resolve Fortran 77
-# references made from within a C main program. Typically, these will arise
-# from libraries written in Fortran which the AST library (or the C
-# program) calls. The value here is worked out by the autoconf macro
-# AC_FC_LIBRARY_LDFLAGS.
- flibs='@FCLIBS@'
-
-# This function searches the directory path specified in PATH, looking for
-# an executable file which is not a directory. If found, it echos the full
-# file name to standard output. Otherwise, it outputs nothing.
- find() { IFS=':'; for d in $PATH; do f="${d:=.}/${1}"
- test -x "${f}" -a ! -d "${f}" && echo "${f}" && break
- done;
- }
-
-# Initialise linking options.
- err=''
- grf=''
- grf3d=''
- sla=''
- f77=''
-
-# Interpret command line switches.
-# --------------------------------
- while :; do
- case "${1}" in
-
-# -csla - Previously used to request C version of SLALIB. Now ignored.
- -csla)
-# sla='c'
- shift;;
-
-# -fsla - Previously used to request Fortran version of SLALIB. Now ignored.
- -fsla)
-# sla='f'
- shift;;
-
-# -ems - Requests error reporting through EMS.
- -ems)
- err='ems'
- shift;;
-
-# -drama - Requests error reporting through DRAMA Ers.
- -drama)
- err='drama'
- shift;;
-
-# -myerr - Requests no error reporting.
- -myerr)
- err='my'
- shift;;
-
-# -grf - Requests no 2D graphics.
- -grf)
- grf='current'
- shift;;
-
-# -mygrf - Requests no 2D graphics, except for null implementations of
-# functions aded to the grf interface after AST V2.0.
- -mygrf)
- grf='v2.0'
- shift;;
-
-# -grf_v2.0 - Requests no 2D graphics, except for null implementations of
-# functions aded to the grf interface after AST V2.0.
- -grf_v2.0)
- grf='v2.0'
- shift;;
-
-# -grf_v3.2 - Requests no 2D graphics, except for null implementations of
-# functions aded to the grf interface after AST V3.2.
- -grf_v3.2)
- grf='v3.2'
- shift;;
-
-# -grf_v5.6 - Requests no 2D graphics, except for null implementations of
-# functions aded to the grf interface after AST V5.6.
- -grf_v5.6)
- grf='v5.6'
- shift;;
-
-# -pgp - Requests 2D graphical output through Starlink PGPLOT.
- -pgp)
- grf='pgp'
- shift;;
-
-# -pgplot - Requests 2D graphical output through native PGPLOT.
- -pgplot)
- grf='pgplot'
- shift;;
-
-# -grf3d - Requests no 3D graphics.
- -grf3d)
- grf3d='current'
- shift;;
-
-# -pgp3d - Requests 3D graphical output through Starlink PGPLOT.
- -pgp3d)
- grf3d='pgp'
- shift;;
-
-# -pgplot3d - Requests 3D graphical output through native PGPLOT.
- -pgplot3d)
- grf3d='pgplot'
- shift;;
-
-# Once all switches have been read, continue with the rest of the script.
- '') break;;
-
-# Catch unrecognised arguments and report an error.
- *)
- echo >&2 "ast_link: unknown argument \""${1}"\" given"
- exit 1;;
- esac
- done
-
-# Link with the main AST library.
-# -------------------------------
-# Start forming the list of arguments with the main AST library itself.
- args='-last '
-
-# Generate arguments for linking PAL.
-# -----------------------------------
-
- case "@EXTERNAL_PAL@" in
-
-# If we configured --with-external_pal include a link option to pick up
-# an external PAL library.
- 1) args="${args} -lpal";;
-
-# Otherwise, use the internal PAL & ERFA libraries.
- *) args="${args} -last_pal";;
-
- esac
-
-# Generate arguments for linking the 2D graphics system.
-# ------------------------------------------------------
- case "${grf}" in
-
-# If using Starlink PGPLOT, link with the AST PGPLOT interface and
-# the Fortran library via the PGP link script (if found).
- pgp) args="${args} -last_pgplot `\`find pgp_link\``"
- f77='y';;
-
-# If using native PGPLOT, link with the AST PGPLOT interface and the
-# Fortran library via the PGPLOT link script (if found).
- pgplot) args="${args} -last_pgplot `\`find pgplot_link\``"
- f77='y';;
-
-# If using own graphics which conform to the requirements of the current
-# version of AST, do not produce any arguments.
- current) :;;
-
-# If using own graphics which conform to the requirements of version 5.6
-# of AST, produce arguments which link in dummy implementations of any
-# functions which are required by the current version of AST but which were
-# not required by version 5.6.
- v5.6) :;;
-
-# If using own graphics which conform to the requirements of version 3.2
-# of AST, produce arguments which link in dummy implementations of any
-# functions which are required by the current version of AST but which were
-# not required by version 3.2.
- v3.2) args="${args} -last_grf_5.6";;
-
-# If using own graphics which conform to the requirements of version 2.0
-# of AST, produce arguments which link in dummy implementations of any
-# functions which are required by the current version of AST but which were
-# not required by version 2.0.
- v2.0) args="${args} -last_grf_3.2 -last_grf_5.6";;
-
-# Default graphics (none) requires linking with all the default (null) AST
-# "grf" modules.
- *) args="${args} -last_grf_2.0 -last_grf_3.2 -last_grf_5.6";;
- esac
-
-
-# Generate arguments for linking the 3D graphics system.
-# ------------------------------------------------------
- case "${grf3d}" in
-
-# If using Starlink PGPLOT, link with the AST 3D PGPLOT interface and
-# the Fortran library via the PGP link script (if found).
- pgp) args="${args} -last_pgplot3d `\`find pgp_link\``"
- f77='y';;
-
-# If using native PGPLOT, link with the AST 3D PGPLOT interface and the
-# Fortran library via the PGPLOT link script (if found).
- pgplot) args="${args} -last_pgplot3d `\`find pgplot_link\``"
- f77='y';;
-
-# If using own 3D graphics which conform to the requirements of the current
-# version of AST, do not produce any arguments.
- current) :;;
-
-# Default graphics (none) requires linking with all the default (null) AST
-# "grf3d" modules.
- *) args="${args} -last_grf3d";;
- esac
-
-
-
-# Make a second pass through the AST library.
-# -------------------------------------------
-# This library is a link to the main AST library and results in a second
-# pass to resolve any backward references generated by the other modules
-# used above. A different library name must be used to avoid the two passes
-# being merged into one (either below, or by other link scripts).
- args="${args} -last_pass2"
-
-# Generate arguments for linking the error reporting system.
-# ----------------------------------------------------------
- case "${err}" in
-
-# If using EMS, link with the AST EMS interface and the EMS library via the
-# link script (if found).
- ems) args="${args} -last_ems `\`find ems_link\``";;
-
-# If using DRAMA, link with the AST DRAMA interface and the DRAMA Ers library
-# via the link script (if found).
- drama) args="${args} -last_drama -lers";;
-
-# If using own error reporting, do not produce any arguments.
- my) :;;
-
-# Default error reporting requires linking with the default AST "err" module.
- *) args="${args} -last_err";;
- esac
-
-# Link with the maths library.
-# ----------------------------
- args="${args} -lm"
-
-# Link with the starmem library, if available.
-# --------------------------------------------
- args="${args} `\`find starmem_link\``"
-
-# Resolve Fortran 77 references.
-# ------------------------------
-# If libraries written in Fortran are being linked against, then include
-# additional libaries needed to resolve the references these will produce
-# (in the event that the main program is not Fortran).
- if test "${f77}" = 'y'; then args="${args} ${flibs}"; fi
-
-# Pass the resulting argument list through an awk script which eliminates
-# all except the last reference to each library.
- echo "${args}" \
- | awk 'BEGIN{RS=" ";FS="\n"}
- {if($1)f[i++]=$1}
- END{for(;i--;)if(!w[f[i]]++)l=f[i]" "l;print l}'
-
-# End of script.