1 Summary: Ragel State Machine Compiler
6 URL: http://www.cs.queensu.ca/~thurston/ragel/
7 Vendor: Adrian Thurston
8 Packager: Adrian Thurston
10 Group: Development/Other
13 Source0: http://www.cs.queensu.ca/~thurston/ragel/%{name}-%{version}.tar.gz
16 BuildRoot: %_tmppath/%name-%version-root
17 BuildPreReq: gcc, make
20 Ragel compiles finite state machines from regular languages into executable C,
21 C++, Objective-C or D code. Ragel state machines can not only recognize byte
22 sequences as regular expression machines do, but can also execute code at
23 arbitrary points in the recognition of a regular language. Using custom
24 operators, Ragel allows the user to embed code into a regular language in
25 arbitrary places without disrupting the regular language syntax. Ragel also
26 provides operators for controlling nondeterminism, constructing machines using
27 state charts and building scanners.
30 %setup -q -n %{name}-%{version}
33 ./configure --prefix=%{prefix}
34 make CFLAGS="-O2 -Wall"
35 cd doc && make ragel.1 rlcodegen.1
38 # Rather than 'make install', let RPM choose where
39 # things are kept on this system:
40 install -d $RPM_BUILD_ROOT%_bindir
41 install -s ragel/ragel $RPM_BUILD_ROOT%_bindir/ragel
42 install -s rlcodegen/rlcodegen $RPM_BUILD_ROOT%_bindir/rlcodegen
43 install -d $RPM_BUILD_ROOT%_mandir/man1
44 install doc/ragel.1 $RPM_BUILD_ROOT%_mandir/man1/ragel.1
45 install doc/rlcodegen.1 $RPM_BUILD_ROOT%_mandir/man1/rlcodegen.1
52 %_mandir/man1/rlcodegen.1
55 rm -rf $RPM_BUILD_ROOT