3 %bcond_with tests # build with tests
6 %define commit 55f8dd9b8628c0a14772e17be2e90a9ded1a75e5
9 %define llvm_version 3.4.2
11 Summary: LLVM IR and optimizer for shaders, including front-end adapters for GLSL and SPIR-V and back-end adapter for GLSL
14 Release: 0.%{snap}.%{rel}
17 Source0: https://github.com/LunarG/LunarGLASS/archive/%{commit}/%{name}-%{snap}.tar.gz
18 # Source0-md5: d05a3f5a2412d525bb76bf8868ee5c35
19 Source1: http://llvm.org/releases/%{llvm_version}/llvm-%{llvm_version}.src.tar.gz
20 # Source1-md5: a20669f75967440de949ac3b1bad439c
21 Patch0: CMakeLists.patch
22 URL: https://github.com/LunarG/LunarGLASS/
25 BuildRequires: glslang-devel
26 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
29 LunarGLASS is an LLVM-based shader-compiler stack available to
30 open-source developers. It brings a new approach by splitting the
31 common shared intermediate representation (IR) into two levels; the
32 top level is completely platform independent while the bottom level is
33 dynamically tailorable to different families of architecture. Both
34 levels still lend themselves to portability and sharing of tools.
35 Together, they solve the problem of having a standard portable IR
36 without being biased toward a specific class of target architecture.
38 LunarGLASS is a long-term compiler stack architecture, based on
39 establishing common intermediate representations (IRs) allowing
40 modularity between stack layers. Each source-language front end would
41 benefit from a common set of high- and mid-level optimizations, as
42 would each back end, without the need to invent additional IRs. The
43 short-term goal is to leverage investments in existing IRs while the
44 long-term goal is to reduce the number of IRs and not require
45 optimization difficulties caused by losing information going through
49 Summary: Header files for %{name} library
50 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki %{name}
51 Group: Development/Libraries
54 Header files for %{name} library.
56 %description devel -l pl.UTF-8
57 Pliki nagłówkowe biblioteki %{name}.
60 %setup -qn %{name}-%{commit}
64 tar -x --strip-components=1 --skip-old-files -f %{SOURCE1}
74 %{__make} install prefix=%{_prefix}/local DESTDIR=`pwd`/install
81 -DGLSLANGINCLUDES=%{_includedir}/glslang \
82 -DGLSLANGLIBS=%{_libdir} \
86 %{?with_tests:%{__make} test}
89 rm -rf $RPM_BUILD_ROOT
91 install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir}}
96 cp -p install/bin/LunarGOO $RPM_BUILD_ROOT%{_bindir}
97 cp -p install/lib/*.a $RPM_BUILD_ROOT%{_libdir}
101 for path in $(find * -name '*.h') ; do
102 install -D $path $RPM_BUILD_ROOT%{_includedir}/%{name}/$path
106 rm -rf $RPM_BUILD_ROOT
109 %defattr(644,root,root,755)
110 %doc Readme.md Todo.txt
111 %attr(755,root,root) %{_bindir}/LunarGOO
114 %defattr(644,root,root,755)
116 %{_includedir}/%{name}