[go: up one dir, main page]

File: README

package info (click to toggle)
flick 2.1-1
  • links: PTS
  • area: main
  • in suites: potato
  • size: 11,692 kB
  • ctags: 10,069
  • sloc: ansic: 57,561; cpp: 51,276; sh: 1,913; yacc: 1,755; lex: 984; makefile: 892; lisp: 140
file content (130 lines) | stat: -rw-r--r-- 5,887 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
-*- 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.