File nasm.spec of Package nasm

%define realname nasm
%define realver  2.16.01
%define srcext   tar.xz

# turn off the generation of debuginfo rpm  (RH9) ??
%global debug_package %{nil}

# Common info
Name:          %{realname}
Version:       %{realver}
Release:       %{?extraver:0.}1%{?dist}
License:       BSD-2-Clause
Group:         Development/Languages/Other
URL:           http://www.nasm.us/
Summary:       The Netwide Assembler

# Build-time parameters
BuildRequires: xz
BuildRoot:     %{_tmppath}/%{name}-root
Source:        http://www.nasm.us/pub/nasm/releasebuilds/%{realver}/%{realname}-%{realver}%{?extraver}.%{srcext}

%description
The Netwide Assembler, NASM, is an 80x86 and x86-64 assembler designed for
portability and modularity. It supports a range of object file formats,
including Linux and *BSD a.out, ELF, COFF, Mach-O, 16-bit and 32-bit OBJ (OMF)
format, Win32 and Win64. It will also output plain binary files, Intel hex and
Motorola S-Record formats. Its syntax is designed to be simple and easy to
understand, similar to the syntax in the Intel Software Developer Manual with
minimal complexity. It supports all currently known x86 architectural
extensions, and has strong support for macros.

# Preparation step (unpackung and patching if necessary)
%prep
%setup -q -n %{realname}-%{realver}%{?extraver}

%build
_CFLAGS='%{optflags} %{?gcc_lto}'
_LDFLAGS='-Wl,--as-needed -Wl,--strip-all -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,now -Wl,-z,relro %{?gcc_lto}'
%configure \
 --enable-sections \
 CFLAGS="$_CFLAGS" \
 CXXFLAGS="$_CFLAGS" \
 LDFLAGS="$_LDFLAGS"
%{__make} %{?_smp_mflags}

%install
%{__make} install DESTDIR=%{buildroot}

%clean
[ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot}

%files
%defattr(-,root,root)
%license LICENSE
%doc AUTHORS README.md
%{_bindir}/*
%doc %{_mandir}/man1/*

%changelog
openSUSE Build Service is sponsored by