diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2006-03-16 21:35:31 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:57:32 -0500 |
commit | 4469fa31e3e3b2d62da7686fd6426bb44be09830 (patch) | |
tree | e13b7e6ad0cd7582c98c17b53dbdc6a65f3d0b1a /source4/pidl/lib/Parse/Pidl | |
parent | ecf0dd6bafaa95692c3ece94b6f71446cd54ebdc (diff) | |
download | samba-4469fa31e3e3b2d62da7686fd6426bb44be09830.tar.gz samba-4469fa31e3e3b2d62da7686fd6426bb44be09830.tar.bz2 samba-4469fa31e3e3b2d62da7686fd6426bb44be09830.zip |
r14491: Allow building more output outside of the Samba source tree
(This used to be commit 272ca8e636cc5043279ff247fc8d5693a9181992)
Diffstat (limited to 'source4/pidl/lib/Parse/Pidl')
-rw-r--r-- | source4/pidl/lib/Parse/Pidl/Samba4/Header.pm | 2 | ||||
-rw-r--r-- | source4/pidl/lib/Parse/Pidl/Samba4/NDR/Client.pm | 15 | ||||
-rw-r--r-- | source4/pidl/lib/Parse/Pidl/Samba4/TDR.pm | 14 |
3 files changed, 26 insertions, 5 deletions
diff --git a/source4/pidl/lib/Parse/Pidl/Samba4/Header.pm b/source4/pidl/lib/Parse/Pidl/Samba4/Header.pm index 54e410f716..e082a74fc4 100644 --- a/source4/pidl/lib/Parse/Pidl/Samba4/Header.pm +++ b/source4/pidl/lib/Parse/Pidl/Samba4/Header.pm @@ -351,7 +351,7 @@ sub Parse($) %headerstructs = (); pidl "/* header auto-generated by pidl */\n\n"; if (!is_intree()) { - pidl "#include <core.h>"; + pidl "#include <core.h>\n\n"; } foreach (@{$idl}) { diff --git a/source4/pidl/lib/Parse/Pidl/Samba4/NDR/Client.pm b/source4/pidl/lib/Parse/Pidl/Samba4/NDR/Client.pm index d52dc12ec3..f19f4df319 100644 --- a/source4/pidl/lib/Parse/Pidl/Samba4/NDR/Client.pm +++ b/source4/pidl/lib/Parse/Pidl/Samba4/NDR/Client.pm @@ -5,6 +5,8 @@ package Parse::Pidl::Samba4::NDR::Client; +use Parse::Pidl::Samba4 qw(choose_header is_intree); + use vars qw($VERSION); $VERSION = '0.01'; @@ -97,12 +99,21 @@ sub Parse($$$$) $res .= "/* client functions auto-generated by pidl */\n"; $res .= "\n"; - $res .= "#include \"includes.h\"\n"; + if (is_intree()) { + $res .= "#include \"includes.h\"\n"; + } else { + $res .= "#define _GNU_SOURCE\n"; + $res .= "#include <stdio.h>\n"; + $res .= "#include <stdlib.h>\n"; + $res .= "#include <stdint.h>\n"; + $res .= "#include <stdarg.h>\n"; + $res .= "#include <core/nterr.h>\n"; + } $res .= "#include \"$ndr_header\"\n"; $res .= "#include \"$client_header\"\n"; $res .= "\n"; - $res_hdr .= "#include \"librpc/rpc/dcerpc.h\"\n"; + $res_hdr .= choose_header("librpc/rpc/dcerpc.h", "dcerpc.h")."\n"; $res_hdr .= "#include \"$header\"\n"; foreach my $x (@{$ndr}) { diff --git a/source4/pidl/lib/Parse/Pidl/Samba4/TDR.pm b/source4/pidl/lib/Parse/Pidl/Samba4/TDR.pm index 3bdb701526..7e597dfb34 100644 --- a/source4/pidl/lib/Parse/Pidl/Samba4/TDR.pm +++ b/source4/pidl/lib/Parse/Pidl/Samba4/TDR.pm @@ -5,6 +5,7 @@ package Parse::Pidl::Samba4::TDR; use Parse::Pidl::Util qw(has_property ParseExpr is_constant); +use Parse::Pidl::Samba4 qw(is_intree choose_header); use vars qw($VERSION); $VERSION = '0.01'; @@ -237,12 +238,21 @@ sub Parser($$$) my ($idl,$hdrname,$baseheader) = @_; $ret = ""; $ret_hdr = ""; pidl "/* autogenerated by pidl */"; - pidl "#include \"includes.h\""; + if (is_intree()) { + pidl "#include \"includes.h\""; + } else { + pidl "#include <stdio.h>"; + pidl "#include <stdlib.h>"; + pidl "#include <stdint.h>"; + pidl "#include <stdarg.h>"; + pidl "#include <string.h>"; + pidl "#include <core/nterr.h>"; + } pidl "#include \"$hdrname\""; pidl ""; pidl_hdr "/* autogenerated by pidl */"; pidl_hdr "#include \"$baseheader\""; - pidl_hdr "#include \"tdr/tdr.h\""; + pidl_hdr choose_header("tdr/tdr.h", "tdr.h"); pidl_hdr ""; foreach (@$idl) { ParserInterface($_) if ($_->{TYPE} eq "INTERFACE"); } |