aboutsummaryrefslogtreecommitdiffstats
path: root/lib/diameter/bin
diff options
context:
space:
mode:
authorAnders Svensson <[email protected]>2011-10-21 10:43:05 +0200
committerAnders Svensson <[email protected]>2011-10-21 10:43:05 +0200
commit1cc659425002846f4f553add9d027ca620b42a22 (patch)
tree3ab5bfe885f993a941e1764d5d76be3146ad5e5a /lib/diameter/bin
parentaf5d050bd1d3595ff82353bec0ece6cd5690ffd9 (diff)
parenta0fb3d0302a18420cb622c9e172ca71ffdaf6a73 (diff)
downloadotp-1cc659425002846f4f553add9d027ca620b42a22.tar.gz
otp-1cc659425002846f4f553add9d027ca620b42a22.tar.bz2
otp-1cc659425002846f4f553add9d027ca620b42a22.zip
Merge branch 'anders/diameter/dictionaries/OTP-9641'
* anders/diameter/dictionaries/OTP-9641: Add diameter_make as compilation interface Update documentation Don't require -i directory to exist Allow @inherits to be set/cleared with diameterc Allow @name/@prefix to be set with diameterc Dependency fix Move dictionaries into own directory and rename Whitespace fixes @result_code -> @define in dictionary files
Diffstat (limited to 'lib/diameter/bin')
-rwxr-xr-xlib/diameter/bin/diameterc35
1 files changed, 24 insertions, 11 deletions
diff --git a/lib/diameter/bin/diameterc b/lib/diameter/bin/diameterc
index f5cf3ebc10..c0e83ea1a4 100755
--- a/lib/diameter/bin/diameterc
+++ b/lib/diameter/bin/diameterc
@@ -33,19 +33,24 @@
usage() ->
io:format(
- "~w [options] file~n"
+ "~w [options] dict~n"
"~n"
" Compile a diameter dictionary file (.dia) to Erlang source (.erl)~n"
" and/or header (.hrl) files.~n"
"~n"
" options:~n"
- " -h = print this message~n"
- " -v = verbose output~n"
- " -o dir = set the output directory (default .)~n"
- " -i dir = set an include directory for inherited beams~n"
- " -E = no .erl output~n"
- " -H = no .hrl output~n"
- " -d = write intermediate files (.spec and .forms)~n",
+ "~n"
+ " --name name = set @name~n"
+ " --prefix prefix = set @prefix~n"
+ " --inherits dict|- = set/clear @inherits~n"
+ "~n"
+ " -h = print this message~n"
+ " -v = verbose output~n"
+ " -o dir = set the output directory (default .)~n"
+ " -i dir = set an include directory for inherited beams~n"
+ " -E = no .erl output~n"
+ " -H = no .hrl output~n"
+ " -d = write intermediate files (.spec and .forms)~n",
[?MODULE]).
main(Args) ->
@@ -109,9 +114,17 @@ arg(["-o", Dir | Args], #argv{options = Opts} = A) ->
arg(Args, A#argv{options = [{outdir, Dir} | Opts]});
arg(["-i", Dir | Args], #argv{options = Opts} = A) ->
- true = dir_exists(Dir),
arg(Args, A#argv{options = Opts ++ [{include, Dir}]});
+arg(["--name", Name | Args], #argv{options = Opts} = A) ->
+ arg(Args, A#argv{options = [{name, Name} | Opts]});
+
+arg(["--prefix", Name | Args], #argv{options = Opts} = A) ->
+ arg(Args, A#argv{options = [{prefix, Name} | Opts]});
+
+arg(["--inherits", Dict | Args], #argv{options = Opts} = A) ->
+ arg(Args, A#argv{options = Opts ++ [{inherits, Dict}]});
+
arg(["-E" | Args], #argv{output = Output} = A) ->
arg(Args, A#argv{output = lists:delete(erl, Output)});
@@ -120,10 +133,10 @@ arg(["-H" | Args], #argv{output = Output} = A) ->
arg(["-d" | Args], #argv{options = Opts, output = Output} = A) ->
arg(Args, A#argv{options = [debug | Opts],
- output = [spec | Output]});
+ output = [spec | Output]});
arg([[$- = M, C, H | T] | Args], A) %% clustered options
- when C /= $i, C /= $o ->
+ when C /= $i, C /= $o, C /= $- ->
arg([[M,C], [M,H|T] | Args], A);
arg([File], A) ->