Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37568432
en ru br
ALT Linux repos
S:0.9.27-alt4.740.g347c036
5.0: 0.9.23-alt4
4.1: 0.9.23-alt4
4.0: 0.9.23-alt4
3.0: 0.9.22-alt1

Group :: Development/C
RPM: tcc

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

%def_enable cross
%define ccomp gcc

Name: tcc
Version: 0.9.23
Release: alt4
Summary: The smallest ANSI C compiler
Group: Development/C
License: LGPL
URL: http://fabrice.bellard.free.fr/%name/
Source: %url/%name-%version.tar.bz2
Patch0: %name-0.9.23-linker-defined_twice.patch.gz
Patch1: %name-0.9.23-linker-group_as_needed.patch.gz
Patch2: %name-0.9.23-pointer-operators.patch.gz
Patch3: %name-0.9.23-union-abstarct.patch.gz
Patch4: %name-0.9.23-linker-error.patch.gz
Patch5: %name-0.9.23-linker-lib_search_order.patch.gz
ExclusiveArch: %ix86

%if %ccomp == tcc
BuildRequires: tcc >= 0.9.23-alt3
%endif

%description
TCC (for Tiny C Compiler) is a small, fast, unlimited and safe ANSI C
compiler.  It generates optimized x86 code, and can compile, assemble,
and link several times faster than 'gcc -O0'.  Any C dynamic library
can be used directly.  It includes an optional memory and bounds
checker, and bounds-checked code can be mixed freely with standard
code.  C script is also supported via the usual hash-bang mechanism.


%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
subst 's/-m.*386 //g' Makefile*
#subst -p 's/\<expect *(/tcc_expect(/g' *.[ch]
subst -p 's,/usr/local/bin/,%_bindir/,g' %name{-doc.*,.1} examples/ex1.c


%build
%define _optlevel 4
subst 's/^\(CFLAGS=\).*$/\1%optflags/' Makefile
%configure \
   %{subst_enable cross} \
   %{?ccomp:--cc=%ccomp}

%make_build


%install
%makeinstall tccdir=%buildroot%_libdir/%name docdir=%buildroot%_docdir/%name-%version
bzip2 --best --keep --force Changelog


%files
%doc Changelog.* README TODO %name-doc.html
%_bindir/*
%_man1dir/*
%_libdir/lib%name.a
%dir %_libdir/%name
%_libdir/%name/*
%_includedir/*


%changelog

Full changelog you can see here

 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin