------------------------------------------------------------
README file: <IDL_Directory>	
		  external
		    call_external
------------------------------------------------------------

This directory contains examples which demonstrate the usage
of the CALL_EXTERNAL function under Unix and Microsoft Windows.
It uses the MAKE_DLL procedure, contained in get_callext_exlib.pro,
to build the sharable C code, transparently and on demand, for your
platform.

This example assumes that your system has a C compiler installed that
is compatible with the C compiler described in the !MAKE_DLL system
variable. If you do not have such a compiler installed, these examples
will not work.

To Run the CALL_EXTERNAL examples:

	IDL> pushd, FILEPATH('',SUBDIRECTORY=['external','call_external','C'])
	IDL> all_callext_examples
	IDL> popd

When you run ALL_CALLEXT_EXAMPLES, there are a couple of keywords you
can specify:

	AUTO_GLUE - Set this keyword to cause IDL to call the examples
		using the AUTO_GLUE keyword to CALL_EXTERNAL. This
		feature allows you to call C functions that have
		"natural" interfaces that don't use the IDL portable
		calling convention (argc, argv).

	VERBOSE - Set this keyword to have MAKE_DLL and CALL_EXTERNAL
		list the commands they execute and the resulting output
		generated by those commands.

The use of PUSHD and POPD are due to the fact that your IDL search
path (!PATH) is unlikely to have the directory containing these
examples in it. PUSHD changes your working directory to the location
where these files are found, and POPD restores it to its original location.

Once you have run ALL_CALLEXT_EXAMPLES, you can run any of the individual
examples by directly executing their commands. These commands also accept
the AUTO_GLUE and VERBOSE keywords. In addition, they accept other arguments,
the details of which are available by reading their .PRO files.

Running the examples:

        IDL>incr_struct
        IDL>simple_vars
        IDL>string_array
        IDL>sum_2d_array
        IDL>sum_array
