ncargcc man page

ncargcc — Command for compiling C code that uses the NCAR Graphics low-level utilities

Synopsis

ncargcc [-ngmath] [-smooth] [-quick] [-super] [-agupwrtx] [-ncarbd] ... [-ngmathbd] ... [-noX11] ...

Description

ncargcc is a script that invokes the C compiler/linker with the proper NCAR Graphics LLU (low-level utility) libraries. Arguments presented above are associated with NCAR Graphics. All other arguments and options are identical to the cc command on your particular machine; arguments that include quoted strings may have to be enclosed in single quotes.

NOTE: ncargcc cannot be used to compile NCAR Graphics C programs that call the HLUs (high-level utilities). You must use nhlcc instead. See the nhlcc man page for more information.

If you don't want to use ncargcc, you can just type it on the command line to see what gets included in the link line, and then you can add this information to your own Makefile or script. It is important to note that you must define the macro NeedFuncProto in order for function prototyping to work correctly.

In order to run ncargcc, you must have your NCARG_ROOT environment variable set to the directory pathname where the NCAR Graphics libraries, binaries, and include files were installed. If you are not sure what NCARG_ROOT should be set to, please check with your system administrator or the site representative for NCAR Graphics. If the NCAR Graphics libraries, binaries, and include files were not installed under one root directory, then you will need to set the environment variables NCARG_LIB, NCARG_BIN, and NCARG_INCLUDE instead. Please see "man ncargintro" for more information.

When ncargcc is invoked with the -ictrans option the resulting executable will, upon invocation, send its metafile output to the translator ictrans. The environment variable GRAPHCAP must be set to a valid graphics output device whenever the executable is executed.

By default, ncargcc will load the X11 library when linking your C program. If you try running ncargcc and the compiler complains that it cannot find the library for X11, then try running ncargcc -L/xxx/yyy/zzz program.c where /xxx/yyy/zzz is the path leading to your X11 library. If you do not have the X11 library, or else you just don't want to link it in, you can use the -noX11 option.

OPTIONS

-ngmath
Links in the NCAR Graphics ngmath library.
-smooth
Link in the "smooth" objects.
-quick
Link in the "quick" objects.
-super
Link in the "super" objects.
-agupwrtx
Link in the "agupwrtx" library.
-ncarbd
Use this option for compilers that appear to be having trouble initializing blockdata variables. It will cause a small subroutine to be linked in that helps force the loading of blockdata initialization routines.
-ngmathbd
Just like with the -ncarbd option, use this option for compilers that appear to be having trouble initializing Ngmath-related blockdata variables. It will cause a small subroutine to be linked in that helps force the loading of Ngmath blockdata initialization routines.

Note: this option doesn't need to be specified separately if you are already including the -ncarbd and -ngmath options.
-noX11
Do not link in the X library when linking the code.

By default, ncargf77 will load the X11 library when linking your Fortran program. This is because the GKS library now has an X11 driver. If you try running ncargf77 and the compiler complains that it cannot find the library for X11, then try running ncargf77 -L/xxx/yyy/zzz program.f where /xxx/yyy/zzz is the path leading to your X11 library. If you do not have the X11 library, or else you just don't want it to be loaded, you can use the -noX11 option.

See Also

Online: ictrans(1NCARG), gcaps(1NCARG), ncargf77(1NCARG), nhlcc(1NCARG), nhlf77(1NCARG), ncargintro(5NCARG)

Hardcopy: NCAR Graphics Fundamentals, UNIX Version

Info

February 1993 NCAR NCAR GRAPHICS