diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libblocksruntime/Makefile | 13 | ||||
-rw-r--r-- | lib/libblocksruntime/config.h | 14 | ||||
-rw-r--r-- | lib/libcompiler_rt/Makefile | 157 |
3 files changed, 184 insertions, 0 deletions
diff --git a/lib/libblocksruntime/Makefile b/lib/libblocksruntime/Makefile new file mode 100644 index 0000000..01a78fe --- /dev/null +++ b/lib/libblocksruntime/Makefile @@ -0,0 +1,13 @@ +# $FreeBSD$ + +LIB= BlocksRuntime +SHLIB_MAJOR=0 +CFLAGS+=-I${.CURDIR} +WARNS?= 2 + +.PATH: ${.CURDIR}/../../contrib/compiler-rt/BlocksRuntime + +INCS= Block.h Block_private.h +SRCS= data.c runtime.c + +.include <bsd.lib.mk> diff --git a/lib/libblocksruntime/config.h b/lib/libblocksruntime/config.h new file mode 100644 index 0000000..36418d3 --- /dev/null +++ b/lib/libblocksruntime/config.h @@ -0,0 +1,14 @@ +/* $FreeBSD$ */ + +/* #undef HAVE_SYS_BYTEORDER_H */ +/* #undef HAVE_AVAILABILITY_MACROS_H */ +/* #undef HAVE_TARGET_CONDITIONALS_H */ +/* #undef HAVE_LIBKERN_OSATOMIC_H */ + +#define HAVE_SYSCONF 1 + +/* #undef HAVE_OSATOMIC_COMPARE_AND_SWAP_INT */ +/* #undef HAVE_OSATOMIC_COMPARE_AND_SWAP_LONG */ + +#define HAVE_SYNC_BOOL_COMPARE_AND_SWAP_INT 1 +#define HAVE_SYNC_BOOL_COMPARE_AND_SWAP_LONG 1 diff --git a/lib/libcompiler_rt/Makefile b/lib/libcompiler_rt/Makefile new file mode 100644 index 0000000..e290f1d --- /dev/null +++ b/lib/libcompiler_rt/Makefile @@ -0,0 +1,157 @@ +# $FreeBSD$ + +.include <bsd.own.mk> + +LIB= compiler_rt +NO_PIC= +WARNS?= 2 + +CFLAGS+=${PICFLAG} + +.if ${MACHINE_CPUARCH} == "amd64" +CRTARCH=x86_64 +.else +CRTARCH=${MACHINE_CPUARCH} +.endif + +CRTSRC=${.CURDIR}/../../contrib/compiler-rt/lib + +.PATH: ${CRTSRC}/${CRTARCH} ${CRTSRC} + +SRCF= absvdi2 \ + absvsi2 \ + absvti2 \ + addvdi3 \ + addvsi3 \ + addvti3 \ + ashldi3 \ + ashlti3 \ + ashrdi3 \ + ashrti3 \ + clear_cache \ + clzdi2 \ + clzsi2 \ + clzti2 \ + cmpdi2 \ + cmpti2 \ + comparedf2 \ + comparesf2 \ + ctzdi2 \ + ctzsi2 \ + ctzti2 \ + divdc3 \ + divdi3 \ + divsc3 \ + divti3 \ + divxc3 \ + enable_execute_stack \ + eprintf \ + ffsdi2 \ + ffsti2 \ + fixdfdi \ + fixdfti \ + fixsfdi \ + fixsfti \ + fixunsdfdi \ + fixunsdfsi \ + fixunsdfti \ + fixunssfdi \ + fixunssfsi \ + fixunssfti \ + fixunsxfdi \ + fixunsxfsi \ + fixunsxfti \ + fixxfdi \ + fixxfti \ + floatdidf \ + floatdisf \ + floatdixf \ + floattidf \ + floattisf \ + floattixf \ + floatundidf \ + floatundisf \ + floatundixf \ + floatunsidf \ + floatunsisf \ + floatuntidf \ + floatuntisf \ + floatuntixf \ + lshrdi3 \ + lshrti3 \ + moddi3 \ + modti3 \ + muldc3 \ + muldi3 \ + mulsc3 \ + multi3 \ + mulvdi3 \ + mulvsi3 \ + mulvti3 \ + mulxc3 \ + negdf2 \ + negdi2 \ + negsf2 \ + negti2 \ + negvdi2 \ + negvsi2 \ + negvti2 \ + paritydi2 \ + paritysi2 \ + parityti2 \ + popcountdi2 \ + popcountsi2 \ + popcountti2 \ + powidf2 \ + powisf2 \ + powitf2 \ + powixf2 \ + subvdi3 \ + subvsi3 \ + subvti3 \ + trampoline_setup \ + ucmpdi2 \ + ucmpti2 \ + udivdi3 \ + udivmoddi4 \ + udivmodti4 \ + udivti3 \ + umoddi3 \ + umodti3 + +# These are already shipped by libc.a on arm and mips +.if ${MACHINE_CPUARCH} != "arm" && ${MACHINE_CPUARCH} != "mips" +SRCF+= adddf3 \ + addsf3 \ + divdf3 \ + divsf3 \ + divsi3 \ + extendsfdf2 \ + fixdfsi \ + fixsfsi \ + floatsidf \ + floatsisf \ + modsi3 \ + muldf3 \ + mulsf3 \ + truncdfsf2 \ + udivsi3 \ + umodsi3 +.endif + +.for file in ${SRCF} +. if ${MACHINE_CPUARCH} != "arm" && exists(${CRTSRC}/${CRTARCH}/${file}.S) +SRCS+= ${file}.S +. else +SRCS+= ${file}.c +. endif +.endfor + +.if ${MK_INSTALLLIB} != "no" +SYMLINKS+=libcompiler_rt.a ${LIBDIR}/libgcc.a +.endif +.if ${MK_PROFILE} != "no" +SYMLINKS+=libcompiler_rt_p.a ${LIBDIR}/libgcc_p.a +.endif + +.include <bsd.lib.mk> |