Add package: tcc
This commit is contained in:
54
devel/tcc.d/Makefile
Normal file
54
devel/tcc.d/Makefile
Normal file
@@ -0,0 +1,54 @@
|
||||
version=79a8229fb5da15135ac0c54c2c696a8da8988b24
|
||||
|
||||
package=tcc
|
||||
pkgver=${version}_0
|
||||
description=BSD Make tool
|
||||
conflict=
|
||||
homepage=Tiny C compiler
|
||||
license=LGPL-2.1
|
||||
replace=
|
||||
|
||||
alternatives=cc:/usr/bin/cc:tcc
|
||||
shlib-provides=
|
||||
shlib-requires=libc.so
|
||||
|
||||
include ../../Makefile
|
||||
|
||||
SOURCES = \
|
||||
${version}.tar.gz
|
||||
|
||||
FILES = \
|
||||
files/ar \
|
||||
files/Makefile \
|
||||
files/Makefile-libs
|
||||
|
||||
${version}.tar.gz:
|
||||
${DOWNLOAD} https://repo.or.cz/tinycc.git/snapshot/$@
|
||||
${SHA256} ec4b05d28f83970b9f405ed50c60fe8fac88826ef7ce80fa95ec4a5cde2a319f
|
||||
|
||||
GITHASH = `echo ${version} | dd ibs=1 obs=1 count=7 2>/dev/null`
|
||||
|
||||
prepare: ${SOURCES} ${FILES}
|
||||
tar -zxf ${version}.tar.gz
|
||||
mv tinycc-${GITHASH} build
|
||||
mv files/ar build/
|
||||
mv -f files/Makefile build/
|
||||
mv -f files/Makefile-libs build/lib/Makefile
|
||||
|
||||
root:
|
||||
./configure \
|
||||
--prefix=/usr \
|
||||
--cc=${CC} \
|
||||
--config-musl
|
||||
|
||||
${MAKE} GITHASH=${GITHASH}
|
||||
${MAKE} DESTDIR=${root} install
|
||||
|
||||
|
||||
root-posix:
|
||||
mkdir -p ${root}/usr/bin
|
||||
install -Dm 755 ar "${root}/usr/bin/ar"
|
||||
|
||||
root-man:
|
||||
install -Dm 644 tcc-doc.texi "${root}/usr/share/man/man1/tcc.texi"
|
||||
|
||||
52
devel/tcc.d/files/Makefile
Normal file
52
devel/tcc.d/files/Makefile
Normal file
@@ -0,0 +1,52 @@
|
||||
.POSIX:
|
||||
|
||||
OBJECTS = \
|
||||
tcc.o \
|
||||
libtcc.o \
|
||||
tccpp.o \
|
||||
tccgen.o \
|
||||
tccdbg.o \
|
||||
tccelf.o \
|
||||
tccasm.o \
|
||||
tccrun.o \
|
||||
x86_64-gen.o \
|
||||
x86_64-link.o \
|
||||
i386-asm.o
|
||||
|
||||
ONE_SOURCE=0
|
||||
include config.mak
|
||||
|
||||
XCFLAGS = ${CFLAGS} -I. ${NATIVE_DEFINES} \
|
||||
-DTCC_TARGET_X86_64 -DTCC_MUSL -DONE_SOURCE=${ONE_SOURCE}
|
||||
|
||||
.SUFFIXES: .c .o .S
|
||||
|
||||
.c.o:
|
||||
${CC} ${XCFLAGS} -c $<
|
||||
|
||||
all: tcc libs
|
||||
|
||||
tcc: libtcc.a tcc.o
|
||||
${CC} -o tcc tcc.o libtcc.a -lm -lpthread -ldl -s
|
||||
|
||||
tcc.o:
|
||||
${CC} ${XCFLAGS} -DTCC_GITHASH="\"HEAD:${GITHASH}\"" -c tcc.c
|
||||
|
||||
tccpp.o: tccdefs_.h
|
||||
|
||||
tccdefs_.h:
|
||||
${CC} -DC2STR conftest.c -o c2str.exe
|
||||
./c2str.exe include/tccdefs.h tccdefs_.h
|
||||
|
||||
libtcc.a: ${OBJECTS}
|
||||
${AR} ${ARFLAGS} $@ ${OBJECTS}
|
||||
|
||||
libs: tcc
|
||||
${MAKE} CC=../tcc -C ./lib
|
||||
|
||||
clean:
|
||||
rm ${OBJECTS} libtcc.a c2str.ext tccdefs_.h tcc
|
||||
|
||||
install: tcc libs
|
||||
install -Dm 755 tcc $(bindir)/tcc
|
||||
install -Dm 644 lib/libtcc1.a $(libdir)/libtcc1.a
|
||||
21
devel/tcc.d/files/Makefile-libs
Normal file
21
devel/tcc.d/files/Makefile-libs
Normal file
@@ -0,0 +1,21 @@
|
||||
.POSIX:
|
||||
|
||||
OBJECTS = \
|
||||
libtcc1.o \
|
||||
alloca.o \
|
||||
alloca-bt.o \
|
||||
tcov.o \
|
||||
stdatomic.o \
|
||||
va_list.o \
|
||||
dsohandle.o
|
||||
|
||||
CFLAGS = -B.. -I..
|
||||
|
||||
libtcc1.a: $(OBJECTS)
|
||||
$(AR) rcs $@ $(OBJECTS)
|
||||
|
||||
.SUFFIXES: .S
|
||||
|
||||
.S.o:
|
||||
$(CC) $(CFLAGS) -o $@ -c $>
|
||||
|
||||
3
devel/tcc.d/files/ar
Normal file
3
devel/tcc.d/files/ar
Normal file
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
/usr/bin/tcc -ar "$@"
|
||||
Reference in New Issue
Block a user