Introduction:
=============
-This directory contains the source code of the pidl (Perl IDL)
-compiler for Samba 4.
+This directory contains the source code of the pidl (Perl IDL)
+compiler for Samba 4.
The main sources for pidl are available using Git as part of
-the combined Samba 3 / Samba 4 tree. Use:
+the Samba source tree. Use:
git clone git://git.samba.org/samba.git
-Pidl works by building a parse tree from a .pidl file (a simple
-dump of it's internal parse tree) or a .idl file
-(a file format mostly like the IDL file format midl uses).
-The IDL file parser is in idl.yp (a yacc file converted to
+Pidl works by building a parse tree from a .pidl file (a simple
+dump of it's internal parse tree) or a .idl file
+(a file format mostly like the IDL file format midl uses).
+The IDL file parser is in idl.yp (a yacc file converted to
perl code by yapp)
-After a parse tree is present, pidl will call one of it's backends
-(which one depends on the options given on the command-line). Here is
-a list of current backends:
-
Standalone installation:
========================
-Run Makefile.PL to generate the Makefile.
+Run Makefile.PL to generate the Makefile.
Then run "make install" (as root) to install.
Internals overview:
===================
+After a parse tree is present, pidl will call one of it's backends
+(which one depends on the options given on the command-line). Here is
+a list of current backends:
+
-- Generic --
Parse::Pidl::Dump - Converts the parse tree back to an IDL file
Parse::Pidl::Samba4::Header - Generates header file with data structures defined in IDL file
Parse::Pidl::Typelist - Utility functions for keeping track of known types and their representation in C
Tips for hacking on pidl:
- - Look at the pidl's parse tree by using the --keep option and looking
- at the generated .pidl file.
- - The various backends have a lot in common, if you don't understand how one
- implements something, look at the others
+ - Inspect pidl's parse tree by using the --keep option and looking at the
+ generated .pidl file.
+ - The various backends have a lot in common, if you don't understand how one
+ implements something, look at the others.
- See pidl(1) and the documentation on midl
- - See 'info bison' and yapp(1) for information on the file format of idl.yp
+ - See 'info bison' and yapp(1) for information on the file format of idl.yp
+ - Run the tests (all in tests/)