1-------------------------------------------------------------------------- 2-- Copyright (c) 2016, ETH Zurich. 3-- All rights reserved. 4-- 5-- This file is distributed under the terms in the attached LICENSE file. 6-- If you do not find this file, copies can be found by writing to: 7-- ETH Zurich D-INFK, Universitaetstrasse 4, CH-8092 Zurich. Attn: Systems Group. 8-- 9-- Hakefile for /lib/compiler-rt/test 10-- 11-------------------------------------------------------------------------- 12 13let 14 builtins_unittest_files = [ 15 "absvdi2_test.c", 16 "absvsi2_test.c", 17 "absvti2_test.c", 18 "adddf3vfp_test.c", 19 "addsf3vfp_test.c", 20 "addtf3_test.c", 21 "addvdi3_test.c", 22 "addvsi3_test.c", 23 "addvti3_test.c", 24 "ashldi3_test.c", 25 "ashlti3_test.c", 26 "ashrdi3_test.c", 27 "ashrti3_test.c", 28 "bswapdi2_test.c", 29 "bswapsi2_test.c", 30 "clzdi2_test.c", 31 "clzsi2_test.c", 32 "clzti2_test.c", 33 "cmpdi2_test.c", 34 "cmpti2_test.c", 35 "comparedf2_test.c", 36 "comparesf2_test.c", 37 "ctzdi2_test.c", 38 "ctzsi2_test.c", 39 "ctzti2_test.c", 40 "divdc3_test.c", 41 "divdf3vfp_test.c", 42 "divdi3_test.c", 43 "divmodsi4_test.c", 44 "divsc3_test.c", 45 "divsf3vfp_test.c", 46 "divsi3_test.c", 47 "divtf3_test.c", 48 "divti3_test.c", 49 "divxc3_test.c", 50 "eqdf2vfp_test.c", 51 "eqsf2vfp_test.c", 52 "eqtf2_test.c", 53 "extebdsfdf2vfp_test.c", 54 "extenddftf2_test.c", 55 "extendsftf2_test.c", 56 "ffsdi2_test.c", 57 "ffsti2_test.c", 58 "fixdfdi_test.c", 59 "fixdfsivfp_test.c", 60 "fixdfti_test.c", 61 "fixsfdi_test.c", 62 "fixsfsivfp_test.c", 63 "fixsfti_test.c", 64 "fixtfdi_test.c", 65 "fixtfsi_test.c", 66 "fixtfti_test.c", 67 "fixunsdfdi_test.c", 68 "fixunsdfsi_test.c", 69 "fixunsdfsivfp_test.c", 70 "fixunsdfti_test.c", 71 "fixunssfdi_test.c", 72 "fixunssfsi_test.c", 73 "fixunssfsivfp_test.c", 74 "fixunssfti_test.c", 75 "fixunstfdi_test.c", 76 "fixunstfsi_test.c", 77 "fixunstfti_test.c", 78 "fixunsxfdi_test.c", 79 "fixunsxfsi_test.c", 80 "fixunsxfti_test.c", 81 "fixxfdi_test.c", 82 "fixxfti_test.c", 83 "floatdidf_test.c", 84 "floatdisf_test.c", 85 "floatditf_test.c", 86 "floatdixf_test.c", 87 "floatsidfvfp_test.c", 88 "floatsisfvfp_test.c", 89 "floatsitf_test.c", 90 "floattidf_test.c", 91 "floattisf_test.c", 92 "floattixf_test.c", 93 "floatundidf_test.c", 94 "floatundisf_test.c", 95 "floatunditf_test.c", 96 "floatundixf_test.c", 97 "floatunsitf_test.c", 98 "floatunssidfvfp_test.c", 99 "floatunssisfvfp_test.c", 100 "floatuntidf_test.c", 101 "floatuntisf_test.c", 102 "floatuntixf_test.c", 103 "gcc_personality_test.c", 104 "gedf2vfp_test.c", 105 "gesf2vfp_test.c", 106 "getf2_test.c", 107 "gtdf2vfp_test.c", 108 "gtsf2vfp_test.c", 109 "gttf2_test.c", 110 "ledf2vfp_test.c", 111 "lesf2vfp_test.c", 112 "letf2_test.c", 113 "lshrdi3_test.c", 114 "lshrti3_test.c", 115 "ltdf2vfp_test.c", 116 "ltsf2vfp_test.c", 117 "lttf2_test.c", 118 "moddi3_test.c", 119 "modsi3_test.c", 120 "modti3_test.c", 121 "muldc3_test.c", 122 "muldf3vfp_test.c", 123 "muldi3_test.c", 124 "mulodi4_test.c", 125 "mulosi4_test.c", 126 "muloti4_test.c", 127 "mulsc3_test.c", 128 "mulsf3vfp_test.c", 129 "multc3_test.c", 130 "multf3_test.c", 131 "multi3_test.c", 132 "mulvdi3_test.c", 133 "mulvsi3_test.c", 134 "mulvti3_test.c", 135 "mulxc3_test.c", 136 "nedf2vfp_test.c", 137 "negdf2vfp_test.c", 138 "negdi2_test.c", 139 "negsf2vfp_test.c", 140 "negti2_test.c", 141 "negvdi2_test.c", 142 "negvsi2_test.c", 143 "negvti2_test.c", 144 "nesf2vfp_test.c", 145 "netf2_test.c", 146 "paritydi2_test.c", 147 "paritysi2_test.c", 148 "parityti2_test.c", 149 "popcountdi2_test.c", 150 "popcountsi2_test.c", 151 "popcountti2_test.c", 152 "powidf2_test.c", 153 "powisf2_test.c", 154 "powitf2_test.c", 155 "powixf2_test.c", 156 "subdf3vfp_test.c", 157 "subsf3vfp_test.c", 158 "subtf3_test.c", 159 "subvdi3_test.c", 160 "subvsi3_test.c", 161 "subvti3_test.c", 162 "truncdfsf2_test.c", 163 "truncdfsf2vfp_test.c", 164 "trunctfdf2_test.c", 165 "trunctfsf2_test.c", 166 "ucmpdi2_test.c", 167 "ucmpti2_test.c", 168 "udivdi3_test.c", 169 "udivmoddi4_test.c", 170 "udivmodsi4_test.c", 171 "udivmodti4_test.c", 172 "udivsi3_test.c", 173 "udivti3_test.c", 174 "umoddi3_test.c", 175 "umodsi3_test.c", 176 "umodti3_test.c", 177 "unorddf2vfp_test.c", 178 "unordsf2vfp_test.c", 179 "unordtf2_test.c" ] 180 181 common_cFlags = [ 182 "-Wno-missing-prototypes", 183 "-Wno-missing-declarations", 184 "-Wno-strict-prototypes", 185 "-Wno-old-style-definition", 186 "-Wno-redundant-decls" 187 ] 188 189 arch_cFlags arch = case arch of "x86_64" -> common_cFlags 190 "k1om" -> common_cFlags 191 "x86_32" -> common_cFlags 192 "armv7" -> common_cFlags ++ [ "-D__ARM_EABI__" ] 193 "armv8" -> common_cFlags 194 195 builtins_unittest_dir = "test/builtins/Unit/" 196 197in [ build application { 198 target = "compiler-rt/" ++ builtins_unittest_dir ++ 199 (take ((length f) - 2) f), 200 cFiles = [ f ], 201 addCFlags = arch_cFlags arch, 202 addLibraries = libDeps [ 203 "compiler-rt", 204 "m" 205 ], 206 architectures = [ 207 arch 208 ], 209 addIncludes = [ 210 "/lib/compiler-rt/builtins/" 211 ] 212 } | f <- builtins_unittest_files, arch <- allArchitectures ] 213