Update to 2.0.0 tree from current Fremantle build
[opencv] / apps / Hawk / CVEiCL / EiC / README
diff --git a/apps/Hawk/CVEiCL/EiC/README b/apps/Hawk/CVEiCL/EiC/README
deleted file mode 100644 (file)
index 8195709..0000000
+++ /dev/null
@@ -1,382 +0,0 @@
- ----------------------------------\r
-       EiC BUILD INSTRUCTIONS \r
-       \r
-               by\r
-\r
-            Ed Breen\r
-\r
- ---------TABLE-of-CONTENTS--------- \r
-\r
-1. INTRODUCTION:\r
-2. INSTALLING EIC FROM THE SOURCE DISTRIBUTION:\r
-        Step 1\r
-        Step 2 \r
-        Step 3\r
-        Step 4\r
-        Step 5 \r
-       Step 6\r
-3  BUILDING A TOY VERSION OF EiC\r
-4. EXPLANATION OF NON-PORTABLE MACROS USED:\r
-        $(addprefix PREFIX,NAMES...)    (from GNU info Make)\r
-5. TROUBLE SHOOTING:\r
-6. PORTING EiC TO OTHER PLATFORMS\r
-\r
- --END-of-TABLE-of-CONTENTS---------\r
-\r
- ------------------------------------\r
-- INTRODUCTION:\r
-\r
-       EiC's distribution plus binaries require approximately 4\r
-       Mbytes of disk space. To build EiC, you will need GNU make and\r
-       gcc 2.6.3 or later. However, if you don't have GNU make then\r
-       the section on 'explanation of non-portable macros' may help\r
-       you over come this limitation.\r
-\r
-\r
- -------------------------------------------\r
-- INSTALLING EiC FORM THE SOURCE DISTRIBUTION:\r
-\r
-       There are just six easy steps to installing EiC.  Please read\r
-       all six steps before starting at step 1.\r
-\r
--- Step 1\r
-\r
-       Untar the distribution. It will automatically unpack itself\r
-       into a subdirectory off the current directory. This\r
-       subdirectory will be named EiC and will be referred to as the\r
-       top EiC directory or the HOMEofEiC.\r
-       \r
-       If you use GNU tar, then:\r
-               % tar -xvzf EiC.tar.gz\r
-       else\r
-               % gunzip EiC.tar.gz \r
-               % tar -xvf EiC.tar.gz\r
-\r
--- Step 2 \r
-\r
-       If you haven't already done so, then:\r
-\r
-               % cd EiC\r
--- Step 3\r
-\r
-       This step looks worse than it really is. You shouldn't have to\r
-       do anything, other than setting the directory where EiC will\r
-       be installed.\r
-       \r
-       In the project parameter file:\r
-\r
-               /EiC/project.params\r
-\r
-       you will need to set EiC's installation directory; this is\r
-       where the EiC binary will be placed, via:\r
-       \r
-               INSTALL_DIR = $(HOME)/bin\r
-\r
-       By default, it points to 'bin', which is assumed to be just\r
-       off your home directory and within your search path. If you\r
-       don't have a bin directory, make it or just change the\r
-       assignment to point to any other directory that is in your\r
-       search PATH, and that you have write access to.\r
-\r
-       The rest of this step can now be skipped over and only if things\r
-       fail, after step 4, will you need to refer to the rest of step\r
-       3.\r
\r
-       Now, you will need to:\r
-\r
-               a) set the EiC project parameters,  and\r
-               b) check the appropriate platform parameters are\r
-                  set according to your site.\r
-\r
-       Hopefully, the default settings will do.  However, if you are\r
-       uncertain about what to do, with respect to what the various\r
-       parameters mean or platform types, then consult the DATA\r
-       DICTIONARY section in the file:\r
-       \r
-               EiC/config/GuideLines.make.\r
-\r
-       Now check the parameter settings in the file:\r
-\r
-               EiC/config/$(PLATFORM)/make.params\r
-\r
-       where $(PLATFORM) is the platform type that you are going\r
-       to compile EiC for. Check the directory EiC/config\r
-       for the platforms supported. They are indicated by\r
-       directories with names starting with '_'; for example,\r
-        _LINUX, _SOLARIS, _SUNOS, etc. \r
-\r
-       If you find any parameter setting in the platform make.params\r
-       file that are not to your liking, then you have can override\r
-       these settings by placing a corresponding  parameter in\r
-       the file: \r
-\r
-               EiC/override.params\r
-\r
-       The main purpose of the override.params file is to\r
-       allow for any peculiarities that are unique\r
-       to any particular site. More information on this\r
-       file can be found in the file itself.\r
-       \r
-\r
--- Step 4\r
-\r
-       From EiC's top directory type the following command:\r
-               \r
-               % config/makeconfig\r
-\r
-       makeconfig will use its default procedures to determine your\r
-       operating system, and other configuration settings. It will\r
-       attempt to produce the file:\r
-               \r
-                EiC/make.proj\r
-\r
-       that will contain the correct configuration setup for the EiC\r
-       project Makefiles within your environment. To get more\r
-       infomation about makeconfig type:\r
-               \r
-               % config/makeconfig -h\r
-\r
--- Step 5 \r
-\r
-       If makeconfig was successful, then from the EiC top directory,\r
-       type:\r
\r
-               % make install\r
-               % make clean\r
-               % rehash\r
-               % cd test\r
-               % test.sh       // run EiC's test procedures\r
-\r
-\r
-       You will have to also set the environmental variable\r
-       HOMEofEiC to point to directory where EiC is\r
-       installed. See README.BIN for further information on\r
-       HOMEofEiC.\r
-\r
-       Hopefully everythings goes to plan -- if not, see the section\r
-       on trouble shooting below.\r
-\r
-\r
--- Step 6\r
-        To make the documentation then\r
-               \r
-               % cd EiC/doc\r
-               % make install\r
-\r
-\r
-- BUILDING A TOY VERSION OF EiC\r
-\r
-       To build a version of the EiC interpreter\r
-       that does not include EiC's runtime library\r
-       then change to EiC's src directory\r
-\r
-               % cd EiC/src\r
-               % make -f makefile.seic \r
-               % rm *.o\r
-\r
-       This will produce the binary `seic'. It\r
-       is the starting point for experimenting\r
-       with EiC.\r
-       \r
-- EXPLANATION OF NON-PORTABLE MACROS USED:\r
-\r
--- $(addprefix PREFIX,NAMES...)    (from GNU info Make)\r
-               \r
-       The argument NAMES is regarded as a series of names, separated\r
-        by whitespace; PREFIX is used as a unit.  The value of PREFIX\r
-        is prepended to the front of each individual name and the\r
-        resulting larger names are concatenated with single spaces\r
-        between them.  For example,\r
-\r
-               $(addprefix src/,foo bar)\r
-\r
-       produces the result `src/foo src/bar'.\r
-\r
-- TROUBLE SHOOTING:\r
-\r
-       If the compiler complains about duplicate definitions\r
-       of standard C funtions, then make sure you are using\r
-       gcc 2.6.3 or later, via:\r
-\r
-               % gcc -v\r
-       \r
-       If the installation procedure completely fails, then\r
-       check that make is being initiated correctly in each\r
-       subdirectly. You may need to set the SHELL variable in the\r
-       top level make file (../EiC/Makefile):\r
-\r
-               SHELL = /bin/ksh\r
-\r
-\r
-       If you don't have a ksh shell, then you may have to \r
-       do most things by hand:\r
-\r
-               % cd EiC\r
-               % config/makeconfig\r
-               % make install    // let it fail\r
-               % cd module/stdClib/src\r
-               % make headers\r
-               % cd ../../../src \r
-               % make headers\r
-               % cd ../module/stdClib/src\r
-               % make install\r
-               % cd ../../../src\r
-               % make install\r
-               % cd ../main\r
-               % make install\r
-       \r
-       Check that you aren't installing EiC for a platform it\r
-       doesn't know about (see porting EiC to other platforms below).\r
-       \r
-       If everything compiles, without errors, and your system reports\r
-       after typing:\r
-\r
-               % eic\r
-               eic: Command not found\r
-       \r
-       Then check your search path and the directory where EiC\r
-       was installed. Or maybe just enter\r
-       \r
-               % rehash\r
-\r
-\r
-       Read all of step 3.\r
-\r
-\r
--------------------------------------------------\r
-- PORTING EiC TO OTHER PLATFORMS\r
-\r
-This part of the documentation explains how to port EiC to a new\r
-platform. It is also assumed that the following steps will be\r
-performed on the new platform.  The following outlines the steps I\r
-took to port EiC to a Dec Alpha.\r
-\r
--- Porting the EiC interpreter\r
-\r
-       First get the platform name \r
-       via `uname'.\r
-\r
-       At the system prompt:\r
-\r
-       % uname\r
-       OSF1\r
-\r
-       Therefore, the DEC alpha platform name is:\r
-       \r
-               OSF1\r
-\r
-       Now change to the directory EiC/config and\r
-       create the appropriate platform directory.\r
-\r
-               % cd EiC/config\r
-               % mkdir _OSF1 \r
-\r
-       Note the leading underscore. Now pick one of the existing\r
-       platforms that you feel is compatible with the new\r
-       platform and copy over its `make.params' file.\r
-       For example:\r
-\r
-               % cp _LINUX/make.params _OSF1\r
-       \r
-       Now edit the copy of make.params, to reflect to the new OS, in\r
-       particular change the PLATFORM designation.\r
-\r
-       Next, check for data alignment, pointer size and\r
-       byte ordering, by compiling and running \r
-        `alignment' in EiC/config:\r
-\r
-               % gcc alignment.c\r
-               % a.out\r
-               #define EIC_LITTLE_ENDIAN 1\r
-               {1, 1}, /* char */\r
-               {2, 2}, /* short */\r
-               {4, 4}, /* int */\r
-               {8, 8}, /* long */\r
-               {4, 4}, /* float */\r
-               {8, 8}, /* double */\r
-               {8, 8}, /* pointer */\r
-               {0, 1}, /* struct*/\r
-\r
-               % rm a.out\r
-\r
-       Now you need to inform EiC about this by\r
-       adding the following structure to the \r
-       EiC source file `EiC/src/metric.h': \r
-\r
-       /* Dec Alpha */\r
-       #ifdef _OSF1\r
-       #define EIC_LITTLE_ENDIAN  1\r
-       short metric[8][2] = { /* size, alignment pairs */\r
-                       {1, 1}, /* char */\r
-               {2, 2}, /* short */\r
-               {4, 4}, /* int */\r
-               {8, 8}, /* long */\r
-               {4, 4}, /* float */\r
-               {8, 8}, /* double */\r
-               {8, 8}, /* pointer */\r
-               {0, 1}, /* struct*/\r
-       };\r
-       #endif\r
-       \r
-       Now inform the makefile system of the new platform.\r
-       In the directory EiC type:\r
-\r
-       <EiC> % config/makeconfig\r
-       TOP_DIR = /home/edb/compilers/EiC\r
-       CONFIG_DIR = /home/edb/compilers/EiC/config\r
-       platform = _OSF1\r
-\r
-       This completes the porting of the EiC\r
-       interpeter and the Makefile system to the new\r
-       platform. Now the fun begins -- we have to\r
-       port EiC's runtime library.\r
-\r
--- Porting the runtime library.\r
-\r
-       Change to the directory EiC/module/stdClib/src and\r
-       add  the appropriate patform directory:\r
-\r
-       <EiC/.../src> mkdir _OSF1\r
-\r
-       Copy the contents of an already established\r
-       platform to this directory:\r
-\r
-       <EiC/.../src> cp -r _LINUX/* _OSF1\r
-\r
-       Now each header file in this directory must be\r
-       made compatible with the platform header files in\r
-       `/usr/include'. Also the file "fcntl.h" needs to be\r
-       addressed. However, you don't have to worry about\r
-\r
-               stdio.h\r
-               stdlib.h\r
-               errno.h\r
-               stdtypes.h\r
-                limits.h\r
-               float.h\r
-                signal.h\r
-                termdefs.h\r
-\r
-       As these files get automaticly constructed by EiC's build\r
-       process during installation, by the EiC/config/genstdio.c\r
-       program. As this document is usually as not as up todate as\r
-       the gentstdio.c file you should also check it for any other .h\r
-       files it may now be generating. To do this, just look at the\r
-       contents of the main() function.\r
-               \r
-        To help with this process of generating header files, I used\r
-         gcc and grep; for example, when inspecting termios.h:\r
-       \r
-       </usr/include> gcc -D_POSIX_SOURCE -E termios.h | less\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r