
	This file gives some information specific to the lcrash 
	implementation of sial.

	Please refer to the lkcdutils/libsial/README file basic libsial
	informations.

	An example script can be found @ lkcdutils/scripts/ps.sial

	PATHS and ENVIRONMENT
	=====================

	The default location to look for macros and include files are 
	/usr/share/sial/lcrash and ~/.lcrash.

	The default 'root' for #include location are thus:

	/usr/share/sial/lcrash/include and ~/.lcrash/include.

	There are two environment variables that control these locations.

	LC_IPATH : path to use for include files.
	ex: setenv LC_IPATH /usr/include:$(ROOT)/usr/include:~/.lcrash/include

	LC_MPATH : path to use for finding macro files.
	ex: setenv LC_MPATH /usr/tmp/macs:~/.sial

	#define's
	=====================

        The current independent #define's are:

        Name                    Value/format
        ====                    =====
        linux                   1
        __linux                 1
        __linux__               1
        unix                    1
        __unix                  1
        __unix                  1
        LINUX_RELEASE           0x%08x
        LINUX_2_2_16            (LINUX_RELEASE==0x020210)
        LINUX_2_2_17            (LINUX_RELEASE==0x020211)
        LINUX_2_4_0             (LINUX_RELEASE==0x020400)
        LINUX_2_2_X             (((LINUX_RELEASE) & 0xffff00) == 0x020200)
        LINUX_2_4_X             (((LINUX_RELEASE) & 0xffff00) == 0x020400)

        For i386 images/cores only.

        Name			Value
        ====			====
        i386                    1
        __i386                  1
        __i386__                1

        For ia64 images/cores only.

        Name			Value
        ====			=====
        ia64                    1
        __ia64                  1
        __ia64__                1
        __LP64__                1
        _LONGLONG               1
        __LONG_MAX__            9223372036854775807L

        If you feel there should be more standard defined pushed 
        there, let me know. 


	Loading/Unloading
	=====================

	lcrash defines two new commands for loading and unloading sial
	macros called "load" and "unload", respectively.

	Using "load" should be enough, since sial automaticly "unload's"
	the previous copy after successfully compiling the new one.

	DSO's must be unload'ed before you can reload them.

	Editing
	=====================
	
	To facilitate macro editing, lcrash makes a "vi" command available.
	vi <funcname> will get you directly in the macro file that 
	defines functin "funcname" at the line where "funcname" starts.

	vi -f /somedir/somefile, will start editing a new/old file.

	vi -l will get you position on the "l"ast compile or runtime error.

	Macro integration into the lcrash commands
	=============================================

	Refer to the README file on writing a user level command.
	Also look at the 'ps' example in the macro would be in 
	../ps from where this README file is.

	Any global functions that have no parameters can be called from
	the lcrash prompt. Only commands with corresponding help and opt
	functions will show up in lcrash help.


Questions/Comments
Luc Chouinard, lucc@sgi.com
