Home | History | Annotate | Line # | Download | only in compiler_rt
Makefile.inc revision 1.12
      1  1.12  joerg # $NetBSD: Makefile.inc,v 1.12 2014/01/18 21:26:46 joerg 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.1  joerg .if ${MACHINE_ARCH} == "powerpc"
      6   1.1  joerg COMPILER_RT_CPU_DIR=	${COMPILER_RT_SRCDIR}/lib/ppc
      7   1.1  joerg COMPILER_RT_ARCH_DIR=	${COMPILER_RT_SRCDIR}/lib/ppc
      8   1.1  joerg .else
      9   1.1  joerg COMPILER_RT_CPU_DIR=	${COMPILER_RT_SRCDIR}/lib/${MACHINE_CPU}
     10   1.1  joerg COMPILER_RT_ARCH_DIR=	${COMPILER_RT_SRCDIR}/lib/${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.1  joerg .PATH: ${COMPILER_RT_SRCDIR}/lib
     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.2  joerg .if ${HAVE_LLVM:Uno} == "yes"
     27   1.2  joerg # Requires C11 support
     28   1.2  joerg GENERIC_SRCS+= atomic.c
     29   1.2  joerg .endif
     30   1.2  joerg 
     31  1.10  joerg .if ${HAVE_LIBGCC_EH} == "no"
     32   1.2  joerg GENERIC_SRCS+= \
     33   1.2  joerg 	gcc_personality_v0.c
     34   1.6  joerg .endif
     35   1.2  joerg 
     36   1.8  joerg .if 0
     37   1.2  joerg # Conflicts with soft-float
     38   1.2  joerg GENERIC_SRCS+= \
     39   1.2  joerg 	comparedf2.c \
     40   1.3  joerg 	comparesf2.c \
     41   1.3  joerg 	adddf3.c \
     42   1.3  joerg 	addsf3.c \
     43   1.3  joerg 	divdf3.c \
     44   1.3  joerg 	divsf3.c \
     45   1.3  joerg 	extendsfdf2.c \
     46  1.11  joerg 	fixdfsi.c \
     47   1.3  joerg 	fixdfti.c \
     48   1.3  joerg 	fixsfsi.c \
     49   1.3  joerg 	fixsfti.c \
     50   1.3  joerg 	floatsidf.c \
     51   1.3  joerg 	floatsisf.c \
     52   1.7  joerg 	floatunsidf.c \
     53   1.7  joerg 	floatunsisf.c \
     54   1.3  joerg 	muldf3.c \
     55   1.3  joerg 	mulsf3.c \
     56   1.3  joerg 	subdf3.c \
     57   1.3  joerg 	subsf3.c \
     58   1.3  joerg 	truncdfsf2.c
     59   1.2  joerg .endif
     60   1.2  joerg 
     61   1.1  joerg GENERIC_SRCS+= \
     62   1.1  joerg 	absvsi2.c \
     63   1.1  joerg 	absvti2.c \
     64   1.1  joerg 	addvsi3.c \
     65   1.1  joerg 	addvti3.c \
     66   1.1  joerg 	ashlti3.c \
     67   1.1  joerg 	ashrti3.c \
     68   1.1  joerg 	clzsi2.c \
     69   1.1  joerg 	clzti2.c \
     70   1.1  joerg 	cmpti2.c \
     71   1.1  joerg 	ctzsi2.c \
     72   1.1  joerg 	ctzti2.c \
     73   1.1  joerg 	divmodsi4.c \
     74   1.1  joerg 	divsi3.c \
     75   1.1  joerg 	divti3.c \
     76   1.1  joerg 	ffsti2.c \
     77  1.11  joerg 	fixsfdi.c \
     78   1.7  joerg 	fixdfdi.c \
     79   1.1  joerg 	fixunsdfdi.c \
     80   1.1  joerg 	fixunsdfsi.c \
     81   1.1  joerg 	fixunsdfti.c \
     82   1.1  joerg 	fixunssfdi.c \
     83   1.1  joerg 	fixunssfsi.c \
     84   1.1  joerg 	fixunssfti.c \
     85   1.1  joerg 	fixunsxfdi.c \
     86   1.1  joerg 	fixunsxfsi.c \
     87   1.1  joerg 	fixunsxfti.c \
     88   1.1  joerg 	fixxfdi.c \
     89   1.1  joerg 	fixxfti.c \
     90   1.1  joerg 	floatdidf.c \
     91   1.1  joerg 	floatdisf.c \
     92   1.1  joerg 	floatdixf.c \
     93   1.1  joerg 	floattidf.c \
     94   1.1  joerg 	floattisf.c \
     95   1.1  joerg 	floattixf.c \
     96   1.1  joerg 	floatundidf.c \
     97   1.1  joerg 	floatundisf.c \
     98   1.1  joerg 	floatundixf.c \
     99   1.1  joerg 	floatuntidf.c \
    100   1.1  joerg 	floatuntisf.c \
    101   1.1  joerg 	floatuntixf.c \
    102   1.1  joerg 	int_util.c \
    103   1.1  joerg 	lshrti3.c \
    104   1.1  joerg 	modsi3.c \
    105   1.1  joerg 	modti3.c \
    106   1.1  joerg 	muldc3.c \
    107   1.1  joerg 	mulosi4.c \
    108   1.1  joerg 	muloti4.c \
    109   1.1  joerg 	multi3.c \
    110   1.1  joerg 	mulvsi3.c \
    111   1.1  joerg 	mulvti3.c \
    112   1.1  joerg 	negdf2.c \
    113   1.1  joerg 	negsf2.c \
    114   1.1  joerg 	negti2.c \
    115   1.1  joerg 	negvsi2.c \
    116   1.1  joerg 	negvti2.c \
    117   1.1  joerg 	paritysi2.c \
    118   1.1  joerg 	parityti2.c \
    119   1.1  joerg 	popcountsi2.c \
    120   1.1  joerg 	popcountti2.c \
    121   1.1  joerg 	powidf2.c \
    122   1.1  joerg 	powisf2.c \
    123   1.1  joerg 	powitf2.c \
    124   1.1  joerg 	powixf2.c \
    125   1.1  joerg 	subvsi3.c \
    126   1.1  joerg 	subvti3.c \
    127   1.1  joerg 	ucmpti2.c \
    128   1.1  joerg 	udivmodsi4.c \
    129   1.1  joerg 	udivmodti4.c \
    130   1.1  joerg 	udivsi3.c \
    131   1.1  joerg 	udivti3.c \
    132   1.1  joerg 	umodsi3.c \
    133   1.1  joerg 	umodti3.c
    134   1.1  joerg 
    135   1.4  joerg GENERIC_SRCS+= \
    136   1.5   matt 	absvdi2.c \
    137   1.5   matt 	addvdi3.c \
    138   1.5   matt 	clzdi2.c \
    139   1.5   matt 	ctzdi2.c \
    140   1.5   matt 	ffsdi2.c \
    141   1.5   matt 	mulodi4.c \
    142   1.5   matt 	mulvdi3.c \
    143   1.5   matt 	negvdi2.c \
    144   1.5   matt 	paritydi2.c \
    145   1.5   matt 	popcountdi2.c \
    146   1.5   matt 	subvdi3.c
    147   1.5   matt 
    148  1.12  joerg .if empty(LIBC_MACHINE_ARCH:M*64*) && ${LIBC_MACHINE_ARCH} != "alpha"
    149   1.5   matt GENERIC_SRCS+= \
    150   1.5   matt 	cmpdi2.c \
    151   1.5   matt 	ashldi3.c \
    152   1.5   matt 	ashrdi3.c \
    153   1.5   matt 	divdi3.c \
    154   1.5   matt 	divmoddi4.c \
    155   1.5   matt 	lshrdi3.c \
    156   1.5   matt 	moddi3.c \
    157   1.5   matt 	muldi3.c \
    158   1.5   matt 	negdi2.c \
    159   1.5   matt 	ucmpdi2.c \
    160   1.5   matt 	udivdi3.c \
    161   1.5   matt 	udivmoddi4.c \
    162   1.5   matt 	umoddi3.c
    163   1.5   matt .endif
    164   1.5   matt 
    165   1.5   matt GENERIC_SRCS+= \
    166   1.4  joerg 	GCDAProfiling.c \
    167   1.4  joerg 	PGOProfiling.c
    168   1.4  joerg 
    169   1.3  joerg .if ${HAVE_LIBGCC} == "no"
    170   1.1  joerg .if ${MACHINE_ARCH} == "powerpc"
    171   1.1  joerg GENERIC_SRCS+= \
    172   1.1  joerg 	fixtfdi.c \
    173   1.1  joerg 	fixunstfdi.c \
    174   1.1  joerg 	floatditf.c \
    175   1.1  joerg 	floatunditf.c \
    176   1.1  joerg 	gcc_qadd.c \
    177   1.1  joerg 	gcc_qdiv.c \
    178   1.1  joerg 	gcc_qmul.c \
    179   1.1  joerg 	gcc_qsub.c
    180   1.1  joerg .endif
    181   1.3  joerg .endif
    182   1.1  joerg 
    183   1.2  joerg .if ${MACHINE_CPU} == "arm"
    184   1.2  joerg .if !empty(LIBC_MACHINE_ARCH:Mearm*)
    185   1.2  joerg GENERIC_SRCS+= \
    186   1.2  joerg 	aeabi_idivmod.S \
    187   1.2  joerg 	aeabi_ldivmod.S \
    188   1.2  joerg 	aeabi_uidivmod.S \
    189   1.2  joerg 	aeabi_uldivmod.S
    190   1.2  joerg .endif
    191   1.9  joerg # Not yet, overlaps with softfloat
    192   1.9  joerg #	aeabi_dcmp.S \
    193   1.9  joerg #	aeabi_fcmp.S
    194   1.3  joerg # Not yet, requires ARMv6
    195   1.3  joerg #GENERIC_SRCS+= \
    196   1.3  joerg #	bswapdi2.S \
    197   1.3  joerg #	bswapsi2.S
    198   1.2  joerg .endif
    199   1.2  joerg 
    200   1.1  joerg .for src in ${GENERIC_SRCS}
    201   1.1  joerg .  if exists(${COMPILER_RT_CPU_DIR}/${src:R}.S) || \
    202   1.1  joerg       exists(${COMPILER_RT_ARCH_DIR}/${src:R}.S)
    203   1.1  joerg SRCS+=	${src:R}.S
    204   1.1  joerg .  else
    205   1.1  joerg SRCS+=	${src}
    206   1.2  joerg COPTS.${src}+=	-Wno-missing-prototypes \
    207   1.2  joerg 		-Wno-old-style-definition \
    208   1.2  joerg 		-Wno-strict-prototypes \
    209   1.2  joerg 		-Wno-uninitialized
    210   1.1  joerg .  endif
    211   1.1  joerg .endfor
    212