diff options
Diffstat (limited to 'TAO/TAO_IDL/docs/historical/INSTALL')
-rw-r--r-- | TAO/TAO_IDL/docs/historical/INSTALL | 229 |
1 files changed, 229 insertions, 0 deletions
diff --git a/TAO/TAO_IDL/docs/historical/INSTALL b/TAO/TAO_IDL/docs/historical/INSTALL new file mode 100644 index 00000000000..6fcaa710042 --- /dev/null +++ b/TAO/TAO_IDL/docs/historical/INSTALL @@ -0,0 +1,229 @@ +INTERFACE DEFINITION LANGUAGE INSTALLATION GUIDE +-==============================================- + +INTRODUCTION + +This file describes the installation process for OMG_IDL_CFE version 1.3. +This file explains how to: + +- install the source code +- modify the sources to customize them for different configurations +- modify the sources to implement your own back end + +TESTED CONFIGURATIONS + +This release has been tested and is believed to operate correctly on: +- SunPro Sparcworks 2.x and 3.0 on SunOS 4.1.x +- SunPro Sparcworks 2.x and 3.0 on Solaris 2.3 +- g++ 2.5.8 on SunOS 4.1.x +- g++ 2.5.8 on Solaris 2.3 + +This is the first release of OMG IDL CFE which is preconfigured to compile +correctly for Solaris 2.x and with SunPro SparcWorks compilers. + +CUSTOMIZATION + +The release contains a file idl_make_vars in the current directory, which +is included in each Makefile. This file defines all the customizable +variables for the CFE. + +OSV should be set to a string denoting the operating system upon which you +wish to build the CFE. The CFE as shipped is preconfigured to compile +correctly on Solaris 2.x (OSV=SOLARIS2), and has also been tested on SunOS +4.1.x (OSV=SUNOS4). It contains code donated by HP which enables it to be +compiled on Apollo Domain systems (OSV=apollo) and HPUX systems (OSV=hpux), +but these two configurations have not been tested. + +C++ and CCC should be set to identify the C++ compiler you will use to +compile this release. Their values should be identical. Both are set to +address differences between various make programs - some predefine CCC, +others use C++ to denote the C++ compiler. The possible values are CC +(which uses the Sparcworks compilers on SunOS 4.1 and Solaris 2.3) and g++, +which uses the installed version of GNU C++. + +CCFLAGS should be set to a list of flags to pass to the C++ compiler. As +shipped, this list is -g. NOTE: We have not extensively tested the release +with optimization turned on. + +CPP_FLAGS should be set to a list of flags to pass to the C++ preprocessor. +Use this variable to enable or disable specific customizations you make to +the BE or CFE sources. + +YFLAGS should be set to a list of flags to pass to the Yacc program. As +shipped, the list is -d -t, which causes Yacc to generate y.tab.h and +y.tab.c files. + +LEXFLAGS should be set to a list of flags to pass to the Lex program. As +shipped, the list -t. + +RANLIB should be set to the location of the ranlib program on your system. +As shipped this is ranlib. If your system has no ranlib you can set this +variable to ':' or /bin/true. As shipped the variable is preset to +/bin/true since Solaris 2.x does not use ranlib. + +AR should be set to the location of the ar program on your system. As +shipped this is ar. If your system has a different mechanism for creating +libraries, you should modify the value of this variable accordingly. + +ARFLAGS should be set to the flags to be passed to the ar program. As +shipped this is 'crv'. + +INSTALLATION + +a. Disk space requirements + +This distribution requires approximately 350 KBytes when compressed. When +uncompressed, untarred and compiled, approximately 10 MBytes of disk space +are consumed on a Sun 4. + +b. Getting the software + +Use anonymous FTP to omg.org and supply your e-mail address as password. +Change directories to pub/OMG_IDL_CFE_1.3, set bin and get the compressed +tar file OMG_IDL_CFE_1.3.tar.Z. + +The distribution may, in the future, be made available from other archives +on the Internet. However, omg.org will always have the most up-to-date +version of this software. + +After transferring this file, uncompress it and untar it in a directory of +your choice. + +c. Compiling it + +If you are using a Sparcstation running Solaris 2.x and have the SunPro +Sparcworks compilers installed, you may directly install the software. If +your hardware or operating system configurations are different, read and +follow the instructions in the previous section first. + +At the root directory of the release, issue + + % make + +or + + % make all + +This will compile the provided sources and the sources found in the be +directory. Executing this make target causes 'make all' to be invoked in +each subdirectory, resulting in building the libraries for each component +and finally a link step producing an executable IDL compiler. + +In order to make only the compiler front end components, without compiling +the sources found in the be directory and without building an executable, +issue + + % make libs + +This will build the libraries in the ast, fe, util, driver and narrow +directories. To build only the be, issue + + % make be + +To build all libraries without creating an executable, issue + + % make all_libs + +To remove all files created by the build process, issue + + % make clean + +This will not remove any files created by Yacc and Lex, because you may be +using the ones provided in the distribution (see below). + +d. Yacc and Lex + +Some installations may not have a C++ aware Yacc and Lex processor. For +these installations, we have included the output of yacc and lex in the +release. If you need to use these files to build the release because you +don't have access to a C++ capable Yacc or Lex, go to the "fe" directory, +issue the command: + + % touch lex.yy.cc y.tab.cc y.tab.hh + +This will ensure that the processed files appear to be newer than the +source files they were produced from and will cause "make" to skip their +production. + +NOTE: The files provided in the distribution have been produced on Solaris +2.3 and may contain OS-specific #include directives. If you intend to use +these files, you may have to edit them to make them work in your +environment. The provided files are known to compile cleanly without +modification with both SunPro Sparcworks compilers and GNU C++ on both +SunOS 4.1 and Solaris 2.3. We have not tested the grammar and lexer input +files with bison or flex. + +IMPLEMENTING A BACK END + +To implement your own back end, you can start with the provided sources in +the be directory and modify them. The Makefile understands the 'make all' +target and will generate libbe.a in the demo_be directory. As set up, the +variable CPP_FLAGS allows you to place include files either in the current +directory or in the include directory. Alternatively, you can place your +include files in a new directory and modify CPP_FLAGS to cause the C++ +preprocessor to search this new directory for referenced include files, by +adding a new -I directive. + +Additional detail on the structure and function of back ends, and on the +protocol which a back end must implement, are found in the document +entitled WRITING_A_BE. + +COPYRIGHT + +Copyright 1992, 1993, 1994 Sun Microsystems, Inc. Printed in the United +States of America. All Rights Reserved. + +This product is protected by copyright and distributed under the following +license restricting its use. + +The Interface Definition Language Compiler Front End (CFE) is made +available for your use provided that you include this license and copyright +notice on all media and documentation and the software program in which +this product is incorporated in whole or part. You may copy and extend +functionality (but may not remove functionality) of the Interface +Definition Language CFE without charge, but you are not authorized to +license or distribute it to anyone else except as part of a product or +program developed by you or with the express written consent of Sun +Microsystems, Inc. ("Sun"). + +The names of Sun Microsystems, Inc. and any of its subsidiaries or +affiliates may not be used in advertising or publicity pertaining to +distribution of Interface Definition Language CFE as permitted herein. + +This license is effective until terminated by Sun for failure to comply +with this license. Upon termination, you shall destroy or return all code +and documentation for the Interface Definition Language CFE. + +INTERFACE DEFINITION LANGUAGE CFE IS PROVIDED AS IS WITH NO WARRANTIES OF +ANY KIND INCLUDING THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS +FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR ARISING FROM A COURSE OF +DEALING, USAGE OR TRADE PRACTICE. + +INTERFACE DEFINITION LANGUAGE CFE IS PROVIDED WITH NO SUPPORT AND WITHOUT +ANY OBLIGATION ON THE PART OF Sun OR ANY OF ITS SUBSIDIARIES OR AFFILIATES +TO ASSIST IN ITS USE, CORRECTION, MODIFICATION OR ENHANCEMENT. + +SUN OR ANY OF ITS SUBSIDIARIES OR AFFILIATES SHALL HAVE NO LIABILITY WITH +RESPECT TO THE INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY +INTERFACE DEFINITION LANGUAGE CFE OR ANY PART THEREOF. + +IN NO EVENT WILL SUN OR ANY OF ITS SUBSIDIARIES OR AFFILIATES BE LIABLE FOR +ANY LOST REVENUE OR PROFITS OR OTHER SPECIAL, INDIRECT AND CONSEQUENTIAL +DAMAGES, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +Use, duplication, or disclosure by the government is subject to +restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in +Technical Data and Computer Software clause at DFARS 252.227-7013 and FAR +52.227-19. + +Sun, Sun Microsystems and the Sun logo are trademarks or registered +trademarks of Sun Microsystems, Inc. + +SunSoft, Inc. +2550 Garcia Avenue +Mountain View, California 94043 + +NOTE: + +SunOS, SunSoft, Sun, Solaris, Sun Microsystems or the Sun logo are +trademarks or registered trademarks of Sun Microsystems, Inc. |