1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-29 21:47:30 +03:00

46 Commits

Author SHA1 Message Date
Jelmer Vernooij
6967b98849 r12465: Merge Parse::Pidl::Samba4::NDR::Header into Parse::Pidl::Samba4::NDR::Parser.
Small optimization to avoid including NDR headers multiple times
2007-10-10 13:47:42 -05:00
Jelmer Vernooij
87f25fe49c r10190: Do some very basic input checking when provisioning. 2007-10-10 13:38:06 -05:00
Jelmer Vernooij
d8a31d3048 r10111: Make pidl by default assume the input file is an IDL file rather
then a .pidl file.
2007-10-10 13:38:00 -05:00
Jelmer Vernooij
b56084ce25 r9460: - Move pidl to lib/. This fixes standalone installation of pidl.
- Update the README
- Allow building the docs stand-alone
2007-10-10 13:34:17 -05:00
Jelmer Vernooij
e48202275e r9459: Move pidl up one level (to prevent too much nesting) 2007-10-10 13:34:17 -05:00
Jelmer Vernooij
26e1fdf630 r8806: Move data representation-independent data into seperate header 2007-10-10 13:30:06 -05:00
Jelmer Vernooij
d292ab7ca6 r8803: Rename --header to --ndr-header and --parser to --ndr-parser 2007-10-10 13:30:06 -05:00
Jelmer Vernooij
5af68a0476 r8801: Change --output to --outputdir and make pidl add a data representation prefix
to pidl itself. Useful for supporting other data representation types.
2007-10-10 13:30:06 -05:00
Andrew Tridgell
f54e6c83e4 r8469: the extra pidl args need to be normal args, not after a --, otherwise pidl tries to compile
"--uint-enums" as a IDL file :-)

This should help the build on AIX 5.2
2007-10-10 13:23:06 -05:00
Jelmer Vernooij
c620095692 r8264: - Use standard perl package structure for pidl.
- Only "use" pidl modules in the main executable when necessary

Try 'make install' in build/pidl to install the package (should work stand-alone).
2007-10-10 13:19:27 -05:00
Jelmer Vernooij
c785677a14 r8263: Some small pidl fixes, start working towards supporting installation of pidl. 2007-10-10 13:19:27 -05:00
Tim Potter
ad1700ca8e r8103: Add an argument separator between the hardcoded args and $PIDL_EXTRA_ARGS
so the first extra arg isn't interpreted as a parameter to the last
hardcoded arg.
2007-10-10 13:19:08 -05:00
Stefan Metzmacher
c52703c0a8 r7425: configure check to see if a compiler can handle negative enum values
if the compiler doesn't support it we pass --uint-enums to pidl

metze
2007-10-10 13:17:51 -05:00
Jelmer Vernooij
71fd3e5c3a r5490: The big (D)COM commit! :-) Contains most of the changes described in the
DCOM paper in lorikeet. This is the result of 1.5 months work (mainly
figuring out how things *really* work) at the end of 2004.

In general:
- Clearer distinction between COM and DCOM. DCOM is now merely
  the glue between DCE/RPC+ORPC and COM. COM can also work without
  DCOM now. This makes the code a lot clearer.
- Clearer distinction between NDR and DCOM. Before, NDR had a couple of
  "if"s to cope with DCOM, which are now gone.
- Use "real" arguments rather then structures for function arguments in
  COM, mainly because most of these calls are local so packing/unpacking
  data for every call is too much overhead (both speed- and code-wise)
- Support several mechanisms to load class objects:
  - from memory (e.g. part of the current executable, registered at start-up)
  - from shared object files
  - remotely
- Most things are now also named COM rather then DCOM because that's what it
  really is. After an object is created, it no longer matters whether it
  was created locally or remotely.

There is a very simple example class that contains
both a class factory and a class that implements the IStream interface.
It can be tested (locally only, remotely is broken at the moment)
by running the COM-SIMPLE smbtorture test.

Still to-do:
 - Autogenerate parts of the class implementation code (using the coclass definitions in IDL)
 - Test server-side
 - Implement some of the common classes, add definitions for common interfaces.
2007-10-10 13:10:50 -05:00
Jelmer Vernooij
a339765d99 r5479: Add ODL input support.
The ODL module can convert an ODL structure to an IDL structure so that:
 - The COM subsystem can use the ODL structure
 - The DCE/RPC subsystem can use the IDL structure
2007-10-10 13:10:49 -05:00
Tim Potter
7ba9f329aa r5087: Add --swig to pidl flags so that swig .i files are generated with
make idl.
2007-10-10 13:09:21 -05:00
Tim Potter
5ec9fad5cf r5033: Remove --with-eparserdir configure option and eparser_idl make target.
This is all done in the lorikeet/ethereal Makefile now.
2007-10-10 13:09:14 -05:00
Tim Potter
df35f1debf r5026: Don't build the swig stuff by default until it's a bit more stable. 2007-10-10 13:09:14 -05:00
Tim Potter
c252a286ef r5019: Some tweaks to building the swig .i files. 2007-10-10 13:09:14 -05:00
Tim Potter
d39cb7ecb4 r4599: Remove some duplicated code in pidl.pl.
Start working on adding support for bitmaps and enums.

