Home | History | Annotate | Line # | Download | only in compiler_rt
Makefile.inc revision 1.17.2.1
      1  1.17.2.1    tls # $NetBSD: Makefile.inc,v 1.17.2.1 2014/08/10 06:51:50 tls Exp $
      2       1.1  joerg 
      3       1.1  joerg COMPILER_RT_SRCDIR=	${NETBSDSRCDIR}/sys/external/bsd/compiler_rt/dist
      4       1.1  joerg 
      5      1.16   matt .if ${LIBC_MACHINE_ARCH} == "powerpc"
      6      1.15  joerg COMPILER_RT_CPU_DIR=	${COMPILER_RT_SRCDIR}/lib/builtins/ppc
      7      1.15  joerg COMPILER_RT_ARCH_DIR=	${COMPILER_RT_SRCDIR}/lib/builtins/ppc
      8       1.1  joerg .else
      9      1.15  joerg COMPILER_RT_CPU_DIR=	${COMPILER_RT_SRCDIR}/lib/builtins/${MACHINE_CPU}
     10      1.16   matt COMPILER_RT_ARCH_DIR=	${COMPILER_RT_SRCDIR}/lib/builtins/${LIBC_MACHINE_ARCH}
     11       1.1  joerg .endif
     12       1.1  joerg 
     13       1.1  joerg .PATH: ${COMPILER_RT_CPU_DIR}
     14       1.1  joerg .PATH: ${COMPILER_RT_ARCH_DIR}
     15      1.15  joerg .PATH: ${COMPILER_RT_SRCDIR}/lib/builtins
     16       1.4  joerg .PATH: ${COMPILER_RT_SRCDIR}/lib/profile
     17       1.1  joerg 
     18       1.1  joerg # Complex support needs parts of libm
     19       1.1  joerg #GENERIC_SRCS+=
     20       1.1  joerg #	mulxc3.c \
     21       1.1  joerg #	mulsc3.c \
     22       1.1  joerg #	divxc3.c \
     23       1.1  joerg #	divdc3.c \
     24       1.1  joerg #	divsc3.c
     25       1.1  joerg 
     26  1.17.2.1    tls # Implemented on top of our atomic interface.
     27  1.17.2.1    tls #GENERIC_SRCS+= atomic.c
     28       1.2  joerg 
     29      1.10  joerg .if ${HAVE_LIBGCC_EH} == "no"
     30       1.2  joerg GENERIC_SRCS+= \
     31       1.2  joerg 	gcc_personality_v0.c
     32       1.6  joerg .endif
     33       1.2  joerg 
     34       1.8  joerg .if 0
     35       1.2  joerg # Conflicts with soft-float
     36       1.2  joerg GENERIC_SRCS+= \
     37       1.2  joerg 	comparedf2.c \
     38       1.3  joerg 	comparesf2.c \
     39       1.3  joerg 	adddf3.c \
     40       1.3  joerg 	addsf3.c \
     41       1.3  joerg 	divdf3.c \
     42       1.3  joerg 	divsf3.c \
     43       1.3  joerg 	extendsfdf2.c \
     44      1.11  joerg 	fixdfsi.c \
     45       1.3  joerg 	fixdfti.c \
     46       1.3  joerg 	fixsfsi.c \
     47       1.3  joerg 	fixsfti.c \
     48       1.3  joerg 	floatsidf.c \
     49       1.3  joerg 	floatsisf.c \
     50       1.7  joerg 	floatunsidf.c \
     51       1.7  joerg 	floatunsisf.c \
     52       1.3  joerg 	muldf3.c \
     53       1.3  joerg 	mulsf3.c \
     54       1.3  joerg 	subdf3.c \
     55       1.3  joerg 	subsf3.c \
     56       1.3  joerg 	truncdfsf2.c
     57       1.2  joerg .endif
     58       1.2  joerg 
     59       1.1  joerg GENERIC_SRCS+= \
     60       1.1  joerg 	absvsi2.c \
     61       1.1  joerg 	absvti2.c \
     62       1.1  joerg 	addvsi3.c \
     63       1.1  joerg 	addvti3.c \
     64       1.1  joerg 	ashlti3.c \
     65       1.1  joerg 	ashrti3.c \
     66       1.1  joerg 	clzsi2.c \
     67       1.1  joerg 	clzti2.c \
     68       1.1  joerg 	cmpti2.c \
     69       1.1  joerg 	ctzsi2.c \
     70       1.1  joerg 	ctzti2.c \
     71       1.1  joerg 	divmodsi4.c \
     72       1.1  joerg 	divsi3.c \
     73       1.1  joerg 	divti3.c \
     74       1.1  joerg 	ffsti2.c \
     75      1.11  joerg 	fixsfdi.c \
     76       1.7  joerg 	fixdfdi.c \
     77       1.1  joerg 	fixunsdfdi.c \
     78       1.1  joerg 	fixunsdfsi.c \
     79       1.1  joerg 	fixunsdfti.c \
     80       1.1  joerg 	fixunssfdi.c \
     81       1.1  joerg 	fixunssfsi.c \
     82       1.1  joerg 	fixunssfti.c \
     83       1.1  joerg 	fixunsxfdi.c \
     84       1.1  joerg 	fixunsxfsi.c \
     85       1.1  joerg 	fixunsxfti.c \
     86       1.1  joerg 	fixxfdi.c \
     87       1.1  joerg 	fixxfti.c \
     88       1.1  joerg 	floatdidf.c \
     89       1.1  joerg 	floatdisf.c \
     90       1.1  joerg 	floatdixf.c \
     91       1.1  joerg 	floattidf.c \
     92       1.1  joerg 	floattisf.c \
     93       1.1  joerg 	floattixf.c \
     94       1.1  joerg 	floatundidf.c \
     95       1.1  joerg 	floatundisf.c \
     96       1.1  joerg 	floatundixf.c \
     97       1.1  joerg 	floatuntidf.c \
     98       1.1  joerg 	floatuntisf.c \
     99       1.1  joerg 	floatuntixf.c \
    100       1.1  joerg 	int_util.c \
    101       1.1  joerg 	lshrti3.c \
    102       1.1  joerg 	modsi3.c \
    103       1.1  joerg 	modti3.c \
    104       1.1  joerg 	muldc3.c \
    105       1.1  joerg 	mulosi4.c \
    106       1.1  joerg 	muloti4.c \
    107       1.1  joerg 	multi3.c \
    108       1.1  joerg 	mulvsi3.c \
    109       1.1  joerg 	mulvti3.c \
    110       1.1  joerg 	negdf2.c \
    111       1.1  joerg 	negsf2.c \
    112       1.1  joerg 	negti2.c \
    113       1.1  joerg 	negvsi2.c \
    114       1.1  joerg 	negvti2.c \
    115       1.1  joerg 	paritysi2.c \
    116       1.1  joerg 	parityti2.c \
    117       1.1  joerg 	popcountsi2.c \
    118       1.1  joerg 	popcountti2.c \
    119       1.1  joerg 	powidf2.c \
    120       1.1  joerg 	powisf2.c \
    121       1.1  joerg 	powitf2.c \
    122       1.1  joerg 	powixf2.c \
    123       1.1  joerg 	subvsi3.c \
    124       1.1  joerg 	subvti3.c \
    125       1.1  joerg 	ucmpti2.c \
    126       1.1  joerg 	udivmodsi4.c \
    127       1.1  joerg 	udivmodti4.c \
    128       1.1  joerg 	udivti3.c \
    129       1.1  joerg 	umodsi3.c \
    130       1.1  joerg 	umodti3.c
    131       1.1  joerg 
    132      1.17    uwe .if ${MACHINE_CPU} != "sh3"
    133      1.17    uwe # On sh3 __udivsi3 is gcc "millicode" with special calling convention
    134      1.17    uwe # (less registers clobbered than usual).  Each DSO that needs it gets
    135      1.17    uwe # its own hidden copy from libgcc.a.
    136      1.17    uwe GENERIC_SRCS+= \
    137      1.17    uwe 	udivsi3.c
    138      1.17    uwe .endif
    139      1.17    uwe 
    140       1.4  joerg GENERIC_SRCS+= \
    141       1.5   matt 	absvdi2.c \
    142       1.5   matt 	addvdi3.c \
    143       1.5   matt 	clzdi2.c \
    144       1.5   matt 	ctzdi2.c \
    145       1.5   matt 	ffsdi2.c \
    146       1.5   matt 	mulodi4.c \
    147       1.5   matt 	mulvdi3.c \
    148       1.5   matt 	negvdi2.c \
    149       1.5   matt 	paritydi2.c \
    150       1.5   matt 	popcountdi2.c \
    151       1.5   matt 	subvdi3.c
    152       1.5   matt 
    153      1.12  joerg .if empty(LIBC_MACHINE_ARCH:M*64*) && ${LIBC_MACHINE_ARCH} != "alpha"
    154       1.5   matt GENERIC_SRCS+= \
    155       1.5   matt 	cmpdi2.c \
    156       1.5   matt 	ashldi3.c \
    157       1.5   matt 	ashrdi3.c \
    158       1.5   matt 	divdi3.c \
    159       1.5   matt 	divmoddi4.c \
    160       1.5   matt 	lshrdi3.c \
    161       1.5   matt 	moddi3.c \
    162       1.5   matt 	muldi3.c \
    163       1.5   matt 	negdi2.c \
    164       1.5   matt 	ucmpdi2.c \
    165       1.5   matt 	udivdi3.c \
    166       1.5   matt 	udivmoddi4.c \
    167       1.5   matt 	umoddi3.c
    168       1.5   matt .endif
    169       1.5   matt 
    170       1.5   matt GENERIC_SRCS+= \
    171       1.4  joerg 	GCDAProfiling.c \
    172  1.17.2.1    tls 	InstrProfiling.c \
    173  1.17.2.1    tls 	InstrProfilingBuffer.c \
    174  1.17.2.1    tls 	InstrProfilingFile.c \
    175  1.17.2.1    tls 	InstrProfilingPlatformOther.c
    176       1.4  joerg 
    177      1.16   matt .if ${LIBC_MACHINE_ARCH} == "powerpc"
    178       1.1  joerg GENERIC_SRCS+= \
    179       1.1  joerg 	fixtfdi.c \
    180       1.1  joerg 	fixunstfdi.c \
    181       1.1  joerg 	floatditf.c \
    182       1.1  joerg 	floatunditf.c \
    183       1.1  joerg 	gcc_qadd.c \
    184       1.1  joerg 	gcc_qdiv.c \
    185       1.1  joerg 	gcc_qmul.c \
    186       1.1  joerg 	gcc_qsub.c
    187       1.1  joerg .endif
    188       1.1  joerg 
    189       1.2  joerg .if ${MACHINE_CPU} == "arm"
    190       1.2  joerg .if !empty(LIBC_MACHINE_ARCH:Mearm*)
    191       1.2  joerg GENERIC_SRCS+= \
    192       1.2  joerg 	aeabi_idivmod.S \
    193       1.2  joerg 	aeabi_ldivmod.S \
    194       1.2  joerg 	aeabi_uidivmod.S \
    195       1.2  joerg 	aeabi_uldivmod.S
    196       1.2  joerg .endif
    197      1.13  joerg GENERIC_SRCS+= \
    198      1.13  joerg 	clear_cache.c
    199       1.9  joerg # Not yet, overlaps with softfloat
    200       1.9  joerg #	aeabi_dcmp.S \
    201       1.9  joerg #	aeabi_fcmp.S
    202       1.3  joerg # Not yet, requires ARMv6
    203       1.3  joerg #GENERIC_SRCS+= \
    204       1.3  joerg #	bswapdi2.S \
    205       1.3  joerg #	bswapsi2.S
    206       1.2  joerg .endif
    207       1.2  joerg 
    208       1.1  joerg .for src in ${GENERIC_SRCS}
    209       1.1  joerg .  if exists(${COMPILER_RT_CPU_DIR}/${src:R}.S) || \
    210       1.1  joerg       exists(${COMPILER_RT_ARCH_DIR}/${src:R}.S)
    211       1.1  joerg SRCS+=	${src:R}.S
    212       1.1  joerg .  else
    213       1.1  joerg SRCS+=	${src}
    214  1.17.2.1    tls .    if ${src:E} != "cc"
    215       1.2  joerg COPTS.${src}+=	-Wno-missing-prototypes \
    216       1.2  joerg 		-Wno-old-style-definition \
    217       1.2  joerg 		-Wno-strict-prototypes \
    218  1.17.2.1    tls 		-Wno-uninitialized \
    219  1.17.2.1    tls 		-Wno-cast-qual
    220  1.17.2.1    tls .    endif
    221       1.1  joerg .  endif
    222       1.1  joerg .endfor
    223