{
  "name": "secp256k1",
  "version": "0.1.0",
  "summary": "Optimized C library for EC operations on curve secp256k1",
  "description": "Optimized C library for EC operations on curve secp256k1",
  "homepage": "https://github.com/bitcoin-core/secp256k1",
  "license": {
    "type": "MIT",
    "file": "LICENSE"
  },
  "authors": {
    "daviyang35": "daviyang35@gmail.com"
  },
  "source": {
    "git": "https://github.com/bitcoin-core/secp256k1.git",
    "commit": "84973d393ac240a90b2e1a6538c5368202bc2224"
  },
  "platforms": {
    "ios": "7.0"
  },
  "prepare_command": "./autogen.sh",
  "prefix_header_contents": "/* Define if building universal (internal helper macro) */\n#define AC_APPLE_UNIVERSAL_BUILD 1\n\n/* Define this symbol if OpenSSL EC functions are available */\n/* #undef ENABLE_OPENSSL_TESTS */\n\n/* Define this symbol if __builtin_expect is available */\n#define HAVE_BUILTIN_EXPECT 1\n\n/* Define to 1 if you have the <dlfcn.h> header file. */\n#define HAVE_DLFCN_H 1\n\n/* Define to 1 if you have the <inttypes.h> header file. */\n#define HAVE_INTTYPES_H 1\n\n/* Define this symbol if libcrypto is installed */\n/* #undef HAVE_LIBCRYPTO */\n\n/* Define this symbol if libgmp is installed */\n/* #undef HAVE_LIBGMP */\n\n/* Define to 1 if you have the <memory.h> header file. */\n#define HAVE_MEMORY_H 1\n\n/* Define to 1 if you have the <stdint.h> header file. */\n#define HAVE_STDINT_H 1\n\n/* Define to 1 if you have the <stdlib.h> header file. */\n#define HAVE_STDLIB_H 1\n\n/* Define to 1 if you have the <strings.h> header file. */\n#define HAVE_STRINGS_H 1\n\n/* Define to 1 if you have the <string.h> header file. */\n#define HAVE_STRING_H 1\n\n/* Define to 1 if you have the <sys/stat.h> header file. */\n#define HAVE_SYS_STAT_H 1\n\n/* Define to 1 if you have the <sys/types.h> header file. */\n#define HAVE_SYS_TYPES_H 1\n\n/* Define to 1 if you have the <unistd.h> header file. */\n#define HAVE_UNISTD_H 1\n\n/* Define to 1 if the system has the type `__int128'. */\n/* #undef HAVE___INT128 */\n\n/* Define to the sub-directory where libtool stores uninstalled libraries. */\n#define LT_OBJDIR \".libs/\"\n\n/* Name of package */\n#define PACKAGE \"libsecp256k1\"\n\n/* Define to the address where bug reports for this package should be sent. */\n#define PACKAGE_BUGREPORT \"\"\n\n/* Define to the full name of this package. */\n#define PACKAGE_NAME \"libsecp256k1\"\n\n/* Define to the full name and version of this package. */\n#define PACKAGE_STRING \"libsecp256k1 0.1\"\n\n/* Define to the one symbol short name of this package. */\n#define PACKAGE_TARNAME \"libsecp256k1\"\n\n/* Define to the home page for this package. */\n#define PACKAGE_URL \"\"\n\n/* Define to the version of this package. */\n#define PACKAGE_VERSION \"0.1\"\n\n/* Define to 1 if you have the ANSI C header files. */\n#define STDC_HEADERS 1\n\n/* Define this symbol to enable x86_64 assembly optimizations */\n/* #undef USE_ASM_X86_64 */\n\n/* Define this symbol to use endomorphism optimization */\n/* #undef USE_ENDOMORPHISM */\n\n/* Define this symbol to use the FIELD_10X26 implementation */\n#define USE_FIELD_10X26 1\n\n/* Define this symbol to use the FIELD_5X52 implementation */\n/* #undef USE_FIELD_5X52 */\n\n/* Define this symbol to use the native field inverse implementation */\n#define USE_FIELD_INV_BUILTIN 1\n\n/* Define this symbol to use the num-based field inverse implementation */\n/* #undef USE_FIELD_INV_NUM */\n\n/* Define this symbol to use the gmp implementation for num */\n/* #undef USE_NUM_GMP */\n\n/* Define this symbol to use no num implementation */\n#define USE_NUM_NONE 1\n\n/* Define this symbol to use the 4x64 scalar implementation */\n/* #undef USE_SCALAR_4X64 */\n\n/* Define this symbol to use the 8x32 scalar implementation */\n#define USE_SCALAR_8X32 1\n\n/* Define this symbol to use the native scalar inverse implementation */\n#define USE_SCALAR_INV_BUILTIN 1\n\n/* Define this symbol to use the num-based scalar inverse implementation */\n/* #undef USE_SCALAR_INV_NUM */\n\n/* Version number of package */\n#define VERSION \"0.1\"\n\n/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most\n   significant byte first (like Motorola and SPARC, unlike Intel). */\n#if defined AC_APPLE_UNIVERSAL_BUILD\n# if defined __BIG_ENDIAN__\n#  define WORDS_BIGENDIAN 1\n# endif\n#else\n# ifndef WORDS_BIGENDIAN\n/* #  undef WORDS_BIGENDIAN */\n# endif\n#endif\n\n#define DETERMINISTIC 1\n\n#import \"secp256k1.h\"",
  "source_files": [
    "include/secp256k1.h",
    "src/**.{h,c}"
  ],
  "public_header_files": "include/secp256k1.h",
  "exclude_files": [
    "src/bench*",
    "src/test*",
    "src/gen_context.c",
    "src/libsecp256k1-config.h"
  ],
  "libraries": "c++",
  "xcconfig": {
    "HEADER_SEARCH_PATHS": "${PODS_ROOT}/secp256k1"
  }
}
