--- config/config.h
+++ config/config.h
@@ -0,0 +1,547 @@
+// Copied from https://github.com/tensorflow/tensorflow/blob/master/third_party/nasm/config.h
+// The copied code is available under the Apache-2.0 license
+// Copyright of the copied code belongs to the TensorFlow Authors
+
+/* config/config.h.  Generated from config.h.in by configure.  */
+/* config/config.h.in.  Generated from configure.ac by autoheader.  */
+
+/* Define to 1 to call abort() on panics (internal errors), for debugging. */
+/* #undef ABORT_ON_PANIC */
+
+/* Define if building universal (internal helper macro) */
+/* #undef AC_APPLE_UNIVERSAL_BUILD */
+
+/* Define to 1 if compiled with the `-fdata-sections' compiler flag */
+/* #undef CFLAG_FDATA_SECTIONS */
+
+/* Define to 1 if compiled with the `-ffunction-sections' compiler flag */
+/* #undef CFLAG_FFUNCTION_SECTIONS */
+
+/* Define to 1 if compiled with the `-fgnu89-inline' compiler flag */
+/* #undef CFLAG_FGNU89_INLINE */
+
+/* Define to 1 if compiled with the `-flto' compiler flag */
+/* #undef CFLAG_FLTO */
+
+/* Define to 1 if compiled with the `-fno-common' compiler flag */
+#define CFLAG_FNO_COMMON 1
+
+/* Define to 1 if compiled with the `-fno-omit-frame-pointer' compiler flag */
+/* #undef CFLAG_FNO_OMIT_FRAME_POINTER */
+
+/* Define to 1 if compiled with the `-fsanitize=address' compiler flag */
+/* #undef CFLAG_FSANITIZE_ADDRESS */
+
+/* Define to 1 if compiled with the `-fsanitize=undefined' compiler flag */
+/* #undef CFLAG_FSANITIZE_UNDEFINED */
+
+/* Define to 1 if compiled with the `-fvisibility=hidden' compiler flag */
+#define CFLAG_FVISIBILITY_HIDDEN 1
+
+/* Define to 1 if compiled with the `-fwrapv' compiler flag */
+#define CFLAG_FWRAPV 1
+
+/* Define to 1 if compiled with the `-ggdb3' compiler flag */
+/* #undef CFLAG_GGDB3 */
+
+/* Define to 1 if compiled with the `-pedantic' compiler flag */
+#define CFLAG_PEDANTIC 1
+
+/* Define to 1 if compiled with the `-U__STRICT_ANSI__' compiler flag */
+#define CFLAG_U_STRICT_ANSI 1
+
+/* Define to 1 if compiled with the `-W' compiler flag */
+#define CFLAG_W 1
+
+/* Define to 1 if compiled with the `-Wall' compiler flag */
+#define CFLAG_WALL 1
+
+/* Define to 1 if compiled with the `-Wc90-c99-compat' compiler flag */
+/* #undef CFLAG_WC90_C99_COMPAT */
+
+/* Define to 1 if compiled with the `-Werror' compiler flag */
+/* #undef CFLAG_WERROR */
+
+/* Define to 1 if compiled with the `-Werror=attributes' compiler flag */
+#define CFLAG_WERROR_ATTRIBUTES 1
+
+/* Define to 1 if compiled with the `-Werror=comment' compiler flag */
+#define CFLAG_WERROR_COMMENT 1
+
+/* Define to 1 if compiled with the `-Werror=implicit' compiler flag */
+#define CFLAG_WERROR_IMPLICIT 1
+
+/* Define to 1 if compiled with the `-Werror=missing-braces' compiler flag */
+#define CFLAG_WERROR_MISSING_BRACES 1
+
+/* Define to 1 if compiled with the `-Werror=missing-declarations' compiler
+   flag */
+#define CFLAG_WERROR_MISSING_DECLARATIONS 1
+
+/* Define to 1 if compiled with the `-Werror=missing-prototypes' compiler flag
+ */
+#define CFLAG_WERROR_MISSING_PROTOTYPES 1
+
+/* Define to 1 if compiled with the `-Werror=pointer-arith' compiler flag */
+#define CFLAG_WERROR_POINTER_ARITH 1
+
+/* Define to 1 if compiled with the `-Werror=return-type' compiler flag */
+#define CFLAG_WERROR_RETURN_TYPE 1
+
+/* Define to 1 if compiled with the `-Werror=strict-prototypes' compiler flag
+ */
+/* #undef CFLAG_WERROR_STRICT_PROTOTYPES */
+
+/* Define to 1 if compiled with the `-Werror=trigraphs' compiler flag */
+#define CFLAG_WERROR_TRIGRAPHS 1
+
+/* Define to 1 if compiled with the `-Werror=unknown-warning-option' compiler
+   flag */
+/* #undef CFLAG_WERROR_UNKNOWN_WARNING_OPTION */
+
+/* Define to 1 if compiled with the `-Werror=vla' compiler flag */
+#define CFLAG_WERROR_VLA 1
+
+/* Define to 1 if compiled with the `-Wlong-long' compiler flag */
+#define CFLAG_WLONG_LONG 1
+
+/* Define to 1 if compiled with the `-Wl,--gc-sections' compiler flag */
+/* #undef CFLAG_WL_GC_SECTIONS */
+
+/* Define to 1 if compiled with the `-Wpedantic-ms-format' compiler flag */
+/* #undef CFLAG_WPEDANTIC_MS_FORMAT */
+
+/* Define to 1 if compiled with the `-Wshift-negative-value' compiler flag */
+#define CFLAG_WSHIFT_NEGATIVE_VALUE 1
+
+/* Define to 1 if compiled with the `-Wstringop-truncation' compiler flag */
+/* #undef CFLAG_WSTRINGOP_TRUNCATION */
+
+/* Define to 1 if you have the `access' function. */
+#define HAVE_ACCESS 1
+
+/* Define to 1 if you have the `canonicalize_file_name' function. */
+/* #undef HAVE_CANONICALIZE_FILE_NAME */
+
+/* Define to 1 if you have the `cpu_to_le16' intrinsic function. */
+/* #undef HAVE_CPU_TO_LE16 */
+
+/* Define to 1 if you have the `cpu_to_le32' intrinsic function. */
+/* #undef HAVE_CPU_TO_LE32 */
+
+/* Define to 1 if you have the `cpu_to_le64' intrinsic function. */
+/* #undef HAVE_CPU_TO_LE64 */
+
+/* Define to 1 if you have the declaration of `strcasecmp', and to 0 if you
+   don't. */
+#define HAVE_DECL_STRCASECMP 1
+
+/* Define to 1 if you have the declaration of `stricmp', and to 0 if you
+   don't. */
+#define HAVE_DECL_STRICMP 0
+
+/* Define to 1 if you have the declaration of `strlcpy', and to 0 if you
+   don't. */
+#define HAVE_DECL_STRLCPY 0
+
+/* Define to 1 if you have the declaration of `strncasecmp', and to 0 if you
+   don't. */
+#define HAVE_DECL_STRNCASECMP 1
+
+/* Define to 1 if you have the declaration of `strnicmp', and to 0 if you
+   don't. */
+#define HAVE_DECL_STRNICMP 0
+
+/* Define to 1 if you have the declaration of `strnlen', and to 0 if you
+   don't. */
+#define HAVE_DECL_STRNLEN 1
+
+/* Define to 1 if you have the declaration of `strrchrnul', and to 0 if you
+   don't. */
+#define HAVE_DECL_STRRCHRNUL 0
+
+/* Define to 1 if you have the declaration of `strsep', and to 0 if you don't.
+ */
+#define HAVE_DECL_STRSEP 1
+
+/* Define to 1 if you have the <endian.h> header file. */
+/* #undef HAVE_ENDIAN_H */
+
+/* Define to 1 if you have the `faccessat' function. */
+#define HAVE_FACCESSAT 1
+
+/* Define to 1 if you have the <fcntl.h> header file. */
+#define HAVE_FCNTL_H 1
+
+/* Define to 1 if you have the `fileno' function. */
+#define HAVE_FILENO 1
+
+/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
+#define HAVE_FSEEKO 1
+
+/* Define to 1 if you have the `fstat' function. */
+#define HAVE_FSTAT 1
+
+/* Define to 1 if you have the `ftruncate' function. */
+#define HAVE_FTRUNCATE 1
+
+/* Define to 1 if your compiler supports __attribute__((alloc_size)) on
+   functions */
+#define HAVE_FUNC_ATTRIBUTE_ALLOC_SIZE 1
+
+/* Define to 1 if your compiler supports __attribute__((cold)) on functions */
+#define HAVE_FUNC_ATTRIBUTE_COLD 1
+
+/* Define to 1 if your compiler supports __attribute__((const)) on functions
+ */
+#define HAVE_FUNC_ATTRIBUTE_CONST 1
+
+/* Define to 1 if your compiler supports __attribute__((error)) on functions
+ */
+/* #undef HAVE_FUNC_ATTRIBUTE_ERROR */
+
+/* Define to 1 if your compiler supports __attribute__((format)) on functions
+ */
+#define HAVE_FUNC_ATTRIBUTE_FORMAT 1
+
+/* Define to 1 if your compiler supports __attribute__((malloc)) on functions
+ */
+#define HAVE_FUNC_ATTRIBUTE_MALLOC 1
+
+/* Define to 1 if your compiler supports __attribute__((noreturn)) on
+   functions */
+#define HAVE_FUNC_ATTRIBUTE_NORETURN 1
+
+/* Define to 1 if your compiler supports __attribute__((pure)) on functions */
+#define HAVE_FUNC_ATTRIBUTE_PURE 1
+
+/* Define to 1 if your compiler supports __attribute__((returns_nonnull)) on
+   functions */
+#define HAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL 1
+
+/* Define to 1 if your compiler supports __attribute__((sentinel)) on
+   functions */
+#define HAVE_FUNC_ATTRIBUTE_SENTINEL 1
+
+/* Define to 1 if you have the `getgid' function. */
+#define HAVE_GETGID 1
+
+/* Define to 1 if you have the `getpagesize' function. */
+#define HAVE_GETPAGESIZE 1
+
+/* Define to 1 if you have the `getuid' function. */
+#define HAVE_GETUID 1
+
+/* Define to 1 if you have the `htole16' intrinsic function. */
+/* #undef HAVE_HTOLE16 */
+
+/* Define to 1 if you have the `htole32' intrinsic function. */
+/* #undef HAVE_HTOLE32 */
+
+/* Define to 1 if you have the `htole64' intrinsic function. */
+/* #undef HAVE_HTOLE64 */
+
+/* Define to 1 if you have the <intrin.h> header file. */
+/* #undef HAVE_INTRIN_H */
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* Define to 1 if you have the <io.h> header file. */
+/* #undef HAVE_IO_H */
+
+/* Define to 1 if you have the <machine/endian.h> header file. */
+/* #undef HAVE_MACHINE_ENDIAN_H */
+
+/* Define to 1 if you have the <memory.h> header file. */
+#define HAVE_MEMORY_H 1
+
+/* Define to 1 if you have a working `mmap' system call. */
+#define HAVE_MMAP 1
+
+/* Define to 1 if you have the `pathconf' function. */
+#define HAVE_PATHCONF 1
+
+/* Define to 1 if you have the `realpath' function. */
+#define HAVE_REALPATH 1
+
+/* Define to 1 if you have the `snprintf' function. */
+#define HAVE_SNPRINTF 1
+
+/* Define to 1 if you have the `stat' function. */
+#define HAVE_STAT 1
+
+/* Define to 1 if stdbool.h conforms to C99. */
+#define HAVE_STDBOOL_H 1
+
+/* Define to 1 if your compiler supports C99 extern inline */
+#define HAVE_STDC_INLINE 1
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the <stdnoreturn.h> header file. */
+#define HAVE_STDNORETURN_H 1
+
+/* Define to 1 if you have the `strcasecmp' function. */
+#define HAVE_STRCASECMP 1
+
+/* Define to 1 if you have the `stricmp' function. */
+/* #undef HAVE_STRICMP */
+
+/* Define to 1 if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the `strlcpy' function. */
+/* #undef HAVE_STRLCPY */
+
+/* Define to 1 if you have the `strncasecmp' function. */
+#define HAVE_STRNCASECMP 1
+
+/* Define to 1 if you have the `strnicmp' function. */
+/* #undef HAVE_STRNICMP */
+
+/* Define to 1 if you have the `strnlen' function. */
+#define HAVE_STRNLEN 1
+
+/* Define to 1 if you have the `strrchrnul' function. */
+/* #undef HAVE_STRRCHRNUL */
+
+/* Define to 1 if you have the `strsep' function. */
+#define HAVE_STRSEP 1
+
+/* Define to 1 if the system has the type `struct stat'. */
+#define HAVE_STRUCT_STAT 1
+
+/* Define to 1 if the system has the type `struct _stati64'. */
+/* #undef HAVE_STRUCT__STATI64 */
+
+/* Define to 1 if you have the `sysconf' function. */
+#define HAVE_SYSCONF 1
+
+/* Define to 1 if you have the <sys/endian.h> header file. */
+/* #undef HAVE_SYS_ENDIAN_H */
+
+/* Define to 1 if you have the <sys/mman.h> header file. */
+#define HAVE_SYS_MMAN_H 1
+
+/* Define to 1 if you have the <sys/param.h> header file. */
+#define HAVE_SYS_PARAM_H 1
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if the system has the type `uintptr_t'. */
+#define HAVE_UINTPTR_T 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Define to 1 if you have the `vsnprintf' function. */
+#define HAVE_VSNPRINTF 1
+
+/* Define to 1 if you have the `_access' function. */
+/* #undef HAVE__ACCESS */
+
+/* Define to 1 if you have the `_BitScanReverse' intrinsic function. */
+/* #undef HAVE__BITSCANREVERSE */
+
+/* Define to 1 if you have the `_BitScanReverse64' intrinsic function. */
+/* #undef HAVE__BITSCANREVERSE64 */
+
+/* Define to 1 if the system has the type `_Bool'. */
+#define HAVE__BOOL 1
+
+/* Define to 1 if you have the `_byteswap_uint64' intrinsic function. */
+/* #undef HAVE__BYTESWAP_UINT64 */
+
+/* Define to 1 if you have the `_byteswap_ulong' intrinsic function. */
+/* #undef HAVE__BYTESWAP_ULONG */
+
+/* Define to 1 if you have the `_byteswap_ushort' intrinsic function. */
+/* #undef HAVE__BYTESWAP_USHORT */
+
+/* Define to 1 if you have the `_chsize' function. */
+/* #undef HAVE__CHSIZE */
+
+/* Define to 1 if you have the `_chsize_s' function. */
+/* #undef HAVE__CHSIZE_S */
+
+/* Define to 1 if you have the `_filelengthi64' function. */
+/* #undef HAVE__FILELENGTHI64 */
+
+/* Define to 1 if you have the `_fileno' function. */
+/* #undef HAVE__FILENO */
+
+/* Define to 1 if you have the `_fseeki64' function. */
+/* #undef HAVE__FSEEKI64 */
+
+/* Define to 1 if you have the `_fstati64' function. */
+/* #undef HAVE__FSTATI64 */
+
+/* Define to 1 if you have the `_fullpath' function. */
+/* #undef HAVE__FULLPATH */
+
+/* Define to 1 if you have the `_snprintf' function. */
+/* #undef HAVE__SNPRINTF */
+
+/* Define to 1 if you have the `_stati64' function. */
+/* #undef HAVE__STATI64 */
+
+/* Define to 1 if you have the `_vsnprintf' function. */
+/* #undef HAVE__VSNPRINTF */
+
+/* Define to 1 if you have the `__bswap_16' intrinsic function. */
+/* #undef HAVE___BSWAP_16 */
+
+/* Define to 1 if you have the `__bswap_32' intrinsic function. */
+/* #undef HAVE___BSWAP_32 */
+
+/* Define to 1 if you have the `__bswap_64' intrinsic function. */
+/* #undef HAVE___BSWAP_64 */
+
+/* Define to 1 if you have the `__builtin_bswap16' intrinsic function. */
+#define HAVE___BUILTIN_BSWAP16 1
+
+/* Define to 1 if you have the `__builtin_bswap32' intrinsic function. */
+#define HAVE___BUILTIN_BSWAP32 1
+
+/* Define to 1 if you have the `__builtin_bswap64' intrinsic function. */
+#define HAVE___BUILTIN_BSWAP64 1
+
+/* Define to 1 if you have the `__builtin_clz' intrinsic function. */
+#define HAVE___BUILTIN_CLZ 1
+
+/* Define to 1 if you have the `__builtin_clzl' intrinsic function. */
+#define HAVE___BUILTIN_CLZL 1
+
+/* Define to 1 if you have the `__builtin_clzll' intrinsic function. */
+#define HAVE___BUILTIN_CLZLL 1
+
+/* Define to 1 if you have the `__builtin_constant_p' intrinsic function. */
+#define HAVE___BUILTIN_CONSTANT_P 1
+
+/* Define to 1 if you have the `__builtin_expect' intrinsic function. */
+#define HAVE___BUILTIN_EXPECT 1
+
+/* Define to 1 if you have the `__cpu_to_le16' intrinsic function. */
+/* #undef HAVE___CPU_TO_LE16 */
+
+/* Define to 1 if you have the `__cpu_to_le32' intrinsic function. */
+/* #undef HAVE___CPU_TO_LE32 */
+
+/* Define to 1 if you have the `__cpu_to_le64' intrinsic function. */
+/* #undef HAVE___CPU_TO_LE64 */
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT ""
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME ""
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING ""
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME ""
+
+/* Define to the home page for this package. */
+#define PACKAGE_URL ""
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION ""
+
+/* Define to 1 if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* Enable extensions on AIX 3, Interix.  */
+#ifndef _ALL_SOURCE
+#define _ALL_SOURCE 1
+#endif
+/* Enable GNU extensions on systems that have them.  */
+#ifndef _GNU_SOURCE
+#define _GNU_SOURCE 1
+#endif
+/* Enable threading extensions on Solaris.  */
+#ifndef _POSIX_PTHREAD_SEMANTICS
+#define _POSIX_PTHREAD_SEMANTICS 1
+#endif
+/* Enable extensions on HP NonStop.  */
+#ifndef _TANDEM_SOURCE
+#define _TANDEM_SOURCE 1
+#endif
+/* Enable general extensions on Solaris.  */
+#ifndef __EXTENSIONS__
+#define __EXTENSIONS__ 1
+#endif
+
+/* Define to 1 if your processor stores words with the most significant byte
+   first (like Motorola and SPARC, unlike Intel and VAX). */
+/* #undef WORDS_BIGENDIAN */
+
+/* Define to 1 if your processor stores words with the least significant byte
+   first (like Intel and VAX, unlike Motorola and SPARC). */
+#define WORDS_LITTLEENDIAN 1
+
+/* Enable large inode numbers on Mac OS X 10.5.  */
+#ifndef _DARWIN_USE_64_BIT_INODE
+#define _DARWIN_USE_64_BIT_INODE 1
+#endif
+
+/* Number of bits in a file offset, on hosts where this is settable. */
+/* #undef _FILE_OFFSET_BITS */
+
+/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
+/* #undef _LARGEFILE_SOURCE */
+
+/* Define for large files, on AIX-style hosts. */
+/* #undef _LARGE_FILES */
+
+/* Define to 1 if on MINIX. */
+/* #undef _MINIX */
+
+/* Define to 2 if the system does not provide POSIX.1 features except with
+   this defined. */
+/* #undef _POSIX_1_SOURCE */
+
+/* Define to 1 if you need to in order for `stat' and other things to work. */
+/* #undef _POSIX_SOURCE */
+
+/* Define to empty if `const' does not conform to ANSI C. */
+/* #undef const */
+
+/* Define to `__inline__' or `__inline' if that's what the C compiler
+   calls it, or to nothing if 'inline' is not supported under any name.  */
+#ifndef __cplusplus
+/* #undef inline */
+#endif
+
+/* Define to the equivalent of the C99 'restrict' keyword, or to
+   nothing if this is not supported.  Do not define if restrict is
+   supported directly.  */
+#define restrict __restrict
+/* Work around a bug in Sun C++: it does not support _Restrict or
+   __restrict__, even though the corresponding Sun C compiler ends up with
+   "#define restrict _Restrict" or "#define restrict __restrict__" in the
+   previous line.  Perhaps some future version of Sun C++ will work with
+   restrict; if so, hopefully it defines __RESTRICT like Sun C does.  */
+#if defined __SUNPRO_CC && !defined __RESTRICT
+#define _Restrict
+#define __restrict__
+#endif
+
+/* Define to `unsigned int' if <sys/types.h> does not define. */
+/* #undef size_t */
+
+/* Define to the type of an unsigned integer type wide enough to hold a
+   pointer, if such a type exists, and if the system does not define it. */
+/* #undef uintptr_t */
