File lzo.spec of Package lzo

#
# spec file for package lzo (Version 2.04)
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#

# norootforbuild


Name:           lzo
Url:            http://www.oberhumer.com/opensource/lzo/
Version:        2.04
Release:        1
Group:          Development/Libraries/C and C++
Source:         lzo-%{version}.tar.bz2
Source2:        baselibs.conf
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:  gcc-c++
# bug437293
%ifarch ppc64
Obsoletes:      lzo-64bit
%endif
#
Summary:        A Real-Time Data Compression Library
License:        GPLv2

%description
LZO is a portable lossless data compression library written in ANSI C.
It offers pretty fast compression and very fast decompression.
Decompression requires no memory. LZO is suitable for data compression
and decompression in real-time. This means it favors speed over
compression ratio.



Authors:
--------
    Markus Franz Xaver Johannes Oberhumer <markus@oberhumer.com>

%define library_package liblzo2-2

%package -n liblzo2-2
License:        GPLv2
Group:          Development/Libraries/C and C++
Summary:        A Real-Time Data Compression Library
Provides:       lzo = %{version}-%{release}
Obsoletes:      lzo < %{version}
# bug437293
%ifarch ppc64
Obsoletes:      lzo-64bit
%endif
#

%description -n liblzo2-2
LZO is a portable lossless data compression library written in ANSI C.
It offers pretty fast compression and very fast decompression.
Decompression requires no memory. LZO is suitable for data compression
and decompression in real-time. This means it favors speed over
compression ratio.



Authors:
--------
    Markus Franz Xaver Johannes Oberhumer <markus@oberhumer.com>

%package devel
License:        GPLv2
Group:          Development/Languages/C and C++
Requires:       %{library_package} = %{version}
Summary:        Development files for lzo
# bug437293
%ifarch ppc64
Obsoletes:      lzo-devel-64bit
%endif
#

%description devel
LZO is a portable lossless data compression library written in ANSI C.
It offers pretty fast compression and very fast decompression.
Decompression requires no memory. LZO is suitable for data
de-/compression in real-time. This means it favours speed over
compression ratio.



Authors:
--------
    Markus Franz Xaver Johannes Oberhumer <markus@oberhumer.com>

%prep
%setup -q

%build
export CFLAGS="%optflags -fvisibility=hidden"
%configure --enable-shared --disable-static --libdir=/%{_lib}

#On windows, the build system defines __LZO_EXPORT1 to
# __attribute__((dllexport))) which we can abuse to make
#use of GCC visibility. ;-)
#see http://gcc.gnu.org/wiki/Visibility
#If you remove this, you must disable  -fvisibility=hidden in CFLAGS!

echo '#define __LZO_EXPORT1 __attribute__ ((visibility ("default")))' >> config.h

%{__make} %{?_smp_mflags}

%check
%{__make} check test

%install
%makeinstall
%{__rm} -v %{buildroot}/%{_lib}/liblzo2.la
#
%{__install} -d -m 0755 %{buildroot}%{_libdir}
#%{__mv} -v %{buildroot}{/%{_lib},%{_libdir}}/liblzo2.so
%{__ln_s} -v /%{_lib}/$(readlink %{buildroot}/%{_lib}/liblzo2.so) %{buildroot}%{_libdir}/liblzo2.so
%{__rm} -v %{buildroot}/%{_lib}/liblzo2.so

%clean
%{__rm} -rf %{buildroot}

%post   -n %{library_package} -p /sbin/ldconfig

%postun -n %{library_package} -p /sbin/ldconfig

%files -n %{library_package}
%defattr(-,root,root)
/%{_lib}/liblzo2.so.*

%files devel
%defattr (-,root,root)
%doc AUTHORS BUGS COPYING NEWS README THANKS
%doc doc/* util/*
%{_libdir}/liblzo2.so
%_includedir/lzo

%changelog