1 | # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4 |
---|
2 | # $Id$ |
---|
3 | |
---|
4 | PortSystem 1.0 |
---|
5 | PortGroup github 1.0 |
---|
6 | github.setup WeiDUorg elkhound 2015-12-03 |
---|
7 | categories devel |
---|
8 | platforms darwin |
---|
9 | maintainers gmail.com:mark.brethen openmaintainer |
---|
10 | license BSD |
---|
11 | |
---|
12 | description Elkhound is a GLR parser generator. |
---|
13 | |
---|
14 | long_description Elkhound is a parser generator, similar to Bison. \ |
---|
15 | The parsers it generates use the Generalized LR (GLR) \ |
---|
16 | parsing algorithm. GLR works with any context-free \ |
---|
17 | grammar, whereas LR parsers (such as Bison) require \ |
---|
18 | grammars to be LALR(1). |
---|
19 | |
---|
20 | homepage http://www.scottmcpeak.com/elkhound/ |
---|
21 | |
---|
22 | livecheck.type none |
---|
23 | |
---|
24 | checksums rmd160 70760c4b1e59a360879e5c4eee5121787b113765 \ |
---|
25 | sha256 15b68deaad30227ed203293cf1c52772b00e9755576da1ac345bd99072907b80 |
---|
26 | |
---|
27 | depends_build-append port:bison \ |
---|
28 | port:flex \ |
---|
29 | port:perl5 |
---|
30 | |
---|
31 | configure.pre_args |
---|
32 | configure.universal_args-delete --disable-dependency-tracking |
---|
33 | configure.dir ${worksrcpath}/src |
---|
34 | build.dir ${worksrcpath}/src |
---|
35 | |
---|
36 | use_parallel_build no |
---|
37 | |
---|
38 | set examplesrcdir ${worksrcpath}/src/elkhound/examples |
---|
39 | set ocamlsrcdir ${worksrcpath}/src/elkhound/ocaml |
---|
40 | |
---|
41 | set bindir ${destroot}${prefix}/bin |
---|
42 | set libexecdir ${destroot}${prefix}/libexec/${name}-${version} |
---|
43 | set examplesdir ${libexecdir}/${name}/examples |
---|
44 | set ocamldir ${libexecdir}/${name}/ocaml |
---|
45 | |
---|
46 | destroot { |
---|
47 | xinstall -d ${libexecdir}/ast |
---|
48 | xinstall -d ${libexecdir}/smbase |
---|
49 | xinstall -d ${examplesdir}/arith |
---|
50 | xinstall -d ${examplesdir}/cdecl |
---|
51 | xinstall -d ${examplesdir}/cexp |
---|
52 | xinstall -d ${examplesdir}/gcom |
---|
53 | xinstall -d ${examplesdir}/gcom1 |
---|
54 | xinstall -d ${examplesdir}/gcom2 |
---|
55 | xinstall -d ${examplesdir}/gcom3 |
---|
56 | xinstall -d ${examplesdir}/gcom4 |
---|
57 | xinstall -d ${examplesdir}/gcom5 |
---|
58 | xinstall -d ${examplesdir}/gcom7 |
---|
59 | xinstall -d ${examplesdir}/scannerless |
---|
60 | xinstall -d ${ocamldir}/occ2 |
---|
61 | |
---|
62 | xinstall -p -W ${worksrcpath}/src/${name} \ |
---|
63 | elkhound make-tok \ |
---|
64 | ${libexecdir}/${name} |
---|
65 | xinstall -m 644 -W ${worksrcpath}/src/${name} \ |
---|
66 | libelkhound.a cyctimer.h glrconfig.h glr.h lexerint.h parsetables.h \ |
---|
67 | ptreeact.h ptreenode.h useract.h algorithm.html faq.html index.html \ |
---|
68 | manual.html tutorial.html License.txt \ |
---|
69 | ${libexecdir}/${name} |
---|
70 | |
---|
71 | xinstall -m 644 {*}[glob ${examplesrcdir}/*.*] ${examplesdir} |
---|
72 | xinstall -m 644 {*}[glob ${examplesrcdir}/arith/*] ${examplesdir}/arith |
---|
73 | xinstall -m 644 {*}[glob ${examplesrcdir}/cdecl/*] ${examplesdir}/cdecl |
---|
74 | xinstall -m 644 {*}[glob ${examplesrcdir}/cexp/*] ${examplesdir}/cexp |
---|
75 | xinstall -m 644 {*}[glob ${examplesrcdir}/gcom/*] ${examplesdir}/gcom |
---|
76 | xinstall -m 644 {*}[glob ${examplesrcdir}/gcom1/*] ${examplesdir}/gcom1 |
---|
77 | xinstall -m 644 {*}[glob ${examplesrcdir}/gcom2/*] ${examplesdir}/gcom2 |
---|
78 | xinstall -m 644 {*}[glob ${examplesrcdir}/gcom3/*] ${examplesdir}/gcom3 |
---|
79 | xinstall -m 644 {*}[glob ${examplesrcdir}/gcom4/*] ${examplesdir}/gcom4 |
---|
80 | xinstall -m 644 {*}[glob ${examplesrcdir}/gcom5/*] ${examplesdir}/gcom5 |
---|
81 | xinstall -m 644 {*}[glob ${examplesrcdir}/gcom7/*] ${examplesdir}/gcom7 |
---|
82 | xinstall -m 644 {*}[glob ${examplesrcdir}/scannerless/*] \ |
---|
83 | ${examplesdir}/scannerless |
---|
84 | |
---|
85 | xinstall -m 644 {*}[glob ${ocamlsrcdir}/*.*] ${ocamldir} |
---|
86 | xinstall -m 644 {*}[glob ${ocamlsrcdir}/occ2/*] ${ocamldir}/occ2 |
---|
87 | |
---|
88 | xinstall -p ${worksrcpath}/src/ast/astgen ${libexecdir}/ast |
---|
89 | xinstall -m 644 -W ${worksrcpath}/src/ast \ |
---|
90 | libast.a ast.ast asthelp.h ccsstr.h embedded.h gramlex.h locstr.h \ |
---|
91 | reporterr.h strtable.h xmlhelp.h index.html manual.html License.txt\ |
---|
92 | ${libexecdir}/ast |
---|
93 | |
---|
94 | xinstall -m 644 -W ${worksrcpath}/src/smbase \ |
---|
95 | libsmbase.a autofile.h bflatten.h bit2d.h bitarray.h boxprint.h \ |
---|
96 | breaker.h crc.h cycles.h datablok.h exc.h flatten.h gprintf.h \ |
---|
97 | growbuf.h hashline.h hashtbl.h missing.h mypopen.h mysig.h nonport.h \ |
---|
98 | point.h pprint.h smregexp.h srcloc.h str.h strdict.h strhash.h \ |
---|
99 | stringset.h strtokp.h strutil.h svdict.h syserr.h trace.h trdelete.h \ |
---|
100 | unixutil.h vdtllist.h vptrmap.h voidlist.h warn.h index.html \ |
---|
101 | trace.html License.txt\ |
---|
102 | ${libexecdir}/smbase |
---|
103 | |
---|
104 | # link the executables back to ${prefix}/bin |
---|
105 | ln -s ${prefix}/libexec/${name}-${version}/${name}/elkhound ${bindir} |
---|
106 | ln -s ${prefix}/libexec/${name}-${version}/ast/astgen ${bindir} |
---|
107 | } |
---|