]>
Commit | Line | Data |
---|---|---|
d5ea7f29 JB |
1 | Summary: Chasm - tool to improve C++ and Fortran 90 interoperability |
2 | Summary(pl.UTF-8): Chasm - narzędzie do poprawy współpracy C++ z Fortranem 90 | |
3 | Name: chasm | |
4 | Version: 1.4 | |
5 | %define subver RC3 | |
6 | Release: 0.%{subver}.1 | |
7 | License: MIT-like | |
8 | Group: Libraries | |
9 | # note: old chasm_1.4 tarball is older than 1.4RC3 | |
10 | Source0: http://downloads.sourceforge.net/chasm-interop/%{name}_%{version}.%{subver}.tar.gz | |
11 | # Source0-md5: e7db64f14c47a6122b02d66fe1e2bd8b | |
12 | URL: http://chasm-interop.sourceforge.net/ | |
13 | BuildRequires: gcc-fortran >= 5:4.0 | |
14 | BuildRequires: libstdc++-devel | |
15 | BuildRequires: pdtoolkit-devel >= 3.0 | |
16 | BuildRequires: xalan-j | |
17 | Suggests: pdtoolkit >= 3.0 | |
18 | Suggests: xalan-j | |
19 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
20 | ||
21 | %description | |
22 | Chasm is a tool to improve C++ and Fortran 90 interoperability. Chasm | |
23 | parses Fortran 90 source code and automatically generates C++ bridging | |
24 | code that can be used in C++ programs to make calls to Fortran | |
25 | routines. It also automatically generates C structs that provide a | |
26 | bridge to Fortran derived types. Chasm supplies a C++ array descriptor | |
27 | class which provides an interface between C and F90 arrays. This | |
28 | allows arrays to be created in one language and then passed to and | |
29 | used by the other language. | |
30 | ||
31 | %description -l pl.UTF-8 | |
32 | Chasm to narzędzie poprawiające współpracę między C++ a Fortranem 90. | |
33 | Analizuje kod źródłowy w Fortranie 90 i automatycznie generuje kod | |
34 | pomostowy C++, który można używać w programach w C++ w celu | |
35 | wywoływania procedur w Fortranie. Ponadto automatycznie generuje | |
36 | struktury C będące pomostem do typów wywodzących się z Fortrana. | |
37 | Dostarcza klasę C++ opisu tablicy, udostępniającą interfejs między | |
38 | tablicami C i F90. Pozwala to na tworzenie tablic w jednym języku i | |
39 | przekazywanie ich do drugiego. | |
40 | ||
41 | %prep | |
42 | %setup -q -n %{name} | |
43 | ||
44 | %build | |
45 | %configure \ | |
46 | --enable-pdt \ | |
47 | --with-F90-vendor=GNU \ | |
48 | --with-pdt-root=%{_libdir}/pdtoolkit \ | |
49 | --with-xalan-root=/usr/share/java | |
50 | ||
51 | # pass CXX/CCFLAGS for xmlgen | |
52 | %{__make} \ | |
53 | CXX="%{__cxx}" \ | |
54 | CCFLAGS="%{rpmcxxflags} -Wall -I\$(INC)" | |
55 | ||
56 | %install | |
57 | rm -rf $RPM_BUILD_ROOT | |
58 | ||
59 | %{__make} install \ | |
60 | CHASM_BIN=$RPM_BUILD_ROOT%{_bindir} \ | |
61 | CHASM_INCLUDE=$RPM_BUILD_ROOT%{_includedir} \ | |
62 | CHASM_LIBS=$RPM_BUILD_ROOT%{_libdir} \ | |
63 | datadir=$RPM_BUILD_ROOT%{_datadir} \ | |
64 | mandir=$RPM_BUILD_ROOT%{_mandir}/man1 | |
65 | ||
66 | mv -f $RPM_BUILD_ROOT%{_datadir}/mapping.dtd $RPM_BUILD_ROOT%{_datadir}/xform/mapping.dtd | |
67 | ||
68 | %clean | |
69 | rm -rf $RPM_BUILD_ROOT | |
70 | ||
71 | %files | |
72 | %defattr(644,root,root,755) | |
73 | %doc LICENSE README | |
74 | %attr(755,root,root) %{_bindir}/chasm-config | |
75 | %attr(755,root,root) %{_bindir}/xmlgen | |
76 | %{_libdir}/libchasm.a | |
77 | %{_libdir}/f90_*.mod | |
78 | %{_includedir}/CompilerCharacteristics.h | |
79 | %{_includedir}/F90*.h | |
80 | %{_includedir}/MakeIncl.chasm | |
81 | %{_includedir}/compilers | |
82 | %{_datadir}/xform |