1/* 2 * Copyright (c) 2017 Thomas Pornin <pornin@bolet.org> 3 * 4 * Permission is hereby granted, free of charge, to any person obtaining 5 * a copy of this software and associated documentation files (the 6 * "Software"), to deal in the Software without restriction, including 7 * without limitation the rights to use, copy, modify, merge, publish, 8 * distribute, sublicense, and/or sell copies of the Software, and to 9 * permit persons to whom the Software is furnished to do so, subject to 10 * the following conditions: 11 * 12 * The above copyright notice and this permission notice shall be 13 * included in all copies or substantial portions of the Software. 14 * 15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 17 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS 19 * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 20 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 21 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 * SOFTWARE. 23 */ 24 25#include "inner.h" 26 27static const br_config_option config[] = { 28 { "BR_64", 29#if BR_64 30 1 31#else 32 0 33#endif 34 }, 35 { "BR_AES_X86NI", 36#if BR_AES_X86NI 37 1 38#else 39 0 40#endif 41 }, 42 { "BR_amd64", 43#if BR_amd64 44 1 45#else 46 0 47#endif 48 }, 49 { "BR_ARMEL_CORTEXM_GCC", 50#if BR_ARMEL_CORTEXM_GCC 51 1 52#else 53 0 54#endif 55 }, 56 { "BR_BE_UNALIGNED", 57#if BR_BE_UNALIGNED 58 1 59#else 60 0 61#endif 62 }, 63 { "BR_CLANG", 64#if BR_CLANG 65 1 66#else 67 0 68#endif 69 }, 70 { "BR_CLANG_3_7", 71#if BR_CLANG_3_7 72 1 73#else 74 0 75#endif 76 }, 77 { "BR_CLANG_3_8", 78#if BR_CLANG_3_8 79 1 80#else 81 0 82#endif 83 }, 84 { "BR_CT_MUL15", 85#if BR_CT_MUL15 86 1 87#else 88 0 89#endif 90 }, 91 { "BR_CT_MUL31", 92#if BR_CT_MUL31 93 1 94#else 95 0 96#endif 97 }, 98 { "BR_GCC", 99#if BR_GCC 100 1 101#else 102 0 103#endif 104 }, 105 { "BR_GCC_4_4", 106#if BR_GCC_4_4 107 1 108#else 109 0 110#endif 111 }, 112 { "BR_GCC_4_5", 113#if BR_GCC_4_5 114 1 115#else 116 0 117#endif 118 }, 119 { "BR_GCC_4_6", 120#if BR_GCC_4_6 121 1 122#else 123 0 124#endif 125 }, 126 { "BR_GCC_4_7", 127#if BR_GCC_4_7 128 1 129#else 130 0 131#endif 132 }, 133 { "BR_GCC_4_8", 134#if BR_GCC_4_8 135 1 136#else 137 0 138#endif 139 }, 140 { "BR_GCC_4_9", 141#if BR_GCC_4_9 142 1 143#else 144 0 145#endif 146 }, 147 { "BR_GCC_5_0", 148#if BR_GCC_5_0 149 1 150#else 151 0 152#endif 153 }, 154 { "BR_i386", 155#if BR_i386 156 1 157#else 158 0 159#endif 160 }, 161 { "BR_INT128", 162#if BR_INT128 163 1 164#else 165 0 166#endif 167 }, 168 { "BR_LE_UNALIGNED", 169#if BR_LE_UNALIGNED 170 1 171#else 172 0 173#endif 174 }, 175 { "BR_LOMUL", 176#if BR_LOMUL 177 1 178#else 179 0 180#endif 181 }, 182 { "BR_MAX_EC_SIZE", BR_MAX_EC_SIZE }, 183 { "BR_MAX_RSA_SIZE", BR_MAX_RSA_SIZE }, 184 { "BR_MAX_RSA_FACTOR", BR_MAX_RSA_FACTOR }, 185 { "BR_MSC", 186#if BR_MSC 187 1 188#else 189 0 190#endif 191 }, 192 { "BR_MSC_2005", 193#if BR_MSC_2005 194 1 195#else 196 0 197#endif 198 }, 199 { "BR_MSC_2008", 200#if BR_MSC_2008 201 1 202#else 203 0 204#endif 205 }, 206 { "BR_MSC_2010", 207#if BR_MSC_2010 208 1 209#else 210 0 211#endif 212 }, 213 { "BR_MSC_2012", 214#if BR_MSC_2012 215 1 216#else 217 0 218#endif 219 }, 220 { "BR_MSC_2013", 221#if BR_MSC_2013 222 1 223#else 224 0 225#endif 226 }, 227 { "BR_MSC_2015", 228#if BR_MSC_2015 229 1 230#else 231 0 232#endif 233 }, 234 { "BR_POWER8", 235#if BR_POWER8 236 1 237#else 238 0 239#endif 240 }, 241 { "BR_RDRAND", 242#if BR_RDRAND 243 1 244#else 245 0 246#endif 247 }, 248 { "BR_SLOW_MUL", 249#if BR_SLOW_MUL 250 1 251#else 252 0 253#endif 254 }, 255 { "BR_SLOW_MUL15", 256#if BR_SLOW_MUL15 257 1 258#else 259 0 260#endif 261 }, 262 { "BR_SSE2", 263#if BR_SSE2 264 1 265#else 266 0 267#endif 268 }, 269 { "BR_UMUL128", 270#if BR_UMUL128 271 1 272#else 273 0 274#endif 275 }, 276 { "BR_USE_UNIX_TIME", 277#if BR_USE_UNIX_TIME 278 1 279#else 280 0 281#endif 282 }, 283 { "BR_USE_WIN32_RAND", 284#if BR_USE_WIN32_RAND 285 1 286#else 287 0 288#endif 289 }, 290 { "BR_USE_WIN32_TIME", 291#if BR_USE_WIN32_TIME 292 1 293#else 294 0 295#endif 296 }, 297 298 { NULL, 0 } 299}; 300 301/* see bearssl.h */ 302const br_config_option * 303br_get_config(void) 304{ 305 return config; 306} 307