mirror of
https://github.com/wez/wezterm.git
synced 2024-12-26 14:54:16 +03:00
58a2a30623
I'm experimenting with using cairo's 2D graphics for glyph related drawing operations, and perhaps more stuff in the UI in the future. The challenge is that no one has yet encapsulated its build in a cargo-friendly way. This commit is that attempt. The strategy is this: * `deps/cairo` is ostensibly the same thing as https://github.com/gtk-rs/gtk-rs-core/tree/master/cairo/sys which is the cairo-sys-rs crate * Its build.rs has been replaced with a version that builds from the C sources that are found in-tree; it will never look for the system cairo library * A pair of scripts to import pixman (a required dep of cairo) and cairo itself in a repeatable way are include, for if/when we need to update the vendored sources Cairo is a mature library and doesn't release very often. * The workspace sets a patch for crates.io so that cairo-rs has its cairo-sys-rs dep redirected to the local build. I'm not planning to upstream this stuff to gtk-rs-core as full cairo depends on a lot more things than are dealt with here, so it would be a PITA to handle that generally. This vendoring strips out things that are not used, so the cairo library that remains: * Is not internally thread safe; no TLS or mutex support is enabled in either of them. That's fine because the high level cairo-rs wrapper is not Send+Sync, which means that rust will only allow it to be used single threaded anyway. * Only has the basic recording and image surfaces * No platform support for win32/xlib/xcb and so on
193 lines
4.6 KiB
C
193 lines
4.6 KiB
C
/* config.h.in. Generated from configure.ac by autoheader. */
|
|
|
|
/* Define if building universal (internal helper macro) */
|
|
#undef AC_APPLE_UNIVERSAL_BUILD
|
|
|
|
/* Whether we have alarm() */
|
|
#undef HAVE_ALARM
|
|
|
|
/* Whether the compiler supports __builtin_clz */
|
|
#undef HAVE_BUILTIN_CLZ
|
|
|
|
/* Define to 1 if you have the <dlfcn.h> header file. */
|
|
#undef HAVE_DLFCN_H
|
|
|
|
/* Whether we have FE_DIVBYZERO */
|
|
#undef HAVE_FEDIVBYZERO
|
|
|
|
/* Whether we have feenableexcept() */
|
|
#undef HAVE_FEENABLEEXCEPT
|
|
|
|
/* Define to 1 if we have <fenv.h> */
|
|
#undef HAVE_FENV_H
|
|
|
|
/* Whether the tool chain supports __float128 */
|
|
#undef HAVE_FLOAT128
|
|
|
|
/* Whether the compiler supports GCC vector extensions */
|
|
#undef HAVE_GCC_VECTOR_EXTENSIONS
|
|
|
|
/* Define to 1 if you have the `getisax' function. */
|
|
#undef HAVE_GETISAX
|
|
|
|
/* Whether we have getpagesize() */
|
|
#undef HAVE_GETPAGESIZE
|
|
|
|
/* Whether we have gettimeofday() */
|
|
#undef HAVE_GETTIMEOFDAY
|
|
|
|
/* Define to 1 if you have the <inttypes.h> header file. */
|
|
#undef HAVE_INTTYPES_H
|
|
|
|
/* Define to 1 if you have the `pixman-1' library (-lpixman-1). */
|
|
#undef HAVE_LIBPIXMAN_1
|
|
|
|
/* Whether we have libpng */
|
|
#undef HAVE_LIBPNG
|
|
|
|
/* Whether we have mmap() */
|
|
#undef HAVE_MMAP
|
|
|
|
/* Whether we have mprotect() */
|
|
#undef HAVE_MPROTECT
|
|
|
|
/* Whether we have posix_memalign() */
|
|
#undef HAVE_POSIX_MEMALIGN
|
|
|
|
/* Whether pthreads is supported */
|
|
#undef HAVE_PTHREADS
|
|
|
|
/* Whether we have sigaction() */
|
|
#undef HAVE_SIGACTION
|
|
|
|
/* Define to 1 if you have the <stdint.h> header file. */
|
|
#undef HAVE_STDINT_H
|
|
|
|
/* Define to 1 if you have the <stdio.h> header file. */
|
|
#undef HAVE_STDIO_H
|
|
|
|
/* Define to 1 if you have the <stdlib.h> header file. */
|
|
#undef HAVE_STDLIB_H
|
|
|
|
/* Define to 1 if you have the <strings.h> header file. */
|
|
#undef HAVE_STRINGS_H
|
|
|
|
/* Define to 1 if you have the <string.h> header file. */
|
|
#undef HAVE_STRING_H
|
|
|
|
/* Define to 1 if we have <sys/mman.h> */
|
|
#undef HAVE_SYS_MMAN_H
|
|
|
|
/* Define to 1 if you have the <sys/stat.h> header file. */
|
|
#undef HAVE_SYS_STAT_H
|
|
|
|
/* Define to 1 if you have the <sys/types.h> header file. */
|
|
#undef HAVE_SYS_TYPES_H
|
|
|
|
/* Define to 1 if you have the <unistd.h> header file. */
|
|
#undef HAVE_UNISTD_H
|
|
|
|
/* Define to the sub-directory where libtool stores uninstalled libraries. */
|
|
#undef LT_OBJDIR
|
|
|
|
/* Name of package */
|
|
#undef PACKAGE
|
|
|
|
/* Define to the address where bug reports for this package should be sent. */
|
|
#undef PACKAGE_BUGREPORT
|
|
|
|
/* Define to the full name of this package. */
|
|
#undef PACKAGE_NAME
|
|
|
|
/* Define to the full name and version of this package. */
|
|
#undef PACKAGE_STRING
|
|
|
|
/* Define to the one symbol short name of this package. */
|
|
#undef PACKAGE_TARNAME
|
|
|
|
/* Define to the home page for this package. */
|
|
#undef PACKAGE_URL
|
|
|
|
/* Define to the version of this package. */
|
|
#undef PACKAGE_VERSION
|
|
|
|
/* enable output that can be piped to gnuplot */
|
|
#undef PIXMAN_GNUPLOT
|
|
|
|
/* enable TIMER_BEGIN/TIMER_END macros */
|
|
#undef PIXMAN_TIMERS
|
|
|
|
/* The size of `long', as computed by sizeof. */
|
|
#undef SIZEOF_LONG
|
|
|
|
/* Define to 1 if all of the C90 standard headers exist (not just the ones
|
|
required in a freestanding environment). This macro is provided for
|
|
backward compatibility; new code need not use it. */
|
|
#undef STDC_HEADERS
|
|
|
|
/* The compiler supported TLS storage class */
|
|
#undef TLS
|
|
|
|
/* Whether the tool chain supports __attribute__((constructor)) */
|
|
#undef TOOLCHAIN_SUPPORTS_ATTRIBUTE_CONSTRUCTOR
|
|
|
|
/* use ARM A64_NEON assembly optimizations */
|
|
#undef USE_ARM_A64_NEON
|
|
|
|
/* use ARM IWMMXT compiler intrinsics */
|
|
#undef USE_ARM_IWMMXT
|
|
|
|
/* use ARM NEON assembly optimizations */
|
|
#undef USE_ARM_NEON
|
|
|
|
/* use ARM SIMD assembly optimizations */
|
|
#undef USE_ARM_SIMD
|
|
|
|
/* use GNU-style inline assembler */
|
|
#undef USE_GCC_INLINE_ASM
|
|
|
|
/* use Loongson Multimedia Instructions */
|
|
#undef USE_LOONGSON_MMI
|
|
|
|
/* use MIPS DSPr2 assembly optimizations */
|
|
#undef USE_MIPS_DSPR2
|
|
|
|
/* use OpenMP in the test suite */
|
|
#undef USE_OPENMP
|
|
|
|
/* use SSE2 compiler intrinsics */
|
|
#undef USE_SSE2
|
|
|
|
/* use SSSE3 compiler intrinsics */
|
|
#undef USE_SSSE3
|
|
|
|
/* use VMX compiler intrinsics */
|
|
#undef USE_VMX
|
|
|
|
/* use x86 MMX compiler intrinsics */
|
|
#undef USE_X86_MMX
|
|
|
|
/* Version number of package */
|
|
#undef VERSION
|
|
|
|
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
|
|
significant byte first (like Motorola and SPARC, unlike Intel). */
|
|
#if defined AC_APPLE_UNIVERSAL_BUILD
|
|
# if defined __BIG_ENDIAN__
|
|
# define WORDS_BIGENDIAN 1
|
|
# endif
|
|
#else
|
|
# ifndef WORDS_BIGENDIAN
|
|
# undef WORDS_BIGENDIAN
|
|
# endif
|
|
#endif
|
|
|
|
/* 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 sqrt if you do not have the `sqrtf' function. */
|
|
#undef sqrtf
|