File swig.spec of Package swig
%define realname swig
%define realver 3.0.12
%define srcext tar.gz
# turn off the generation of debuginfo rpm (RH9) ??
%global debug_package %{nil}
%if 0%{?suse_version} < 1500
%define cxx11abi -D_GLIBCXX_USE_CXX11_ABI=0
%endif
# Common info
Name: %{realname}
Version: %{realver}
Release: wiz%{?extraver:0.}1%{?dist}
License: GPL-3.0+
Group: Development/Tools/Building
URL: http://www.swig.org/
Summary: Simplified Wrapper and Interface Generator
# Build-time parameters
BuildRequires: gcc-c++ bison pkgconfig
BuildRequires: pcre-devel boost-devel >= 1.20.0
BuildRequires: java-devel lua-devel perl%{!?suse_version:-devel} php-devel python-devel
BuildRequires: ruby ruby-devel tcl-devel
%if 0%{?suse_version} >= 1310
BuildRequires: python3-devel
%endif
%if 0%{?suse_version}
BuildRequires: fdupes
%endif
BuildRoot: %{_tmppath}/%{name}-root
Source: http://sourceforge.net/projects/swig/files/swig/%{realname}-%{realver}/%{realname}-%{realver}%{?extraver}.%{srcext}
%description
SWIG is an interface compiler that connects programs written in C and C++ with
scripting languages such as Perl, Python, Ruby, and Tcl. It works by taking the
declarations found in C/C++ header files and using them to generate the wrapper
code that scripting languages need to access the underlying C/C++ code.
In addition, SWIG provides a variety of customization features that let you
tailor the wrapping process to suit your application.
# Preparation step (unpackung and patching if necessary)
%prep
%setup -q -n %{realname}-%{realver}%{?extraver}
%build
%configure \
--disable-static \
--with-boost \
CFLAGS="%{optflags}" \
CXXFLAGS="%{optflags} %{?cxx11abi}" \
LDFLAGS="-Wl,--as-needed -Wl,--strip-all"
%{__make} %{?_smp_mflags}
%install
%{__make} install DESTDIR=%{buildroot}
%if 0%{?suse_version}
%fdupes %{buildroot}%{_datadir}/%{name}/%{version}
%endif
%clean
[ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot}
%files
%defattr(-,root,root)
%doc ANNOUNCE CHANGES CHANGES.current COPYRIGHT LICENSE LICENSE-GPL
%doc LICENSE-UNIVERSITIES README RELEASENOTES
%{_bindir}/*
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/%{version}
%changelog