In progress tweaks for arrays of structures.
2007-10-10 13:08:32 -05:00
Tim Potter
913630d6e4 r4471: Running 'make eparser_idl' doesn't need --header anymore. 2007-10-10 13:07:55 -05:00
Jelmer Vernooij
a00bda88e1 r3861: - Put ndr and rpc client code in seperate files
- Add some const
2007-10-10 13:05:58 -05:00
Jelmer Vernooij
3c436590ae r3790: use a registration function that is called from dcerpc_*_init functions
rather then a large table in librpc/gen_ndr/tables.c. This will allow us
to only link in only the required gen_ndr files (speeds up linking quite a
bit, makes binaries smaller).

Each gen_ndr_* file now has a init function that calls the init functions
of the interfaces it contains. I did it this way to keep pidl's code simple,
though it might hurt startup time a bit. I'd be happy to change it if
people like one function better.
2007-10-10 13:05:53 -05:00
Andrew Bartlett
bd9497b092 r3651: Add a new configure option --with-eparserdir
This allows us to call 'make eparser_idl', generate the files required
by the ethereal pidl plugin, and put them in the right place.  (See
lorikeet/ethereal)

Andrew Bartlett
2007-10-10 13:05:41 -05:00
Tim Potter
db191572ff r2255: Don't do experimental swig stuff by default. 2007-10-10 12:58:35 -05:00
Tim Potter
fd31ae38df r2253: Add test program, as small example of what's going on. 2007-10-10 12:58:35 -05:00
Stefan Metzmacher
b1161c4c83 r725: fix usage of $PERL to "$PERL" to handle perl -W correct
metze
2007-10-10 12:53:45 -05:00
Andrew Tridgell
d1dcde1d91 r586: removed --clientfns from build_idl.sh (tim removed that code from pidl) 2007-10-10 12:51:48 -05:00
Tim Potter
65692c9a93 r356: Start of auto-generated client functions. Tridge can you take a look
and tell me what you think?  Output does not compile yet.
2007-10-10 12:51:34 -05:00
Stefan Metzmacher
7aab10d507 some systems doesn't have ./ in PATH
so use ./build/pidl/pidl.pl

metze
-
Andrew Tridgell
2d57346c2d lots of shells don't have the -nt test, so use hackish find command
instead
-
Andrew Tridgell
5f6b0baa30 a script fix for the build farm -
Andrew Tridgell
bd3dcfe582 added auto-generation of the server side boilerplate code for each
pipe.

The server side code gets generated as librpc/gen_ndr/ndr_NAME_s.c and
gets included in the pipe module
-
Andrew Tridgell
fe91635da8 some systems don't have "which" and some systems don't have the "-nt"
flag to test. It's amazing that systems like that are ever sold.
-
Andrew Tridgell
b18dce549d fixed shell scripting error -
Andrew Tridgell
e41d95acc0 cope with yapp not being installed -
Andrew Tridgell
be2c2be459 * reduced the number of grammer conflicts a lot using (arbitrary)
precedence rules

 * build a standalone parser. When we come to distributing Samba4 we
   can just include idl.pm and other developers won't need Parse::Yapp
   installed

 * avoid the recursive make in most cases in build_idl.sh
-
Andrew Tridgell
a2bdf0be01 * support multiple interfaces in one IDL file in pidl
* make far more generated functions static

 * get rid of gen_rpc, and include the client calls in ndr_*.c

 * added placeholder IDL for a number of intefaces (dcom, wzcsvc, browser etc)
-
Andrew Tridgell
ccd9ddeed6 added auto-generation of the IDL interface tables. This makes two less
places that need to be edited when someone adds a new IDL file.
-
Andrew Tridgell
64b2c67e47 save about 35% of the time for "make idl" by processing multiple IDL
files at once, which means less perl startup time.
-
Andrew Tridgell
2ed87a52cc we now use a copy of pidl inside the samba4 source tree at
source/build/pidl/

I imported the code using direct respository manipulation to preserve
the commit history
-
Andrew Tridgell
49c72d4276 moved the pidl auto-generated files out of CVS -
Andrew Tridgell
ab5939e796 simple method for auto-building rpc files if idl changes, and
auto-building proto.h if it doesn't exist. This should make life a
little easier for developers
-
Andrew Tridgell
8e52381313 - added the rest of the LSA calls as stubs
- auto-generate the client calls with 'make idl'
-
Andrew Tridgell
9aacdb5b8a check for pidl.pl in path, not $HOME/pidl/ -
Andrew Tridgell
47a17e5a08 - more generation fixes
- added auto-generation from the Makefile. Only called when you run "make idl"
-