]>
Commit | Line | Data |
---|---|---|
9f2ad00e | 1 | %bcond_with flex_bison_c++ |
cfcf678f AM |
2 | Summary: An attempt at a general, open source, retargetable decompiler of native executable files |
3 | Name: boomerang | |
4 | Version: 0.0.0.20040707 | |
5 | Release: 0.1 | |
6 | License: GPL | |
7 | Group: Development/Languages | |
8 | Source0: %{name}.tar.gz | |
9 | # Source0-md5: 97d2b1825b3e2d5bcd85df48eb15a45e | |
10 | URL: http://boomerang.sourceforge.net/ | |
9f2ad00e | 11 | %if %{with flex_bison_c++} |
cfcf678f | 12 | BuildRequires: bison++ |
720a611d | 13 | BuildRequires: flex |
9f2ad00e | 14 | %endif |
720a611d AM |
15 | BuildRequires: gc-devel |
16 | BuildRequires: cppunit-devel | |
cfcf678f AM |
17 | BuildRequires: expat-devel |
18 | BuildRequires: libstdc++-devel | |
19 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
20 | ||
21 | %description | |
22 | An attempt to develop a real decompiler through the open source | |
23 | community. A decompiler takes as input an executable file, and | |
24 | attempts to create a high level, compilable, even maintainable source | |
25 | file that does the same thing. It is therefore the opposite of a | |
26 | compiler, which of course takes a source file and makes an executable. | |
27 | It won't of course recreate the original source file; probably nothing | |
28 | like it. It does not matter if the executable file has symbols or not, | |
29 | or was compiled from any particular language. (However, languages like | |
30 | ML that are usually interpreted are not considered.) | |
31 | ||
32 | The intent is to create a retargetable decompiler (i.e. one that can | |
33 | work with different types of input executable files with modest | |
34 | effort, e.g. X86-windows, sparc-solaris, etc). It will be highly | |
35 | modular, so that different parts of the decompiler can be replaced | |
36 | with experimental modules. It is intended to eventually become | |
37 | interactive, a la IDA Pro, because some things (not just variable | |
38 | names and comments, though these are obviously very important) require | |
39 | expert intervention. | |
40 | ||
41 | %prep | |
42 | %setup -q -n %{name} | |
43 | ||
44 | %build | |
9f2ad00e AM |
45 | rm -rf */CVS |
46 | ||
720a611d | 47 | ln -s %{_includedir}/cppunit include/cppunit |
cfcf678f AM |
48 | %configure |
49 | ||
9f2ad00e AM |
50 | %if ! %{with flex_bison_c++} |
51 | %{__make} remote | |
52 | %endif | |
53 | ||
cfcf678f | 54 | %{__make} \ |
720a611d AM |
55 | C="%{__cc} %{rpmcflags} -I%{_includedir}/gc" \ |
56 | CC="%{__cxx} %{rpmcflags} -I%{_includedir}/gc" | |
cfcf678f AM |
57 | |
58 | %install | |
59 | rm -rf $RPM_BUILD_ROOT | |
9f2ad00e | 60 | install -d $RPM_BUILD_ROOT{%{_libdir},%{_datadir}/%{name},%{_bindir}} |
cfcf678f | 61 | |
9f2ad00e AM |
62 | install %{name} $RPM_BUILD_ROOT%{_bindir} |
63 | cp -a signatures transformations $RPM_BUILD_ROOT%{_datadir}/%{name} | |
64 | cp -a lib $RPM_BUILD_ROOT%{_libdir}/%{name} | |
cfcf678f AM |
65 | |
66 | %clean | |
67 | rm -rf $RPM_BUILD_ROOT | |
68 | ||
69 | %files | |
70 | %defattr(644,root,root,755) | |
9f2ad00e AM |
71 | %attr(755,root,root) %{_bindir}/* |
72 | %{_datadir}/%{name} | |
73 | %dir %{_libdir}/%{name} | |
74 | %attr(755,root,root) %{_libdir}/%{name}/*.so |