Flick modular IDL compiler from Utah Univ updated snapshot
License
berkus/flick
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
-*- mode: Text -*- Flick --- Flexible IDL Compiler Kit Eric Eide, James Simister, Tim Stack, Kevin Frei, Eric Pabst, Bryan Ford, Jay Lepreau, Gary Lindstrom flick@cs.utah.edu The Flux Project, University of Utah http://www.cs.utah.edu/flux/ +1-801-585-3271 November 1999 This is Flick version 2.1, an interface definition language (IDL) compiler (``stub generator'') that generates optimized code and supports a variety of IDLs and message transport mechanisms. The Flick compiler is distributed under the GNU General Public License; see the file named `COPYING' for details. The Flick runtime headers and libraries are distributed under a separate license (BSD-style without the advertising clause); see the file `runtime/COPYING' for details. Additional support files, if needed (in the `support' directory), are distributed under various licenses; see the file `COPYRIGHT' for details. The text of the Flick 2.1 announcement is in the file `doc/announce.text'; see that file for additional details such as the list of tested platforms. For help building Flick, see the `INSTALL' file. The `doc/usersguide/user.ps' file is the Flick user's manual, complete with code examples. The `doc/BUGS' file describes known defects and as-yet-unimplemented features. For an introduction to Flick's overall design and internals, please read our PLDI '97 paper, ``Flick: A Flexible, Optimizing IDL Compiler,'' available from the Flick Web pages at <http://www.cs.utah.edu/flux/flick/>. To learn about Flick's internals in gory detail, refer to the `doc/guts/guts.ps' manual. We welcome comments, technical discussion, and collaborators. If you start using Flick, please let us know; send mail to <flick-users-request@cs.utah.edu> with the message body containing the line subscribe flick-users to get on the mailing list. Send bugs and fixes to <flick-bugs@cs.utah.edu>. CHANGES SINCE FLICK 2.0 Flick 2.1 incorporates several new features, bug fixes, and a major new document on Flick's internals. Most notably: + Flick now generates optimized C++ stubs that work with TAO version 1.0, the real-time, open source ORB from Washington University in St. Louis. (The previous release of Flick supported TAO 0.3.23.) You will need to acquire a copy of TAO 1.0 in order to make use of Flick's C++ stubs. For information about TAO, see <http://www.cs.wustl.edu/~schmidt/TAO.html>. + Flick's generated C and C++ files are now smaller --- often much smaller! Flick now eliminates unnecessary functions (internal marshal and unmarshal functions) from generated code. + The Flick Programmer's Manual (a.k.a. ``The Guts Manual'') has been completely rewritten and expanded. This manual is essential reading for anyone who wants to hack on Flick or create new Flick compiler components. + Lots and lots of miscellaneous bug fixes. STATUS Flick 2.1 is quite robust, but this is not to say that it is bug-free. Current and past projects that use Flick include: + QuOIN, the Quorum Distributed Object Integration Project, led by BBN. This DARPA-funded project is combining technology from many researchers in order to create a unified, flexible, and quality-of-service aware framework for distributed object computing. + The Fluke Operating System. Flick is the IDL compiler for Fluke, a new operating system being developed by the Flux Project at the University of Utah. See <http://www.cs.utah.edu/flux/> for information about Fluke (and Flick, too). + L4. The Dresden Real-Time Operating Systems Project (DROPS) extended Flick to generate optimized stubs based on the L4 microkernel API. For more information, see <http://os.inf.tu-dresden.de/drops/>. + Porcupine 1. Porcupine is a scalable SMTP/IMAP server designed for high-volume mail exchange --- up to one billion messages per day. See <http://porcupine.cs.washington.edu/porc1/index.html> for more information. + The CS 453 `TICS' Group. A group of students in our Department's senior software lab used Flick to implement RPC for distributed robot control systems. Flick itself is run on a Unix machine, and the generated IIOP stubs are compiled for both Unix and Windows NT, enabling cross-platform communication and development. A list of known bugs and caveats can be found in `doc/BUGS'. In brief: + There are some minor shortcomings with Flick's CORBA components (e.g., no `wchar' or `wstring' types, missing support for `any's in the C language IIOP runtime, etc.). + There are still some dependencies between the front ends and the presentation generators. This means that one cannot ``mix and match'' IDLs and presentation generators. For example, you can't start with a Sun RPC (a.k.a. ONC RPC) IDL file and get CORBA-like stubs. + In principle one can ``mix and match'' different presentations and back ends, e.g., Sun IDL and presentation could talk IIOP to a similarly specified system. However, the only unusual combinations that have been tested recently are CORBA-on-Mach, CORBA-on-Trapeze, and ONC-on-Trapeze. Other unusual combinations are unlikely to work. TESTING FLICK / EXAMPLE PROGRAMS Flick comes with a set of test inputs and example programs in the `test' subdirectory of the distribution. See the `test/README' file for instructions. Note that, *except* for the `test/examples/phone' application, the example programs in `test/examples' are not up to date and may not compile. You will need 100--200MB of free disk space in order to run the Flick tests. Refer to the user's manual and the `test/examples/phone' sample application to learn how to use Flick's IIOP and ONC RPC runtime libraries in your own programs. ## End of file.
About
Flick modular IDL compiler from Utah Univ updated snapshot
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published