[illumos-Developer] webrev #687: rpcgen should not generate absolute #includes
Gordon Ross
gordon.w.ross at gmail.com
Thu May 12 08:11:57 PDT 2011
On Thu, May 12, 2011 at 7:37 AM, Stepan Zastupov
<stepan.zastupov at gmail.com> wrote:
> Here is the updated patch:
> http://cr.illumos.org/view/0ig2ulcs/illumos-687-webrev/
>
> This version makes cstyle happy.
>
> On Wed, May 11, 2011 at 7:10 PM, Stepan Zastupov
> <stepan.zastupov at gmail.com> wrote:
>> This patch introduce option -p to prevent rpcgen from generating
>> includes with absolute paths.
>> A few notes:
>> 1) I use basename(3) function, which conforms to POSIX.1-2001. Is it fine?
>> 2) I haven't documented the option since I'm not sure is '-p' a good name.
>>
>> http://cr.illumos.org/view/mchniy2i/illumos-687-webrev/
If we look at, for example, this generated file:
usr/src/uts/common/idmap/idmap_xdr.c
The generated "top matter" contains:
#include "/tank/ws/nfslm1/usr/src/uts/common/rpcsvc/idmap_prot.h"
If I understand correctly, with the proposed -p option, this would be:
#include "idmap_prot.h"
What I'd prefer to have in cases like this is:
#include "rpcsvc/idmap_prot.h"
So, how about a more flexible option? Perhaps:
-X include_prefix
Set the prefix path used for include statements
in generated code. For example:
rpcgen -X "rpcsvc/" ... idmap_prot.x
would generate includes like this:
#include "rpcsvc/idmap_prot.h"
and to get no prefix at all, use:
rpcgen -X "" ... idmap_prot.x
which would generate includes like this:
#include "idmap_prot.h"
The default (with no -X option) would be
the current behavior, which is to use the
full path as specified to find the *.x file.
Then, re. implementation - Why add the new args to
all those funtions instead of adding a global option?
That would avoid a bunch of changes.
Factoring out the add_include function looks good.
Thanks,
Gordon
More information about the Developer
mailing list