development/tcc: Added some fixes.

Signed-off-by: Niels Horn <niels.horn@slackbuilds.org>
This commit is contained in:
markus reichelt 2011-11-06 13:04:47 -02:00 committed by Robby Workman
parent 754c5a8fc5
commit f2a372db40
4 changed files with 117 additions and 11 deletions

View file

@ -0,0 +1,97 @@
Index: tcc-0.9.25/Makefile
===================================================================
--- tcc-0.9.25.orig/Makefile
+++ tcc-0.9.25/Makefile
@@ -13,6 +13,10 @@ ifneq ($(GCC_MAJOR),2)
CFLAGS+=-fno-strict-aliasing
endif
+ifndef ($(DESTDIR))
+DESTDIR = /
+endif
+
ifeq ($(ARCH),i386)
CFLAGS+=-mpreferred-stack-boundary=2
ifeq ($(GCC_MAJOR),2)
@@ -197,48 +201,48 @@ INSTALL=install
ifndef CONFIG_WIN32
install: $(PROGS) $(LIBTCC1) $(BCHECK_O) libtcc.a tcc.1 tcc-doc.html
- mkdir -p "$(bindir)"
- $(INSTALL) -s -m755 $(PROGS) "$(bindir)"
- mkdir -p "$(mandir)/man1"
- $(INSTALL) tcc.1 "$(mandir)/man1"
- mkdir -p "$(tccdir)"
- mkdir -p "$(tccdir)/include"
+ mkdir -p "$(DESTDIR)/$(bindir)"
+ $(INSTALL) -s -m755 $(PROGS) "$(DESTDIR)/$(bindir)"
+ mkdir -p "$(DESTDIR)/$(mandir)/man1"
+ $(INSTALL) tcc.1 "$(DESTDIR)/$(mandir)/man1"
+ mkdir -p "$(DESTDIR)/$(tccdir)"
+ mkdir -p "$(DESTDIR)/$(tccdir)/include"
ifneq ($(LIBTCC1),)
- $(INSTALL) -m644 $(LIBTCC1) "$(tccdir)"
+ $(INSTALL) -m644 $(LIBTCC1) "$(DESTDIR)/$(tccdir)"
endif
ifneq ($(BCHECK_O),)
- $(INSTALL) -m644 $(BCHECK_O) "$(tccdir)"
+ $(INSTALL) -m644 $(BCHECK_O) "$(DESTDIR)/$(tccdir)"
endif
- $(INSTALL) -m644 $(addprefix include/,$(TCC_INCLUDES)) "$(tccdir)/include"
- mkdir -p "$(docdir)"
- $(INSTALL) -m644 tcc-doc.html "$(docdir)"
- mkdir -p "$(libdir)"
- $(INSTALL) -m644 libtcc.a "$(libdir)"
- mkdir -p "$(includedir)"
- $(INSTALL) -m644 libtcc.h "$(includedir)"
+ $(INSTALL) -m644 $(addprefix include/,$(TCC_INCLUDES)) "$(DESTDIR)/$(tccdir)/include"
+ mkdir -p "$(DESTDIR)/$(docdir)"
+ $(INSTALL) -m644 tcc-doc.html "$(DESTDIR)/$(docdir)"
+ mkdir -p "$(DESTDIR)/$(libdir)"
+ $(INSTALL) -m644 libtcc.a "$(DESTDIR)/$(libdir)"
+ mkdir -p "$(DESTDIR)/$(includedir)"
+ $(INSTALL) -m644 libtcc.h "$(DESTDIR)/$(includedir)"
uninstall:
- rm -fv $(foreach P,$(PROGS),"$(bindir)/$P")
- rm -fv $(foreach P,$(LIBTCC1) $(BCHECK_O),"$(tccdir)/$P")
- rm -fv $(foreach P,$(TCC_INCLUDES),"$(tccdir)/include/$P")
- rm -fv "$(docdir)/tcc-doc.html" "$(mandir)/man1/tcc.1"
- rm -fv "$(libdir)/libtcc.a" "$(includedir)/libtcc.h"
+ rm -fv $(foreach P,$(PROGS),"$(DESTDIR)/$(bindir)/$P")
+ rm -fv $(foreach P,$(LIBTCC1) $(BCHECK_O),"$(DESTDIR)/$(tccdir)/$P")
+ rm -fv $(foreach P,$(TCC_INCLUDES),"$(DESTDIR)/$(tccdir)/include/$P")
+ rm -fv "$(DESTDIR)/$(docdir)/tcc-doc.html" "$(DESTDIR)/$(mandir)/man1/tcc.1"
+ rm -fv "$(DESTDIR)/$(libdir)/libtcc.a" "$(includedir)/libtcc.h"
else
install: $(PROGS) $(LIBTCC1) libtcc.a tcc-doc.html
- mkdir -p "$(tccdir)"
- mkdir -p "$(tccdir)/lib"
- mkdir -p "$(tccdir)/include"
- mkdir -p "$(tccdir)/examples"
- mkdir -p "$(tccdir)/doc"
- mkdir -p "$(tccdir)/libtcc"
- $(INSTALL) -s -m755 $(PROGS) "$(tccdir)"
- $(INSTALL) -m644 $(LIBTCC1) win32/lib/*.def "$(tccdir)/lib"
- cp -r win32/include/. "$(tccdir)/include"
- cp -r win32/examples/. "$(tccdir)/examples"
-# $(INSTALL) -m644 $(addprefix include/,$(TCC_INCLUDES)) "$(tccdir)/include"
- $(INSTALL) -m644 tcc-doc.html win32/tcc-win32.txt "$(tccdir)/doc"
- $(INSTALL) -m644 libtcc.a libtcc.h "$(tccdir)/libtcc"
+ mkdir -p "$(DESTDIR)/$(tccdir)"
+ mkdir -p "$(DESTDIR)/$(tccdir)/lib"
+ mkdir -p "$(DESTDIR)/$(tccdir)/include"
+ mkdir -p "$(DESTDIR)/$(tccdir)/examples"
+ mkdir -p "$(DESTDIR)/$(tccdir)/doc"
+ mkdir -p "$(DESTDIR)/$(tccdir)/libtcc"
+ $(INSTALL) -s -m755 $(PROGS) "$(DESTDIR)/$(tccdir)"
+ $(INSTALL) -m644 $(LIBTCC1) win32/lib/*.def "$(DESTDIR)/$(tccdir)/lib"
+ cp -r win32/include/. "$(DESTDIR)/$(tccdir)/include"
+ cp -r win32/examples/. "$(DESTDIR)/$(tccdir)/examples"
+# $(INSTALL) -m644 $(addprefix include/,$(TCC_INCLUDES)) "$(DESTDIR)/$(tccdir)/include"
+ $(INSTALL) -m644 tcc-doc.html win32/tcc-win32.txt "$(DESTDIR)/$(tccdir)/doc"
+ $(INSTALL) -m644 libtcc.a libtcc.h "$(DESTDIR)/$(tccdir)/libtcc"
endif
# documentation and man page

View file

@ -5,7 +5,7 @@
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
|----------handy-ruler------------------------------------------------|
|----------handy-ruler-------------------------------------------------|
tcc: tcc (Tiny C Compiler)
tcc:
tcc: Tiny C Compiler is a very fast C compiler. Unlike other C compilers,

View file

@ -2,7 +2,7 @@
# Slackware build script for tiny c compiler
# Copyright (c) 2010 Markus Reichelt, Aachen, DE
# Copyright (c) 2010,2011 Markus Reichelt, Aachen, DE
# All rights reserved.
#
# Permission to use, copy, modify, and distribute this software for
@ -26,10 +26,11 @@
# markus reichelt, slackbuilds@mareichelt.de, 0xCCEEF115
# in memoriam of Georg Ohler
# 2010 Aug 23 - initial release
# 2011 Oct 30 - incorporated fixes & Makefile patch from Vincent Batts
PRGNAM=tcc
VERSION=${VERSION:-0.9.25}
BUILD=${BUILD:-1}
BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@ -79,21 +80,29 @@ if [ "$CROSS" = "yes" ]; then
else OPT=""
fi
cat $CWD/makefile_destdir.patch | patch -p1 --backup
mkdir -p $PKG/usr/bin $PKG/usr/man/man1 $PKG/usr/doc $PKG/usr/include
DFLAGS=$LDFLAGS \
CFLAGS=$SLKCFLAGS \
./configure \
--prefix=$PKG/usr \
--libdir=$PKG/usr/lib$LIBDIRSUFFIX \
--tccdir=$PKG/usr/lib$LIBDIRSUFFIX/tcc \
--docdir=$PKG/usr/doc $OPT
--prefix=/usr \
--libdir=/usr/lib$LIBDIRSUFFIX \
--tccdir=/usr/lib$LIBDIRSUFFIX/tcc \
--docdir=/usr/doc $OPT
if [ "$ARCH" = "x86_64" ] ; then
sed -i 's/lib/lib64/' config.h
sed -i 's/lib\//lib64\//' config.mak
fi
make
#make test # this fails on x86_64
make install \
tccdir=$PKG/usr/lib${LIBDIRSUFFIX}/tcc \
docdir=$PKG/usr/doc/$PRGNAM-$VERSION
DESTDIR=$PKG \
tccdir=/usr/lib${LIBDIRSUFFIX}/tcc \
docdir=/usr/doc/$PRGNAM-$VERSION
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true

View file

@ -7,4 +7,4 @@ DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
MAINTAINER="markus reichelt"
EMAIL="slackbuilds@mareichelt.de"
APPROVED="rworkman"
APPROVED="rworkman,Niels Horn"