From c65bfb94caf91ff55235650e84b5770fb3de2894 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Legan=C3=A9s=20Combarro=20=22piranna?= Date: Sun, 18 Sep 2016 13:23:59 +0200 Subject: [PATCH 01/22] Static build Extracted code for static build from #571 to make it easier to review and approve. It's a squashed version with the final code, for references on the development history and commit logs go to the original issue. --- .gitignore | 2 + .npmignore | 1 + binding.gyp | 176 +------- canvas.gypi | 17 + shared.gyp | 171 ++++++++ src/CanvasRenderingContext2d.cc | 0 src/FontFace.cc | 0 src/init.cc | 0 static.gyp | 34 ++ static/cairo.gyp | 231 +++++++++++ static/common.gyp | 41 ++ static/custom-include/cairo/cairo-features.h | 31 ++ static/custom-include/cairo/config.h | 414 +++++++++++++++++++ static/custom-include/jpeg/config.h | 130 ++++++ static/custom-include/jpeg/jconfig.h | 58 +++ static/custom-include/pixman/config.h | 174 ++++++++ static/custom-include/png/pnglibconf.h | 211 ++++++++++ static/ensure_deps.sh | 68 +++ static/freetype.gyp | 240 +++++++++++ static/gif.gyp | 22 + static/jpeg.gyp | 117 ++++++ static/libpng.gyp | 69 ++++ static/locations.gyp | 11 + static/pixman.gyp | 60 +++ static/zlib.gyp | 60 +++ test/canvas.test.js | 10 +- test/image.test.js | 2 +- test/server.js | 2 +- util/has_lib.sh | 15 +- 29 files changed, 2190 insertions(+), 177 deletions(-) mode change 100755 => 100644 binding.gyp create mode 100644 canvas.gypi create mode 100644 shared.gyp mode change 100755 => 100644 src/CanvasRenderingContext2d.cc mode change 100755 => 100644 src/FontFace.cc mode change 100755 => 100644 src/init.cc create mode 100644 static.gyp create mode 100644 static/cairo.gyp create mode 100644 static/common.gyp create mode 100644 static/custom-include/cairo/cairo-features.h create mode 100644 static/custom-include/cairo/config.h create mode 100644 static/custom-include/jpeg/config.h create mode 100644 static/custom-include/jpeg/jconfig.h create mode 100644 static/custom-include/pixman/config.h create mode 100644 static/custom-include/png/pnglibconf.h create mode 100755 static/ensure_deps.sh create mode 100644 static/freetype.gyp create mode 100644 static/gif.gyp create mode 100644 static/jpeg.gyp create mode 100644 static/libpng.gyp create mode 100644 static/locations.gyp create mode 100644 static/pixman.gyp create mode 100644 static/zlib.gyp diff --git a/.gitignore b/.gitignore index 130894492..cb875df99 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,8 @@ out.pdf out.svg .pomo node_modules +deps/ +npm-debug.log # Vim cruft *.swp diff --git a/.npmignore b/.npmignore index e91e1490a..acdcedf90 100644 --- a/.npmignore +++ b/.npmignore @@ -4,3 +4,4 @@ benchmarks examples support test +deps diff --git a/binding.gyp b/binding.gyp old mode 100755 new mode 100644 index 66f0115ed..63b95cc94 --- a/binding.gyp +++ b/binding.gyp @@ -1,170 +1,16 @@ { - 'conditions': [ - ['OS=="win"', { - 'variables': { - 'GTK_Root%': 'C:/GTK', # Set the location of GTK all-in-one bundle - 'with_jpeg%': 'false', - 'with_gif%': 'false', - 'with_pango%': 'false', - 'with_freetype%': 'false' - } - }, { # 'OS!="win"' - 'variables': { - 'with_jpeg%': ' header file. */ +#define HAVE_BYTESWAP_H 1 + +/* Define to 1 if you have the `clock_gettime' function. */ +#define HAVE_CLOCK_GETTIME 1 + +/* Define to 1 if you have the `ctime_r' function. */ +#define HAVE_CTIME_R 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the `drand48' function. */ +#define HAVE_DRAND48 1 + +/* Define to 1 if you have the `FcFini' function. */ +#define HAVE_FCFINI 1 + +/* Define to 1 if you have the `FcInit' function. */ +#define HAVE_FCINIT 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `feclearexcept' function. */ +#define HAVE_FECLEAREXCEPT 1 + +/* Define to 1 if you have the `fedisableexcept' function. */ +#define HAVE_FEDISABLEEXCEPT 1 + +/* Define to 1 if you have the `feenableexcept' function. */ +#define HAVE_FEENABLEEXCEPT 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FENV_H 1 + +/* Define to 1 if you have the `flockfile' function. */ +#define HAVE_FLOCKFILE 1 + +/* Define to 1 if you have the `fork' function. */ +#define HAVE_FORK 1 + +/* Define to 1 if you have the `FT_Get_X11_Font_Format' function. */ +#define HAVE_FT_GET_X11_FONT_FORMAT 1 + +/* Define to 1 if you have the `FT_GlyphSlot_Embolden' function. */ +#define HAVE_FT_GLYPHSLOT_EMBOLDEN 1 + +/* Define to 1 if you have the `FT_GlyphSlot_Oblique' function. */ +#define HAVE_FT_GLYPHSLOT_OBLIQUE 1 + +/* Define to 1 if you have the `FT_Library_SetLcdFilter' function. */ +#define HAVE_FT_LIBRARY_SETLCDFILTER 1 + +/* Define to 1 if you have the `FT_Load_Sfnt_Table' function. */ +#define HAVE_FT_LOAD_SFNT_TABLE 1 + +/* Define to 1 if you have the `funlockfile' function. */ +#define HAVE_FUNLOCKFILE 1 + +/* Whether you have gcov */ +/* #undef HAVE_GCOV */ + +/* Define to 1 if you have the `getline' function. */ +#define HAVE_GETLINE 1 + +/* Enable if your compiler supports the Intel __sync_* atomic primitives */ +#define HAVE_INTEL_ATOMIC_PRIMITIVES 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_IO_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_LIBGEN_H 1 + +/* Define to 1 if you have the `rt' library (-lrt). */ +#define HAVE_LIBRT 1 + +/* Enable if you have libatomic-ops-dev installed */ +/* #undef HAVE_LIB_ATOMIC_OPS */ + +/* Define to 1 if you have the `link' function. */ +#define HAVE_LINK 1 + +/* Define to 1 if you have the Valgrind lockdep tool */ +/* #undef HAVE_LOCKDEP */ + +/* Define to 1 if you have lzo available */ +/* #undef HAVE_LZO */ + +/* Define to 1 if you have the Valgrind memfault tool */ +/* #undef HAVE_MEMFAULT */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to non-zero if your system has mkdir, and to 2 if your version of + mkdir requires a mode parameter */ +#define HAVE_MKDIR 2 + +/* Define to 1 if you have the `mmap' function. */ +#define HAVE_MMAP 1 + +/* Enable if you have MacOS X atomic operations */ +/* #undef HAVE_OS_ATOMIC_OPS */ + +/* Define to 1 if you have the `poppler_page_render' function. */ +/* #undef HAVE_POPPLER_PAGE_RENDER */ + +/* Define to 1 if you have the `raise' function. */ +#define HAVE_RAISE 1 + +/* Define to 1 if you have the `rsvg_pixbuf_from_file' function. */ +/* #undef HAVE_RSVG_PIXBUF_FROM_FILE */ + +/* Define to 1 if you have the `sched_getaffinity' function. */ +#define HAVE_SCHED_GETAFFINITY 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SCHED_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SETJMP_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SIGNAL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strndup' function. */ +#define HAVE_STRNDUP 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_INT_TYPES_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_MMAN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_POLL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SOCKET_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_UN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_WAIT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_TIME_H 1 + +/* Define to 1 if the system has the type `uint128_t'. */ +/* #undef HAVE_UINT128_T */ + +/* Define to 1 if the system has the type `uint64_t'. */ +#define HAVE_UINT64_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have Valgrind */ +/* #undef HAVE_VALGRIND */ + +/* Define to 1 if you have the `waitpid' function. */ +#define HAVE_WAITPID 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_WINDOWS_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_X11_EXTENSIONS_SHMPROTO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_X11_EXTENSIONS_SHMSTR_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_X11_EXTENSIONS_XSHM_H 1 + +/* Define to 1 if you have the `XRenderCreateConicalGradient' function. */ +#define HAVE_XRENDERCREATECONICALGRADIENT 1 + +/* Define to 1 if you have the `XRenderCreateLinearGradient' function. */ +#define HAVE_XRENDERCREATELINEARGRADIENT 1 + +/* Define to 1 if you have the `XRenderCreateRadialGradient' function. */ +#define HAVE_XRENDERCREATERADIALGRADIENT 1 + +/* Define to 1 if you have zlib available */ +#define HAVE_ZLIB 1 + +/* Define to 1 if the system has the type `__uint128_t'. */ +#define HAVE___UINT128_T 1 + +/* Define to 1 if shared memory segments are released deferred. */ +#define IPC_RMID_DEFERRED_RELEASE 1 + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "http://bugs.freedesktop.org/enter_bug.cgi?product=cairo" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME USE_cairo_INSTEAD + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING USE_cairo_version_OR_cairo_version_string_INSTEAD + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME USE_cairo_INSTEAD + +/* Define to the home page for this package. */ +#define PACKAGE_URL "http://cairographics.org/" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION USE_cairo_version_OR_cairo_version_string_INSTEAD + +/* Shared library file extension */ +#define SHARED_LIB_EXT "so" + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* The size of `long', as computed by sizeof. */ +#define SIZEOF_LONG 8 + +/* The size of `long long', as computed by sizeof. */ +#define SIZEOF_LONG_LONG 8 + +/* The size of `size_t', as computed by sizeof. */ +#define SIZEOF_SIZE_T 8 + +/* The size of `void *', as computed by sizeof. */ +#define SIZEOF_VOID_P 8 + +/* 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 the value your compiler uses to support the warn-unused-result + attribute */ +#define WARN_UNUSED_RESULT __attribute__((__warn_unused_result__)) + +/* 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 + + +/* Deal with multiple architecture compiles on Mac OS X */ +#ifdef __APPLE_CC__ +#ifdef __BIG_ENDIAN__ +#define WORDS_BIGENDIAN 1 +#define FLOAT_WORDS_BIGENDIAN 1 +#else +/* #undef WORDS_BIGENDIAN */ +/* #undef FLOAT_WORDS_BIGENDIAN */ +#endif +#endif + + +/* Define to 1 if the X Window System is missing or not being used. */ +/* #undef X_DISPLAY_MISSING */ + +/* 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 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 `__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 diff --git a/static/custom-include/jpeg/config.h b/static/custom-include/jpeg/config.h new file mode 100644 index 000000000..4eb5767b0 --- /dev/null +++ b/static/custom-include/jpeg/config.h @@ -0,0 +1,130 @@ +/* config.h. Generated by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Build number */ +#define BUILD "20131027" + +/* Support arithmetic encoding */ +#define C_ARITH_CODING_SUPPORTED 1 + +/* Support arithmetic decoding */ +#define D_ARITH_CODING_SUPPORTED 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_JNI_H */ + +/* Define to 1 if you have the `memcpy' function. */ +#define HAVE_MEMCPY 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `memset' function. */ +#define HAVE_MEMSET 1 + +/* Define if your compiler supports prototypes */ +#define HAVE_PROTOTYPES 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDDEF_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if the system has the type `unsigned char'. */ +#define HAVE_UNSIGNED_CHAR 1 + +/* Define to 1 if the system has the type `unsigned short'. */ +#define HAVE_UNSIGNED_SHORT 1 + +/* Compiler does not support pointers to undefined structures. */ +/* #undef INCOMPLETE_TYPES_BROKEN */ + +/* How to obtain function inlining. */ +#define INLINE __attribute__((always_inline)) + +/* libjpeg API version */ +#define JPEG_LIB_VERSION 62 + +/* libjpeg-turbo version */ +#define LIBJPEG_TURBO_VERSION 1.2.1 + +/* Define if you have BSD-like bzero and bcopy */ +/* #undef NEED_BSD_STRINGS */ + +/* Define if you need short function names */ +/* #undef NEED_SHORT_EXTERNAL_NAMES */ + +/* Define if you have sys/types.h */ +#define NEED_SYS_TYPES_H 1 + +/* Name of package */ +#define PACKAGE "libjpeg-turbo" + +/* 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 "libjpeg-turbo" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "libjpeg-turbo 1.2.1" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libjpeg-turbo" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "1.2.1" + +/* Define if shift is unsigned */ +/* #undef RIGHT_SHIFT_IS_UNSIGNED */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +#define VERSION "1.2.1" + +/* Use accelerated SIMD routines. */ +/* #undef WITH_SIMD */ + +/* Define to 1 if type `char' is unsigned and you are not using gcc. */ +#ifndef __CHAR_UNSIGNED__ +/* # undef __CHAR_UNSIGNED__ */ +#endif + +/* 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 `unsigned' if does not define. */ +/* #undef size_t */ diff --git a/static/custom-include/jpeg/jconfig.h b/static/custom-include/jpeg/jconfig.h new file mode 100644 index 000000000..07676e4e2 --- /dev/null +++ b/static/custom-include/jpeg/jconfig.h @@ -0,0 +1,58 @@ +/* jconfig.h. Generated by configure. */ +/* Version ID for the JPEG library. + * Might be useful for tests like "#if JPEG_LIB_VERSION >= 60". + */ +#define JPEG_LIB_VERSION 62 + +/* libjpeg-turbo version */ +#define LIBJPEG_TURBO_VERSION 1.2.1 + +/* Support arithmetic encoding */ +#define C_ARITH_CODING_SUPPORTED 1 + +/* Support arithmetic decoding */ +#define D_ARITH_CODING_SUPPORTED 1 + +/* Compiler supports function prototypes. */ +#define HAVE_PROTOTYPES 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDDEF_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Compiler supports 'unsigned char'. */ +#define HAVE_UNSIGNED_CHAR 1 + +/* Compiler supports 'unsigned short'. */ +#define HAVE_UNSIGNED_SHORT 1 + +/* Compiler does not support pointers to unspecified structures. */ +/* #undef INCOMPLETE_TYPES_BROKEN */ + +/* Compiler has rather than standard . */ +/* #undef NEED_BSD_STRINGS */ + +/* Linker requires that global names be unique in first 15 characters. */ +/* #undef NEED_SHORT_EXTERNAL_NAMES */ + +/* Need to include in order to obtain size_t. */ +#define NEED_SYS_TYPES_H 1 + +/* Broken compiler shifts signed values as an unsigned shift. */ +/* #undef RIGHT_SHIFT_IS_UNSIGNED */ + +/* Use accelerated SIMD routines. */ +/* #undef WITH_SIMD */ + +/* Define to 1 if type `char' is unsigned and you are not using gcc. */ +#ifndef __CHAR_UNSIGNED__ +/* # undef __CHAR_UNSIGNED__ */ +#endif + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `unsigned int' if does not define. */ +/* #undef size_t */ diff --git a/static/custom-include/pixman/config.h b/static/custom-include/pixman/config.h new file mode 100644 index 000000000..a6d2c02ef --- /dev/null +++ b/static/custom-include/pixman/config.h @@ -0,0 +1,174 @@ +/* config.h. Generated from config.h.in by configure. */ +/* 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() */ +#define HAVE_ALARM 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Whether we have feenableexcept() */ +#define HAVE_FEENABLEEXCEPT 1 + +/* Define to 1 if we have */ +#define HAVE_FENV_H 1 + +/* Whether the tool chain supports __float128 */ +#define HAVE_FLOAT128 /**/ + +/* Define to 1 if you have the `getisax' function. */ +/* #undef HAVE_GETISAX */ + +/* Whether we have getpagesize() */ +#define HAVE_GETPAGESIZE 1 + +/* Whether we have gettimeofday() */ +#define HAVE_GETTIMEOFDAY 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `pixman-1' library (-lpixman-1). */ +/* #undef HAVE_LIBPIXMAN_1 */ + +/* Whether we have libpng */ +#define HAVE_LIBPNG 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Whether we have mmap() */ +#define HAVE_MMAP 1 + +/* Whether we have mprotect() */ +#define HAVE_MPROTECT 1 + +/* Whether we have posix_memalign() */ +#define HAVE_POSIX_MEMALIGN 1 + +/* Whether pthread_setspecific() is supported */ +/* #undef HAVE_PTHREAD_SETSPECIFIC */ + +/* Whether we have sigaction() */ +#define HAVE_SIGACTION 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if we have */ +#define HAVE_SYS_MMAN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +#define PACKAGE "pixman" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "pixman@lists.freedesktop.org" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "pixman" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "pixman 0.30.2" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "pixman" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "0.30.2" + +/* enable TIMER_BEGIN/TIMER_END macros */ +/* #undef PIXMAN_TIMERS */ + +/* The size of `long', as computed by sizeof. */ +#define SIZEOF_LONG 8 + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* The compiler supported TLS storage class */ +#define TLS __thread + +/* Whether the tool chain supports __attribute__((constructor)) */ +#define TOOLCHAIN_SUPPORTS_ATTRIBUTE_CONSTRUCTOR /**/ + +/* 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 */ +#define USE_GCC_INLINE_ASM 1 + +/* use Loongson Multimedia Instructions */ +/* #undef USE_LOONGSON_MMI */ + +/* use MIPS DSPr2 assembly optimizations */ +/* #undef USE_MIPS_DSPR2 */ + +/* use OpenMP in the test suite */ +#define USE_OPENMP 1 + +/* use SSE2 compiler intrinsics */ +#define USE_SSE2 1 + +/* use VMX compiler intrinsics */ +/* #undef USE_VMX */ + +/* use x86 MMX compiler intrinsics */ +#define USE_X86_MMX 1 + +/* Version number of package */ +#define VERSION "0.30.2" + +/* 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 */ diff --git a/static/custom-include/png/pnglibconf.h b/static/custom-include/png/pnglibconf.h new file mode 100644 index 000000000..e31ff3dec --- /dev/null +++ b/static/custom-include/png/pnglibconf.h @@ -0,0 +1,211 @@ +/* libpng 1.6.6 STANDARD API DEFINITION */ + +/* pnglibconf.h - library build configuration */ + +/* Libpng version 1.6.6 - September 16, 2013 */ + +/* Copyright (c) 1998-2013 Glenn Randers-Pehrson */ + +/* This code is released under the libpng license. */ +/* For conditions of distribution and use, see the disclaimer */ +/* and license in png.h */ + +/* pnglibconf.h */ +/* Machine generated file: DO NOT EDIT */ +/* Derived from: scripts/pnglibconf.dfa */ +#ifndef PNGLCONF_H +#define PNGLCONF_H +/* options */ +#define PNG_16BIT_SUPPORTED +#define PNG_ALIGNED_MEMORY_SUPPORTED +/*#undef PNG_ARM_NEON_API_SUPPORTED*/ +/*#undef PNG_ARM_NEON_CHECK_SUPPORTED*/ +#define PNG_BENIGN_ERRORS_SUPPORTED +#define PNG_BENIGN_READ_ERRORS_SUPPORTED +/*#undef PNG_BENIGN_WRITE_ERRORS_SUPPORTED*/ +#define PNG_BUILD_GRAYSCALE_PALETTE_SUPPORTED +#define PNG_CHECK_FOR_INVALID_INDEX_SUPPORTED +#define PNG_COLORSPACE_SUPPORTED +#define PNG_CONSOLE_IO_SUPPORTED +#define PNG_CONVERT_tIME_SUPPORTED +#define PNG_EASY_ACCESS_SUPPORTED +/*#undef PNG_ERROR_NUMBERS_SUPPORTED*/ +#define PNG_ERROR_TEXT_SUPPORTED +#define PNG_FIXED_POINT_SUPPORTED +#define PNG_FLOATING_ARITHMETIC_SUPPORTED +#define PNG_FLOATING_POINT_SUPPORTED +#define PNG_FORMAT_AFIRST_SUPPORTED +#define PNG_FORMAT_BGR_SUPPORTED +#define PNG_GAMMA_SUPPORTED +#define PNG_GET_PALETTE_MAX_SUPPORTED +#define PNG_HANDLE_AS_UNKNOWN_SUPPORTED +#define PNG_INCH_CONVERSIONS_SUPPORTED +#define PNG_INFO_IMAGE_SUPPORTED +#define PNG_IO_STATE_SUPPORTED +#define PNG_MNG_FEATURES_SUPPORTED +#define PNG_POINTER_INDEXING_SUPPORTED +#define PNG_PROGRESSIVE_READ_SUPPORTED +#define PNG_READ_16BIT_SUPPORTED +#define PNG_READ_ALPHA_MODE_SUPPORTED +#define PNG_READ_ANCILLARY_CHUNKS_SUPPORTED +#define PNG_READ_BACKGROUND_SUPPORTED +#define PNG_READ_BGR_SUPPORTED +#define PNG_READ_CHECK_FOR_INVALID_INDEX_SUPPORTED +#define PNG_READ_COMPOSITE_NODIV_SUPPORTED +#define PNG_READ_COMPRESSED_TEXT_SUPPORTED +#define PNG_READ_EXPAND_16_SUPPORTED +#define PNG_READ_EXPAND_SUPPORTED +#define PNG_READ_FILLER_SUPPORTED +#define PNG_READ_GAMMA_SUPPORTED +#define PNG_READ_GET_PALETTE_MAX_SUPPORTED +#define PNG_READ_GRAY_TO_RGB_SUPPORTED +#define PNG_READ_INTERLACING_SUPPORTED +#define PNG_READ_INT_FUNCTIONS_SUPPORTED +#define PNG_READ_INVERT_ALPHA_SUPPORTED +#define PNG_READ_INVERT_SUPPORTED +#define PNG_READ_OPT_PLTE_SUPPORTED +#define PNG_READ_PACKSWAP_SUPPORTED +#define PNG_READ_PACK_SUPPORTED +#define PNG_READ_QUANTIZE_SUPPORTED +#define PNG_READ_RGB_TO_GRAY_SUPPORTED +#define PNG_READ_SCALE_16_TO_8_SUPPORTED +#define PNG_READ_SHIFT_SUPPORTED +#define PNG_READ_STRIP_16_TO_8_SUPPORTED +#define PNG_READ_STRIP_ALPHA_SUPPORTED +#define PNG_READ_SUPPORTED +#define PNG_READ_SWAP_ALPHA_SUPPORTED +#define PNG_READ_SWAP_SUPPORTED +#define PNG_READ_TEXT_SUPPORTED +#define PNG_READ_TRANSFORMS_SUPPORTED +#define PNG_READ_UNKNOWN_CHUNKS_SUPPORTED +#define PNG_READ_USER_CHUNKS_SUPPORTED +#define PNG_READ_USER_TRANSFORM_SUPPORTED +#define PNG_READ_bKGD_SUPPORTED +#define PNG_READ_cHRM_SUPPORTED +#define PNG_READ_gAMA_SUPPORTED +#define PNG_READ_hIST_SUPPORTED +#define PNG_READ_iCCP_SUPPORTED +#define PNG_READ_iTXt_SUPPORTED +#define PNG_READ_oFFs_SUPPORTED +#define PNG_READ_pCAL_SUPPORTED +#define PNG_READ_pHYs_SUPPORTED +#define PNG_READ_sBIT_SUPPORTED +#define PNG_READ_sCAL_SUPPORTED +#define PNG_READ_sPLT_SUPPORTED +#define PNG_READ_sRGB_SUPPORTED +#define PNG_READ_tEXt_SUPPORTED +#define PNG_READ_tIME_SUPPORTED +#define PNG_READ_tRNS_SUPPORTED +#define PNG_READ_zTXt_SUPPORTED +/*#undef PNG_SAFE_LIMITS_SUPPORTED*/ +#define PNG_SAVE_INT_32_SUPPORTED +#define PNG_SAVE_UNKNOWN_CHUNKS_SUPPORTED +#define PNG_SEQUENTIAL_READ_SUPPORTED +#define PNG_SETJMP_SUPPORTED +#define PNG_SET_CHUNK_CACHE_LIMIT_SUPPORTED +#define PNG_SET_CHUNK_MALLOC_LIMIT_SUPPORTED +#define PNG_SET_OPTION_SUPPORTED +#define PNG_SET_UNKNOWN_CHUNKS_SUPPORTED +#define PNG_SET_USER_LIMITS_SUPPORTED +#define PNG_SIMPLIFIED_READ_AFIRST_SUPPORTED +#define PNG_SIMPLIFIED_READ_BGR_SUPPORTED +#define PNG_SIMPLIFIED_READ_SUPPORTED +#define PNG_SIMPLIFIED_WRITE_AFIRST_SUPPORTED +#define PNG_SIMPLIFIED_WRITE_BGR_SUPPORTED +#define PNG_SIMPLIFIED_WRITE_SUPPORTED +#define PNG_STDIO_SUPPORTED +#define PNG_STORE_UNKNOWN_CHUNKS_SUPPORTED +#define PNG_TEXT_SUPPORTED +#define PNG_TIME_RFC1123_SUPPORTED +#define PNG_UNKNOWN_CHUNKS_SUPPORTED +#define PNG_USER_CHUNKS_SUPPORTED +#define PNG_USER_LIMITS_SUPPORTED +#define PNG_USER_MEM_SUPPORTED +#define PNG_USER_TRANSFORM_INFO_SUPPORTED +#define PNG_USER_TRANSFORM_PTR_SUPPORTED +#define PNG_WARNINGS_SUPPORTED +#define PNG_WRITE_16BIT_SUPPORTED +#define PNG_WRITE_ANCILLARY_CHUNKS_SUPPORTED +#define PNG_WRITE_BGR_SUPPORTED +#define PNG_WRITE_CHECK_FOR_INVALID_INDEX_SUPPORTED +#define PNG_WRITE_COMPRESSED_TEXT_SUPPORTED +#define PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED +#define PNG_WRITE_FILLER_SUPPORTED +#define PNG_WRITE_FILTER_SUPPORTED +#define PNG_WRITE_FLUSH_SUPPORTED +#define PNG_WRITE_GET_PALETTE_MAX_SUPPORTED +#define PNG_WRITE_INTERLACING_SUPPORTED +#define PNG_WRITE_INT_FUNCTIONS_SUPPORTED +#define PNG_WRITE_INVERT_ALPHA_SUPPORTED +#define PNG_WRITE_INVERT_SUPPORTED +#define PNG_WRITE_OPTIMIZE_CMF_SUPPORTED +#define PNG_WRITE_PACKSWAP_SUPPORTED +#define PNG_WRITE_PACK_SUPPORTED +#define PNG_WRITE_SHIFT_SUPPORTED +#define PNG_WRITE_SUPPORTED +#define PNG_WRITE_SWAP_ALPHA_SUPPORTED +#define PNG_WRITE_SWAP_SUPPORTED +#define PNG_WRITE_TEXT_SUPPORTED +#define PNG_WRITE_TRANSFORMS_SUPPORTED +#define PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED +#define PNG_WRITE_USER_TRANSFORM_SUPPORTED +#define PNG_WRITE_WEIGHTED_FILTER_SUPPORTED +#define PNG_WRITE_bKGD_SUPPORTED +#define PNG_WRITE_cHRM_SUPPORTED +#define PNG_WRITE_gAMA_SUPPORTED +#define PNG_WRITE_hIST_SUPPORTED +#define PNG_WRITE_iCCP_SUPPORTED +#define PNG_WRITE_iTXt_SUPPORTED +#define PNG_WRITE_oFFs_SUPPORTED +#define PNG_WRITE_pCAL_SUPPORTED +#define PNG_WRITE_pHYs_SUPPORTED +#define PNG_WRITE_sBIT_SUPPORTED +#define PNG_WRITE_sCAL_SUPPORTED +#define PNG_WRITE_sPLT_SUPPORTED +#define PNG_WRITE_sRGB_SUPPORTED +#define PNG_WRITE_tEXt_SUPPORTED +#define PNG_WRITE_tIME_SUPPORTED +#define PNG_WRITE_tRNS_SUPPORTED +#define PNG_WRITE_zTXt_SUPPORTED +#define PNG_bKGD_SUPPORTED +#define PNG_cHRM_SUPPORTED +#define PNG_gAMA_SUPPORTED +#define PNG_hIST_SUPPORTED +#define PNG_iCCP_SUPPORTED +#define PNG_iTXt_SUPPORTED +#define PNG_oFFs_SUPPORTED +#define PNG_pCAL_SUPPORTED +#define PNG_pHYs_SUPPORTED +#define PNG_sBIT_SUPPORTED +#define PNG_sCAL_SUPPORTED +#define PNG_sPLT_SUPPORTED +#define PNG_sRGB_SUPPORTED +#define PNG_tEXt_SUPPORTED +#define PNG_tIME_SUPPORTED +#define PNG_tRNS_SUPPORTED +#define PNG_zTXt_SUPPORTED +/* end of options */ +/* settings */ +#define PNG_API_RULE 0 +#define PNG_CALLOC_SUPPORTED +#define PNG_COST_SHIFT 3 +#define PNG_DEFAULT_READ_MACROS 1 +#define PNG_GAMMA_THRESHOLD_FIXED 5000 +#define PNG_IDAT_READ_SIZE PNG_ZBUF_SIZE +#define PNG_INFLATE_BUF_SIZE 1024 +#define PNG_MAX_GAMMA_8 11 +#define PNG_QUANTIZE_BLUE_BITS 5 +#define PNG_QUANTIZE_GREEN_BITS 5 +#define PNG_QUANTIZE_RED_BITS 5 +#define PNG_TEXT_Z_DEFAULT_COMPRESSION (-1) +#define PNG_TEXT_Z_DEFAULT_STRATEGY 0 +#define PNG_WEIGHT_SHIFT 8 +#define PNG_ZBUF_SIZE 8192 +#define PNG_ZLIB_VERNUM 0 /* unknown */ +#define PNG_Z_DEFAULT_COMPRESSION (-1) +#define PNG_Z_DEFAULT_NOFILTER_STRATEGY 0 +#define PNG_Z_DEFAULT_STRATEGY 1 +#define PNG_sCAL_PRECISION 5 +#define PNG_sRGB_PROFILE_CHECKS 2 +/* end of settings */ +#endif /* PNGLCONF_H */ diff --git a/static/ensure_deps.sh b/static/ensure_deps.sh new file mode 100755 index 000000000..4a82bbd01 --- /dev/null +++ b/static/ensure_deps.sh @@ -0,0 +1,68 @@ +#!/usr/bin/env bash + +CAIRO_VERSION=1.12.18 +FREETYPE_VERSION=2.6 +GIFLIB_VERSION=4.2.3 +LIBJPEG_VERSION=1.2.1 +LIBPNG_VERSION=1.2.56 +PIXMAN_VERSION=0.32.6 +ZLIB_VERSION=1.2.8 + +CAIRO_URL=http://cairographics.org/releases/cairo-$CAIRO_VERSION.tar.xz +FONTCONFIG_URL=http://cgit.freedesktop.org/fontconfig/plain/fontconfig/fontconfig.h +FREETYPE_URL=http://download.savannah.gnu.org/releases/freetype/freetype-$FREETYPE_VERSION.tar.gz +GIFLIB_URL=http://sourceforge.net/projects/giflib/files/giflib-4.x/giflib-$GIFLIB_VERSION.tar.gz +LIBJPEG_URL=http://downloads.sourceforge.net/project/libjpeg-turbo/$LIBJPEG_VERSION/libjpeg-turbo-$LIBJPEG_VERSION.tar.gz +LIBPNG_URL=http://sourceforge.net/projects/libpng/files/libpng12/$LIBPNG_VERSION/libpng-$LIBPNG_VERSION.tar.xz +PIXMAN_URL=http://cairographics.org/releases/pixman-$PIXMAN_VERSION.tar.gz +ZLIB_URL=http://zlib.net/zlib-$ZLIB_VERSION.tar.gz + + +DEPS="$(dirname $0)/../deps" + +mkdir -p $DEPS +cd $DEPS + + +fetch() +{ + if [ ! -d $2 ]; then + mkdir -p $2 && + curl -s -L $1 | tar xzf - -C $2 --strip-components=1 || exit $? + fi +} + +fetch_xz() +{ + if [ ! -d $2 ]; then + mkdir -p $2 && + curl -s -L $1 | tar xJf - -C $2 --strip-components=1 || exit $? + fi +} + + +if [ ! -d cairo ]; then + fetch_xz $CAIRO_URL cairo && + mv cairo/src cairo/cairo || exit $? +fi + +if [ ! -d fontconfig ]; then + mkdir -p fontconfig && + curl -s -L $FONTCONFIG_URL >> fontconfig/fontconfig.h || exit $? +fi + +fetch $FREETYPE_URL freetype && +fetch $GIFLIB_URL giflib && +fetch $LIBJPEG_URL libjpeg && +fetch_xz $LIBPNG_URL libpng && +fetch $PIXMAN_URL pixman && +fetch $ZLIB_URL zlib || exit $? + + +if [ ! -d "cairo" ] || [ ! -d "freetype" ] || [ ! -d "giflib" ] \ +|| [ ! -d "libjpeg" ] || [ ! -d "libpng" ] || [ ! -d "pixman" ] \ +|| [ ! -d "zlib" ]; then + echo false +else + echo true +fi diff --git a/static/freetype.gyp b/static/freetype.gyp new file mode 100644 index 000000000..ed176039e --- /dev/null +++ b/static/freetype.gyp @@ -0,0 +1,240 @@ +{ + 'includes': [ 'common.gyp' , 'locations.gyp'], + 'targets': [ + { + 'target_name': 'freetype', + 'type': 'static_library', + 'include_dirs': [ '<(freetype_root)include/'], + + 'defines': [ 'FT2_BUILD_LIBRARY' ], + 'sources': [ + #"<(freetype_root)src/autofit/afangles.c", + #"<(freetype_root)src/autofit/afcjk.c", + #"<(freetype_root)src/autofit/afdummy.c", + #"<(freetype_root)src/autofit/afglobal.c", + #"<(freetype_root)src/autofit/afhints.c", + #"<(freetype_root)src/autofit/afindic.c", + #"<(freetype_root)src/autofit/aflatin2.c", + #"<(freetype_root)src/autofit/aflatin.c", + #"<(freetype_root)src/autofit/afloader.c", + #"<(freetype_root)src/autofit/afmodule.c", + #"<(freetype_root)src/autofit/afpic.c", + #"<(freetype_root)src/autofit/afwarp.c", + "<(freetype_root)src/autofit/autofit.c", + + #"<(freetype_root)src/base/basepic.c", + #"<(freetype_root)src/base/ftadvanc.c", + #"<(freetype_root)src/base/ftapi.c", + "<(freetype_root)src/base/ftbase.c", + #"<(freetype_root)src/base/ftbbox.c", + "<(freetype_root)src/base/ftbitmap.c", + #"<(freetype_root)src/base/ftcalc.c", + #"<(freetype_root)src/base/ftcid.c", + #"<(freetype_root)src/base/ftdbgmem.c", + #"<(freetype_root)src/base/ftdebug.c", + "<(freetype_root)src/base/ftfntfmt.c", + #"<(freetype_root)src/base/ftfstype.c", + #"<(freetype_root)src/base/ftgasp.c", + #"<(freetype_root)src/base/ftgloadr.c", + #"<(freetype_root)src/base/ftglyph.c", + #"<(freetype_root)src/base/ftgxval.c", + "<(freetype_root)src/base/ftinit.c", + "<(freetype_root)src/base/ftlcdfil.c", + #"<(freetype_root)src/base/ftmac.c", + #"<(freetype_root)src/base/ftmm.c", + #"<(freetype_root)src/base/ftobjs.c", + #"<(freetype_root)src/base/ftotval.c", + #"<(freetype_root)src/base/ftoutln.c", + #"<(freetype_root)src/base/ftpatent.c", + #"<(freetype_root)src/base/ftpfr.c", + #"<(freetype_root)src/base/ftpic.c", + #"<(freetype_root)src/base/ftrfork.c", + #"<(freetype_root)src/base/ftsnames.c", + #"<(freetype_root)src/base/ftstream.c", + #"<(freetype_root)src/base/ftstroke.c", + "<(freetype_root)src/base/ftsynth.c", + "<(freetype_root)src/base/ftsystem.c", + #"<(freetype_root)src/base/fttrigon.c", + #"<(freetype_root)src/base/fttype1.c", + #"<(freetype_root)src/base/ftutil.c", + #"<(freetype_root)src/base/ftwinfnt.c", + #"<(freetype_root)src/base/ftxf86.c", + #"<(freetype_root)src/base/md5.c", + + "<(freetype_root)src/bdf/bdf.c", + #"<(freetype_root)src/bdf/bdfdrivr.c", + #"<(freetype_root)src/bdf/bdflib.c", + + "<(freetype_root)src/bzip2/ftbzip2.c", + + "<(freetype_root)src/cache/ftcache.c", + #"<(freetype_root)src/cache/ftcbasic.c", + #"<(freetype_root)src/cache/ftccache.c", + #"<(freetype_root)src/cache/ftccmap.c", + #"<(freetype_root)src/cache/ftcglyph.c", + #"<(freetype_root)src/cache/ftcimage.c", + #"<(freetype_root)src/cache/ftcmanag.c", + #"<(freetype_root)src/cache/ftcmru.c", + #"<(freetype_root)src/cache/ftcsbits.c", + + #"<(freetype_root)src/cff/cf2arrst.c", + #"<(freetype_root)src/cff/cf2blues.c", + #"<(freetype_root)src/cff/cf2error.c", + #"<(freetype_root)src/cff/cf2font.c", + #"<(freetype_root)src/cff/cf2ft.c", + #"<(freetype_root)src/cff/cf2hints.c", + #"<(freetype_root)src/cff/cf2intrp.c", + #"<(freetype_root)src/cff/cf2read.c", + #"<(freetype_root)src/cff/cf2stack.c", + "<(freetype_root)src/cff/cff.c", + #"<(freetype_root)src/cff/cffcmap.c", + #"<(freetype_root)src/cff/cffdrivr.c", + #"<(freetype_root)src/cff/cffgload.c", + #"<(freetype_root)src/cff/cffload.c", + #"<(freetype_root)src/cff/cffobjs.c", + #"<(freetype_root)src/cff/cffparse.c", + #"<(freetype_root)src/cff/cffpic.c", + + #"<(freetype_root)src/cid/cidgload.c", + #"<(freetype_root)src/cid/cidload.c", + #"<(freetype_root)src/cid/cidobjs.c", + #"<(freetype_root)src/cid/cidparse.c", + #"<(freetype_root)src/cid/cidriver.c", + "<(freetype_root)src/cid/type1cid.c", + + "<(freetype_root)src/gxvalid/gxvalid.c", + #"<(freetype_root)src/gxvalid/gxvbsln.c", + #"<(freetype_root)src/gxvalid/gxvcommn.c", + #"<(freetype_root)src/gxvalid/gxvfeat.c", + #"<(freetype_root)src/gxvalid/gxvfgen.c", + #"<(freetype_root)src/gxvalid/gxvjust.c", + #"<(freetype_root)src/gxvalid/gxvkern.c", + #"<(freetype_root)src/gxvalid/gxvlcar.c", + #"<(freetype_root)src/gxvalid/gxvmod.c", + #"<(freetype_root)src/gxvalid/gxvmort0.c", + #"<(freetype_root)src/gxvalid/gxvmort1.c", + #"<(freetype_root)src/gxvalid/gxvmort2.c", + #"<(freetype_root)src/gxvalid/gxvmort4.c", + #"<(freetype_root)src/gxvalid/gxvmort5.c", + #"<(freetype_root)src/gxvalid/gxvmort.c", + #"<(freetype_root)src/gxvalid/gxvmorx0.c", + #"<(freetype_root)src/gxvalid/gxvmorx1.c", + #"<(freetype_root)src/gxvalid/gxvmorx2.c", + #"<(freetype_root)src/gxvalid/gxvmorx4.c", + #"<(freetype_root)src/gxvalid/gxvmorx5.c", + #"<(freetype_root)src/gxvalid/gxvmorx.c", + #"<(freetype_root)src/gxvalid/gxvopbd.c", + #"<(freetype_root)src/gxvalid/gxvprop.c", + #"<(freetype_root)src/gxvalid/gxvtrak.c", + + #"<(freetype_root)src/gzip/adler32.c", + "<(freetype_root)src/gzip/ftgzip.c", + #"<(freetype_root)src/gzip/infblock.c", + #"<(freetype_root)src/gzip/infcodes.c", + #"<(freetype_root)src/gzip/inflate.c", + #"<(freetype_root)src/gzip/inftrees.c", + #"<(freetype_root)src/gzip/infutil.c", + #"<(freetype_root)src/gzip/zutil.c", + + "<(freetype_root)src/lzw/ftlzw.c", + #"<(freetype_root)src/lzw/ftzopen.c", + + "<(freetype_root)src/otvalid/otvalid.c", + #"<(freetype_root)src/otvalid/otvbase.c", + #"<(freetype_root)src/otvalid/otvcommn.c", + #"<(freetype_root)src/otvalid/otvgdef.c", + #"<(freetype_root)src/otvalid/otvgpos.c", + #"<(freetype_root)src/otvalid/otvgsub.c", + #"<(freetype_root)src/otvalid/otvjstf.c", + #"<(freetype_root)src/otvalid/otvmath.c", + #"<(freetype_root)src/otvalid/otvmod.c", + + "<(freetype_root)src/pcf/pcf.c", + #"<(freetype_root)src/pcf/pcfdrivr.c", + #"<(freetype_root)src/pcf/pcfread.c", + #"<(freetype_root)src/pcf/pcfutil.c", + + "<(freetype_root)src/pfr/pfr.c", + #"<(freetype_root)src/pfr/pfrcmap.c", + #"<(freetype_root)src/pfr/pfrdrivr.c", + #"<(freetype_root)src/pfr/pfrgload.c", + #"<(freetype_root)src/pfr/pfrload.c", + #"<(freetype_root)src/pfr/pfrobjs.c", + #"<(freetype_root)src/pfr/pfrsbit.c", + + #"<(freetype_root)src/psaux/afmparse.c", + "<(freetype_root)src/psaux/psaux.c", + #"<(freetype_root)src/psaux/psauxmod.c", + #"<(freetype_root)src/psaux/psconv.c", + #"<(freetype_root)src/psaux/psobjs.c", + #"<(freetype_root)src/psaux/t1cmap.c", + #"<(freetype_root)src/psaux/t1decode.c", + + #"<(freetype_root)src/pshinter/pshalgo.c", + #"<(freetype_root)src/pshinter/pshglob.c", + "<(freetype_root)src/pshinter/pshinter.c", + #"<(freetype_root)src/pshinter/pshmod.c", + #"<(freetype_root)src/pshinter/pshpic.c", + #"<(freetype_root)src/pshinter/pshrec.c", + + #"<(freetype_root)src/psnames/psmodule.c", + "<(freetype_root)src/psnames/psnames.c", + #"<(freetype_root)src/psnames/pspic.c", + + #"<(freetype_root)src/raster/ftraster.c", + #"<(freetype_root)src/raster/ftrend1.c", + "<(freetype_root)src/raster/raster.c", + #"<(freetype_root)src/raster/rastpic.c", + + #"<(freetype_root)src/sfnt/pngshim.c", + #"<(freetype_root)src/sfnt/sfdriver.c", + "<(freetype_root)src/sfnt/sfnt.c", + #"<(freetype_root)src/sfnt/sfntpic.c", + #"<(freetype_root)src/sfnt/sfobjs.c", + #"<(freetype_root)src/sfnt/ttbdf.c", + #"<(freetype_root)src/sfnt/ttcmap.c", + #"<(freetype_root)src/sfnt/ttkern.c", + #"<(freetype_root)src/sfnt/ttload.c", + #"<(freetype_root)src/sfnt/ttmtx.c", + #"<(freetype_root)src/sfnt/ttpost.c", + #"<(freetype_root)src/sfnt/ttsbit.c", + + #"<(freetype_root)src/smooth/ftgrays.c", + #"<(freetype_root)src/smooth/ftsmooth.c", + #"<(freetype_root)src/smooth/ftspic.c", + "<(freetype_root)src/smooth/smooth.c", + + "<(freetype_root)src/tools/apinames.c", + "<(freetype_root)src/tools/ftrandom/ftrandom.c", + "<(freetype_root)src/tools/test_afm.c", + "<(freetype_root)src/tools/test_bbox.c", + "<(freetype_root)src/tools/test_trig.c", + + "<(freetype_root)src/truetype/truetype.c", + #"<(freetype_root)src/truetype/ttdriver.c", + #"<(freetype_root)src/truetype/ttgload.c", + #"<(freetype_root)src/truetype/ttgxvar.c", + #"<(freetype_root)src/truetype/ttinterp.c", + #"<(freetype_root)src/truetype/ttobjs.c", + #"<(freetype_root)src/truetype/ttpic.c", + #"<(freetype_root)src/truetype/ttpload.c", + #"<(freetype_root)src/truetype/ttsubpix.c", + + #"<(freetype_root)src/type1/t1afm.c", + #"<(freetype_root)src/type1/t1driver.c", + #"<(freetype_root)src/type1/t1gload.c", + #"<(freetype_root)src/type1/t1load.c", + #"<(freetype_root)src/type1/t1objs.c", + #"<(freetype_root)src/type1/t1parse.c", + "<(freetype_root)src/type1/type1.c", + + #"<(freetype_root)src/type42/t42drivr.c", + #"<(freetype_root)src/type42/t42objs.c", + #"<(freetype_root)src/type42/t42parse.c", + "<(freetype_root)src/type42/type42.c", + + "<(freetype_root)src/winfonts/winfnt.c", + ], + }, + ] +} diff --git a/static/gif.gyp b/static/gif.gyp new file mode 100644 index 000000000..cf94f6684 --- /dev/null +++ b/static/gif.gyp @@ -0,0 +1,22 @@ +{ + + 'includes': [ 'common.gyp' , 'locations.gyp'], + 'targets': [ + { + 'target_name': 'gif', + 'type': 'static_library', + 'include_dirs': [ '<(gif_root)lib/'], + 'libraries': [ + ], + 'defines': [ ], + 'sources': [ + "<(gif_root)lib/dgif_lib.c", + "<(gif_root)lib/egif_lib.c", + "<(gif_root)lib/gifalloc.c", + "<(gif_root)lib/gif_err.c", + "<(gif_root)lib/gif_font.c", + "<(gif_root)lib/gif_hash.c", + ], + }, + ] +} diff --git a/static/jpeg.gyp b/static/jpeg.gyp new file mode 100644 index 000000000..bd235245e --- /dev/null +++ b/static/jpeg.gyp @@ -0,0 +1,117 @@ +{ + + 'includes': [ 'common.gyp' , 'locations.gyp'], + 'targets': [ + { + 'target_name': 'libjpeg', + 'type': 'static_library', + 'include_dirs': [ + '../static/custom-include/jpeg/', + '<(jpeg_root)' , + ], + + 'dependencies': [], + 'defines': [], + 'sources': [ + + #"<(jpeg_root)ansi2knr.c", + #"<(jpeg_root)cdjpeg.c", + #"<(jpeg_root)cjpeg.c", + #"<(jpeg_root)ckconfig.c", + #"<(jpeg_root)djpeg.c", + #"<(jpeg_root)example.c", + + "<(jpeg_root)jsimd_none.c", + + "<(jpeg_root)jaricom.c", + "<(jpeg_root)jcapimin.c", + "<(jpeg_root)jcapistd.c", + "<(jpeg_root)jcarith.c", + "<(jpeg_root)jccoefct.c", + "<(jpeg_root)jccolor.c", + "<(jpeg_root)jcdctmgr.c", + "<(jpeg_root)jchuff.c", + "<(jpeg_root)jchuff.h", + "<(jpeg_root)jcinit.c", + "<(jpeg_root)jcmainct.c", + "<(jpeg_root)jcmarker.c", + "<(jpeg_root)jcmaster.c", + "<(jpeg_root)jcomapi.c", + "../static/custom-include/jpeg/jconfig.h", + "<(jpeg_root)jcparam.c", + "<(jpeg_root)jcphuff.c", + "<(jpeg_root)jcprepct.c", + "<(jpeg_root)jcsample.c", + #"<(jpeg_root)jctrans.c", + "<(jpeg_root)jdapimin.c", + "<(jpeg_root)jdapistd.c", + "<(jpeg_root)jdarith.c", + "<(jpeg_root)jdatadst.c", + "<(jpeg_root)jdatasrc.c", + "<(jpeg_root)jdcoefct.c", + "<(jpeg_root)jdcolor.c", + "<(jpeg_root)jdct.h", + "<(jpeg_root)jddctmgr.c", + "<(jpeg_root)jdhuff.c", + "<(jpeg_root)jdhuff.h", + "<(jpeg_root)jdinput.c", + "<(jpeg_root)jdmainct.c", + "<(jpeg_root)jdmarker.c", + "<(jpeg_root)jdmaster.c", + "<(jpeg_root)jdmerge.c", + "<(jpeg_root)jdphuff.c", + "<(jpeg_root)jdpostct.c", + "<(jpeg_root)jdsample.c", + #"<(jpeg_root)jdtrans.c", + "<(jpeg_root)jerror.c", + "<(jpeg_root)jerror.h", + "<(jpeg_root)jfdctflt.c", + "<(jpeg_root)jfdctfst.c", + "<(jpeg_root)jfdctint.c", + "<(jpeg_root)jidctflt.c", + "<(jpeg_root)jidctfst.c", + "<(jpeg_root)jidctint.c", + "<(jpeg_root)jinclude.h", + + "<(jpeg_root)jidctred.c", + + #"<(jpeg_root)jmemansi.c", + #"<(jpeg_root)jmemdos.c", + #"<(jpeg_root)jmemmac.c", + + "<(jpeg_root)jmemmgr.c", + + #"<(jpeg_root)jmemname.c", + "<(jpeg_root)jmemnobs.c", + #"<(jpeg_root)jpegtran.c", + + "<(jpeg_root)jquant1.c", + "<(jpeg_root)jquant2.c", + + "<(jpeg_root)jmemsys.h", + "<(jpeg_root)jmorecfg.h", + "<(jpeg_root)jpegint.h", + "<(jpeg_root)jpeglib.h", + + "<(jpeg_root)jutils.c", + "<(jpeg_root)jversion.h", + + #"<(jpeg_root)rdbmp.c", + #"<(jpeg_root)rdcolmap.c", + #"<(jpeg_root)rdgif.c", + #"<(jpeg_root)rdjpgcom.c", + #"<(jpeg_root)rdppm.c", + #"<(jpeg_root)rdrle.c", + #"<(jpeg_root)rdswitch.c", + #"<(jpeg_root)rdtarga.c", + #"<(jpeg_root)transupp.c", + #"<(jpeg_root)wrbmp.c", + #"<(jpeg_root)wrgif.c", + #"<(jpeg_root)wrjpgcom.c", + #"<(jpeg_root)wrppm.c", + #"<(jpeg_root)wrrle.c", + #"<(jpeg_root)wrtarga.c", + ], + }, + ] +} diff --git a/static/libpng.gyp b/static/libpng.gyp new file mode 100644 index 000000000..ddff885ec --- /dev/null +++ b/static/libpng.gyp @@ -0,0 +1,69 @@ +{ + + 'includes': [ 'common.gyp' , 'locations.gyp'], + 'targets': [ + { + 'target_name': 'png', + 'type': 'static_library', + 'include_dirs': [ + '<(libpng_root)' , + '../static/custom-include/png/', + '<(zlib_root)', + ], + + 'dependencies': [ + 'zlib.gyp:zlib' + ], + 'defines': [], + 'sources': [ + #"<(libpng_root)arm/arm_init.c", + #"<(libpng_root)contrib/examples/iccfrompng.c", + #"<(libpng_root)contrib/examples/pngpixel.c", + #"<(libpng_root)contrib/examples/pngtopng.c", + #"<(libpng_root)contrib/gregbook/readpng2.c", + #"<(libpng_root)contrib/gregbook/readpng.c", + #"<(libpng_root)contrib/gregbook/readppm.c", + #"<(libpng_root)contrib/gregbook/rpng2-win.c", + #"<(libpng_root)contrib/gregbook/rpng2-x.c", + #"<(libpng_root)contrib/gregbook/rpng-win.c", + #"<(libpng_root)contrib/gregbook/rpng-x.c", + #"<(libpng_root)contrib/gregbook/wpng.c", + #"<(libpng_root)contrib/gregbook/writepng.c", + #"<(libpng_root)contrib/libtests/fakepng.c", + #"<(libpng_root)contrib/libtests/makepng.c", + #"<(libpng_root)contrib/libtests/pngstest.c", + #"<(libpng_root)contrib/libtests/pngunknown.c", + #"<(libpng_root)contrib/libtests/pngvalid.c", + #"<(libpng_root)contrib/libtests/readpng.c", + #"<(libpng_root)contrib/libtests/tarith.c", + #"<(libpng_root)contrib/libtests/timepng.c", + #"<(libpng_root)contrib/pngminus/png2pnm.c", + #"<(libpng_root)contrib/pngminus/pnm2png.c", + #"<(libpng_root)contrib/tools/checksum-icc.c", + #"<(libpng_root)contrib/tools/cvtcolor.c", + #"<(libpng_root)contrib/tools/makesRGB.c", + #"<(libpng_root)contrib/tools/pngfix.c", + #"<(libpng_root)contrib/tools/png-fix-itxt.c", + #"<(libpng_root)contrib/visupng/PngFile.c", + #"<(libpng_root)contrib/visupng/VisualPng.c", + #"<(libpng_root)example.c", + "<(libpng_root)png.c", + "<(libpng_root)pngerror.c", + "<(libpng_root)pngget.c", + "<(libpng_root)pngmem.c", + "<(libpng_root)pngpread.c", + "<(libpng_root)pngread.c", + "<(libpng_root)pngrio.c", + "<(libpng_root)pngrtran.c", + "<(libpng_root)pngrutil.c", + "<(libpng_root)pngset.c", + "<(libpng_root)pngtest.c", + "<(libpng_root)pngtrans.c", + "<(libpng_root)pngwio.c", + "<(libpng_root)pngwrite.c", + "<(libpng_root)pngwtran.c", + "<(libpng_root)pngwutil.c", + ], + }, + ] +} diff --git a/static/locations.gyp b/static/locations.gyp new file mode 100644 index 000000000..aa1f98413 --- /dev/null +++ b/static/locations.gyp @@ -0,0 +1,11 @@ +{ + 'variables': { + 'cairo_root%': "../deps/cairo/", + 'freetype_root%': "../deps/freetype/", + 'gif_root%': "../deps/giflib/", + 'jpeg_root%': "../deps/libjpeg/", + 'libpng_root%': "../deps/libpng/", + 'pixman_root%': "../deps/pixman/", + 'zlib_root%': "../deps/zlib/", + } +} diff --git a/static/pixman.gyp b/static/pixman.gyp new file mode 100644 index 000000000..a198d19ee --- /dev/null +++ b/static/pixman.gyp @@ -0,0 +1,60 @@ +{ + + 'includes': [ 'common.gyp' , 'locations.gyp'], + 'targets': [ + { + 'target_name': 'pixman', + 'type': 'static_library', + 'include_dirs': [ + '../static/custom-include/pixman/', + '<(pixman_root)', + '<(pixman_root)pixman', + ], + + 'libraries': [ + + ] + , + 'defines': [ 'HAVE_CONFIG_H' ], + 'sources': [ + "<(pixman_root)pixman/pixman-access-accessors.c", + "<(pixman_root)pixman/pixman-access.c", + "<(pixman_root)pixman/pixman-arm.c", + "<(pixman_root)pixman/pixman-arm-neon.c", + "<(pixman_root)pixman/pixman-arm-simd.c", + "<(pixman_root)pixman/pixman-bits-image.c", + "<(pixman_root)pixman/pixman.c", + "<(pixman_root)pixman/pixman-combine32.c", + "<(pixman_root)pixman/pixman-combine-float.c", + "<(pixman_root)pixman/pixman-conical-gradient.c", + "<(pixman_root)pixman/pixman-edge-accessors.c", + "<(pixman_root)pixman/pixman-edge.c", + "<(pixman_root)pixman/pixman-fast-path.c", + "<(pixman_root)pixman/pixman-filter.c", + "<(pixman_root)pixman/pixman-general.c", + "<(pixman_root)pixman/pixman-glyph.c", + "<(pixman_root)pixman/pixman-gradient-walker.c", + "<(pixman_root)pixman/pixman-image.c", + "<(pixman_root)pixman/pixman-implementation.c", + "<(pixman_root)pixman/pixman-linear-gradient.c", + "<(pixman_root)pixman/pixman-matrix.c", + "<(pixman_root)pixman/pixman-mips.c", + "<(pixman_root)pixman/pixman-mips-dspr2.c", + "<(pixman_root)pixman/pixman-mmx.c", + "<(pixman_root)pixman/pixman-noop.c", + "<(pixman_root)pixman/pixman-ppc.c", + "<(pixman_root)pixman/pixman-radial-gradient.c", + "<(pixman_root)pixman/pixman-region16.c", + "<(pixman_root)pixman/pixman-region32.c", + #"<(pixman_root)pixman/pixman-region.c", + "<(pixman_root)pixman/pixman-solid-fill.c", + "<(pixman_root)pixman/pixman-sse2.c", + "<(pixman_root)pixman/pixman-timer.c", + "<(pixman_root)pixman/pixman-trap.c", + "<(pixman_root)pixman/pixman-utils.c", + #"<(pixman_root)pixman/pixman-vmx.c", + "<(pixman_root)pixman/pixman-x86.c", + ], + }, + ] +} diff --git a/static/zlib.gyp b/static/zlib.gyp new file mode 100644 index 000000000..3b2a0bd4f --- /dev/null +++ b/static/zlib.gyp @@ -0,0 +1,60 @@ +{ + + 'includes': [ 'common.gyp' , 'locations.gyp'], + 'targets': [ + { + 'target_name': 'zlib', + 'type': 'static_library', + 'include_dirs': [ '<(zlib_root)' ], + + 'libraries': [ + + ], + 'defines': [ ], + 'sources': [ + "<(zlib_root)adler32.c", + "<(zlib_root)compress.c", + "<(zlib_root)contrib/blast/blast.c", + "<(zlib_root)contrib/infback9/infback9.c", + "<(zlib_root)contrib/infback9/inftree9.c", + "<(zlib_root)contrib/inflate86/inffas86.c", + "<(zlib_root)contrib/masmx64/inffas8664.c", + #"<(zlib_root)contrib/minizip/ioapi.c", + #"<(zlib_root)contrib/minizip/iowin32.c", + #"<(zlib_root)contrib/minizip/miniunz.c", + #"<(zlib_root)contrib/minizip/minizip.c", + #"<(zlib_root)contrib/minizip/mztools.c", + #"<(zlib_root)contrib/minizip/unzip.c", + #"<(zlib_root)contrib/minizip/zip.c", + #"<(zlib_root)contrib/puff/puff.c", + #"<(zlib_root)contrib/puff/pufftest.c", + #"<(zlib_root)contrib/testzlib/testzlib.c", + #"<(zlib_root)contrib/untgz/untgz.c", + "<(zlib_root)crc32.c", + "<(zlib_root)deflate.c", + #"<(zlib_root)examples/enough.c", + #"<(zlib_root)examples/fitblk.c", + #"<(zlib_root)examples/gun.c", + #"<(zlib_root)examples/gzappend.c", + #"<(zlib_root)examples/gzjoin.c", + #"<(zlib_root)examples/gzlog.c", + #"<(zlib_root)examples/zpipe.c", + #"<(zlib_root)examples/zran.c", + "<(zlib_root)gzclose.c", + "<(zlib_root)gzlib.c", + "<(zlib_root)gzread.c", + "<(zlib_root)gzwrite.c", + "<(zlib_root)infback.c", + "<(zlib_root)inffast.c", + "<(zlib_root)inflate.c", + "<(zlib_root)inftrees.c", + #"<(zlib_root)test/example.c", + #"<(zlib_root)test/infcover.c", + #"<(zlib_root)test/minigzip.c", + "<(zlib_root)trees.c", + "<(zlib_root)uncompr.c", + "<(zlib_root)zutil.c", + ], + }, + ] +} diff --git a/test/canvas.test.js b/test/canvas.test.js index 3574ab2c1..f11f2fc8f 100644 --- a/test/canvas.test.js +++ b/test/canvas.test.js @@ -2,7 +2,7 @@ * Module dependencies. */ -var Canvas = require('../') +var Canvas = require('..') , assert = require('assert') , parseFont = Canvas.Context2d.parseFont , fs = require('fs'); @@ -214,13 +214,13 @@ describe('Canvas', function () { it('Canvas#type', function () { var canvas = new Canvas(10, 10); - assert('image' == canvas.type); + assert.equal(canvas.type, 'image'); var canvas = new Canvas(10, 10, 'pdf'); - assert('pdf' == canvas.type); + assert.equal(canvas.type, 'pdf'); var canvas = new Canvas(10, 10, 'svg'); - assert('svg' == canvas.type); + assert.equal(canvas.type, 'svg'); var canvas = new Canvas(10, 10, 'hey'); - assert('image' == canvas.type); + assert.equal(canvas.type, 'image'); }); it('Canvas#getContext("2d")', function () { diff --git a/test/image.test.js b/test/image.test.js index ae39d6207..15ed88d80 100644 --- a/test/image.test.js +++ b/test/image.test.js @@ -3,7 +3,7 @@ * Module dependencies. */ -var Canvas = require('../') +var Canvas = require('..') , Image = Canvas.Image , assert = require('assert'); diff --git a/test/server.js b/test/server.js index 31ee9ed05..0f7fa156c 100644 --- a/test/server.js +++ b/test/server.js @@ -4,7 +4,7 @@ */ var express = require('express') - , Canvas = require('../lib/canvas') + , Canvas = require('..') , Image = Canvas.Image , bodyParser = require('body-parser') , app = express(); diff --git a/util/has_lib.sh b/util/has_lib.sh index 31ef1298f..84dff3d5b 100755 --- a/util/has_lib.sh +++ b/util/has_lib.sh @@ -19,7 +19,8 @@ has_system_lib() { fi # Try just checking common library locations - for dir in /lib /usr/lib /usr/local/lib /opt/local/lib /usr/lib/x86_64-linux-gnu /usr/lib/i386-linux-gnu; do + for dir in /lib /usr/lib /usr/local/lib /opt/local/lib \ + /usr/lib/x86_64-linux-gnu /usr/lib/i386-linux-gnu; do test -d $dir && ls $dir | grep -E "$regex" && return 0 done @@ -35,6 +36,14 @@ has_pkgconfig_lib() { } case "$1" in + cairo) + has_system_lib "cairo" > /dev/null + result=$? + ;; + freetype) + has_freetype > /dev/null + result=$? + ;; gif) has_system_lib "gif" > /dev/null result=$? @@ -47,10 +56,6 @@ case "$1" in has_pkgconfig_lib "pango" > /dev/null result=$? ;; - freetype) - has_freetype > /dev/null - result=$? - ;; *) >&2 echo "Unknown library: $1" exit 1 From 70a4d3888993f01d0428471cfef0ac22b626a741 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Legan=C3=A9s-Combarro=20=27piranna?= Date: Tue, 24 Jan 2017 17:02:09 +0100 Subject: [PATCH 02/22] Download ZLIB from SourceForge --- static/ensure_deps.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/static/ensure_deps.sh b/static/ensure_deps.sh index 4a82bbd01..895a09d6d 100755 --- a/static/ensure_deps.sh +++ b/static/ensure_deps.sh @@ -6,7 +6,7 @@ GIFLIB_VERSION=4.2.3 LIBJPEG_VERSION=1.2.1 LIBPNG_VERSION=1.2.56 PIXMAN_VERSION=0.32.6 -ZLIB_VERSION=1.2.8 +ZLIB_VERSION=1.2.11 CAIRO_URL=http://cairographics.org/releases/cairo-$CAIRO_VERSION.tar.xz FONTCONFIG_URL=http://cgit.freedesktop.org/fontconfig/plain/fontconfig/fontconfig.h @@ -15,7 +15,7 @@ GIFLIB_URL=http://sourceforge.net/projects/giflib/files/giflib-4.x/giflib-$GIFLI LIBJPEG_URL=http://downloads.sourceforge.net/project/libjpeg-turbo/$LIBJPEG_VERSION/libjpeg-turbo-$LIBJPEG_VERSION.tar.gz LIBPNG_URL=http://sourceforge.net/projects/libpng/files/libpng12/$LIBPNG_VERSION/libpng-$LIBPNG_VERSION.tar.xz PIXMAN_URL=http://cairographics.org/releases/pixman-$PIXMAN_VERSION.tar.gz -ZLIB_URL=http://zlib.net/zlib-$ZLIB_VERSION.tar.gz +ZLIB_URL=https://sourceforge.net/projects/libpng/files/zlib/$ZLIB_VERSION/zlib-$ZLIB_VERSION.tar.gz DEPS="$(dirname $0)/../deps" From 48e53b46d5305870bc115ad66625633f3532a57a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Legan=C3=A9s-Combarro=20=27piranna?= Date: Tue, 24 Jan 2017 17:02:33 +0100 Subject: [PATCH 03/22] Add missing libraries (due to Pango?) --- canvas.gypi | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/canvas.gypi b/canvas.gypi index c617cd54d..3f5899568 100644 --- a/canvas.gypi +++ b/canvas.gypi @@ -1,6 +1,13 @@ { 'target_name': 'canvas', - 'include_dirs': [" Date: Sat, 11 Feb 2017 13:51:38 +0100 Subject: [PATCH 04/22] Use statically linked Pango (and dynamic dependencies) --- canvas.gypi | 7 +- static.gyp | 12 +- static/custom-include/cairo/cairo-features.h | 2 +- static/custom-include/pango/config.h | 149 +++++++++++++++++++ static/ensure_deps.sh | 7 +- static/locations.gyp | 1 + static/pango.gyp | 91 +++++++++++ 7 files changed, 258 insertions(+), 11 deletions(-) create mode 100644 static/custom-include/pango/config.h create mode 100644 static/pango.gyp diff --git a/canvas.gypi b/canvas.gypi index 3f5899568..7c8287af0 100644 --- a/canvas.gypi +++ b/canvas.gypi @@ -1,12 +1,7 @@ { 'target_name': 'canvas', - 'libraries': [ - ' header file, and it defines `DIR'. + */ +#define HAVE_DIRENT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the `FcWeightFromOpenType' function. */ +#define HAVE_FCWEIGHTFROMOPENTYPE 1 + +/* Define to 1 if you have the `flockfile' function. */ +#define HAVE_FLOCKFILE 1 + +/* Have FreeType 2 library */ +#define HAVE_FREETYPE 1 + +/* Define to 1 if you have the `getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Whether libthai is available */ +/* #undef HAVE_LIBTHAI */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file, and it defines `DIR'. */ +/* #undef HAVE_NDIR_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtok_r' function. */ +#define HAVE_STRTOK_R 1 + +/* Define to 1 if you have the `sysconf' function. */ +#define HAVE_SYSCONF 1 + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +/* #undef HAVE_SYS_DIR_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_MMAN_H 1 + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +/* #undef HAVE_SYS_NDIR_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Have Xft library */ +/* #undef HAVE_XFT */ + +/* Define to the sub-directory where libtool stores uninstalled libraries. */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +#define PACKAGE "pango" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "http://bugzilla.gnome.org/enter_bug.cgi?product=pango" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "pango" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "pango 1.40.3" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "pango" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "1.40.3" + +/* PANGO binary age */ +#define PANGO_BINARY_AGE 4003 + +/* PANGO interface age */ +#define PANGO_INTERFACE_AGE 3 + +/* PANGO major version */ +#define PANGO_VERSION_MAJOR 1 + +/* PANGO micro version */ +#define PANGO_VERSION_MICRO 3 + +/* PANGO minor version */ +#define PANGO_VERSION_MINOR 40 + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +#define VERSION "1.40.3" + +/* defines how to decorate public symbols while building */ +#define _PANGO_EXTERN __attribute__((visibility("default"))) extern diff --git a/static/ensure_deps.sh b/static/ensure_deps.sh index 895a09d6d..0ebcca7bf 100755 --- a/static/ensure_deps.sh +++ b/static/ensure_deps.sh @@ -5,6 +5,7 @@ FREETYPE_VERSION=2.6 GIFLIB_VERSION=4.2.3 LIBJPEG_VERSION=1.2.1 LIBPNG_VERSION=1.2.56 +PANGO_VERSION=1.40.3 PIXMAN_VERSION=0.32.6 ZLIB_VERSION=1.2.11 @@ -14,6 +15,7 @@ FREETYPE_URL=http://download.savannah.gnu.org/releases/freetype/freetype-$FREETY GIFLIB_URL=http://sourceforge.net/projects/giflib/files/giflib-4.x/giflib-$GIFLIB_VERSION.tar.gz LIBJPEG_URL=http://downloads.sourceforge.net/project/libjpeg-turbo/$LIBJPEG_VERSION/libjpeg-turbo-$LIBJPEG_VERSION.tar.gz LIBPNG_URL=http://sourceforge.net/projects/libpng/files/libpng12/$LIBPNG_VERSION/libpng-$LIBPNG_VERSION.tar.xz +PANGO_URL=http://ftp.gnome.org/pub/GNOME/sources/pango/1.40/pango-$PANGO_VERSION.tar.xz PIXMAN_URL=http://cairographics.org/releases/pixman-$PIXMAN_VERSION.tar.gz ZLIB_URL=https://sourceforge.net/projects/libpng/files/zlib/$ZLIB_VERSION/zlib-$ZLIB_VERSION.tar.gz @@ -55,13 +57,14 @@ fetch $FREETYPE_URL freetype && fetch $GIFLIB_URL giflib && fetch $LIBJPEG_URL libjpeg && fetch_xz $LIBPNG_URL libpng && +fetch_xz $PANGO_URL pango && fetch $PIXMAN_URL pixman && fetch $ZLIB_URL zlib || exit $? if [ ! -d "cairo" ] || [ ! -d "freetype" ] || [ ! -d "giflib" ] \ -|| [ ! -d "libjpeg" ] || [ ! -d "libpng" ] || [ ! -d "pixman" ] \ -|| [ ! -d "zlib" ]; then +|| [ ! -d "libjpeg" ] || [ ! -d "libpng" ] || [ ! -d "pango" ] \ +|| [ ! -d "pixman" ] || [ ! -d "zlib" ]; then echo false else echo true diff --git a/static/locations.gyp b/static/locations.gyp index aa1f98413..365f82f21 100644 --- a/static/locations.gyp +++ b/static/locations.gyp @@ -5,6 +5,7 @@ 'gif_root%': "../deps/giflib/", 'jpeg_root%': "../deps/libjpeg/", 'libpng_root%': "../deps/libpng/", + 'pango_root%': "../deps/pango/", 'pixman_root%': "../deps/pixman/", 'zlib_root%': "../deps/zlib/", } diff --git a/static/pango.gyp b/static/pango.gyp new file mode 100644 index 000000000..cfb0e4d52 --- /dev/null +++ b/static/pango.gyp @@ -0,0 +1,91 @@ +{ + 'includes': ['common.gyp', 'locations.gyp'], + 'targets': [{ + 'target_name': 'pango/mini-fribidi', + 'type': 'static_library', + 'include_dirs': [ + ' Date: Sat, 11 Feb 2017 15:29:02 +0100 Subject: [PATCH 05/22] Use static `harfbuzz` library --- static/custom-include/harfbuzz/config.h | 203 ++++++++++++++++++++++++ static/ensure_deps.sh | 31 ++-- static/harfbuzz.gyp | 62 ++++++++ static/locations.gyp | 1 + static/pango.gyp | 3 +- 5 files changed, 289 insertions(+), 11 deletions(-) create mode 100644 static/custom-include/harfbuzz/config.h create mode 100644 static/harfbuzz.gyp diff --git a/static/custom-include/harfbuzz/config.h b/static/custom-include/harfbuzz/config.h new file mode 100644 index 000000000..adbffa9b9 --- /dev/null +++ b/static/custom-include/harfbuzz/config.h @@ -0,0 +1,203 @@ +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* The normal alignment of `struct{char;}', in bytes. */ +#define ALIGNOF_STRUCT_CHAR__ 1 + +/* Define to 1 if you have the `atexit' function. */ +#define HAVE_ATEXIT 1 + +/* Have cairo graphics library */ +#define HAVE_CAIRO 1 + +/* Have cairo-ft support in cairo graphics library */ +#define HAVE_CAIRO_FT 1 + +/* Have Core Text backend */ +/* #undef HAVE_CORETEXT */ + +/* Have DirectWrite library */ +/* #undef HAVE_DIRECTWRITE */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_DWRITE_H */ + +/* Have simple TrueType Layout backend */ +#define HAVE_FALLBACK 1 + +/* Have fontconfig library */ +#define HAVE_FONTCONFIG 1 + +/* Have FreeType 2 library */ +#define HAVE_FREETYPE 1 + +/* Define to 1 if you have the `FT_Get_Var_Blend_Coordinates' function. */ +/* #undef HAVE_FT_GET_VAR_BLEND_COORDINATES */ + +/* Define to 1 if you have the `getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 + +/* Have glib2 library */ +#define HAVE_GLIB 1 + +/* Have gobject2 library */ +/* #undef HAVE_GOBJECT */ + +/* Have Graphite2 library */ +/* #undef HAVE_GRAPHITE2 */ + +/* Have ICU library */ +#define HAVE_ICU 1 + +/* Use hb-icu Unicode callbacks */ +/* #undef HAVE_ICU_BUILTIN */ + +/* Have Intel __sync_* atomic primitives */ +#define HAVE_INTEL_ATOMIC_PRIMITIVES 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `isatty' function. */ +#define HAVE_ISATTY 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `mmap' function. */ +#define HAVE_MMAP 1 + +/* Define to 1 if you have the `mprotect' function. */ +#define HAVE_MPROTECT 1 + +/* Have native OpenType Layout backend */ +#define HAVE_OT 1 + +/* Have POSIX threads */ +#define HAVE_PTHREAD 1 + +/* Have PTHREAD_PRIO_INHERIT. */ +#define HAVE_PTHREAD_PRIO_INHERIT 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SCHED_H */ + +/* Have sched_yield */ +/* #undef HAVE_SCHED_YIELD */ + +/* Have Solaris __machine_*_barrier and atomic_* operations */ +/* #undef HAVE_SOLARIS_ATOMIC_OPS */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `sysconf' function. */ +#define HAVE_SYSCONF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_MMAN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Have UCDN Unicode functions */ +#define HAVE_UCDN 1 + +/* Have Uniscribe library */ +/* #undef HAVE_UNISCRIBE */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_USP10_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_WINDOWS_H */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "https://github.com/behdad/harfbuzz/issues/new" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "HarfBuzz" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "HarfBuzz 1.4.2" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "harfbuzz" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "http://harfbuzz.org/" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "1.4.2" + +/* Define to necessary symbol if this constant uses a non-standard name on + your system. */ +/* #undef PTHREAD_CREATE_JOINABLE */ + +/* 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 + + +/* 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 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 */ diff --git a/static/ensure_deps.sh b/static/ensure_deps.sh index 0ebcca7bf..3f87e8e7e 100755 --- a/static/ensure_deps.sh +++ b/static/ensure_deps.sh @@ -3,6 +3,7 @@ CAIRO_VERSION=1.12.18 FREETYPE_VERSION=2.6 GIFLIB_VERSION=4.2.3 +HARFBUZZ_VERSION=1.4.2 LIBJPEG_VERSION=1.2.1 LIBPNG_VERSION=1.2.56 PANGO_VERSION=1.40.3 @@ -13,6 +14,7 @@ CAIRO_URL=http://cairographics.org/releases/cairo-$CAIRO_VERSION.tar.xz FONTCONFIG_URL=http://cgit.freedesktop.org/fontconfig/plain/fontconfig/fontconfig.h FREETYPE_URL=http://download.savannah.gnu.org/releases/freetype/freetype-$FREETYPE_VERSION.tar.gz GIFLIB_URL=http://sourceforge.net/projects/giflib/files/giflib-4.x/giflib-$GIFLIB_VERSION.tar.gz +HARFBUZZ_URL=https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-$HARFBUZZ_VERSION.tar.bz2 LIBJPEG_URL=http://downloads.sourceforge.net/project/libjpeg-turbo/$LIBJPEG_VERSION/libjpeg-turbo-$LIBJPEG_VERSION.tar.gz LIBPNG_URL=http://sourceforge.net/projects/libpng/files/libpng12/$LIBPNG_VERSION/libpng-$LIBPNG_VERSION.tar.xz PANGO_URL=http://ftp.gnome.org/pub/GNOME/sources/pango/1.40/pango-$PANGO_VERSION.tar.xz @@ -34,6 +36,14 @@ fetch() fi } +fetch_bz2() +{ + if [ ! -d $2 ]; then + mkdir -p $2 && + curl -s -L $1 | tar xjf - -C $2 --strip-components=1 || exit $? + fi +} + fetch_xz() { if [ ! -d $2 ]; then @@ -53,18 +63,19 @@ if [ ! -d fontconfig ]; then curl -s -L $FONTCONFIG_URL >> fontconfig/fontconfig.h || exit $? fi -fetch $FREETYPE_URL freetype && -fetch $GIFLIB_URL giflib && -fetch $LIBJPEG_URL libjpeg && -fetch_xz $LIBPNG_URL libpng && -fetch_xz $PANGO_URL pango && -fetch $PIXMAN_URL pixman && -fetch $ZLIB_URL zlib || exit $? +fetch $FREETYPE_URL freetype && +fetch $GIFLIB_URL giflib && +fetch_bz2 $HARFBUZZ_URL harfbuzz && +fetch $LIBJPEG_URL libjpeg && +fetch_xz $LIBPNG_URL libpng && +fetch_xz $PANGO_URL pango && +fetch $PIXMAN_URL pixman && +fetch $ZLIB_URL zlib || exit $? -if [ ! -d "cairo" ] || [ ! -d "freetype" ] || [ ! -d "giflib" ] \ -|| [ ! -d "libjpeg" ] || [ ! -d "libpng" ] || [ ! -d "pango" ] \ -|| [ ! -d "pixman" ] || [ ! -d "zlib" ]; then +if [ ! -d "cairo" ] || [ ! -d "freetype" ] || [ ! -d "giflib" ] \ +|| [ ! -d "harfbuzz" ] || [ ! -d "libjpeg" ] || [ ! -d "libpng" ] \ +|| [ ! -d "pango" ] || [ ! -d "pixman" ] || [ ! -d "zlib" ]; then echo false else echo true diff --git a/static/harfbuzz.gyp b/static/harfbuzz.gyp new file mode 100644 index 000000000..91a912769 --- /dev/null +++ b/static/harfbuzz.gyp @@ -0,0 +1,62 @@ +{ + 'includes': ['common.gyp', 'locations.gyp'], + 'targets': [{ + 'target_name': 'hb-ucdn', + 'type': 'static_library', + 'include_dirs': ['<(harfbuzz_root)src/hb-ucdn'], + 'defines': ['HAVE_CONFIG_H'], + 'sources': [ + "<(harfbuzz_root)src/hb-ucdn/ucdn.c" + ] + }, { + 'target_name': 'harfbuzz', + 'type': 'static_library', + 'include_dirs': [ + ' Date: Sun, 12 Feb 2017 13:29:44 +0100 Subject: [PATCH 06/22] Use static `glib` library --- static.gyp | 8 +- static/custom-include/glib/config.h | 795 ++++++++++++++++++++++++ static/custom-include/glib/glibconfig.h | 196 ++++++ static/ensure_deps.sh | 10 +- static/glib.gyp | 195 ++++++ static/harfbuzz.gyp | 7 +- static/locations.gyp | 1 + static/pango.gyp | 8 +- 8 files changed, 1211 insertions(+), 9 deletions(-) create mode 100644 static/custom-include/glib/config.h create mode 100644 static/custom-include/glib/glibconfig.h create mode 100644 static/glib.gyp diff --git a/static.gyp b/static.gyp index 8995d880a..14984686b 100644 --- a/static.gyp +++ b/static.gyp @@ -9,7 +9,7 @@ 'includes': ['canvas.gypi'], 'libraries': [ ' and it should be used (not on Ultrix). + */ +#define HAVE_ALLOCA_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ATTR_XATTR_H */ + +/* Define to 1 if you have the `bind_textdomain_codeset' function. */ +#define HAVE_BIND_TEXTDOMAIN_CODESET 1 + +/* Define if you have a version of the snprintf function with semantics as + specified by the ISO C99 standard. */ +#define HAVE_C99_SNPRINTF 1 + +/* Define if you have a version of the vsnprintf function with semantics as + specified by the ISO C99 standard. */ +#define HAVE_C99_VSNPRINTF 1 + +/* define to 1 if Carbon is available */ +/* #undef HAVE_CARBON */ + +/* Define to 1 if you have the `clock_gettime' function. */ +#define HAVE_CLOCK_GETTIME 1 + +/* define to 1 if Cocoa is available */ +/* #undef HAVE_COCOA */ + +/* Have nl_langinfo (CODESET) */ +#define HAVE_CODESET 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_CRT_EXTERNS_H */ + +/* Define if dbus-1 is available */ +/* #undef HAVE_DBUS1 */ + +/* Define to 1 if you have the `dcgettext' function. */ +#define HAVE_DCGETTEXT 1 + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +#define HAVE_DIRENT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if using dtrace probes. */ +/* #undef HAVE_DTRACE */ + +/* Define to 1 if you have the `endmntent' function. */ +#define HAVE_ENDMNTENT 1 + +/* Define to 1 if you have the `endservent' function. */ +#define HAVE_ENDSERVENT 1 + +/* we have the eventfd(2) system call */ +#define HAVE_EVENTFD 1 + +/* Define to 1 if you have the `fallocate' function. */ +#define HAVE_FALLOCATE 1 + +/* Define if we have FAM */ +/* #undef HAVE_FAM */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_FAM_H */ + +/* Define if we have FAMNoExists in fam */ +/* #undef HAVE_FAM_NO_EXISTS */ + +/* Define to 1 if you have the `fchmod' function. */ +#define HAVE_FCHMOD 1 + +/* Define to 1 if you have the `fchown' function. */ +#define HAVE_FCHOWN 1 + +/* Define to 1 if you have the `fdwalk' function. */ +/* #undef HAVE_FDWALK */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FSTAB_H 1 + +/* Define to 1 if you have the `fsync' function. */ +#define HAVE_FSYNC 1 + +/* we have the futex(2) system call */ +#define HAVE_FUTEX 1 + +/* Define to 1 if you have the `getc_unlocked' function. */ +#define HAVE_GETC_UNLOCKED 1 + +/* Define to 1 if you have the `getfsstat' function. */ +/* #undef HAVE_GETFSSTAT */ + +/* Define to 1 if you have the `getgrgid_r' function. */ +#define HAVE_GETGRGID_R 1 + +/* Define to 1 if you have the `getmntent_r' function. */ +#define HAVE_GETMNTENT_R 1 + +/* Define to 1 if you have the `getprotobyname_r' function. */ +#define HAVE_GETPROTOBYNAME_R 1 + +/* Define to 1 if you have the `getpwuid_r' function. */ +#define HAVE_GETPWUID_R 1 + +/* Define to 1 if you have the `getresuid' function. */ +#define HAVE_GETRESUID 1 + +/* Define if the GNU gettext() function is already present or preinstalled. */ +#define HAVE_GETTEXT 1 + +/* Define to 1 if you have the `getvfsstat' function. */ +/* #undef HAVE_GETVFSSTAT */ + +/* Define to 1 if you have the `gmtime_r' function. */ +#define HAVE_GMTIME_R 1 + +/* define to use system printf */ +#define HAVE_GOOD_PRINTF 1 + +/* Define to 1 if you have the `hasmntopt' function. */ +#define HAVE_HASMNTOPT 1 + +/* Define to 1 if you have the `if_indextoname' function. */ +#define HAVE_IF_INDEXTONAME 1 + +/* Define to 1 if you have the `if_nametoindex' function. */ +#define HAVE_IF_NAMETOINDEX 1 + +/* Define to 1 if you have the `inotify_init1' function. */ +#define HAVE_INOTIFY_INIT1 1 + +/* define to support printing 64-bit integers with format I64 */ +/* #undef HAVE_INT64_AND_I64 */ + +/* Define if you have the 'intmax_t' type in or . */ +#define HAVE_INTMAX_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define if exists, doesn't clash with , and + declares uintmax_t. */ +#define HAVE_INTTYPES_H_WITH_UINTMAX 1 + +/* Define if we have struct ip_mreqn */ +#define HAVE_IP_MREQN /**/ + +/* Define to 1 if you have the `issetugid' function. */ +/* #undef HAVE_ISSETUGID */ + +/* Define to 1 if you have the `kevent' function. */ +/* #undef HAVE_KEVENT */ + +/* Define to 1 if you have the `kqueue' function. */ +/* #undef HAVE_KQUEUE */ + +/* Define if you have and nl_langinfo(CODESET). */ +#define HAVE_LANGINFO_CODESET 1 + +/* Have nl_langinfo (_NL_CTYPE_OUTDIGITn_MB) */ +#define HAVE_LANGINFO_OUTDIGIT 1 + +/* Have nl_langinfo (PM_STR) */ +#define HAVE_LANGINFO_TIME 1 + +/* Define to 1 if you have the `lchmod' function. */ +/* #undef HAVE_LCHMOD */ + +/* Define to 1 if you have the `lchown' function. */ +#define HAVE_LCHOWN 1 + +/* Define if your file defines LC_MESSAGES. */ +#define HAVE_LC_MESSAGES 1 + +/* Define if you have the __libc_enable_secure variable (GNU libc, eglibc) */ +#define HAVE_LIBC_ENABLE_SECURE 1 + +/* Define if libelf is available */ +/* #undef HAVE_LIBELF */ + +/* Define if libmount is available */ +/* #undef HAVE_LIBMOUNT */ + +/* Define to 1 if you have the header file. */ +#define HAVE_LINUX_MAGIC_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if you have the `localtime_r' function. */ +#define HAVE_LOCALTIME_R 1 + +/* Define if you have the 'long double' type. */ +#define HAVE_LONG_DOUBLE 1 + +/* Define if you have the 'long long' type. */ +#define HAVE_LONG_LONG 1 + +/* define if system printf can print long long */ +#define HAVE_LONG_LONG_FORMAT 1 + +/* Define to 1 if you have the `lstat' function. */ +#define HAVE_LSTAT 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_MACH_MACH_TIME_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MALLOC_H 1 + +/* Define to 1 if you have the `mbrtowc' function. */ +#define HAVE_MBRTOWC 1 + +/* Define to 1 if you have the `memalign' function. */ +#define HAVE_MEMALIGN 1 + +/* Define to 1 if you have the `memmem' function. */ +#define HAVE_MEMMEM 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `mmap' function. */ +#define HAVE_MMAP 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MNTENT_H 1 + +/* Define to 1 if you have the header file, and it defines `DIR'. */ +/* #undef HAVE_NDIR_H */ + +/* We have AF_NETLINK sockets */ +#define HAVE_NETLINK 1 + +/* Define to 1 if you have the `newlocale' function. */ +#define HAVE_NEWLOCALE 1 + +/* open option O_DIRECTORY */ +#define HAVE_OPEN_O_DIRECTORY 1 + +/* Define to 1 if you have the `pipe2' function. */ +#define HAVE_PIPE2 1 + +/* Define to 1 if you have the `poll' function. */ +#define HAVE_POLL 1 + +/* Define to 1 if you have the `posix_memalign' function. */ +#define HAVE_POSIX_MEMALIGN 1 + +/* Define to 1 if you have the `prlimit' function. */ +#define HAVE_PRLIMIT 1 + +/* Have function pthread_attr_setstacksize */ +#define HAVE_PTHREAD_ATTR_SETSTACKSIZE 1 + +/* Have function pthread_condattr_setclock */ +#define HAVE_PTHREAD_CONDATTR_SETCLOCK 1 + +/* Have function pthread_cond_timedwait_relative_np */ +/* #undef HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE_NP */ + +/* Have function pthread_setname_np(const char*) */ +/* #undef HAVE_PTHREAD_SETNAME_NP_WITHOUT_TID */ + +/* Have function pthread_setname_np(pthread_t, const char*) */ +#define HAVE_PTHREAD_SETNAME_NP_WITH_TID 1 + +/* Define to 1 if the system has the type `ptrdiff_t'. */ +#define HAVE_PTRDIFF_T 1 + +/* Define to 1 if you have the `readlink' function. */ +#define HAVE_READLINK 1 + +/* Define to 1 if you have the `recvmmsg' function. */ +#define HAVE_RECVMMSG 1 + +/* Define to 1 if you have the 'res_init' function. */ +#define HAVE_RES_INIT 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SCHED_H 1 + +/* Define to 1 if libselinux is available */ +#define HAVE_SELINUX 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SELINUX_SELINUX_H 1 + +/* Define to 1 if you have the `sendmmsg' function. */ +#define HAVE_SENDMMSG 1 + +/* Define to 1 if you have the `setenv' function. */ +#define HAVE_SETENV 1 + +/* Define to 1 if you have the `setmntent' function. */ +#define HAVE_SETMNTENT 1 + +/* Define if you have the 'sig_atomic_t' type. */ +#define HAVE_SIG_ATOMIC_T 1 + +/* Define to 1 if you have the `snprintf' function. */ +#define HAVE_SNPRINTF 1 + +/* Define to 1 if you have the `splice' function. */ +#define HAVE_SPLICE 1 + +/* Define to 1 if you have the `statfs' function. */ +#define HAVE_STATFS 1 + +/* Define to 1 if you have the `statvfs' function. */ +#define HAVE_STATVFS 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define if exists, doesn't clash with , and declares + uintmax_t. */ +#define HAVE_STDINT_H_WITH_UINTMAX 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `stpcpy' function. */ +#define HAVE_STPCPY 1 + +/* Define to 1 if you have the `strcasecmp' function. */ +#define HAVE_STRCASECMP 1 + +/* Define to 1 if you have the `strerror_r' function. */ +#define HAVE_STRERROR_R 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Have functions strlcpy and strlcat */ +/* #undef HAVE_STRLCPY */ + +/* Define to 1 if you have the `strncasecmp' function. */ +#define HAVE_STRNCASECMP 1 + +/* Define to 1 if you have the `strnlen' function. */ +#define HAVE_STRNLEN 1 + +/* Define to 1 if you have the `strsignal' function. */ +#define HAVE_STRSIGNAL 1 + +/* Define to 1 if you have the `strtod_l' function. */ +#define HAVE_STRTOD_L 1 + +/* Define to 1 if you have the `strtoll_l' function. */ +#define HAVE_STRTOLL_L 1 + +/* Define to 1 if you have the `strtoull_l' function. */ +#define HAVE_STRTOULL_L 1 + +/* Define to 1 if `d_type' is a member of `struct dirent'. */ +#define HAVE_STRUCT_DIRENT_D_TYPE 1 + +/* Define to 1 if `f_bavail' is a member of `struct statfs'. */ +#define HAVE_STRUCT_STATFS_F_BAVAIL 1 + +/* Define to 1 if `f_fstypename' is a member of `struct statfs'. */ +/* #undef HAVE_STRUCT_STATFS_F_FSTYPENAME */ + +/* Define to 1 if `f_basetype' is a member of `struct statvfs'. */ +/* #undef HAVE_STRUCT_STATVFS_F_BASETYPE */ + +/* Define to 1 if `f_fstypename' is a member of `struct statvfs'. */ +/* #undef HAVE_STRUCT_STATVFS_F_FSTYPENAME */ + +/* Define to 1 if `st_atimensec' is a member of `struct stat'. */ +/* #undef HAVE_STRUCT_STAT_ST_ATIMENSEC */ + +/* Define to 1 if `st_atim.tv_nsec' is a member of `struct stat'. */ +#define HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC 1 + +/* Define to 1 if `st_birthtim' is a member of `struct stat'. */ +/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIM */ + +/* Define to 1 if `st_birthtime' is a member of `struct stat'. */ +/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */ + +/* Define to 1 if `st_birthtimensec' is a member of `struct stat'. */ +/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC */ + +/* Define to 1 if `st_birthtim.tv_nsec' is a member of `struct stat'. */ +/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC */ + +/* Define to 1 if `st_blksize' is a member of `struct stat'. */ +#define HAVE_STRUCT_STAT_ST_BLKSIZE 1 + +/* Define to 1 if `st_blocks' is a member of `struct stat'. */ +#define HAVE_STRUCT_STAT_ST_BLOCKS 1 + +/* Define to 1 if `st_ctimensec' is a member of `struct stat'. */ +/* #undef HAVE_STRUCT_STAT_ST_CTIMENSEC */ + +/* Define to 1 if `st_ctim.tv_nsec' is a member of `struct stat'. */ +#define HAVE_STRUCT_STAT_ST_CTIM_TV_NSEC 1 + +/* Define to 1 if `st_mtimensec' is a member of `struct stat'. */ +/* #undef HAVE_STRUCT_STAT_ST_MTIMENSEC */ + +/* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */ +#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 + +/* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */ +#define HAVE_STRUCT_TM_TM_GMTOFF 1 + +/* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */ +/* #undef HAVE_STRUCT_TM___TM_GMTOFF */ + +/* Define to 1 if you have the `symlink' function. */ +#define HAVE_SYMLINK 1 + +/* Define to 1 if you have the `sysctlbyname' function. */ +/* #undef HAVE_SYSCTLBYNAME */ + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +/* #undef HAVE_SYS_DIR_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_EVENT_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_FILIO_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_INOTIFY_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_MNTCTL_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_MNTTAB_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_MOUNT_H 1 + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +/* #undef HAVE_SYS_NDIR_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* found fd_set in sys/select.h */ +#define HAVE_SYS_SELECT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STATFS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STATVFS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SYSCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_VFSTAB_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_VFS_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_VMOUNT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_XATTR_H 1 + +/* Define to 1 if you have the `timegm' function. */ +#define HAVE_TIMEGM 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define if your printf function family supports positional parameters as + specified by Unix98. */ +#define HAVE_UNIX98_PRINTF 1 + +/* Define to 1 if you have the `unsetenv' function. */ +#define HAVE_UNSETENV 1 + +/* Define to 1 if you have the `uselocale' function. */ +#define HAVE_USELOCALE 1 + +/* Define to 1 if you have the `utimes' function. */ +#define HAVE_UTIMES 1 + +/* Define to 1 if you have the `valloc' function. */ +#define HAVE_VALLOC 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_VALUES_H 1 + +/* Define to 1 if you have the `vasprintf' function. */ +#define HAVE_VASPRINTF 1 + +/* Define to 1 if you have the `vsnprintf' function. */ +#define HAVE_VSNPRINTF 1 + +/* Define if you have the 'wchar_t' type. */ +#define HAVE_WCHAR_T 1 + +/* Define to 1 if you have the `wcrtomb' function. */ +#define HAVE_WCRTOMB 1 + +/* Define to 1 if you have the `wcslen' function. */ +#define HAVE_WCSLEN 1 + +/* Define to 1 if you have the `wcsnlen' function. */ +#define HAVE_WCSNLEN 1 + +/* Define if you have the 'wint_t' type. */ +#define HAVE_WINT_T 1 + +/* Define to 1 if xattr is available */ +#define HAVE_XATTR 1 + +/* Define to 1 if xattr API uses XATTR_NOFOLLOW */ +/* #undef HAVE_XATTR_NOFOLLOW */ + +/* Define to 1 if you have the header file. */ +#define HAVE_XLOCALE_H 1 + +/* Define to 1 if you have the `_NSGetEnviron' function. */ +/* #undef HAVE__NSGETENVIRON */ + +/* Define to the sub-directory where libtool stores uninstalled libraries. */ +#define LT_OBJDIR ".libs/" + +/* Define to 1 if `major', `minor', and `makedev' are declared in . + */ +/* #undef MAJOR_IN_MKDEV */ + +/* Define to 1 if `major', `minor', and `makedev' are declared in + . */ +/* #undef MAJOR_IN_SYSMACROS */ + +/* didn't find fd_set */ +/* #undef NO_FD_SET */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "http://bugzilla.gnome.org/enter_bug.cgi?product=glib" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "glib" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "glib 2.50.2" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "glib" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "2.50.2" + +/* define if posix_memalign() can allocate any size */ +#define POSIX_MEMALIGN_WITH_COMPLIANT_ALLOCS 1 + +/* The size of `char', as computed by sizeof. */ +#define SIZEOF_CHAR 1 + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* The size of `long', as computed by sizeof. */ +#define SIZEOF_LONG 8 + +/* The size of `long long', as computed by sizeof. */ +#define SIZEOF_LONG_LONG 8 + +/* The size of `short', as computed by sizeof. */ +#define SIZEOF_SHORT 2 + +/* The size of `size_t', as computed by sizeof. */ +#define SIZEOF_SIZE_T 8 + +/* The size of `ssize_t', as computed by sizeof. */ +#define SIZEOF_SSIZE_T 8 + +/* The size of `void *', as computed by sizeof. */ +#define SIZEOF_VOID_P 8 + +/* The size of `__int64', as computed by sizeof. */ +#define SIZEOF___INT64 0 + +/* If using the C implementation of alloca, define if you know the + direction of stack growth for your system; otherwise it will be + automatically deduced at runtime. + STACK_DIRECTION > 0 => grows toward higher addresses + STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +/* #undef STACK_DIRECTION */ + +/* Number of arguments to statfs() */ +#define STATFS_ARGS 2 + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Use no threads */ +/* #undef THREADS_NONE */ + +/* Use pthreads */ +#define THREADS_POSIX 1 + +/* Use w32 threads */ +/* #undef THREADS_WIN32 */ + +/* Using GNU libiconv */ +/* #undef USE_LIBICONV_GNU */ + +/* Using a native implementation of iconv in a separate library */ +/* #undef USE_LIBICONV_NATIVE */ + +/* Define to use statfs() */ +#define USE_STATFS 1 + +/* Define to use statvfs() */ +/* #undef USE_STATVFS */ + +/* 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 + + +/* using the system-supplied PCRE library */ +/* #undef USE_SYSTEM_PCRE */ + +/* 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 + +/* 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 */ + +/* defines how to decorate public symbols while building */ +#define _GLIB_EXTERN __attribute__((visibility("default"))) extern + +/* 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 */ + +/* Target the Windows XP API */ +/* #undef _WIN32_WINNT */ + +/* Needed to get declarations for msg_control and msg_controllen on Solaris */ +/* #undef _XOPEN_SOURCE */ + +/* Needed to get declarations for msg_control and msg_controllen on Solaris */ +/* #undef _XOPEN_SOURCE_EXTENDED */ + +/* Needed to get declarations for msg_control and msg_controllen on Solaris */ +#define __EXTENSIONS__ 1 + +/* compiler supports atomic operations */ +/* #undef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to long or long long if and don't define. */ +/* #undef intmax_t */ + +/* Define to empty if the C compiler doesn't support this keyword. */ +/* #undef signed */ + +/* Define to `unsigned int' if does not define. */ +/* #undef size_t */ diff --git a/static/custom-include/glib/glibconfig.h b/static/custom-include/glib/glibconfig.h new file mode 100644 index 000000000..33377c3e6 --- /dev/null +++ b/static/custom-include/glib/glibconfig.h @@ -0,0 +1,196 @@ +/* glibconfig.h + * + * This is a generated file. Please modify 'configure.ac' + */ + +#ifndef __GLIBCONFIG_H__ +#define __GLIBCONFIG_H__ + +#include + +#include +#include +#define GLIB_HAVE_ALLOCA_H + +/* Specifies that GLib's g_print*() functions wrap the + * system printf functions. This is useful to know, for example, + * when using glibc's register_printf_function(). + */ +#define GLIB_USING_SYSTEM_PRINTF + +G_BEGIN_DECLS + +#define G_MINFLOAT FLT_MIN +#define G_MAXFLOAT FLT_MAX +#define G_MINDOUBLE DBL_MIN +#define G_MAXDOUBLE DBL_MAX +#define G_MINSHORT SHRT_MIN +#define G_MAXSHORT SHRT_MAX +#define G_MAXUSHORT USHRT_MAX +#define G_MININT INT_MIN +#define G_MAXINT INT_MAX +#define G_MAXUINT UINT_MAX +#define G_MINLONG LONG_MIN +#define G_MAXLONG LONG_MAX +#define G_MAXULONG ULONG_MAX + +typedef signed char gint8; +typedef unsigned char guint8; +typedef signed short gint16; +typedef unsigned short guint16; +#define G_GINT16_MODIFIER "h" +#define G_GINT16_FORMAT "hi" +#define G_GUINT16_FORMAT "hu" +typedef signed int gint32; +typedef unsigned int guint32; +#define G_GINT32_MODIFIER "" +#define G_GINT32_FORMAT "i" +#define G_GUINT32_FORMAT "u" +#define G_HAVE_GINT64 1 /* deprecated, always true */ + +typedef signed long gint64; +typedef unsigned long guint64; + +#define G_GINT64_CONSTANT(val) (val##L) +#define G_GUINT64_CONSTANT(val) (val##UL) +#define G_GINT64_MODIFIER "l" +#define G_GINT64_FORMAT "li" +#define G_GUINT64_FORMAT "lu" + +#define GLIB_SIZEOF_VOID_P 8 +#define GLIB_SIZEOF_LONG 8 +#define GLIB_SIZEOF_SIZE_T 8 +#define GLIB_SIZEOF_SSIZE_T 8 + +typedef signed long gssize; +typedef unsigned long gsize; +#define G_GSIZE_MODIFIER "l" +#define G_GSSIZE_MODIFIER "l" +#define G_GSIZE_FORMAT "lu" +#define G_GSSIZE_FORMAT "li" + +#define G_MAXSIZE G_MAXULONG +#define G_MINSSIZE G_MINLONG +#define G_MAXSSIZE G_MAXLONG + +typedef gint64 goffset; +#define G_MINOFFSET G_MININT64 +#define G_MAXOFFSET G_MAXINT64 + +#define G_GOFFSET_MODIFIER G_GINT64_MODIFIER +#define G_GOFFSET_FORMAT G_GINT64_FORMAT +#define G_GOFFSET_CONSTANT(val) G_GINT64_CONSTANT(val) + +#define G_POLLFD_FORMAT "%d" + + +#define GPOINTER_TO_INT(p) ((gint) (glong) (p)) +#define GPOINTER_TO_UINT(p) ((guint) (gulong) (p)) + +#define GINT_TO_POINTER(i) ((gpointer) (glong) (i)) +#define GUINT_TO_POINTER(u) ((gpointer) (gulong) (u)) + +typedef signed long gintptr; +typedef unsigned long guintptr; + +#define G_GINTPTR_MODIFIER "l" +#define G_GINTPTR_FORMAT "li" +#define G_GUINTPTR_FORMAT "lu" +#ifndef G_DISABLE_DEPRECATED +#define g_ATEXIT(proc) (atexit (proc)) +#define g_memmove(dest,src,len) G_STMT_START { memmove ((dest), (src), (len)); } G_STMT_END +#endif + +#define GLIB_MAJOR_VERSION 2 +#define GLIB_MINOR_VERSION 50 +#define GLIB_MICRO_VERSION 2 + +#define G_OS_UNIX + + +#define G_VA_COPY va_copy +#define G_VA_COPY_AS_ARRAY 1 + +#ifndef __cplusplus +# define G_HAVE_ISO_VARARGS 1 +#endif +#ifdef __cplusplus +# define G_HAVE_ISO_VARARGS 1 +#endif + +/* gcc-2.95.x supports both gnu style and ISO varargs, but if -ansi + * is passed ISO vararg support is turned off, and there is no work + * around to turn it on, so we unconditionally turn it off. + */ +#if __GNUC__ == 2 && __GNUC_MINOR__ == 95 +# undef G_HAVE_ISO_VARARGS +#endif + +#define G_HAVE_GNUC_VARARGS 1 +#define G_HAVE_GROWING_STACK 0 + +#define G_HAVE_GNUC_VISIBILITY 1 +#if defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590) +#define G_GNUC_INTERNAL __attribute__((visibility("hidden"))) +#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550) +#define G_GNUC_INTERNAL __hidden +#elif defined (__GNUC__) && defined (G_HAVE_GNUC_VISIBILITY) +#define G_GNUC_INTERNAL __attribute__((visibility("hidden"))) +#else +#define G_GNUC_INTERNAL +#endif + +#define G_THREADS_ENABLED +#define G_THREADS_IMPL_POSIX + +#define G_ATOMIC_LOCK_FREE + +#define GINT16_TO_LE(val) ((gint16) (val)) +#define GUINT16_TO_LE(val) ((guint16) (val)) +#define GINT16_TO_BE(val) ((gint16) GUINT16_SWAP_LE_BE (val)) +#define GUINT16_TO_BE(val) (GUINT16_SWAP_LE_BE (val)) +#define GINT32_TO_LE(val) ((gint32) (val)) +#define GUINT32_TO_LE(val) ((guint32) (val)) +#define GINT32_TO_BE(val) ((gint32) GUINT32_SWAP_LE_BE (val)) +#define GUINT32_TO_BE(val) (GUINT32_SWAP_LE_BE (val)) +#define GINT64_TO_LE(val) ((gint64) (val)) +#define GUINT64_TO_LE(val) ((guint64) (val)) +#define GINT64_TO_BE(val) ((gint64) GUINT64_SWAP_LE_BE (val)) +#define GUINT64_TO_BE(val) (GUINT64_SWAP_LE_BE (val)) +#define GLONG_TO_LE(val) ((glong) GINT64_TO_LE (val)) +#define GULONG_TO_LE(val) ((gulong) GUINT64_TO_LE (val)) +#define GLONG_TO_BE(val) ((glong) GINT64_TO_BE (val)) +#define GULONG_TO_BE(val) ((gulong) GUINT64_TO_BE (val)) +#define GINT_TO_LE(val) ((gint) GINT32_TO_LE (val)) +#define GUINT_TO_LE(val) ((guint) GUINT32_TO_LE (val)) +#define GINT_TO_BE(val) ((gint) GINT32_TO_BE (val)) +#define GUINT_TO_BE(val) ((guint) GUINT32_TO_BE (val)) +#define GSIZE_TO_LE(val) ((gsize) GUINT64_TO_LE (val)) +#define GSSIZE_TO_LE(val) ((gssize) GINT64_TO_LE (val)) +#define GSIZE_TO_BE(val) ((gsize) GUINT64_TO_BE (val)) +#define GSSIZE_TO_BE(val) ((gssize) GINT64_TO_BE (val)) +#define G_BYTE_ORDER G_LITTLE_ENDIAN + +#define GLIB_SYSDEF_POLLIN =1 +#define GLIB_SYSDEF_POLLOUT =4 +#define GLIB_SYSDEF_POLLPRI =2 +#define GLIB_SYSDEF_POLLHUP =16 +#define GLIB_SYSDEF_POLLERR =8 +#define GLIB_SYSDEF_POLLNVAL =32 + +#define G_MODULE_SUFFIX "so" + +typedef int GPid; +#define G_PID_FORMAT "i" + +#define GLIB_SYSDEF_AF_UNIX 1 +#define GLIB_SYSDEF_AF_INET 2 +#define GLIB_SYSDEF_AF_INET6 10 + +#define GLIB_SYSDEF_MSG_OOB 1 +#define GLIB_SYSDEF_MSG_PEEK 2 +#define GLIB_SYSDEF_MSG_DONTROUTE 4 + +G_END_DECLS + +#endif /* __GLIBCONFIG_H__ */ diff --git a/static/ensure_deps.sh b/static/ensure_deps.sh index 3f87e8e7e..8b7c8c47e 100755 --- a/static/ensure_deps.sh +++ b/static/ensure_deps.sh @@ -3,6 +3,7 @@ CAIRO_VERSION=1.12.18 FREETYPE_VERSION=2.6 GIFLIB_VERSION=4.2.3 +GLIB_VERSION=2.50.2 HARFBUZZ_VERSION=1.4.2 LIBJPEG_VERSION=1.2.1 LIBPNG_VERSION=1.2.56 @@ -14,6 +15,7 @@ CAIRO_URL=http://cairographics.org/releases/cairo-$CAIRO_VERSION.tar.xz FONTCONFIG_URL=http://cgit.freedesktop.org/fontconfig/plain/fontconfig/fontconfig.h FREETYPE_URL=http://download.savannah.gnu.org/releases/freetype/freetype-$FREETYPE_VERSION.tar.gz GIFLIB_URL=http://sourceforge.net/projects/giflib/files/giflib-4.x/giflib-$GIFLIB_VERSION.tar.gz +GLIB_URL=https://download.gnome.org/sources/glib/2.50/glib-$GLIB_VERSION.tar.xz HARFBUZZ_URL=https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-$HARFBUZZ_VERSION.tar.bz2 LIBJPEG_URL=http://downloads.sourceforge.net/project/libjpeg-turbo/$LIBJPEG_VERSION/libjpeg-turbo-$LIBJPEG_VERSION.tar.gz LIBPNG_URL=http://sourceforge.net/projects/libpng/files/libpng12/$LIBPNG_VERSION/libpng-$LIBPNG_VERSION.tar.xz @@ -65,6 +67,7 @@ fi fetch $FREETYPE_URL freetype && fetch $GIFLIB_URL giflib && +fetch_xz $GLIB_URL glib && fetch_bz2 $HARFBUZZ_URL harfbuzz && fetch $LIBJPEG_URL libjpeg && fetch_xz $LIBPNG_URL libpng && @@ -73,9 +76,10 @@ fetch $PIXMAN_URL pixman && fetch $ZLIB_URL zlib || exit $? -if [ ! -d "cairo" ] || [ ! -d "freetype" ] || [ ! -d "giflib" ] \ -|| [ ! -d "harfbuzz" ] || [ ! -d "libjpeg" ] || [ ! -d "libpng" ] \ -|| [ ! -d "pango" ] || [ ! -d "pixman" ] || [ ! -d "zlib" ]; then +if [ ! -d "cairo" ] || [ ! -d "freetype" ] || [ ! -d "giflib" ] \ +|| [ ! -d "glib" ] || [ ! -d "harfbuzz" ] || [ ! -d "libjpeg" ] \ +|| [ ! -d "libpng" ] || [ ! -d "pango" ] || [ ! -d "pixman" ] \ +|| [ ! -d "zlib" ] ; then echo false else echo true diff --git a/static/glib.gyp b/static/glib.gyp new file mode 100644 index 000000000..9403afffc --- /dev/null +++ b/static/glib.gyp @@ -0,0 +1,195 @@ +{ + 'includes': ['common.gyp', 'locations.gyp'], + 'targets': [{ + 'target_name': 'glib/libcharset', + 'type': 'static_library', + 'include_dirs': [ + '<(glib_root)', + '<(glib_root)/glib', + '<(glib_root)/glib/libcharset', + 'custom-include/glib' + ], + 'defines': [ + 'HAVE_CONFIG_H', 'LIBDIR=\"/usr/local/lib\"' + ], + 'sources': [ + "<(glib_root)glib/libcharset/localcharset.c", + ] + }, { + 'target_name': 'glib/pcre', + 'type': 'static_library', + 'include_dirs': [ + '<(glib_root)', + '<(glib_root)/glib', + '<(glib_root)/glib/pcre', + 'custom-include/glib' + ], + 'defines': [ + 'HAVE_CONFIG_H', 'LIBDIR=\"/usr/local/lib\"', + 'G_LOG_DOMAIN=\"GLib-GRegex\"', 'HAVE_MEMMOVE', 'SUPPORT_UCP', + 'SUPPORT_UTF', 'SUPPORT_UTF8', 'NEWLINE=-1', + 'MATCH_LIMIT=10000000', 'MATCH_LIMIT_RECURSION=8192', + 'MAX_NAME_SIZE=32', 'MAX_NAME_COUNT=10000', 'MAX_DUPLENGTH=30000', + 'LINK_SIZE=2', 'POSIX_MALLOC_THRESHOLD=10', 'PCRE_STATIC' + ], + 'sources': [ + "<(glib_root)glib/pcre/pcre_byte_order.c", + "<(glib_root)glib/pcre/pcre_chartables.c", + "<(glib_root)glib/pcre/pcre_compile.c", + "<(glib_root)glib/pcre/pcre_config.c", + "<(glib_root)glib/pcre/pcre_dfa_exec.c", + "<(glib_root)glib/pcre/pcre_exec.c", + "<(glib_root)glib/pcre/pcre_fullinfo.c", + "<(glib_root)glib/pcre/pcre_get.c", + "<(glib_root)glib/pcre/pcre_globals.c", + "<(glib_root)glib/pcre/pcre_jit_compile.c", + "<(glib_root)glib/pcre/pcre_newline.c", + "<(glib_root)glib/pcre/pcre_ord2utf8.c", + "<(glib_root)glib/pcre/pcre_string_utils.c", + "<(glib_root)glib/pcre/pcre_study.c", + "<(glib_root)glib/pcre/pcre_tables.c", + "<(glib_root)glib/pcre/pcre_valid_utf8.c", + "<(glib_root)glib/pcre/pcre_version.c", + "<(glib_root)glib/pcre/pcre_xclass.c" + ] + }, { + 'target_name': 'glib', + 'type': 'static_library', + 'include_dirs': [ + '<(glib_root)', + '<(glib_root)/glib', + '<(glib_root)/glib/libcharset', + '<(glib_root)/glib/pcre', + 'custom-include/glib' + ], + 'defines': [ + 'HAVE_CONFIG_H', 'G_LOG_DOMAIN=\"GLib\"', 'G_DISABLE_CAST_CHECKS', + 'GLIB_COMPILATION', 'PCRE_STATIC' + ], + 'dependencies': [ + 'glib/libcharset', + 'glib/pcre' + ], + 'sources': [ + "<(glib_root)glib/deprecated/gallocator.c", + "<(glib_root)glib/deprecated/gcache.c", + "<(glib_root)glib/deprecated/gcompletion.c", + "<(glib_root)glib/deprecated/grel.c", + "<(glib_root)glib/deprecated/gthread-deprecated.c", + "<(glib_root)glib/garray.c", + "<(glib_root)glib/gasyncqueue.c", + "<(glib_root)glib/gatomic.c", + "<(glib_root)glib/gbacktrace.c", + "<(glib_root)glib/gbase64.c", + "<(glib_root)glib/gbitlock.c", + "<(glib_root)glib/gbookmarkfile.c", + "<(glib_root)glib/gbytes.c", + "<(glib_root)glib/gcharset.c", + "<(glib_root)glib/gchecksum.c", + "<(glib_root)glib/gconvert.c", + "<(glib_root)glib/gdataset.c", + "<(glib_root)glib/gdate.c", + "<(glib_root)glib/gdatetime.c", + "<(glib_root)glib/gdir.c", + "<(glib_root)glib/genviron.c", + "<(glib_root)glib/gerror.c", + "<(glib_root)glib/gfileutils.c", + "<(glib_root)glib/ggettext.c", + "<(glib_root)glib/ghash.c", + "<(glib_root)glib/ghmac.c", + "<(glib_root)glib/ghook.c", + "<(glib_root)glib/ghostutils.c", + "<(glib_root)glib/giochannel.c", + "<(glib_root)glib/gkeyfile.c", + "<(glib_root)glib/glib-init.c", + "<(glib_root)glib/glib-private.c", + "<(glib_root)glib/glist.c", + "<(glib_root)glib/gmain.c", + "<(glib_root)glib/gmappedfile.c", + "<(glib_root)glib/gmarkup.c", + "<(glib_root)glib/gmem.c", + "<(glib_root)glib/gmessages.c", + "<(glib_root)glib/gnode.c", + "<(glib_root)glib/goption.c", + "<(glib_root)glib/gpattern.c", + "<(glib_root)glib/gpoll.c", + "<(glib_root)glib/gprimes.c", + "<(glib_root)glib/gqsort.c", + "<(glib_root)glib/gquark.c", + "<(glib_root)glib/gqueue.c", + "<(glib_root)glib/grand.c", + "<(glib_root)glib/gregex.c", + "<(glib_root)glib/gscanner.c", + "<(glib_root)glib/gsequence.c", + "<(glib_root)glib/gshell.c", + "<(glib_root)glib/gslice.c", + "<(glib_root)glib/gslist.c", + "<(glib_root)glib/gstdio.c", + "<(glib_root)glib/gstrfuncs.c", + "<(glib_root)glib/gstring.c", + "<(glib_root)glib/gstdio.c", + "<(glib_root)glib/gstringchunk.c", + "<(glib_root)glib/gtestutils.c", + "<(glib_root)glib/gthread.c", + "<(glib_root)glib/gthreadpool.c", + "<(glib_root)glib/gtimer.c", + "<(glib_root)glib/gtimezone.c", + "<(glib_root)glib/gtranslit.c", + "<(glib_root)glib/gtrashstack.c", + "<(glib_root)glib/gtree.c", + "<(glib_root)glib/guniprop.c", + "<(glib_root)glib/gutf8.c", + "<(glib_root)glib/gunibreak.c", + "<(glib_root)glib/gunicollate.c", + "<(glib_root)glib/gunidecomp.c", + "<(glib_root)glib/gurifuncs.c", + "<(glib_root)glib/gutils.c", + "<(glib_root)glib/gvariant.c", + "<(glib_root)glib/gvariant-core.c", + "<(glib_root)glib/gvariant-parser.c", + "<(glib_root)glib/gvariant-serialiser.c", + "<(glib_root)glib/gvarianttypeinfo.c", + "<(glib_root)glib/gvarianttype.c", + "<(glib_root)glib/gversion.c", + "<(glib_root)glib/gwakeup.c", + "<(glib_root)glib/gprintf.c", + "<(glib_root)glib/glib-unix.c", + "<(glib_root)glib/gthread-posix.c", + "<(glib_root)glib/giounix.c", + "<(glib_root)glib/gspawn.c" + ] + }, { + 'target_name': 'gobject', + 'type': 'static_library', + 'include_dirs': [ + '<(glib_root)', + '<(glib_root)/glib', + '<(glib_root)/gobject', + 'custom-include/glib' + ], + 'defines': [ + 'HAVE_CONFIG_H', 'G_LOG_DOMAIN=\"GLib-GObject\"', + 'G_DISABLE_CAST_CHECKS', 'GOBJECT_COMPILATION' + ], + 'sources': [ + "<(glib_root)gobject/gatomicarray.c", + "<(glib_root)gobject/gbinding.c", + "<(glib_root)gobject/gboxed.c", + "<(glib_root)gobject/gclosure.c", + "<(glib_root)gobject/genums.c", + "<(glib_root)gobject/gmarshal.c", + "<(glib_root)gobject/gobject.c", + "<(glib_root)gobject/gparam.c", + "<(glib_root)gobject/gparamspecs.c", + "<(glib_root)gobject/gsignal.c", + "<(glib_root)gobject/gsourceclosure.c", + "<(glib_root)gobject/gtype.c", + "<(glib_root)gobject/gtypemodule.c", + "<(glib_root)gobject/gtypeplugin.c", + "<(glib_root)gobject/gvalue.c", + "<(glib_root)gobject/gvaluearray.c", + "<(glib_root)gobject/gvaluetransform.c", + "<(glib_root)gobject/gvaluetypes.c" + ] + }] +} diff --git a/static/harfbuzz.gyp b/static/harfbuzz.gyp index 91a912769..0211b5dcf 100644 --- a/static/harfbuzz.gyp +++ b/static/harfbuzz.gyp @@ -12,11 +12,14 @@ 'target_name': 'harfbuzz', 'type': 'static_library', 'include_dirs': [ - ' Date: Sun, 12 Feb 2017 19:00:13 +0100 Subject: [PATCH 07/22] Use static `fontconfig` library --- static.gyp | 5 +- static/custom-include/fontconfig/config.h | 360 ++++++++++++++ static/custom-include/fontconfig/fcalias.h | 410 ++++++++++++++++ .../custom-include/fontconfig/fcaliastail.h | 464 ++++++++++++++++++ static/custom-include/fontconfig/fcftalias.h | 12 + .../custom-include/fontconfig/fcftaliastail.h | 20 + static/ensure_deps.sh | 35 +- static/fontconfig.gyp | 51 ++ static/freetype.gyp | 3 +- static/locations.gyp | 1 + 10 files changed, 1340 insertions(+), 21 deletions(-) create mode 100644 static/custom-include/fontconfig/config.h create mode 100644 static/custom-include/fontconfig/fcalias.h create mode 100644 static/custom-include/fontconfig/fcaliastail.h create mode 100644 static/custom-include/fontconfig/fcftalias.h create mode 100644 static/custom-include/fontconfig/fcftaliastail.h create mode 100644 static/fontconfig.gyp diff --git a/static.gyp b/static.gyp index 14984686b..6ef4fe500 100644 --- a/static.gyp +++ b/static.gyp @@ -8,7 +8,7 @@ [{ 'includes': ['canvas.gypi'], 'libraries': [ - ' header file, and it defines `DIR'. + */ +#define HAVE_DIRENT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ +/* #undef HAVE_DOPRNT */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `fstatfs' function. */ +#define HAVE_FSTATFS 1 + +/* Define to 1 if you have the `fstatvfs' function. */ +#define HAVE_FSTATVFS 1 + +/* FT_Bitmap_Size structure includes y_ppem field */ +#define HAVE_FT_BITMAP_SIZE_Y_PPEM 1 + +/* Define to 1 if you have the `FT_Get_BDF_Property' function. */ +#define HAVE_FT_GET_BDF_PROPERTY 1 + +/* Define to 1 if you have the `FT_Get_Next_Char' function. */ +#define HAVE_FT_GET_NEXT_CHAR 1 + +/* Define to 1 if you have the `FT_Get_PS_Font_Info' function. */ +#define HAVE_FT_GET_PS_FONT_INFO 1 + +/* Define to 1 if you have the `FT_Get_X11_Font_Format' function. */ +#define HAVE_FT_GET_X11_FONT_FORMAT 1 + +/* Define to 1 if you have the `FT_Has_PS_Glyph_Names' function. */ +#define HAVE_FT_HAS_PS_GLYPH_NAMES 1 + +/* Define to 1 if you have the `FT_Select_Size' function. */ +#define HAVE_FT_SELECT_SIZE 1 + +/* Define to 1 if you have the `getexecname' function. */ +/* #undef HAVE_GETEXECNAME */ + +/* Define to 1 if you have the `getopt' function. */ +#define HAVE_GETOPT 1 + +/* Define to 1 if you have the `getopt_long' function. */ +#define HAVE_GETOPT_LONG 1 + +/* Define to 1 if you have the `getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define to 1 if you have the `getprogname' function. */ +/* #undef HAVE_GETPROGNAME */ + +/* Have Intel __sync_* atomic primitives */ +#define HAVE_INTEL_ATOMIC_PRIMITIVES 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `link' function. */ +#define HAVE_LINK 1 + +/* Define to 1 if you have the `lrand48' function. */ +#define HAVE_LRAND48 1 + +/* Define to 1 if you have the `lstat' function. */ +#define HAVE_LSTAT 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `mkdtemp' function. */ +#define HAVE_MKDTEMP 1 + +/* Define to 1 if you have the `mkostemp' function. */ +#define HAVE_MKOSTEMP 1 + +/* Define to 1 if you have the `mkstemp' function. */ +#define HAVE_MKSTEMP 1 + +/* Define to 1 if you have a working `mmap' system call. */ +#define HAVE_MMAP 1 + +/* Define to 1 if you have the header file, and it defines `DIR'. */ +/* #undef HAVE_NDIR_H */ + +/* Define to 1 if you have the 'posix_fadvise' function. */ +#define HAVE_POSIX_FADVISE 1 + +/* Have POSIX threads */ +#define HAVE_PTHREAD 1 + +/* Have PTHREAD_PRIO_INHERIT. */ +#define HAVE_PTHREAD_PRIO_INHERIT 1 + +/* Define to 1 if you have the `rand' function. */ +#define HAVE_RAND 1 + +/* Define to 1 if you have the `random' function. */ +#define HAVE_RANDOM 1 + +/* Define to 1 if you have the `random_r' function. */ +#define HAVE_RANDOM_R 1 + +/* Define to 1 if you have the `rand_r' function. */ +#define HAVE_RAND_R 1 + +/* Define to 1 if you have the `readlink' function. */ +#define HAVE_READLINK 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SCHED_H */ + +/* Have sched_yield */ +/* #undef HAVE_SCHED_YIELD */ + +/* Have Solaris __machine_*_barrier and atomic_* operations */ +/* #undef HAVE_SOLARIS_ATOMIC_OPS */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if `d_type' is a member of `struct dirent'. */ +#define HAVE_STRUCT_DIRENT_D_TYPE 1 + +/* Define to 1 if `f_flags' is a member of `struct statfs'. */ +#define HAVE_STRUCT_STATFS_F_FLAGS 1 + +/* Define to 1 if `f_fstypename' is a member of `struct statfs'. */ +/* #undef HAVE_STRUCT_STATFS_F_FSTYPENAME */ + +/* Define to 1 if `f_basetype' is a member of `struct statvfs'. */ +/* #undef HAVE_STRUCT_STATVFS_F_BASETYPE */ + +/* Define to 1 if `f_fstypename' is a member of `struct statvfs'. */ +/* #undef HAVE_STRUCT_STATVFS_F_FSTYPENAME */ + +/* Define to 1 if `st_mtim' is a member of `struct stat'. */ +#define HAVE_STRUCT_STAT_ST_MTIM 1 + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +/* #undef HAVE_SYS_DIR_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_MOUNT_H 1 + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +/* #undef HAVE_SYS_NDIR_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STATFS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STATVFS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_VFS_H 1 + +/* Define to 1 if `usLowerOpticalPointSize' is a member of `TT_OS2'. */ +#define HAVE_TT_OS2_USLOWEROPTICALPOINTSIZE 1 + +/* Define to 1 if `usUpperOpticalPointSize' is a member of `TT_OS2'. */ +#define HAVE_TT_OS2_USUPPEROPTICALPOINTSIZE 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + +/* Can use #warning in C files */ +#define HAVE_WARNING_CPP_DIRECTIVE 1 + +/* Use xmlparse.h instead of expat.h */ +/* #undef HAVE_XMLPARSE_H */ + +/* Define to 1 if you have the `XML_SetDoctypeDeclHandler' function. */ +#define HAVE_XML_SETDOCTYPEDECLHANDLER 1 + +/* Define to 1 if you have the `_mktemp_s' function. */ +/* #undef HAVE__MKTEMP_S */ + +/* Define to the sub-directory where libtool stores uninstalled libraries. */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +#define PACKAGE "fontconfig" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "https://bugs.freedesktop.org/enter_bug.cgi?product=fontconfig" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "fontconfig" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "fontconfig 2.12.1" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "fontconfig" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "2.12.1" + +/* Define to necessary symbol if this constant uses a non-standard name on + your system. */ +/* #undef PTHREAD_CREATE_JOINABLE */ + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void*', as computed by sizeof. */ +/* #undef SIZEOF_VOIDP */ + +/* The size of `void *', as computed by sizeof. */ +#define SIZEOF_VOID_P 8 + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Use iconv. */ +#define USE_ICONV 0 + +/* 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 + + +/* Version number of package */ +#define VERSION "2.12.1" + +/* 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 + +/* 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 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 `int' if does not define. */ +/* #undef pid_t */ + +#include "config-fixups.h" diff --git a/static/custom-include/fontconfig/fcalias.h b/static/custom-include/fontconfig/fcalias.h new file mode 100644 index 000000000..06d47ed73 --- /dev/null +++ b/static/custom-include/fontconfig/fcalias.h @@ -0,0 +1,410 @@ +extern __typeof (FcBlanksCreate) IA__FcBlanksCreate __attribute((visibility("hidden"))); +#define FcBlanksCreate IA__FcBlanksCreate +extern __typeof (FcBlanksDestroy) IA__FcBlanksDestroy __attribute((visibility("hidden"))); +#define FcBlanksDestroy IA__FcBlanksDestroy +extern __typeof (FcBlanksAdd) IA__FcBlanksAdd __attribute((visibility("hidden"))); +#define FcBlanksAdd IA__FcBlanksAdd +extern __typeof (FcBlanksIsMember) IA__FcBlanksIsMember __attribute((visibility("hidden"))); +#define FcBlanksIsMember IA__FcBlanksIsMember +extern __typeof (FcCacheCopySet) IA__FcCacheCopySet __attribute((visibility("hidden"))); +#define FcCacheCopySet IA__FcCacheCopySet +extern __typeof (FcCacheNumSubdir) IA__FcCacheNumSubdir __attribute((visibility("hidden"))); +#define FcCacheNumSubdir IA__FcCacheNumSubdir +extern __typeof (FcCacheNumFont) IA__FcCacheNumFont __attribute((visibility("hidden"))); +#define FcCacheNumFont IA__FcCacheNumFont +extern __typeof (FcDirCacheUnlink) IA__FcDirCacheUnlink __attribute((visibility("hidden"))); +#define FcDirCacheUnlink IA__FcDirCacheUnlink +extern __typeof (FcDirCacheValid) IA__FcDirCacheValid __attribute((visibility("hidden"))); +#define FcDirCacheValid IA__FcDirCacheValid +extern __typeof (FcDirCacheClean) IA__FcDirCacheClean __attribute((visibility("hidden"))); +#define FcDirCacheClean IA__FcDirCacheClean +extern __typeof (FcCacheCreateTagFile) IA__FcCacheCreateTagFile __attribute((visibility("hidden"))); +#define FcCacheCreateTagFile IA__FcCacheCreateTagFile +extern __typeof (FcConfigHome) IA__FcConfigHome __attribute((visibility("hidden"))); +#define FcConfigHome IA__FcConfigHome +extern __typeof (FcConfigEnableHome) IA__FcConfigEnableHome __attribute((visibility("hidden"))); +#define FcConfigEnableHome IA__FcConfigEnableHome +extern __typeof (FcConfigFilename) IA__FcConfigFilename __attribute((visibility("hidden"))); +#define FcConfigFilename IA__FcConfigFilename +extern __typeof (FcConfigCreate) IA__FcConfigCreate __attribute((visibility("hidden"))); +#define FcConfigCreate IA__FcConfigCreate +extern __typeof (FcConfigReference) IA__FcConfigReference __attribute((visibility("hidden"))); +#define FcConfigReference IA__FcConfigReference +extern __typeof (FcConfigDestroy) IA__FcConfigDestroy __attribute((visibility("hidden"))); +#define FcConfigDestroy IA__FcConfigDestroy +extern __typeof (FcConfigSetCurrent) IA__FcConfigSetCurrent __attribute((visibility("hidden"))); +#define FcConfigSetCurrent IA__FcConfigSetCurrent +extern __typeof (FcConfigGetCurrent) IA__FcConfigGetCurrent __attribute((visibility("hidden"))); +#define FcConfigGetCurrent IA__FcConfigGetCurrent +extern __typeof (FcConfigUptoDate) IA__FcConfigUptoDate __attribute((visibility("hidden"))); +#define FcConfigUptoDate IA__FcConfigUptoDate +extern __typeof (FcConfigBuildFonts) IA__FcConfigBuildFonts __attribute((visibility("hidden"))); +#define FcConfigBuildFonts IA__FcConfigBuildFonts +extern __typeof (FcConfigGetFontDirs) IA__FcConfigGetFontDirs __attribute((visibility("hidden"))); +#define FcConfigGetFontDirs IA__FcConfigGetFontDirs +extern __typeof (FcConfigGetConfigDirs) IA__FcConfigGetConfigDirs __attribute((visibility("hidden"))); +#define FcConfigGetConfigDirs IA__FcConfigGetConfigDirs +extern __typeof (FcConfigGetConfigFiles) IA__FcConfigGetConfigFiles __attribute((visibility("hidden"))); +#define FcConfigGetConfigFiles IA__FcConfigGetConfigFiles +extern __typeof (FcConfigGetCache) IA__FcConfigGetCache __attribute((visibility("hidden"))); +#define FcConfigGetCache IA__FcConfigGetCache +extern __typeof (FcConfigGetBlanks) IA__FcConfigGetBlanks __attribute((visibility("hidden"))); +#define FcConfigGetBlanks IA__FcConfigGetBlanks +extern __typeof (FcConfigGetCacheDirs) IA__FcConfigGetCacheDirs __attribute((visibility("hidden"))); +#define FcConfigGetCacheDirs IA__FcConfigGetCacheDirs +extern __typeof (FcConfigGetRescanInterval) IA__FcConfigGetRescanInterval __attribute((visibility("hidden"))); +#define FcConfigGetRescanInterval IA__FcConfigGetRescanInterval +extern __typeof (FcConfigSetRescanInterval) IA__FcConfigSetRescanInterval __attribute((visibility("hidden"))); +#define FcConfigSetRescanInterval IA__FcConfigSetRescanInterval +extern __typeof (FcConfigGetFonts) IA__FcConfigGetFonts __attribute((visibility("hidden"))); +#define FcConfigGetFonts IA__FcConfigGetFonts +extern __typeof (FcConfigAppFontAddFile) IA__FcConfigAppFontAddFile __attribute((visibility("hidden"))); +#define FcConfigAppFontAddFile IA__FcConfigAppFontAddFile +extern __typeof (FcConfigAppFontAddDir) IA__FcConfigAppFontAddDir __attribute((visibility("hidden"))); +#define FcConfigAppFontAddDir IA__FcConfigAppFontAddDir +extern __typeof (FcConfigAppFontClear) IA__FcConfigAppFontClear __attribute((visibility("hidden"))); +#define FcConfigAppFontClear IA__FcConfigAppFontClear +extern __typeof (FcConfigSubstituteWithPat) IA__FcConfigSubstituteWithPat __attribute((visibility("hidden"))); +#define FcConfigSubstituteWithPat IA__FcConfigSubstituteWithPat +extern __typeof (FcConfigSubstitute) IA__FcConfigSubstitute __attribute((visibility("hidden"))); +#define FcConfigSubstitute IA__FcConfigSubstitute +extern __typeof (FcConfigGetSysRoot) IA__FcConfigGetSysRoot __attribute((visibility("hidden"))); +#define FcConfigGetSysRoot IA__FcConfigGetSysRoot +extern __typeof (FcConfigSetSysRoot) IA__FcConfigSetSysRoot __attribute((visibility("hidden"))); +#define FcConfigSetSysRoot IA__FcConfigSetSysRoot +extern __typeof (FcCharSetCreate) IA__FcCharSetCreate __attribute((visibility("hidden"))); +#define FcCharSetCreate IA__FcCharSetCreate +extern __typeof (FcCharSetNew) IA__FcCharSetNew __attribute((visibility("hidden"))); +#define FcCharSetNew IA__FcCharSetNew +extern __typeof (FcCharSetDestroy) IA__FcCharSetDestroy __attribute((visibility("hidden"))); +#define FcCharSetDestroy IA__FcCharSetDestroy +extern __typeof (FcCharSetAddChar) IA__FcCharSetAddChar __attribute((visibility("hidden"))); +#define FcCharSetAddChar IA__FcCharSetAddChar +extern __typeof (FcCharSetDelChar) IA__FcCharSetDelChar __attribute((visibility("hidden"))); +#define FcCharSetDelChar IA__FcCharSetDelChar +extern __typeof (FcCharSetCopy) IA__FcCharSetCopy __attribute((visibility("hidden"))); +#define FcCharSetCopy IA__FcCharSetCopy +extern __typeof (FcCharSetEqual) IA__FcCharSetEqual __attribute((visibility("hidden"))); +#define FcCharSetEqual IA__FcCharSetEqual +extern __typeof (FcCharSetIntersect) IA__FcCharSetIntersect __attribute((visibility("hidden"))); +#define FcCharSetIntersect IA__FcCharSetIntersect +extern __typeof (FcCharSetUnion) IA__FcCharSetUnion __attribute((visibility("hidden"))); +#define FcCharSetUnion IA__FcCharSetUnion +extern __typeof (FcCharSetSubtract) IA__FcCharSetSubtract __attribute((visibility("hidden"))); +#define FcCharSetSubtract IA__FcCharSetSubtract +extern __typeof (FcCharSetMerge) IA__FcCharSetMerge __attribute((visibility("hidden"))); +#define FcCharSetMerge IA__FcCharSetMerge +extern __typeof (FcCharSetHasChar) IA__FcCharSetHasChar __attribute((visibility("hidden"))); +#define FcCharSetHasChar IA__FcCharSetHasChar +extern __typeof (FcCharSetCount) IA__FcCharSetCount __attribute((visibility("hidden"))); +#define FcCharSetCount IA__FcCharSetCount +extern __typeof (FcCharSetIntersectCount) IA__FcCharSetIntersectCount __attribute((visibility("hidden"))); +#define FcCharSetIntersectCount IA__FcCharSetIntersectCount +extern __typeof (FcCharSetSubtractCount) IA__FcCharSetSubtractCount __attribute((visibility("hidden"))); +#define FcCharSetSubtractCount IA__FcCharSetSubtractCount +extern __typeof (FcCharSetIsSubset) IA__FcCharSetIsSubset __attribute((visibility("hidden"))); +#define FcCharSetIsSubset IA__FcCharSetIsSubset +extern __typeof (FcCharSetFirstPage) IA__FcCharSetFirstPage __attribute((visibility("hidden"))); +#define FcCharSetFirstPage IA__FcCharSetFirstPage +extern __typeof (FcCharSetNextPage) IA__FcCharSetNextPage __attribute((visibility("hidden"))); +#define FcCharSetNextPage IA__FcCharSetNextPage +extern __typeof (FcCharSetCoverage) IA__FcCharSetCoverage __attribute((visibility("hidden"))); +#define FcCharSetCoverage IA__FcCharSetCoverage +extern __typeof (FcValuePrint) IA__FcValuePrint __attribute((visibility("hidden"))); +#define FcValuePrint IA__FcValuePrint +extern __typeof (FcPatternPrint) IA__FcPatternPrint __attribute((visibility("hidden"))); +#define FcPatternPrint IA__FcPatternPrint +extern __typeof (FcFontSetPrint) IA__FcFontSetPrint __attribute((visibility("hidden"))); +#define FcFontSetPrint IA__FcFontSetPrint +extern __typeof (FcGetDefaultLangs) IA__FcGetDefaultLangs __attribute((visibility("hidden"))); +#define FcGetDefaultLangs IA__FcGetDefaultLangs +extern __typeof (FcDefaultSubstitute) IA__FcDefaultSubstitute __attribute((visibility("hidden"))); +#define FcDefaultSubstitute IA__FcDefaultSubstitute +extern __typeof (FcFileIsDir) IA__FcFileIsDir __attribute((visibility("hidden"))); +#define FcFileIsDir IA__FcFileIsDir +extern __typeof (FcFileScan) IA__FcFileScan __attribute((visibility("hidden"))); +#define FcFileScan IA__FcFileScan +extern __typeof (FcDirScan) IA__FcDirScan __attribute((visibility("hidden"))); +#define FcDirScan IA__FcDirScan +extern __typeof (FcDirSave) IA__FcDirSave __attribute((visibility("hidden"))); +#define FcDirSave IA__FcDirSave +extern __typeof (FcDirCacheLoad) IA__FcDirCacheLoad __attribute((visibility("hidden"))); +#define FcDirCacheLoad IA__FcDirCacheLoad +extern __typeof (FcDirCacheRescan) IA__FcDirCacheRescan __attribute((visibility("hidden"))); +#define FcDirCacheRescan IA__FcDirCacheRescan +extern __typeof (FcDirCacheRead) IA__FcDirCacheRead __attribute((visibility("hidden"))); +#define FcDirCacheRead IA__FcDirCacheRead +extern __typeof (FcDirCacheLoadFile) IA__FcDirCacheLoadFile __attribute((visibility("hidden"))); +#define FcDirCacheLoadFile IA__FcDirCacheLoadFile +extern __typeof (FcDirCacheUnload) IA__FcDirCacheUnload __attribute((visibility("hidden"))); +#define FcDirCacheUnload IA__FcDirCacheUnload +extern __typeof (FcFreeTypeQuery) IA__FcFreeTypeQuery __attribute((visibility("hidden"))); +#define FcFreeTypeQuery IA__FcFreeTypeQuery +extern __typeof (FcFontSetCreate) IA__FcFontSetCreate __attribute((visibility("hidden"))); +#define FcFontSetCreate IA__FcFontSetCreate +extern __typeof (FcFontSetDestroy) IA__FcFontSetDestroy __attribute((visibility("hidden"))); +#define FcFontSetDestroy IA__FcFontSetDestroy +extern __typeof (FcFontSetAdd) IA__FcFontSetAdd __attribute((visibility("hidden"))); +#define FcFontSetAdd IA__FcFontSetAdd +extern __typeof (FcInitLoadConfig) IA__FcInitLoadConfig __attribute((visibility("hidden"))); +#define FcInitLoadConfig IA__FcInitLoadConfig +extern __typeof (FcInitLoadConfigAndFonts) IA__FcInitLoadConfigAndFonts __attribute((visibility("hidden"))); +#define FcInitLoadConfigAndFonts IA__FcInitLoadConfigAndFonts +extern __typeof (FcInit) IA__FcInit __attribute((visibility("hidden"))); +#define FcInit IA__FcInit +extern __typeof (FcFini) IA__FcFini __attribute((visibility("hidden"))); +#define FcFini IA__FcFini +extern __typeof (FcGetVersion) IA__FcGetVersion __attribute((visibility("hidden"))); +#define FcGetVersion IA__FcGetVersion +extern __typeof (FcInitReinitialize) IA__FcInitReinitialize __attribute((visibility("hidden"))); +#define FcInitReinitialize IA__FcInitReinitialize +extern __typeof (FcInitBringUptoDate) IA__FcInitBringUptoDate __attribute((visibility("hidden"))); +#define FcInitBringUptoDate IA__FcInitBringUptoDate +extern __typeof (FcGetLangs) IA__FcGetLangs __attribute((visibility("hidden"))); +#define FcGetLangs IA__FcGetLangs +extern __typeof (FcLangNormalize) IA__FcLangNormalize __attribute((visibility("hidden"))); +#define FcLangNormalize IA__FcLangNormalize +extern __typeof (FcLangGetCharSet) IA__FcLangGetCharSet __attribute((visibility("hidden"))); +#define FcLangGetCharSet IA__FcLangGetCharSet +extern __typeof (FcLangSetCreate) IA__FcLangSetCreate __attribute((visibility("hidden"))); +#define FcLangSetCreate IA__FcLangSetCreate +extern __typeof (FcLangSetDestroy) IA__FcLangSetDestroy __attribute((visibility("hidden"))); +#define FcLangSetDestroy IA__FcLangSetDestroy +extern __typeof (FcLangSetCopy) IA__FcLangSetCopy __attribute((visibility("hidden"))); +#define FcLangSetCopy IA__FcLangSetCopy +extern __typeof (FcLangSetAdd) IA__FcLangSetAdd __attribute((visibility("hidden"))); +#define FcLangSetAdd IA__FcLangSetAdd +extern __typeof (FcLangSetDel) IA__FcLangSetDel __attribute((visibility("hidden"))); +#define FcLangSetDel IA__FcLangSetDel +extern __typeof (FcLangSetHasLang) IA__FcLangSetHasLang __attribute((visibility("hidden"))); +#define FcLangSetHasLang IA__FcLangSetHasLang +extern __typeof (FcLangSetCompare) IA__FcLangSetCompare __attribute((visibility("hidden"))); +#define FcLangSetCompare IA__FcLangSetCompare +extern __typeof (FcLangSetContains) IA__FcLangSetContains __attribute((visibility("hidden"))); +#define FcLangSetContains IA__FcLangSetContains +extern __typeof (FcLangSetEqual) IA__FcLangSetEqual __attribute((visibility("hidden"))); +#define FcLangSetEqual IA__FcLangSetEqual +extern __typeof (FcLangSetHash) IA__FcLangSetHash __attribute((visibility("hidden"))); +#define FcLangSetHash IA__FcLangSetHash +extern __typeof (FcLangSetGetLangs) IA__FcLangSetGetLangs __attribute((visibility("hidden"))); +#define FcLangSetGetLangs IA__FcLangSetGetLangs +extern __typeof (FcLangSetUnion) IA__FcLangSetUnion __attribute((visibility("hidden"))); +#define FcLangSetUnion IA__FcLangSetUnion +extern __typeof (FcLangSetSubtract) IA__FcLangSetSubtract __attribute((visibility("hidden"))); +#define FcLangSetSubtract IA__FcLangSetSubtract +extern __typeof (FcObjectSetCreate) IA__FcObjectSetCreate __attribute((visibility("hidden"))); +#define FcObjectSetCreate IA__FcObjectSetCreate +extern __typeof (FcObjectSetAdd) IA__FcObjectSetAdd __attribute((visibility("hidden"))); +#define FcObjectSetAdd IA__FcObjectSetAdd +extern __typeof (FcObjectSetDestroy) IA__FcObjectSetDestroy __attribute((visibility("hidden"))); +#define FcObjectSetDestroy IA__FcObjectSetDestroy +extern __typeof (FcObjectSetVaBuild) IA__FcObjectSetVaBuild __attribute((visibility("hidden"))); +#define FcObjectSetVaBuild IA__FcObjectSetVaBuild +extern __typeof (FcObjectSetBuild) IA__FcObjectSetBuild __attribute((visibility("hidden"))); +#define FcObjectSetBuild IA__FcObjectSetBuild +extern __typeof (FcFontSetList) IA__FcFontSetList __attribute((visibility("hidden"))); +#define FcFontSetList IA__FcFontSetList +extern __typeof (FcFontList) IA__FcFontList __attribute((visibility("hidden"))); +#define FcFontList IA__FcFontList +extern __typeof (FcAtomicCreate) IA__FcAtomicCreate __attribute((visibility("hidden"))); +#define FcAtomicCreate IA__FcAtomicCreate +extern __typeof (FcAtomicLock) IA__FcAtomicLock __attribute((visibility("hidden"))); +#define FcAtomicLock IA__FcAtomicLock +extern __typeof (FcAtomicNewFile) IA__FcAtomicNewFile __attribute((visibility("hidden"))); +#define FcAtomicNewFile IA__FcAtomicNewFile +extern __typeof (FcAtomicOrigFile) IA__FcAtomicOrigFile __attribute((visibility("hidden"))); +#define FcAtomicOrigFile IA__FcAtomicOrigFile +extern __typeof (FcAtomicReplaceOrig) IA__FcAtomicReplaceOrig __attribute((visibility("hidden"))); +#define FcAtomicReplaceOrig IA__FcAtomicReplaceOrig +extern __typeof (FcAtomicDeleteNew) IA__FcAtomicDeleteNew __attribute((visibility("hidden"))); +#define FcAtomicDeleteNew IA__FcAtomicDeleteNew +extern __typeof (FcAtomicUnlock) IA__FcAtomicUnlock __attribute((visibility("hidden"))); +#define FcAtomicUnlock IA__FcAtomicUnlock +extern __typeof (FcAtomicDestroy) IA__FcAtomicDestroy __attribute((visibility("hidden"))); +#define FcAtomicDestroy IA__FcAtomicDestroy +extern __typeof (FcFontSetMatch) IA__FcFontSetMatch __attribute((visibility("hidden"))); +#define FcFontSetMatch IA__FcFontSetMatch +extern __typeof (FcFontMatch) IA__FcFontMatch __attribute((visibility("hidden"))); +#define FcFontMatch IA__FcFontMatch +extern __typeof (FcFontRenderPrepare) IA__FcFontRenderPrepare __attribute((visibility("hidden"))); +#define FcFontRenderPrepare IA__FcFontRenderPrepare +extern __typeof (FcFontSetSort) IA__FcFontSetSort __attribute((visibility("hidden"))); +#define FcFontSetSort IA__FcFontSetSort +extern __typeof (FcFontSort) IA__FcFontSort __attribute((visibility("hidden"))); +#define FcFontSort IA__FcFontSort +extern __typeof (FcFontSetSortDestroy) IA__FcFontSetSortDestroy __attribute((visibility("hidden"))); +#define FcFontSetSortDestroy IA__FcFontSetSortDestroy +extern __typeof (FcMatrixCopy) IA__FcMatrixCopy __attribute((visibility("hidden"))); +#define FcMatrixCopy IA__FcMatrixCopy +extern __typeof (FcMatrixEqual) IA__FcMatrixEqual __attribute((visibility("hidden"))); +#define FcMatrixEqual IA__FcMatrixEqual +extern __typeof (FcMatrixMultiply) IA__FcMatrixMultiply __attribute((visibility("hidden"))); +#define FcMatrixMultiply IA__FcMatrixMultiply +extern __typeof (FcMatrixRotate) IA__FcMatrixRotate __attribute((visibility("hidden"))); +#define FcMatrixRotate IA__FcMatrixRotate +extern __typeof (FcMatrixScale) IA__FcMatrixScale __attribute((visibility("hidden"))); +#define FcMatrixScale IA__FcMatrixScale +extern __typeof (FcMatrixShear) IA__FcMatrixShear __attribute((visibility("hidden"))); +#define FcMatrixShear IA__FcMatrixShear +extern __typeof (FcNameRegisterObjectTypes) IA__FcNameRegisterObjectTypes __attribute((visibility("hidden"))); +#define FcNameRegisterObjectTypes IA__FcNameRegisterObjectTypes +extern __typeof (FcNameUnregisterObjectTypes) IA__FcNameUnregisterObjectTypes __attribute((visibility("hidden"))); +#define FcNameUnregisterObjectTypes IA__FcNameUnregisterObjectTypes +extern __typeof (FcNameGetObjectType) IA__FcNameGetObjectType __attribute((visibility("hidden"))); +#define FcNameGetObjectType IA__FcNameGetObjectType +extern __typeof (FcNameRegisterConstants) IA__FcNameRegisterConstants __attribute((visibility("hidden"))); +#define FcNameRegisterConstants IA__FcNameRegisterConstants +extern __typeof (FcNameUnregisterConstants) IA__FcNameUnregisterConstants __attribute((visibility("hidden"))); +#define FcNameUnregisterConstants IA__FcNameUnregisterConstants +extern __typeof (FcNameGetConstant) IA__FcNameGetConstant __attribute((visibility("hidden"))); +#define FcNameGetConstant IA__FcNameGetConstant +extern __typeof (FcNameConstant) IA__FcNameConstant __attribute((visibility("hidden"))); +#define FcNameConstant IA__FcNameConstant +extern __typeof (FcNameParse) IA__FcNameParse __attribute((visibility("hidden"))); +#define FcNameParse IA__FcNameParse +extern __typeof (FcNameUnparse) IA__FcNameUnparse __attribute((visibility("hidden"))); +#define FcNameUnparse IA__FcNameUnparse +extern __typeof (FcPatternCreate) IA__FcPatternCreate __attribute((visibility("hidden"))); +#define FcPatternCreate IA__FcPatternCreate +extern __typeof (FcPatternDuplicate) IA__FcPatternDuplicate __attribute((visibility("hidden"))); +#define FcPatternDuplicate IA__FcPatternDuplicate +extern __typeof (FcPatternReference) IA__FcPatternReference __attribute((visibility("hidden"))); +#define FcPatternReference IA__FcPatternReference +extern __typeof (FcPatternFilter) IA__FcPatternFilter __attribute((visibility("hidden"))); +#define FcPatternFilter IA__FcPatternFilter +extern __typeof (FcValueDestroy) IA__FcValueDestroy __attribute((visibility("hidden"))); +#define FcValueDestroy IA__FcValueDestroy +extern __typeof (FcValueEqual) IA__FcValueEqual __attribute((visibility("hidden"))); +#define FcValueEqual IA__FcValueEqual +extern __typeof (FcValueSave) IA__FcValueSave __attribute((visibility("hidden"))); +#define FcValueSave IA__FcValueSave +extern __typeof (FcPatternDestroy) IA__FcPatternDestroy __attribute((visibility("hidden"))); +#define FcPatternDestroy IA__FcPatternDestroy +extern __typeof (FcPatternEqual) IA__FcPatternEqual __attribute((visibility("hidden"))); +#define FcPatternEqual IA__FcPatternEqual +extern __typeof (FcPatternEqualSubset) IA__FcPatternEqualSubset __attribute((visibility("hidden"))); +#define FcPatternEqualSubset IA__FcPatternEqualSubset +extern __typeof (FcPatternHash) IA__FcPatternHash __attribute((visibility("hidden"))); +#define FcPatternHash IA__FcPatternHash +extern __typeof (FcPatternAdd) IA__FcPatternAdd __attribute((visibility("hidden"))); +#define FcPatternAdd IA__FcPatternAdd +extern __typeof (FcPatternAddWeak) IA__FcPatternAddWeak __attribute((visibility("hidden"))); +#define FcPatternAddWeak IA__FcPatternAddWeak +extern __typeof (FcPatternGet) IA__FcPatternGet __attribute((visibility("hidden"))); +#define FcPatternGet IA__FcPatternGet +extern __typeof (FcPatternDel) IA__FcPatternDel __attribute((visibility("hidden"))); +#define FcPatternDel IA__FcPatternDel +extern __typeof (FcPatternRemove) IA__FcPatternRemove __attribute((visibility("hidden"))); +#define FcPatternRemove IA__FcPatternRemove +extern __typeof (FcPatternAddInteger) IA__FcPatternAddInteger __attribute((visibility("hidden"))); +#define FcPatternAddInteger IA__FcPatternAddInteger +extern __typeof (FcPatternAddDouble) IA__FcPatternAddDouble __attribute((visibility("hidden"))); +#define FcPatternAddDouble IA__FcPatternAddDouble +extern __typeof (FcPatternAddString) IA__FcPatternAddString __attribute((visibility("hidden"))); +#define FcPatternAddString IA__FcPatternAddString +extern __typeof (FcPatternAddMatrix) IA__FcPatternAddMatrix __attribute((visibility("hidden"))); +#define FcPatternAddMatrix IA__FcPatternAddMatrix +extern __typeof (FcPatternAddCharSet) IA__FcPatternAddCharSet __attribute((visibility("hidden"))); +#define FcPatternAddCharSet IA__FcPatternAddCharSet +extern __typeof (FcPatternAddBool) IA__FcPatternAddBool __attribute((visibility("hidden"))); +#define FcPatternAddBool IA__FcPatternAddBool +extern __typeof (FcPatternAddLangSet) IA__FcPatternAddLangSet __attribute((visibility("hidden"))); +#define FcPatternAddLangSet IA__FcPatternAddLangSet +extern __typeof (FcPatternAddRange) IA__FcPatternAddRange __attribute((visibility("hidden"))); +#define FcPatternAddRange IA__FcPatternAddRange +extern __typeof (FcPatternGetInteger) IA__FcPatternGetInteger __attribute((visibility("hidden"))); +#define FcPatternGetInteger IA__FcPatternGetInteger +extern __typeof (FcPatternGetDouble) IA__FcPatternGetDouble __attribute((visibility("hidden"))); +#define FcPatternGetDouble IA__FcPatternGetDouble +extern __typeof (FcPatternGetString) IA__FcPatternGetString __attribute((visibility("hidden"))); +#define FcPatternGetString IA__FcPatternGetString +extern __typeof (FcPatternGetMatrix) IA__FcPatternGetMatrix __attribute((visibility("hidden"))); +#define FcPatternGetMatrix IA__FcPatternGetMatrix +extern __typeof (FcPatternGetCharSet) IA__FcPatternGetCharSet __attribute((visibility("hidden"))); +#define FcPatternGetCharSet IA__FcPatternGetCharSet +extern __typeof (FcPatternGetBool) IA__FcPatternGetBool __attribute((visibility("hidden"))); +#define FcPatternGetBool IA__FcPatternGetBool +extern __typeof (FcPatternGetLangSet) IA__FcPatternGetLangSet __attribute((visibility("hidden"))); +#define FcPatternGetLangSet IA__FcPatternGetLangSet +extern __typeof (FcPatternGetRange) IA__FcPatternGetRange __attribute((visibility("hidden"))); +#define FcPatternGetRange IA__FcPatternGetRange +extern __typeof (FcPatternVaBuild) IA__FcPatternVaBuild __attribute((visibility("hidden"))); +#define FcPatternVaBuild IA__FcPatternVaBuild +extern __typeof (FcPatternBuild) IA__FcPatternBuild __attribute((visibility("hidden"))); +#define FcPatternBuild IA__FcPatternBuild +extern __typeof (FcPatternFormat) IA__FcPatternFormat __attribute((visibility("hidden"))); +#define FcPatternFormat IA__FcPatternFormat +extern __typeof (FcRangeCreateDouble) IA__FcRangeCreateDouble __attribute((visibility("hidden"))); +#define FcRangeCreateDouble IA__FcRangeCreateDouble +extern __typeof (FcRangeCreateInteger) IA__FcRangeCreateInteger __attribute((visibility("hidden"))); +#define FcRangeCreateInteger IA__FcRangeCreateInteger +extern __typeof (FcRangeDestroy) IA__FcRangeDestroy __attribute((visibility("hidden"))); +#define FcRangeDestroy IA__FcRangeDestroy +extern __typeof (FcRangeCopy) IA__FcRangeCopy __attribute((visibility("hidden"))); +#define FcRangeCopy IA__FcRangeCopy +extern __typeof (FcRangeGetDouble) IA__FcRangeGetDouble __attribute((visibility("hidden"))); +#define FcRangeGetDouble IA__FcRangeGetDouble +extern __typeof (FcWeightFromOpenType) IA__FcWeightFromOpenType __attribute((visibility("hidden"))); +#define FcWeightFromOpenType IA__FcWeightFromOpenType +extern __typeof (FcWeightToOpenType) IA__FcWeightToOpenType __attribute((visibility("hidden"))); +#define FcWeightToOpenType IA__FcWeightToOpenType +extern __typeof (FcStrCopy) IA__FcStrCopy __attribute((visibility("hidden"))); +#define FcStrCopy IA__FcStrCopy +extern __typeof (FcStrCopyFilename) IA__FcStrCopyFilename __attribute((visibility("hidden"))); +#define FcStrCopyFilename IA__FcStrCopyFilename +extern __typeof (FcStrPlus) IA__FcStrPlus __attribute((visibility("hidden"))); +#define FcStrPlus IA__FcStrPlus +extern __typeof (FcStrFree) IA__FcStrFree __attribute((visibility("hidden"))); +#define FcStrFree IA__FcStrFree +extern __typeof (FcStrDowncase) IA__FcStrDowncase __attribute((visibility("hidden"))); +#define FcStrDowncase IA__FcStrDowncase +extern __typeof (FcStrCmpIgnoreCase) IA__FcStrCmpIgnoreCase __attribute((visibility("hidden"))); +#define FcStrCmpIgnoreCase IA__FcStrCmpIgnoreCase +extern __typeof (FcStrCmp) IA__FcStrCmp __attribute((visibility("hidden"))); +#define FcStrCmp IA__FcStrCmp +extern __typeof (FcStrStrIgnoreCase) IA__FcStrStrIgnoreCase __attribute((visibility("hidden"))); +#define FcStrStrIgnoreCase IA__FcStrStrIgnoreCase +extern __typeof (FcStrStr) IA__FcStrStr __attribute((visibility("hidden"))); +#define FcStrStr IA__FcStrStr +extern __typeof (FcUtf8ToUcs4) IA__FcUtf8ToUcs4 __attribute((visibility("hidden"))); +#define FcUtf8ToUcs4 IA__FcUtf8ToUcs4 +extern __typeof (FcUtf8Len) IA__FcUtf8Len __attribute((visibility("hidden"))); +#define FcUtf8Len IA__FcUtf8Len +extern __typeof (FcUcs4ToUtf8) IA__FcUcs4ToUtf8 __attribute((visibility("hidden"))); +#define FcUcs4ToUtf8 IA__FcUcs4ToUtf8 +extern __typeof (FcUtf16ToUcs4) IA__FcUtf16ToUcs4 __attribute((visibility("hidden"))); +#define FcUtf16ToUcs4 IA__FcUtf16ToUcs4 +extern __typeof (FcUtf16Len) IA__FcUtf16Len __attribute((visibility("hidden"))); +#define FcUtf16Len IA__FcUtf16Len +extern __typeof (FcStrDirname) IA__FcStrDirname __attribute((visibility("hidden"))); +#define FcStrDirname IA__FcStrDirname +extern __typeof (FcStrBasename) IA__FcStrBasename __attribute((visibility("hidden"))); +#define FcStrBasename IA__FcStrBasename +extern __typeof (FcStrSetCreate) IA__FcStrSetCreate __attribute((visibility("hidden"))); +#define FcStrSetCreate IA__FcStrSetCreate +extern __typeof (FcStrSetMember) IA__FcStrSetMember __attribute((visibility("hidden"))); +#define FcStrSetMember IA__FcStrSetMember +extern __typeof (FcStrSetEqual) IA__FcStrSetEqual __attribute((visibility("hidden"))); +#define FcStrSetEqual IA__FcStrSetEqual +extern __typeof (FcStrSetAdd) IA__FcStrSetAdd __attribute((visibility("hidden"))); +#define FcStrSetAdd IA__FcStrSetAdd +extern __typeof (FcStrSetAddFilename) IA__FcStrSetAddFilename __attribute((visibility("hidden"))); +#define FcStrSetAddFilename IA__FcStrSetAddFilename +extern __typeof (FcStrSetDel) IA__FcStrSetDel __attribute((visibility("hidden"))); +#define FcStrSetDel IA__FcStrSetDel +extern __typeof (FcStrSetDestroy) IA__FcStrSetDestroy __attribute((visibility("hidden"))); +#define FcStrSetDestroy IA__FcStrSetDestroy +extern __typeof (FcStrListCreate) IA__FcStrListCreate __attribute((visibility("hidden"))); +#define FcStrListCreate IA__FcStrListCreate +extern __typeof (FcStrListFirst) IA__FcStrListFirst __attribute((visibility("hidden"))); +#define FcStrListFirst IA__FcStrListFirst +extern __typeof (FcStrListNext) IA__FcStrListNext __attribute((visibility("hidden"))); +#define FcStrListNext IA__FcStrListNext +extern __typeof (FcStrListDone) IA__FcStrListDone __attribute((visibility("hidden"))); +#define FcStrListDone IA__FcStrListDone +extern __typeof (FcConfigParseAndLoad) IA__FcConfigParseAndLoad __attribute((visibility("hidden"))); +#define FcConfigParseAndLoad IA__FcConfigParseAndLoad +extern __typeof (FcConfigGetRescanInverval) IA__FcConfigGetRescanInverval __attribute((visibility("hidden"))); +#define FcConfigGetRescanInverval IA__FcConfigGetRescanInverval +extern __typeof (FcConfigSetRescanInverval) IA__FcConfigSetRescanInverval __attribute((visibility("hidden"))); +#define FcConfigSetRescanInverval IA__FcConfigSetRescanInverval diff --git a/static/custom-include/fontconfig/fcaliastail.h b/static/custom-include/fontconfig/fcaliastail.h new file mode 100644 index 000000000..13e5f50b8 --- /dev/null +++ b/static/custom-include/fontconfig/fcaliastail.h @@ -0,0 +1,464 @@ +#if HAVE_GNUC_ATTRIBUTE +#ifdef __fcblanks__ +# undef FcBlanksCreate +extern __typeof (FcBlanksCreate) FcBlanksCreate __attribute((alias("IA__FcBlanksCreate"), visibility("default"))); +# undef FcBlanksDestroy +extern __typeof (FcBlanksDestroy) FcBlanksDestroy __attribute((alias("IA__FcBlanksDestroy"), visibility("default"))); +# undef FcBlanksAdd +extern __typeof (FcBlanksAdd) FcBlanksAdd __attribute((alias("IA__FcBlanksAdd"), visibility("default"))); +# undef FcBlanksIsMember +extern __typeof (FcBlanksIsMember) FcBlanksIsMember __attribute((alias("IA__FcBlanksIsMember"), visibility("default"))); +#endif /* __fcblanks__ */ +#ifdef __fccache__ +# undef FcCacheCopySet +extern __typeof (FcCacheCopySet) FcCacheCopySet __attribute((alias("IA__FcCacheCopySet"), visibility("default"))); +# undef FcCacheNumSubdir +extern __typeof (FcCacheNumSubdir) FcCacheNumSubdir __attribute((alias("IA__FcCacheNumSubdir"), visibility("default"))); +# undef FcCacheNumFont +extern __typeof (FcCacheNumFont) FcCacheNumFont __attribute((alias("IA__FcCacheNumFont"), visibility("default"))); +# undef FcDirCacheUnlink +extern __typeof (FcDirCacheUnlink) FcDirCacheUnlink __attribute((alias("IA__FcDirCacheUnlink"), visibility("default"))); +# undef FcDirCacheValid +extern __typeof (FcDirCacheValid) FcDirCacheValid __attribute((alias("IA__FcDirCacheValid"), visibility("default"))); +# undef FcDirCacheClean +extern __typeof (FcDirCacheClean) FcDirCacheClean __attribute((alias("IA__FcDirCacheClean"), visibility("default"))); +# undef FcCacheCreateTagFile +extern __typeof (FcCacheCreateTagFile) FcCacheCreateTagFile __attribute((alias("IA__FcCacheCreateTagFile"), visibility("default"))); +#endif /* __fccache__ */ +#ifdef __fccfg__ +# undef FcConfigHome +extern __typeof (FcConfigHome) FcConfigHome __attribute((alias("IA__FcConfigHome"), visibility("default"))); +# undef FcConfigEnableHome +extern __typeof (FcConfigEnableHome) FcConfigEnableHome __attribute((alias("IA__FcConfigEnableHome"), visibility("default"))); +# undef FcConfigFilename +extern __typeof (FcConfigFilename) FcConfigFilename __attribute((alias("IA__FcConfigFilename"), visibility("default"))); +# undef FcConfigCreate +extern __typeof (FcConfigCreate) FcConfigCreate __attribute((alias("IA__FcConfigCreate"), visibility("default"))); +# undef FcConfigReference +extern __typeof (FcConfigReference) FcConfigReference __attribute((alias("IA__FcConfigReference"), visibility("default"))); +# undef FcConfigDestroy +extern __typeof (FcConfigDestroy) FcConfigDestroy __attribute((alias("IA__FcConfigDestroy"), visibility("default"))); +# undef FcConfigSetCurrent +extern __typeof (FcConfigSetCurrent) FcConfigSetCurrent __attribute((alias("IA__FcConfigSetCurrent"), visibility("default"))); +# undef FcConfigGetCurrent +extern __typeof (FcConfigGetCurrent) FcConfigGetCurrent __attribute((alias("IA__FcConfigGetCurrent"), visibility("default"))); +# undef FcConfigUptoDate +extern __typeof (FcConfigUptoDate) FcConfigUptoDate __attribute((alias("IA__FcConfigUptoDate"), visibility("default"))); +# undef FcConfigBuildFonts +extern __typeof (FcConfigBuildFonts) FcConfigBuildFonts __attribute((alias("IA__FcConfigBuildFonts"), visibility("default"))); +# undef FcConfigGetFontDirs +extern __typeof (FcConfigGetFontDirs) FcConfigGetFontDirs __attribute((alias("IA__FcConfigGetFontDirs"), visibility("default"))); +# undef FcConfigGetConfigDirs +extern __typeof (FcConfigGetConfigDirs) FcConfigGetConfigDirs __attribute((alias("IA__FcConfigGetConfigDirs"), visibility("default"))); +# undef FcConfigGetConfigFiles +extern __typeof (FcConfigGetConfigFiles) FcConfigGetConfigFiles __attribute((alias("IA__FcConfigGetConfigFiles"), visibility("default"))); +# undef FcConfigGetCache +extern __typeof (FcConfigGetCache) FcConfigGetCache __attribute((alias("IA__FcConfigGetCache"), visibility("default"))); +# undef FcConfigGetBlanks +extern __typeof (FcConfigGetBlanks) FcConfigGetBlanks __attribute((alias("IA__FcConfigGetBlanks"), visibility("default"))); +# undef FcConfigGetCacheDirs +extern __typeof (FcConfigGetCacheDirs) FcConfigGetCacheDirs __attribute((alias("IA__FcConfigGetCacheDirs"), visibility("default"))); +# undef FcConfigGetRescanInterval +extern __typeof (FcConfigGetRescanInterval) FcConfigGetRescanInterval __attribute((alias("IA__FcConfigGetRescanInterval"), visibility("default"))); +# undef FcConfigSetRescanInterval +extern __typeof (FcConfigSetRescanInterval) FcConfigSetRescanInterval __attribute((alias("IA__FcConfigSetRescanInterval"), visibility("default"))); +# undef FcConfigGetFonts +extern __typeof (FcConfigGetFonts) FcConfigGetFonts __attribute((alias("IA__FcConfigGetFonts"), visibility("default"))); +# undef FcConfigAppFontAddFile +extern __typeof (FcConfigAppFontAddFile) FcConfigAppFontAddFile __attribute((alias("IA__FcConfigAppFontAddFile"), visibility("default"))); +# undef FcConfigAppFontAddDir +extern __typeof (FcConfigAppFontAddDir) FcConfigAppFontAddDir __attribute((alias("IA__FcConfigAppFontAddDir"), visibility("default"))); +# undef FcConfigAppFontClear +extern __typeof (FcConfigAppFontClear) FcConfigAppFontClear __attribute((alias("IA__FcConfigAppFontClear"), visibility("default"))); +# undef FcConfigSubstituteWithPat +extern __typeof (FcConfigSubstituteWithPat) FcConfigSubstituteWithPat __attribute((alias("IA__FcConfigSubstituteWithPat"), visibility("default"))); +# undef FcConfigSubstitute +extern __typeof (FcConfigSubstitute) FcConfigSubstitute __attribute((alias("IA__FcConfigSubstitute"), visibility("default"))); +# undef FcConfigGetSysRoot +extern __typeof (FcConfigGetSysRoot) FcConfigGetSysRoot __attribute((alias("IA__FcConfigGetSysRoot"), visibility("default"))); +# undef FcConfigSetSysRoot +extern __typeof (FcConfigSetSysRoot) FcConfigSetSysRoot __attribute((alias("IA__FcConfigSetSysRoot"), visibility("default"))); +#endif /* __fccfg__ */ +#ifdef __fccharset__ +# undef FcCharSetCreate +extern __typeof (FcCharSetCreate) FcCharSetCreate __attribute((alias("IA__FcCharSetCreate"), visibility("default"))); +# undef FcCharSetNew +extern __typeof (FcCharSetNew) FcCharSetNew __attribute((alias("IA__FcCharSetNew"), visibility("default"))); +# undef FcCharSetDestroy +extern __typeof (FcCharSetDestroy) FcCharSetDestroy __attribute((alias("IA__FcCharSetDestroy"), visibility("default"))); +# undef FcCharSetAddChar +extern __typeof (FcCharSetAddChar) FcCharSetAddChar __attribute((alias("IA__FcCharSetAddChar"), visibility("default"))); +# undef FcCharSetDelChar +extern __typeof (FcCharSetDelChar) FcCharSetDelChar __attribute((alias("IA__FcCharSetDelChar"), visibility("default"))); +# undef FcCharSetCopy +extern __typeof (FcCharSetCopy) FcCharSetCopy __attribute((alias("IA__FcCharSetCopy"), visibility("default"))); +# undef FcCharSetEqual +extern __typeof (FcCharSetEqual) FcCharSetEqual __attribute((alias("IA__FcCharSetEqual"), visibility("default"))); +# undef FcCharSetIntersect +extern __typeof (FcCharSetIntersect) FcCharSetIntersect __attribute((alias("IA__FcCharSetIntersect"), visibility("default"))); +# undef FcCharSetUnion +extern __typeof (FcCharSetUnion) FcCharSetUnion __attribute((alias("IA__FcCharSetUnion"), visibility("default"))); +# undef FcCharSetSubtract +extern __typeof (FcCharSetSubtract) FcCharSetSubtract __attribute((alias("IA__FcCharSetSubtract"), visibility("default"))); +# undef FcCharSetMerge +extern __typeof (FcCharSetMerge) FcCharSetMerge __attribute((alias("IA__FcCharSetMerge"), visibility("default"))); +# undef FcCharSetHasChar +extern __typeof (FcCharSetHasChar) FcCharSetHasChar __attribute((alias("IA__FcCharSetHasChar"), visibility("default"))); +# undef FcCharSetCount +extern __typeof (FcCharSetCount) FcCharSetCount __attribute((alias("IA__FcCharSetCount"), visibility("default"))); +# undef FcCharSetIntersectCount +extern __typeof (FcCharSetIntersectCount) FcCharSetIntersectCount __attribute((alias("IA__FcCharSetIntersectCount"), visibility("default"))); +# undef FcCharSetSubtractCount +extern __typeof (FcCharSetSubtractCount) FcCharSetSubtractCount __attribute((alias("IA__FcCharSetSubtractCount"), visibility("default"))); +# undef FcCharSetIsSubset +extern __typeof (FcCharSetIsSubset) FcCharSetIsSubset __attribute((alias("IA__FcCharSetIsSubset"), visibility("default"))); +# undef FcCharSetFirstPage +extern __typeof (FcCharSetFirstPage) FcCharSetFirstPage __attribute((alias("IA__FcCharSetFirstPage"), visibility("default"))); +# undef FcCharSetNextPage +extern __typeof (FcCharSetNextPage) FcCharSetNextPage __attribute((alias("IA__FcCharSetNextPage"), visibility("default"))); +# undef FcCharSetCoverage +extern __typeof (FcCharSetCoverage) FcCharSetCoverage __attribute((alias("IA__FcCharSetCoverage"), visibility("default"))); +#endif /* __fccharset__ */ +#ifdef __fcdbg__ +# undef FcValuePrint +extern __typeof (FcValuePrint) FcValuePrint __attribute((alias("IA__FcValuePrint"), visibility("default"))); +# undef FcPatternPrint +extern __typeof (FcPatternPrint) FcPatternPrint __attribute((alias("IA__FcPatternPrint"), visibility("default"))); +# undef FcFontSetPrint +extern __typeof (FcFontSetPrint) FcFontSetPrint __attribute((alias("IA__FcFontSetPrint"), visibility("default"))); +#endif /* __fcdbg__ */ +#ifdef __fcdefault__ +# undef FcGetDefaultLangs +extern __typeof (FcGetDefaultLangs) FcGetDefaultLangs __attribute((alias("IA__FcGetDefaultLangs"), visibility("default"))); +# undef FcDefaultSubstitute +extern __typeof (FcDefaultSubstitute) FcDefaultSubstitute __attribute((alias("IA__FcDefaultSubstitute"), visibility("default"))); +#endif /* __fcdefault__ */ +#ifdef __fcdir__ +# undef FcFileIsDir +extern __typeof (FcFileIsDir) FcFileIsDir __attribute((alias("IA__FcFileIsDir"), visibility("default"))); +# undef FcFileScan +extern __typeof (FcFileScan) FcFileScan __attribute((alias("IA__FcFileScan"), visibility("default"))); +# undef FcDirScan +extern __typeof (FcDirScan) FcDirScan __attribute((alias("IA__FcDirScan"), visibility("default"))); +# undef FcDirSave +extern __typeof (FcDirSave) FcDirSave __attribute((alias("IA__FcDirSave"), visibility("default"))); +#endif /* __fcdir__ */ +#ifdef __fccache__ +# undef FcDirCacheLoad +extern __typeof (FcDirCacheLoad) FcDirCacheLoad __attribute((alias("IA__FcDirCacheLoad"), visibility("default"))); +#endif /* __fccache__ */ +#ifdef __fcdir__ +# undef FcDirCacheRescan +extern __typeof (FcDirCacheRescan) FcDirCacheRescan __attribute((alias("IA__FcDirCacheRescan"), visibility("default"))); +# undef FcDirCacheRead +extern __typeof (FcDirCacheRead) FcDirCacheRead __attribute((alias("IA__FcDirCacheRead"), visibility("default"))); +#endif /* __fcdir__ */ +#ifdef __fccache__ +# undef FcDirCacheLoadFile +extern __typeof (FcDirCacheLoadFile) FcDirCacheLoadFile __attribute((alias("IA__FcDirCacheLoadFile"), visibility("default"))); +# undef FcDirCacheUnload +extern __typeof (FcDirCacheUnload) FcDirCacheUnload __attribute((alias("IA__FcDirCacheUnload"), visibility("default"))); +#endif /* __fccache__ */ +#ifdef __fcfreetype__ +# undef FcFreeTypeQuery +extern __typeof (FcFreeTypeQuery) FcFreeTypeQuery __attribute((alias("IA__FcFreeTypeQuery"), visibility("default"))); +#endif /* __fcfreetype__ */ +#ifdef __fcfs__ +# undef FcFontSetCreate +extern __typeof (FcFontSetCreate) FcFontSetCreate __attribute((alias("IA__FcFontSetCreate"), visibility("default"))); +# undef FcFontSetDestroy +extern __typeof (FcFontSetDestroy) FcFontSetDestroy __attribute((alias("IA__FcFontSetDestroy"), visibility("default"))); +# undef FcFontSetAdd +extern __typeof (FcFontSetAdd) FcFontSetAdd __attribute((alias("IA__FcFontSetAdd"), visibility("default"))); +#endif /* __fcfs__ */ +#ifdef __fcinit__ +# undef FcInitLoadConfig +extern __typeof (FcInitLoadConfig) FcInitLoadConfig __attribute((alias("IA__FcInitLoadConfig"), visibility("default"))); +# undef FcInitLoadConfigAndFonts +extern __typeof (FcInitLoadConfigAndFonts) FcInitLoadConfigAndFonts __attribute((alias("IA__FcInitLoadConfigAndFonts"), visibility("default"))); +# undef FcInit +extern __typeof (FcInit) FcInit __attribute((alias("IA__FcInit"), visibility("default"))); +# undef FcFini +extern __typeof (FcFini) FcFini __attribute((alias("IA__FcFini"), visibility("default"))); +# undef FcGetVersion +extern __typeof (FcGetVersion) FcGetVersion __attribute((alias("IA__FcGetVersion"), visibility("default"))); +# undef FcInitReinitialize +extern __typeof (FcInitReinitialize) FcInitReinitialize __attribute((alias("IA__FcInitReinitialize"), visibility("default"))); +# undef FcInitBringUptoDate +extern __typeof (FcInitBringUptoDate) FcInitBringUptoDate __attribute((alias("IA__FcInitBringUptoDate"), visibility("default"))); +#endif /* __fcinit__ */ +#ifdef __fclang__ +# undef FcGetLangs +extern __typeof (FcGetLangs) FcGetLangs __attribute((alias("IA__FcGetLangs"), visibility("default"))); +# undef FcLangNormalize +extern __typeof (FcLangNormalize) FcLangNormalize __attribute((alias("IA__FcLangNormalize"), visibility("default"))); +# undef FcLangGetCharSet +extern __typeof (FcLangGetCharSet) FcLangGetCharSet __attribute((alias("IA__FcLangGetCharSet"), visibility("default"))); +# undef FcLangSetCreate +extern __typeof (FcLangSetCreate) FcLangSetCreate __attribute((alias("IA__FcLangSetCreate"), visibility("default"))); +# undef FcLangSetDestroy +extern __typeof (FcLangSetDestroy) FcLangSetDestroy __attribute((alias("IA__FcLangSetDestroy"), visibility("default"))); +# undef FcLangSetCopy +extern __typeof (FcLangSetCopy) FcLangSetCopy __attribute((alias("IA__FcLangSetCopy"), visibility("default"))); +# undef FcLangSetAdd +extern __typeof (FcLangSetAdd) FcLangSetAdd __attribute((alias("IA__FcLangSetAdd"), visibility("default"))); +# undef FcLangSetDel +extern __typeof (FcLangSetDel) FcLangSetDel __attribute((alias("IA__FcLangSetDel"), visibility("default"))); +# undef FcLangSetHasLang +extern __typeof (FcLangSetHasLang) FcLangSetHasLang __attribute((alias("IA__FcLangSetHasLang"), visibility("default"))); +# undef FcLangSetCompare +extern __typeof (FcLangSetCompare) FcLangSetCompare __attribute((alias("IA__FcLangSetCompare"), visibility("default"))); +# undef FcLangSetContains +extern __typeof (FcLangSetContains) FcLangSetContains __attribute((alias("IA__FcLangSetContains"), visibility("default"))); +# undef FcLangSetEqual +extern __typeof (FcLangSetEqual) FcLangSetEqual __attribute((alias("IA__FcLangSetEqual"), visibility("default"))); +# undef FcLangSetHash +extern __typeof (FcLangSetHash) FcLangSetHash __attribute((alias("IA__FcLangSetHash"), visibility("default"))); +# undef FcLangSetGetLangs +extern __typeof (FcLangSetGetLangs) FcLangSetGetLangs __attribute((alias("IA__FcLangSetGetLangs"), visibility("default"))); +# undef FcLangSetUnion +extern __typeof (FcLangSetUnion) FcLangSetUnion __attribute((alias("IA__FcLangSetUnion"), visibility("default"))); +# undef FcLangSetSubtract +extern __typeof (FcLangSetSubtract) FcLangSetSubtract __attribute((alias("IA__FcLangSetSubtract"), visibility("default"))); +#endif /* __fclang__ */ +#ifdef __fclist__ +# undef FcObjectSetCreate +extern __typeof (FcObjectSetCreate) FcObjectSetCreate __attribute((alias("IA__FcObjectSetCreate"), visibility("default"))); +# undef FcObjectSetAdd +extern __typeof (FcObjectSetAdd) FcObjectSetAdd __attribute((alias("IA__FcObjectSetAdd"), visibility("default"))); +# undef FcObjectSetDestroy +extern __typeof (FcObjectSetDestroy) FcObjectSetDestroy __attribute((alias("IA__FcObjectSetDestroy"), visibility("default"))); +# undef FcObjectSetVaBuild +extern __typeof (FcObjectSetVaBuild) FcObjectSetVaBuild __attribute((alias("IA__FcObjectSetVaBuild"), visibility("default"))); +# undef FcObjectSetBuild +extern __typeof (FcObjectSetBuild) FcObjectSetBuild __attribute((alias("IA__FcObjectSetBuild"), visibility("default"))); +# undef FcFontSetList +extern __typeof (FcFontSetList) FcFontSetList __attribute((alias("IA__FcFontSetList"), visibility("default"))); +# undef FcFontList +extern __typeof (FcFontList) FcFontList __attribute((alias("IA__FcFontList"), visibility("default"))); +#endif /* __fclist__ */ +#ifdef __fcatomic__ +# undef FcAtomicCreate +extern __typeof (FcAtomicCreate) FcAtomicCreate __attribute((alias("IA__FcAtomicCreate"), visibility("default"))); +# undef FcAtomicLock +extern __typeof (FcAtomicLock) FcAtomicLock __attribute((alias("IA__FcAtomicLock"), visibility("default"))); +# undef FcAtomicNewFile +extern __typeof (FcAtomicNewFile) FcAtomicNewFile __attribute((alias("IA__FcAtomicNewFile"), visibility("default"))); +# undef FcAtomicOrigFile +extern __typeof (FcAtomicOrigFile) FcAtomicOrigFile __attribute((alias("IA__FcAtomicOrigFile"), visibility("default"))); +# undef FcAtomicReplaceOrig +extern __typeof (FcAtomicReplaceOrig) FcAtomicReplaceOrig __attribute((alias("IA__FcAtomicReplaceOrig"), visibility("default"))); +# undef FcAtomicDeleteNew +extern __typeof (FcAtomicDeleteNew) FcAtomicDeleteNew __attribute((alias("IA__FcAtomicDeleteNew"), visibility("default"))); +# undef FcAtomicUnlock +extern __typeof (FcAtomicUnlock) FcAtomicUnlock __attribute((alias("IA__FcAtomicUnlock"), visibility("default"))); +# undef FcAtomicDestroy +extern __typeof (FcAtomicDestroy) FcAtomicDestroy __attribute((alias("IA__FcAtomicDestroy"), visibility("default"))); +#endif /* __fcatomic__ */ +#ifdef __fcmatch__ +# undef FcFontSetMatch +extern __typeof (FcFontSetMatch) FcFontSetMatch __attribute((alias("IA__FcFontSetMatch"), visibility("default"))); +# undef FcFontMatch +extern __typeof (FcFontMatch) FcFontMatch __attribute((alias("IA__FcFontMatch"), visibility("default"))); +# undef FcFontRenderPrepare +extern __typeof (FcFontRenderPrepare) FcFontRenderPrepare __attribute((alias("IA__FcFontRenderPrepare"), visibility("default"))); +# undef FcFontSetSort +extern __typeof (FcFontSetSort) FcFontSetSort __attribute((alias("IA__FcFontSetSort"), visibility("default"))); +# undef FcFontSort +extern __typeof (FcFontSort) FcFontSort __attribute((alias("IA__FcFontSort"), visibility("default"))); +# undef FcFontSetSortDestroy +extern __typeof (FcFontSetSortDestroy) FcFontSetSortDestroy __attribute((alias("IA__FcFontSetSortDestroy"), visibility("default"))); +#endif /* __fcmatch__ */ +#ifdef __fcmatrix__ +# undef FcMatrixCopy +extern __typeof (FcMatrixCopy) FcMatrixCopy __attribute((alias("IA__FcMatrixCopy"), visibility("default"))); +# undef FcMatrixEqual +extern __typeof (FcMatrixEqual) FcMatrixEqual __attribute((alias("IA__FcMatrixEqual"), visibility("default"))); +# undef FcMatrixMultiply +extern __typeof (FcMatrixMultiply) FcMatrixMultiply __attribute((alias("IA__FcMatrixMultiply"), visibility("default"))); +# undef FcMatrixRotate +extern __typeof (FcMatrixRotate) FcMatrixRotate __attribute((alias("IA__FcMatrixRotate"), visibility("default"))); +# undef FcMatrixScale +extern __typeof (FcMatrixScale) FcMatrixScale __attribute((alias("IA__FcMatrixScale"), visibility("default"))); +# undef FcMatrixShear +extern __typeof (FcMatrixShear) FcMatrixShear __attribute((alias("IA__FcMatrixShear"), visibility("default"))); +#endif /* __fcmatrix__ */ +#ifdef __fcname__ +# undef FcNameRegisterObjectTypes +extern __typeof (FcNameRegisterObjectTypes) FcNameRegisterObjectTypes __attribute((alias("IA__FcNameRegisterObjectTypes"), visibility("default"))); +# undef FcNameUnregisterObjectTypes +extern __typeof (FcNameUnregisterObjectTypes) FcNameUnregisterObjectTypes __attribute((alias("IA__FcNameUnregisterObjectTypes"), visibility("default"))); +# undef FcNameGetObjectType +extern __typeof (FcNameGetObjectType) FcNameGetObjectType __attribute((alias("IA__FcNameGetObjectType"), visibility("default"))); +# undef FcNameRegisterConstants +extern __typeof (FcNameRegisterConstants) FcNameRegisterConstants __attribute((alias("IA__FcNameRegisterConstants"), visibility("default"))); +# undef FcNameUnregisterConstants +extern __typeof (FcNameUnregisterConstants) FcNameUnregisterConstants __attribute((alias("IA__FcNameUnregisterConstants"), visibility("default"))); +# undef FcNameGetConstant +extern __typeof (FcNameGetConstant) FcNameGetConstant __attribute((alias("IA__FcNameGetConstant"), visibility("default"))); +# undef FcNameConstant +extern __typeof (FcNameConstant) FcNameConstant __attribute((alias("IA__FcNameConstant"), visibility("default"))); +# undef FcNameParse +extern __typeof (FcNameParse) FcNameParse __attribute((alias("IA__FcNameParse"), visibility("default"))); +# undef FcNameUnparse +extern __typeof (FcNameUnparse) FcNameUnparse __attribute((alias("IA__FcNameUnparse"), visibility("default"))); +#endif /* __fcname__ */ +#ifdef __fcpat__ +# undef FcPatternCreate +extern __typeof (FcPatternCreate) FcPatternCreate __attribute((alias("IA__FcPatternCreate"), visibility("default"))); +# undef FcPatternDuplicate +extern __typeof (FcPatternDuplicate) FcPatternDuplicate __attribute((alias("IA__FcPatternDuplicate"), visibility("default"))); +# undef FcPatternReference +extern __typeof (FcPatternReference) FcPatternReference __attribute((alias("IA__FcPatternReference"), visibility("default"))); +# undef FcPatternFilter +extern __typeof (FcPatternFilter) FcPatternFilter __attribute((alias("IA__FcPatternFilter"), visibility("default"))); +# undef FcValueDestroy +extern __typeof (FcValueDestroy) FcValueDestroy __attribute((alias("IA__FcValueDestroy"), visibility("default"))); +# undef FcValueEqual +extern __typeof (FcValueEqual) FcValueEqual __attribute((alias("IA__FcValueEqual"), visibility("default"))); +# undef FcValueSave +extern __typeof (FcValueSave) FcValueSave __attribute((alias("IA__FcValueSave"), visibility("default"))); +# undef FcPatternDestroy +extern __typeof (FcPatternDestroy) FcPatternDestroy __attribute((alias("IA__FcPatternDestroy"), visibility("default"))); +# undef FcPatternEqual +extern __typeof (FcPatternEqual) FcPatternEqual __attribute((alias("IA__FcPatternEqual"), visibility("default"))); +# undef FcPatternEqualSubset +extern __typeof (FcPatternEqualSubset) FcPatternEqualSubset __attribute((alias("IA__FcPatternEqualSubset"), visibility("default"))); +# undef FcPatternHash +extern __typeof (FcPatternHash) FcPatternHash __attribute((alias("IA__FcPatternHash"), visibility("default"))); +# undef FcPatternAdd +extern __typeof (FcPatternAdd) FcPatternAdd __attribute((alias("IA__FcPatternAdd"), visibility("default"))); +# undef FcPatternAddWeak +extern __typeof (FcPatternAddWeak) FcPatternAddWeak __attribute((alias("IA__FcPatternAddWeak"), visibility("default"))); +# undef FcPatternGet +extern __typeof (FcPatternGet) FcPatternGet __attribute((alias("IA__FcPatternGet"), visibility("default"))); +# undef FcPatternDel +extern __typeof (FcPatternDel) FcPatternDel __attribute((alias("IA__FcPatternDel"), visibility("default"))); +# undef FcPatternRemove +extern __typeof (FcPatternRemove) FcPatternRemove __attribute((alias("IA__FcPatternRemove"), visibility("default"))); +# undef FcPatternAddInteger +extern __typeof (FcPatternAddInteger) FcPatternAddInteger __attribute((alias("IA__FcPatternAddInteger"), visibility("default"))); +# undef FcPatternAddDouble +extern __typeof (FcPatternAddDouble) FcPatternAddDouble __attribute((alias("IA__FcPatternAddDouble"), visibility("default"))); +# undef FcPatternAddString +extern __typeof (FcPatternAddString) FcPatternAddString __attribute((alias("IA__FcPatternAddString"), visibility("default"))); +# undef FcPatternAddMatrix +extern __typeof (FcPatternAddMatrix) FcPatternAddMatrix __attribute((alias("IA__FcPatternAddMatrix"), visibility("default"))); +# undef FcPatternAddCharSet +extern __typeof (FcPatternAddCharSet) FcPatternAddCharSet __attribute((alias("IA__FcPatternAddCharSet"), visibility("default"))); +# undef FcPatternAddBool +extern __typeof (FcPatternAddBool) FcPatternAddBool __attribute((alias("IA__FcPatternAddBool"), visibility("default"))); +# undef FcPatternAddLangSet +extern __typeof (FcPatternAddLangSet) FcPatternAddLangSet __attribute((alias("IA__FcPatternAddLangSet"), visibility("default"))); +# undef FcPatternAddRange +extern __typeof (FcPatternAddRange) FcPatternAddRange __attribute((alias("IA__FcPatternAddRange"), visibility("default"))); +# undef FcPatternGetInteger +extern __typeof (FcPatternGetInteger) FcPatternGetInteger __attribute((alias("IA__FcPatternGetInteger"), visibility("default"))); +# undef FcPatternGetDouble +extern __typeof (FcPatternGetDouble) FcPatternGetDouble __attribute((alias("IA__FcPatternGetDouble"), visibility("default"))); +# undef FcPatternGetString +extern __typeof (FcPatternGetString) FcPatternGetString __attribute((alias("IA__FcPatternGetString"), visibility("default"))); +# undef FcPatternGetMatrix +extern __typeof (FcPatternGetMatrix) FcPatternGetMatrix __attribute((alias("IA__FcPatternGetMatrix"), visibility("default"))); +# undef FcPatternGetCharSet +extern __typeof (FcPatternGetCharSet) FcPatternGetCharSet __attribute((alias("IA__FcPatternGetCharSet"), visibility("default"))); +# undef FcPatternGetBool +extern __typeof (FcPatternGetBool) FcPatternGetBool __attribute((alias("IA__FcPatternGetBool"), visibility("default"))); +# undef FcPatternGetLangSet +extern __typeof (FcPatternGetLangSet) FcPatternGetLangSet __attribute((alias("IA__FcPatternGetLangSet"), visibility("default"))); +# undef FcPatternGetRange +extern __typeof (FcPatternGetRange) FcPatternGetRange __attribute((alias("IA__FcPatternGetRange"), visibility("default"))); +# undef FcPatternVaBuild +extern __typeof (FcPatternVaBuild) FcPatternVaBuild __attribute((alias("IA__FcPatternVaBuild"), visibility("default"))); +# undef FcPatternBuild +extern __typeof (FcPatternBuild) FcPatternBuild __attribute((alias("IA__FcPatternBuild"), visibility("default"))); +#endif /* __fcpat__ */ +#ifdef __fcformat__ +# undef FcPatternFormat +extern __typeof (FcPatternFormat) FcPatternFormat __attribute((alias("IA__FcPatternFormat"), visibility("default"))); +#endif /* __fcformat__ */ +#ifdef __fcrange__ +# undef FcRangeCreateDouble +extern __typeof (FcRangeCreateDouble) FcRangeCreateDouble __attribute((alias("IA__FcRangeCreateDouble"), visibility("default"))); +# undef FcRangeCreateInteger +extern __typeof (FcRangeCreateInteger) FcRangeCreateInteger __attribute((alias("IA__FcRangeCreateInteger"), visibility("default"))); +# undef FcRangeDestroy +extern __typeof (FcRangeDestroy) FcRangeDestroy __attribute((alias("IA__FcRangeDestroy"), visibility("default"))); +# undef FcRangeCopy +extern __typeof (FcRangeCopy) FcRangeCopy __attribute((alias("IA__FcRangeCopy"), visibility("default"))); +# undef FcRangeGetDouble +extern __typeof (FcRangeGetDouble) FcRangeGetDouble __attribute((alias("IA__FcRangeGetDouble"), visibility("default"))); +#endif /* __fcrange__ */ +#ifdef __fcweight__ +# undef FcWeightFromOpenType +extern __typeof (FcWeightFromOpenType) FcWeightFromOpenType __attribute((alias("IA__FcWeightFromOpenType"), visibility("default"))); +# undef FcWeightToOpenType +extern __typeof (FcWeightToOpenType) FcWeightToOpenType __attribute((alias("IA__FcWeightToOpenType"), visibility("default"))); +#endif /* __fcweight__ */ +#ifdef __fcstr__ +# undef FcStrCopy +extern __typeof (FcStrCopy) FcStrCopy __attribute((alias("IA__FcStrCopy"), visibility("default"))); +# undef FcStrCopyFilename +extern __typeof (FcStrCopyFilename) FcStrCopyFilename __attribute((alias("IA__FcStrCopyFilename"), visibility("default"))); +# undef FcStrPlus +extern __typeof (FcStrPlus) FcStrPlus __attribute((alias("IA__FcStrPlus"), visibility("default"))); +# undef FcStrFree +extern __typeof (FcStrFree) FcStrFree __attribute((alias("IA__FcStrFree"), visibility("default"))); +# undef FcStrDowncase +extern __typeof (FcStrDowncase) FcStrDowncase __attribute((alias("IA__FcStrDowncase"), visibility("default"))); +# undef FcStrCmpIgnoreCase +extern __typeof (FcStrCmpIgnoreCase) FcStrCmpIgnoreCase __attribute((alias("IA__FcStrCmpIgnoreCase"), visibility("default"))); +# undef FcStrCmp +extern __typeof (FcStrCmp) FcStrCmp __attribute((alias("IA__FcStrCmp"), visibility("default"))); +# undef FcStrStrIgnoreCase +extern __typeof (FcStrStrIgnoreCase) FcStrStrIgnoreCase __attribute((alias("IA__FcStrStrIgnoreCase"), visibility("default"))); +# undef FcStrStr +extern __typeof (FcStrStr) FcStrStr __attribute((alias("IA__FcStrStr"), visibility("default"))); +# undef FcUtf8ToUcs4 +extern __typeof (FcUtf8ToUcs4) FcUtf8ToUcs4 __attribute((alias("IA__FcUtf8ToUcs4"), visibility("default"))); +# undef FcUtf8Len +extern __typeof (FcUtf8Len) FcUtf8Len __attribute((alias("IA__FcUtf8Len"), visibility("default"))); +# undef FcUcs4ToUtf8 +extern __typeof (FcUcs4ToUtf8) FcUcs4ToUtf8 __attribute((alias("IA__FcUcs4ToUtf8"), visibility("default"))); +# undef FcUtf16ToUcs4 +extern __typeof (FcUtf16ToUcs4) FcUtf16ToUcs4 __attribute((alias("IA__FcUtf16ToUcs4"), visibility("default"))); +# undef FcUtf16Len +extern __typeof (FcUtf16Len) FcUtf16Len __attribute((alias("IA__FcUtf16Len"), visibility("default"))); +# undef FcStrDirname +extern __typeof (FcStrDirname) FcStrDirname __attribute((alias("IA__FcStrDirname"), visibility("default"))); +# undef FcStrBasename +extern __typeof (FcStrBasename) FcStrBasename __attribute((alias("IA__FcStrBasename"), visibility("default"))); +# undef FcStrSetCreate +extern __typeof (FcStrSetCreate) FcStrSetCreate __attribute((alias("IA__FcStrSetCreate"), visibility("default"))); +# undef FcStrSetMember +extern __typeof (FcStrSetMember) FcStrSetMember __attribute((alias("IA__FcStrSetMember"), visibility("default"))); +# undef FcStrSetEqual +extern __typeof (FcStrSetEqual) FcStrSetEqual __attribute((alias("IA__FcStrSetEqual"), visibility("default"))); +# undef FcStrSetAdd +extern __typeof (FcStrSetAdd) FcStrSetAdd __attribute((alias("IA__FcStrSetAdd"), visibility("default"))); +# undef FcStrSetAddFilename +extern __typeof (FcStrSetAddFilename) FcStrSetAddFilename __attribute((alias("IA__FcStrSetAddFilename"), visibility("default"))); +# undef FcStrSetDel +extern __typeof (FcStrSetDel) FcStrSetDel __attribute((alias("IA__FcStrSetDel"), visibility("default"))); +# undef FcStrSetDestroy +extern __typeof (FcStrSetDestroy) FcStrSetDestroy __attribute((alias("IA__FcStrSetDestroy"), visibility("default"))); +# undef FcStrListCreate +extern __typeof (FcStrListCreate) FcStrListCreate __attribute((alias("IA__FcStrListCreate"), visibility("default"))); +# undef FcStrListFirst +extern __typeof (FcStrListFirst) FcStrListFirst __attribute((alias("IA__FcStrListFirst"), visibility("default"))); +# undef FcStrListNext +extern __typeof (FcStrListNext) FcStrListNext __attribute((alias("IA__FcStrListNext"), visibility("default"))); +# undef FcStrListDone +extern __typeof (FcStrListDone) FcStrListDone __attribute((alias("IA__FcStrListDone"), visibility("default"))); +#endif /* __fcstr__ */ +#ifdef __fcxml__ +# undef FcConfigParseAndLoad +extern __typeof (FcConfigParseAndLoad) FcConfigParseAndLoad __attribute((alias("IA__FcConfigParseAndLoad"), visibility("default"))); +#endif /* __fcxml__ */ +#ifdef __fccfg__ +# undef FcConfigGetRescanInverval +extern __typeof (FcConfigGetRescanInverval) FcConfigGetRescanInverval __attribute((alias("IA__FcConfigGetRescanInverval"), visibility("default"))); +# undef FcConfigSetRescanInverval +extern __typeof (FcConfigSetRescanInverval) FcConfigSetRescanInverval __attribute((alias("IA__FcConfigSetRescanInverval"), visibility("default"))); +#endif /* */ +#endif /* HAVE_GNUC_ATTRIBUTE */ diff --git a/static/custom-include/fontconfig/fcftalias.h b/static/custom-include/fontconfig/fcftalias.h new file mode 100644 index 000000000..884eb4b2e --- /dev/null +++ b/static/custom-include/fontconfig/fcftalias.h @@ -0,0 +1,12 @@ +extern __typeof (FcFreeTypeCharIndex) IA__FcFreeTypeCharIndex __attribute((visibility("hidden"))); +#define FcFreeTypeCharIndex IA__FcFreeTypeCharIndex +extern __typeof (FcFreeTypeCharSetAndSpacing) IA__FcFreeTypeCharSetAndSpacing __attribute((visibility("hidden"))); +#define FcFreeTypeCharSetAndSpacing IA__FcFreeTypeCharSetAndSpacing +extern __typeof (FcFreeTypeCharSet) IA__FcFreeTypeCharSet __attribute((visibility("hidden"))); +#define FcFreeTypeCharSet IA__FcFreeTypeCharSet +extern __typeof (FcPatternGetFTFace) IA__FcPatternGetFTFace __attribute((visibility("hidden"))); +#define FcPatternGetFTFace IA__FcPatternGetFTFace +extern __typeof (FcPatternAddFTFace) IA__FcPatternAddFTFace __attribute((visibility("hidden"))); +#define FcPatternAddFTFace IA__FcPatternAddFTFace +extern __typeof (FcFreeTypeQueryFace) IA__FcFreeTypeQueryFace __attribute((visibility("hidden"))); +#define FcFreeTypeQueryFace IA__FcFreeTypeQueryFace diff --git a/static/custom-include/fontconfig/fcftaliastail.h b/static/custom-include/fontconfig/fcftaliastail.h new file mode 100644 index 000000000..f5a537d9c --- /dev/null +++ b/static/custom-include/fontconfig/fcftaliastail.h @@ -0,0 +1,20 @@ +#if HAVE_GNUC_ATTRIBUTE +#ifdef __fcfreetype__ +# undef FcFreeTypeCharIndex +extern __typeof (FcFreeTypeCharIndex) FcFreeTypeCharIndex __attribute((alias("IA__FcFreeTypeCharIndex"), visibility("default"))); +# undef FcFreeTypeCharSetAndSpacing +extern __typeof (FcFreeTypeCharSetAndSpacing) FcFreeTypeCharSetAndSpacing __attribute((alias("IA__FcFreeTypeCharSetAndSpacing"), visibility("default"))); +# undef FcFreeTypeCharSet +extern __typeof (FcFreeTypeCharSet) FcFreeTypeCharSet __attribute((alias("IA__FcFreeTypeCharSet"), visibility("default"))); +#endif /* __fcfreetype__ */ +#ifdef __fcpat__ +# undef FcPatternGetFTFace +extern __typeof (FcPatternGetFTFace) FcPatternGetFTFace __attribute((alias("IA__FcPatternGetFTFace"), visibility("default"))); +# undef FcPatternAddFTFace +extern __typeof (FcPatternAddFTFace) FcPatternAddFTFace __attribute((alias("IA__FcPatternAddFTFace"), visibility("default"))); +#endif /* __fcpat__ */ +#ifdef __fcfreetype__ +# undef FcFreeTypeQueryFace +extern __typeof (FcFreeTypeQueryFace) FcFreeTypeQueryFace __attribute((alias("IA__FcFreeTypeQueryFace"), visibility("default"))); +#endif /* */ +#endif /* HAVE_GNUC_ATTRIBUTE */ diff --git a/static/ensure_deps.sh b/static/ensure_deps.sh index 8b7c8c47e..581f494dc 100755 --- a/static/ensure_deps.sh +++ b/static/ensure_deps.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash CAIRO_VERSION=1.12.18 +FONTCONFIG_VERSION=2.12.1 FREETYPE_VERSION=2.6 GIFLIB_VERSION=4.2.3 GLIB_VERSION=2.50.2 @@ -12,7 +13,7 @@ PIXMAN_VERSION=0.32.6 ZLIB_VERSION=1.2.11 CAIRO_URL=http://cairographics.org/releases/cairo-$CAIRO_VERSION.tar.xz -FONTCONFIG_URL=http://cgit.freedesktop.org/fontconfig/plain/fontconfig/fontconfig.h +FONTCONFIG_URL=https://www.freedesktop.org/software/fontconfig/release/fontconfig-$FONTCONFIG_VERSION.tar.bz2 FREETYPE_URL=http://download.savannah.gnu.org/releases/freetype/freetype-$FREETYPE_VERSION.tar.gz GIFLIB_URL=http://sourceforge.net/projects/giflib/files/giflib-4.x/giflib-$GIFLIB_VERSION.tar.gz GLIB_URL=https://download.gnome.org/sources/glib/2.50/glib-$GLIB_VERSION.tar.xz @@ -60,26 +61,22 @@ if [ ! -d cairo ]; then mv cairo/src cairo/cairo || exit $? fi -if [ ! -d fontconfig ]; then - mkdir -p fontconfig && - curl -s -L $FONTCONFIG_URL >> fontconfig/fontconfig.h || exit $? -fi - -fetch $FREETYPE_URL freetype && -fetch $GIFLIB_URL giflib && -fetch_xz $GLIB_URL glib && -fetch_bz2 $HARFBUZZ_URL harfbuzz && -fetch $LIBJPEG_URL libjpeg && -fetch_xz $LIBPNG_URL libpng && -fetch_xz $PANGO_URL pango && -fetch $PIXMAN_URL pixman && -fetch $ZLIB_URL zlib || exit $? +fetch_bz2 $FONTCONFIG_URL fontconfig && +fetch $FREETYPE_URL freetype && +fetch $GIFLIB_URL giflib && +fetch_xz $GLIB_URL glib && +fetch_bz2 $HARFBUZZ_URL harfbuzz && +fetch $LIBJPEG_URL libjpeg && +fetch_xz $LIBPNG_URL libpng && +fetch_xz $PANGO_URL pango && +fetch $PIXMAN_URL pixman && +fetch $ZLIB_URL zlib || exit $? -if [ ! -d "cairo" ] || [ ! -d "freetype" ] || [ ! -d "giflib" ] \ -|| [ ! -d "glib" ] || [ ! -d "harfbuzz" ] || [ ! -d "libjpeg" ] \ -|| [ ! -d "libpng" ] || [ ! -d "pango" ] || [ ! -d "pixman" ] \ -|| [ ! -d "zlib" ] ; then +if [ ! -d "cairo" ] || [ ! -d "fontconfig" ] || [ ! -d "freetype" ] \ +|| [ ! -d "giflib" ] || [ ! -d "glib" ] || [ ! -d "harfbuzz" ] \ +|| [ ! -d "libjpeg" ] || [ ! -d "libpng" ] || [ ! -d "pango" ] \ +|| [ ! -d "pixman" ] || [ ! -d "zlib" ] ; then echo false else echo true diff --git a/static/fontconfig.gyp b/static/fontconfig.gyp new file mode 100644 index 000000000..d042b2546 --- /dev/null +++ b/static/fontconfig.gyp @@ -0,0 +1,51 @@ +{ + 'includes': ['common.gyp', 'locations.gyp'], + 'targets': [{ + 'target_name': 'fontconfig', + 'type': 'static_library', + 'include_dirs': [ + '<(fontconfig_root)', + '<(fontconfig_root)src', + 'custom-include/fontconfig', + '<(freetype_root)/include', + ], + 'defines': [ + 'HAVE_CONFIG_H', 'FC_CACHEDIR=\"/var/cache/fontconfig\"', + 'FONTCONFIG_PATH=\"/etc/fonts\"' + ], + 'sources': + [ + "<(fontconfig_root)src/fcatomic.c", + "<(fontconfig_root)src/fcblanks.c", + "<(fontconfig_root)src/fccache.c", + "<(fontconfig_root)src/fccfg.c", + "<(fontconfig_root)src/fccharset.c", + "<(fontconfig_root)src/fccompat.c", + "<(fontconfig_root)src/fcdbg.c", + "<(fontconfig_root)src/fcdefault.c", + "<(fontconfig_root)src/fcdir.c", + "<(fontconfig_root)src/fcformat.c", + "<(fontconfig_root)src/fcfreetype.c", + "<(fontconfig_root)src/fcfs.c", + "<(fontconfig_root)src/fcinit.c", + "<(fontconfig_root)src/fclang.c", + "<(fontconfig_root)src/fclist.c", + "<(fontconfig_root)src/fcmatch.c", + "<(fontconfig_root)src/fcmatch.c", + "<(fontconfig_root)src/fcmatrix.c", + "<(fontconfig_root)src/fcname.c", + "<(fontconfig_root)src/fcobjs.c", + "<(fontconfig_root)src/fcpat.c", + "<(fontconfig_root)src/fcrange.c", + "<(fontconfig_root)src/fcserialize.c", + "<(fontconfig_root)src/fcstat.c", + "<(fontconfig_root)src/fcstr.c", + "<(fontconfig_root)src/fcweight.c", + "<(fontconfig_root)src/fcxml.c", + "<(fontconfig_root)src/ftglue.c", + "<(fontconfig_root)src/fcxml.c", + "<(fontconfig_root)src/fcxml.c", + "<(fontconfig_root)src/fcxml.c", + ] + }] +} diff --git a/static/freetype.gyp b/static/freetype.gyp index ed176039e..cf83322de 100644 --- a/static/freetype.gyp +++ b/static/freetype.gyp @@ -27,6 +27,7 @@ #"<(freetype_root)src/base/ftapi.c", "<(freetype_root)src/base/ftbase.c", #"<(freetype_root)src/base/ftbbox.c", + "<(freetype_root)src/base/ftbdf.c", "<(freetype_root)src/base/ftbitmap.c", #"<(freetype_root)src/base/ftcalc.c", #"<(freetype_root)src/base/ftcid.c", @@ -55,7 +56,7 @@ "<(freetype_root)src/base/ftsynth.c", "<(freetype_root)src/base/ftsystem.c", #"<(freetype_root)src/base/fttrigon.c", - #"<(freetype_root)src/base/fttype1.c", + "<(freetype_root)src/base/fttype1.c", #"<(freetype_root)src/base/ftutil.c", #"<(freetype_root)src/base/ftwinfnt.c", #"<(freetype_root)src/base/ftxf86.c", diff --git a/static/locations.gyp b/static/locations.gyp index d12d124c8..a3f7c3ca0 100644 --- a/static/locations.gyp +++ b/static/locations.gyp @@ -1,6 +1,7 @@ { 'variables': { 'cairo_root%': "../deps/cairo/", + 'fontconfig_root%': "../deps/fontconfig/", 'freetype_root%': "../deps/freetype/", 'gif_root%': "../deps/giflib/", 'glib_root%': "../deps/glib/", From e1d1d798dcb3589555ca339857a8f77b39954146 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Legan=C3=A9s-Combarro=20=27piranna?= Date: Sun, 12 Feb 2017 19:33:54 +0100 Subject: [PATCH 08/22] Use static `expat` library --- static.gyp | 2 +- static/custom-include/expat/expat_config.h | 102 +++++++++++++++++++++ static/ensure_deps.sh | 11 ++- static/expat.gyp | 22 +++++ static/fontconfig.gyp | 2 + static/locations.gyp | 1 + 6 files changed, 135 insertions(+), 5 deletions(-) create mode 100644 static/custom-include/expat/expat_config.h create mode 100644 static/expat.gyp diff --git a/static.gyp b/static.gyp index 6ef4fe500..c47af3bf8 100644 --- a/static.gyp +++ b/static.gyp @@ -8,7 +8,6 @@ [{ 'includes': ['canvas.gypi'], 'libraries': [ - ' header file. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `memmove' function. */ +#define HAVE_MEMMOVE 1 + +/* Define to 1 if you have the 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 header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the sub-directory where libtool stores uninstalled libraries. */ +#define LT_OBJDIR ".libs/" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "expat-bugs@libexpat.org" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "expat" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "expat 2.2.0" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "expat" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "2.2.0" + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* whether byteorder is bigendian */ +/* #undef WORDS_BIGENDIAN */ + +/* Define to specify how much context to retain around the current parse + point. */ +#define XML_CONTEXT_BYTES 1024 + +/* Define to make parameter entity parsing functionality available. */ +#define XML_DTD 1 + +/* Define to make XML Namespaces functionality available. */ +#define XML_NS 1 + +/* Define to __FUNCTION__ or "" if `__func__' does not conform to ANSI C. */ +/* #undef __func__ */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `long int' if does not define. */ +/* #undef off_t */ + +/* Define to `unsigned int' if does not define. */ +/* #undef size_t */ diff --git a/static/ensure_deps.sh b/static/ensure_deps.sh index 581f494dc..a2fb2933c 100755 --- a/static/ensure_deps.sh +++ b/static/ensure_deps.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash CAIRO_VERSION=1.12.18 +EXPAT_VERSION=2.2.0 FONTCONFIG_VERSION=2.12.1 FREETYPE_VERSION=2.6 GIFLIB_VERSION=4.2.3 @@ -13,6 +14,7 @@ PIXMAN_VERSION=0.32.6 ZLIB_VERSION=1.2.11 CAIRO_URL=http://cairographics.org/releases/cairo-$CAIRO_VERSION.tar.xz +EXPAT_URL=https://downloads.sourceforge.net/project/expat/expat/$EXPAT_VERSION/expat-$EXPAT_VERSION.tar.bz2 FONTCONFIG_URL=https://www.freedesktop.org/software/fontconfig/release/fontconfig-$FONTCONFIG_VERSION.tar.bz2 FREETYPE_URL=http://download.savannah.gnu.org/releases/freetype/freetype-$FREETYPE_VERSION.tar.gz GIFLIB_URL=http://sourceforge.net/projects/giflib/files/giflib-4.x/giflib-$GIFLIB_VERSION.tar.gz @@ -61,6 +63,7 @@ if [ ! -d cairo ]; then mv cairo/src cairo/cairo || exit $? fi +fetch_bz2 $EXPAT_URL expat && fetch_bz2 $FONTCONFIG_URL fontconfig && fetch $FREETYPE_URL freetype && fetch $GIFLIB_URL giflib && @@ -73,10 +76,10 @@ fetch $PIXMAN_URL pixman && fetch $ZLIB_URL zlib || exit $? -if [ ! -d "cairo" ] || [ ! -d "fontconfig" ] || [ ! -d "freetype" ] \ -|| [ ! -d "giflib" ] || [ ! -d "glib" ] || [ ! -d "harfbuzz" ] \ -|| [ ! -d "libjpeg" ] || [ ! -d "libpng" ] || [ ! -d "pango" ] \ -|| [ ! -d "pixman" ] || [ ! -d "zlib" ] ; then +if [ ! -d "cairo" ] || [ ! -d "expat" ] || [ ! -d "fontconfig" ] \ +|| [ ! -d "freetype" ] || [ ! -d "giflib" ] || [ ! -d "glib" ] \ +|| [ ! -d "harfbuzz" ] || [ ! -d "libjpeg" ] || [ ! -d "libpng" ] \ +|| [ ! -d "pango" ] || [ ! -d "pixman" ] || [ ! -d "zlib" ] ; then echo false else echo true diff --git a/static/expat.gyp b/static/expat.gyp new file mode 100644 index 000000000..4d26abcc7 --- /dev/null +++ b/static/expat.gyp @@ -0,0 +1,22 @@ +{ + 'includes': ['common.gyp', 'locations.gyp'], + 'targets': [{ + 'target_name': 'expat', + 'type': 'static_library', + 'include_dirs': [ + '<(expat_root)lib/', + '<(expat_root)xmlwf/', + 'custom-include/expat' + ], + 'defines': ['HAVE_EXPAT_CONFIG_H'], + 'sources': [ + "<(expat_root)lib/xmlparse.c", + "<(expat_root)lib/xmltok.c", + "<(expat_root)lib/xmlrole.c", + "<(expat_root)xmlwf/xmlwf.c", + "<(expat_root)xmlwf/xmlfile.c", + "<(expat_root)xmlwf/codepage.c", + "<(expat_root)xmlwf/unixfilemap.c" + ] + }] +} diff --git a/static/fontconfig.gyp b/static/fontconfig.gyp index d042b2546..7b741f1c0 100644 --- a/static/fontconfig.gyp +++ b/static/fontconfig.gyp @@ -7,6 +7,8 @@ '<(fontconfig_root)', '<(fontconfig_root)src', 'custom-include/fontconfig', + + '<(expat_root)/lib', '<(freetype_root)/include', ], 'defines': [ diff --git a/static/locations.gyp b/static/locations.gyp index a3f7c3ca0..0e3f153e2 100644 --- a/static/locations.gyp +++ b/static/locations.gyp @@ -1,6 +1,7 @@ { 'variables': { 'cairo_root%': "../deps/cairo/", + 'expat_root%': "../deps/expat/", 'fontconfig_root%': "../deps/fontconfig/", 'freetype_root%': "../deps/freetype/", 'gif_root%': "../deps/giflib/", From 13a203078651c1674a5f685957e46737b261c911 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Legan=C3=A9s-Combarro=20=27piranna?= Date: Sun, 12 Feb 2017 20:40:47 +0100 Subject: [PATCH 09/22] Use static `ffi` library --- static.gyp | 4 +- static/custom-include/ffi/fficonfig.h | 214 ++++++++++++++++++++++++++ static/ensure_deps.sh | 12 +- static/ffi.gyp | 23 +++ static/locations.gyp | 1 + 5 files changed, 247 insertions(+), 7 deletions(-) create mode 100644 static/custom-include/ffi/fficonfig.h create mode 100644 static/ffi.gyp diff --git a/static.gyp b/static.gyp index c47af3bf8..0cdfd386c 100644 --- a/static.gyp +++ b/static.gyp @@ -7,9 +7,6 @@ 'targets': [{ 'includes': ['canvas.gypi'], - 'libraries': [ - ' and it should be used (not on Ultrix). + */ +#define HAVE_ALLOCA_H 1 + +/* Define if your assembler supports .ascii. */ +#define HAVE_AS_ASCII_PSEUDO_OP 1 + +/* Define if your assembler supports .cfi_* directives. */ +#define HAVE_AS_CFI_PSEUDO_OP 1 + +/* Define if your assembler supports .register. */ +/* #undef HAVE_AS_REGISTER_PSEUDO_OP */ + +/* Define if your assembler and linker support unaligned PC relative relocs. + */ +/* #undef HAVE_AS_SPARC_UA_PCREL */ + +/* Define if your assembler supports .string. */ +#define HAVE_AS_STRING_PSEUDO_OP 1 + +/* Define if your assembler supports unwind section type. */ +#define HAVE_AS_X86_64_UNWIND_SECTION_TYPE 1 + +/* Define if your assembler supports PC relative relocs. */ +#define HAVE_AS_X86_PCREL 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define if __attribute__((visibility("hidden"))) is supported. */ +#define HAVE_HIDDEN_VISIBILITY_ATTRIBUTE 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define if you have the long double type and it is bigger than a double */ +#define HAVE_LONG_DOUBLE 1 + +/* Define if you support more than one size of the long double type */ +/* #undef HAVE_LONG_DOUBLE_VARIANT */ + +/* Define to 1 if you have the `memcpy' function. */ +#define HAVE_MEMCPY 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `mkostemp' function. */ +#define HAVE_MKOSTEMP 1 + +/* Define to 1 if you have the `mmap' function. */ +#define HAVE_MMAP 1 + +/* Define if mmap with MAP_ANON(YMOUS) works. */ +#define HAVE_MMAP_ANON 1 + +/* Define if mmap of /dev/zero works. */ +#define HAVE_MMAP_DEV_ZERO 1 + +/* Define if read-only mmap of a plain file works. */ +#define HAVE_MMAP_FILE 1 + +/* Define if .eh_frame sections should be read-only. */ +#define HAVE_RO_EH_FRAME 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_MMAN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Name of package */ +#define PACKAGE "libffi" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "http://github.com/atgreen/libffi/issues" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "libffi" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "libffi 3.2.1" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libffi" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "3.2.1" + +/* The size of `double', as computed by sizeof. */ +#define SIZEOF_DOUBLE 8 + +/* The size of `long double', as computed by sizeof. */ +#define SIZEOF_LONG_DOUBLE 16 + +/* The size of `size_t', as computed by sizeof. */ +#define SIZEOF_SIZE_T 8 + +/* If using the C implementation of alloca, define if you know the + direction of stack growth for your system; otherwise it will be + automatically deduced at runtime. + STACK_DIRECTION > 0 => grows toward higher addresses + STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +/* #undef STACK_DIRECTION */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if symbols are underscored. */ +/* #undef SYMBOL_UNDERSCORE */ + +/* Define this if you are using Purify and want to suppress spurious messages. + */ +/* #undef USING_PURIFY */ + +/* Version number of package */ +#define VERSION "3.2.1" + +/* 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 `unsigned int' if does not define. */ +/* #undef size_t */ + + +#ifdef HAVE_HIDDEN_VISIBILITY_ATTRIBUTE +#ifdef LIBFFI_ASM +#define FFI_HIDDEN(name) .hidden name +#else +#define FFI_HIDDEN __attribute__ ((visibility ("hidden"))) +#endif +#else +#ifdef LIBFFI_ASM +#define FFI_HIDDEN(name) +#else +#define FFI_HIDDEN +#endif +#endif diff --git a/static/ensure_deps.sh b/static/ensure_deps.sh index a2fb2933c..181098f81 100755 --- a/static/ensure_deps.sh +++ b/static/ensure_deps.sh @@ -2,6 +2,7 @@ CAIRO_VERSION=1.12.18 EXPAT_VERSION=2.2.0 +FFI_VERSION=3.2.1 FONTCONFIG_VERSION=2.12.1 FREETYPE_VERSION=2.6 GIFLIB_VERSION=4.2.3 @@ -15,6 +16,7 @@ ZLIB_VERSION=1.2.11 CAIRO_URL=http://cairographics.org/releases/cairo-$CAIRO_VERSION.tar.xz EXPAT_URL=https://downloads.sourceforge.net/project/expat/expat/$EXPAT_VERSION/expat-$EXPAT_VERSION.tar.bz2 +FFI_URL=ftp://sourceware.org/pub/libffi/libffi-$FFI_VERSION.tar.gz FONTCONFIG_URL=https://www.freedesktop.org/software/fontconfig/release/fontconfig-$FONTCONFIG_VERSION.tar.bz2 FREETYPE_URL=http://download.savannah.gnu.org/releases/freetype/freetype-$FREETYPE_VERSION.tar.gz GIFLIB_URL=http://sourceforge.net/projects/giflib/files/giflib-4.x/giflib-$GIFLIB_VERSION.tar.gz @@ -64,6 +66,7 @@ if [ ! -d cairo ]; then fi fetch_bz2 $EXPAT_URL expat && +fetch $FFI_URL ffi && fetch_bz2 $FONTCONFIG_URL fontconfig && fetch $FREETYPE_URL freetype && fetch $GIFLIB_URL giflib && @@ -76,10 +79,11 @@ fetch $PIXMAN_URL pixman && fetch $ZLIB_URL zlib || exit $? -if [ ! -d "cairo" ] || [ ! -d "expat" ] || [ ! -d "fontconfig" ] \ -|| [ ! -d "freetype" ] || [ ! -d "giflib" ] || [ ! -d "glib" ] \ -|| [ ! -d "harfbuzz" ] || [ ! -d "libjpeg" ] || [ ! -d "libpng" ] \ -|| [ ! -d "pango" ] || [ ! -d "pixman" ] || [ ! -d "zlib" ] ; then +if [ ! -d "cairo" ] || [ ! -d "expat" ] || [ ! -d "ffi" ] \ +|| [ ! -d "fontconfig" ] || [ ! -d "freetype" ] || [ ! -d "giflib" ] \ +|| [ ! -d "glib" ] || [ ! -d "harfbuzz" ] || [ ! -d "libjpeg" ] \ +|| [ ! -d "libpng" ] || [ ! -d "pango" ] || [ ! -d "pixman" ] \ +|| [ ! -d "zlib" ] ; then echo false else echo true diff --git a/static/ffi.gyp b/static/ffi.gyp new file mode 100644 index 000000000..297eb0e2a --- /dev/null +++ b/static/ffi.gyp @@ -0,0 +1,23 @@ +{ + 'includes': ['common.gyp', 'locations.gyp'], + 'targets': [{ + 'target_name': 'ffi', + 'type': 'static_library', + 'include_dirs': [ + '<(ffi_root)include/', + 'custom-include/ffi' + ], + 'defines': ['HAVE_CONFIG_H'], + 'sources': [ + "<(ffi_root)src/prep_cif.c", + "<(ffi_root)src/types.c", + "<(ffi_root)src/raw_api.c", + "<(ffi_root)src/java_raw_api.c", + "<(ffi_root)src/closures.c", + "<(ffi_root)src/x86/ffi64.c", + "<(ffi_root)src/x86/unix64.S", + "<(ffi_root)src/x86/ffi.c", + "<(ffi_root)src/x86/sysv.S" + ] + }] +} diff --git a/static/locations.gyp b/static/locations.gyp index 0e3f153e2..03743a3c6 100644 --- a/static/locations.gyp +++ b/static/locations.gyp @@ -2,6 +2,7 @@ 'variables': { 'cairo_root%': "../deps/cairo/", 'expat_root%': "../deps/expat/", + 'ffi_root%': "../deps/ffi/", 'fontconfig_root%': "../deps/fontconfig/", 'freetype_root%': "../deps/freetype/", 'gif_root%': "../deps/giflib/", From 5520bbc4046536e8ad6f2b0e39eee7e334fc6d68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Legan=C3=A9s-Combarro=20=27piranna?= Date: Mon, 13 Feb 2017 11:40:38 +0100 Subject: [PATCH 10/22] Add missing headers --- static.gyp | 1 + static/cairo.gyp | 9 +- static/custom-include/ffi/ffi.h | 487 ++++++++++++++++++++++++++++++++ static/ffi.gyp | 1 + static/glib.gyp | 5 +- static/pango.gyp | 1 + 6 files changed, 496 insertions(+), 8 deletions(-) create mode 100644 static/custom-include/ffi/ffi.h diff --git a/static.gyp b/static.gyp index 0cdfd386c..2e6685284 100644 --- a/static.gyp +++ b/static.gyp @@ -15,6 +15,7 @@ 'static/custom-include/cairo', 'deps/<(fontconfig_root)/src', 'static/custom-include/fontconfig', + 'deps/<(fontconfig_root)', 'deps/<(freetype_root)/include', 'deps/<(gif_root)/lib', 'deps/<(glib_root)', diff --git a/static/cairo.gyp b/static/cairo.gyp index cd3d557f8..0257149c1 100644 --- a/static/cairo.gyp +++ b/static/cairo.gyp @@ -2,8 +2,7 @@ 'includes': ['common.gyp', 'locations.gyp'], 'conditions': [ - ['OS!="win"', - { + ['OS!="win"', { 'variables': { 'cairo_src%': "<(cairo_root)cairo/" @@ -19,17 +18,13 @@ 'custom-include/cairo', '<(cairo_root)', '<(cairo_src)', + '<(fontconfig_root)', '<(freetype_root)include', '<(libpng_root)', 'custom-include/png', '<(pixman_root)', '<(pixman_root)pixman', '<(zlib_root)', - - # ' + +#ifndef LIBFFI_ASM + +#if defined(_MSC_VER) && !defined(__clang__) +#define __attribute__(X) +#endif + +#include +#include + +/* LONG_LONG_MAX is not always defined (not if STRICT_ANSI, for example). + But we can find it either under the correct ANSI name, or under GNU + C's internal name. */ + +#define FFI_64_BIT_MAX 9223372036854775807 + +#ifdef LONG_LONG_MAX +# define FFI_LONG_LONG_MAX LONG_LONG_MAX +#else +# ifdef LLONG_MAX +# define FFI_LONG_LONG_MAX LLONG_MAX +# ifdef _AIX52 /* or newer has C99 LLONG_MAX */ +# undef FFI_64_BIT_MAX +# define FFI_64_BIT_MAX 9223372036854775807LL +# endif /* _AIX52 or newer */ +# else +# ifdef __GNUC__ +# define FFI_LONG_LONG_MAX __LONG_LONG_MAX__ +# endif +# ifdef _AIX /* AIX 5.1 and earlier have LONGLONG_MAX */ +# ifndef __PPC64__ +# if defined (__IBMC__) || defined (__IBMCPP__) +# define FFI_LONG_LONG_MAX LONGLONG_MAX +# endif +# endif /* __PPC64__ */ +# undef FFI_64_BIT_MAX +# define FFI_64_BIT_MAX 9223372036854775807LL +# endif +# endif +#endif + +/* The closure code assumes that this works on pointers, i.e. a size_t */ +/* can hold a pointer. */ + +typedef struct _ffi_type +{ + size_t size; + unsigned short alignment; + unsigned short type; + struct _ffi_type **elements; +} ffi_type; + +#ifndef LIBFFI_HIDE_BASIC_TYPES +#if SCHAR_MAX == 127 +# define ffi_type_uchar ffi_type_uint8 +# define ffi_type_schar ffi_type_sint8 +#else + #error "char size not supported" +#endif + +#if SHRT_MAX == 32767 +# define ffi_type_ushort ffi_type_uint16 +# define ffi_type_sshort ffi_type_sint16 +#elif SHRT_MAX == 2147483647 +# define ffi_type_ushort ffi_type_uint32 +# define ffi_type_sshort ffi_type_sint32 +#else + #error "short size not supported" +#endif + +#if INT_MAX == 32767 +# define ffi_type_uint ffi_type_uint16 +# define ffi_type_sint ffi_type_sint16 +#elif INT_MAX == 2147483647 +# define ffi_type_uint ffi_type_uint32 +# define ffi_type_sint ffi_type_sint32 +#elif INT_MAX == 9223372036854775807 +# define ffi_type_uint ffi_type_uint64 +# define ffi_type_sint ffi_type_sint64 +#else + #error "int size not supported" +#endif + +#if LONG_MAX == 2147483647 +# if FFI_LONG_LONG_MAX != FFI_64_BIT_MAX + #error "no 64-bit data type supported" +# endif +#elif LONG_MAX != FFI_64_BIT_MAX + #error "long size not supported" +#endif + +#if LONG_MAX == 2147483647 +# define ffi_type_ulong ffi_type_uint32 +# define ffi_type_slong ffi_type_sint32 +#elif LONG_MAX == FFI_64_BIT_MAX +# define ffi_type_ulong ffi_type_uint64 +# define ffi_type_slong ffi_type_sint64 +#else + #error "long size not supported" +#endif + +/* Need minimal decorations for DLLs to works on Windows. */ +/* GCC has autoimport and autoexport. Rely on Libtool to */ +/* help MSVC export from a DLL, but always declare data */ +/* to be imported for MSVC clients. This costs an extra */ +/* indirection for MSVC clients using the static version */ +/* of the library, but don't worry about that. Besides, */ +/* as a workaround, they can define FFI_BUILDING if they */ +/* *know* they are going to link with the static library. */ +#if defined _MSC_VER && !defined FFI_BUILDING +#define FFI_EXTERN extern __declspec(dllimport) +#else +#define FFI_EXTERN extern +#endif + +/* These are defined in types.c */ +FFI_EXTERN ffi_type ffi_type_void; +FFI_EXTERN ffi_type ffi_type_uint8; +FFI_EXTERN ffi_type ffi_type_sint8; +FFI_EXTERN ffi_type ffi_type_uint16; +FFI_EXTERN ffi_type ffi_type_sint16; +FFI_EXTERN ffi_type ffi_type_uint32; +FFI_EXTERN ffi_type ffi_type_sint32; +FFI_EXTERN ffi_type ffi_type_uint64; +FFI_EXTERN ffi_type ffi_type_sint64; +FFI_EXTERN ffi_type ffi_type_float; +FFI_EXTERN ffi_type ffi_type_double; +FFI_EXTERN ffi_type ffi_type_pointer; + +#if 1 +FFI_EXTERN ffi_type ffi_type_longdouble; +#else +#define ffi_type_longdouble ffi_type_double +#endif + +#ifdef FFI_TARGET_HAS_COMPLEX_TYPE +FFI_EXTERN ffi_type ffi_type_complex_float; +FFI_EXTERN ffi_type ffi_type_complex_double; +#if 1 +FFI_EXTERN ffi_type ffi_type_complex_longdouble; +#else +#define ffi_type_complex_longdouble ffi_type_complex_double +#endif +#endif +#endif /* LIBFFI_HIDE_BASIC_TYPES */ + +typedef enum { + FFI_OK = 0, + FFI_BAD_TYPEDEF, + FFI_BAD_ABI +} ffi_status; + +typedef unsigned FFI_TYPE; + +typedef struct { + ffi_abi abi; + unsigned nargs; + ffi_type **arg_types; + ffi_type *rtype; + unsigned bytes; + unsigned flags; +#ifdef FFI_EXTRA_CIF_FIELDS + FFI_EXTRA_CIF_FIELDS; +#endif +} ffi_cif; + +#if 0 +/* Used to adjust size/alignment of ffi types. */ +void ffi_prep_types (ffi_abi abi); +#endif + +/* Used internally, but overridden by some architectures */ +ffi_status ffi_prep_cif_core(ffi_cif *cif, + ffi_abi abi, + unsigned int isvariadic, + unsigned int nfixedargs, + unsigned int ntotalargs, + ffi_type *rtype, + ffi_type **atypes); + +/* ---- Definitions for the raw API -------------------------------------- */ + +#ifndef FFI_SIZEOF_ARG +# if LONG_MAX == 2147483647 +# define FFI_SIZEOF_ARG 4 +# elif LONG_MAX == FFI_64_BIT_MAX +# define FFI_SIZEOF_ARG 8 +# endif +#endif + +#ifndef FFI_SIZEOF_JAVA_RAW +# define FFI_SIZEOF_JAVA_RAW FFI_SIZEOF_ARG +#endif + +typedef union { + ffi_sarg sint; + ffi_arg uint; + float flt; + char data[FFI_SIZEOF_ARG]; + void* ptr; +} ffi_raw; + +#if FFI_SIZEOF_JAVA_RAW == 4 && FFI_SIZEOF_ARG == 8 +/* This is a special case for mips64/n32 ABI (and perhaps others) where + sizeof(void *) is 4 and FFI_SIZEOF_ARG is 8. */ +typedef union { + signed int sint; + unsigned int uint; + float flt; + char data[FFI_SIZEOF_JAVA_RAW]; + void* ptr; +} ffi_java_raw; +#else +typedef ffi_raw ffi_java_raw; +#endif + + +void ffi_raw_call (ffi_cif *cif, + void (*fn)(void), + void *rvalue, + ffi_raw *avalue); + +void ffi_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_raw *raw); +void ffi_raw_to_ptrarray (ffi_cif *cif, ffi_raw *raw, void **args); +size_t ffi_raw_size (ffi_cif *cif); + +/* This is analogous to the raw API, except it uses Java parameter */ +/* packing, even on 64-bit machines. I.e. on 64-bit machines */ +/* longs and doubles are followed by an empty 64-bit word. */ + +void ffi_java_raw_call (ffi_cif *cif, + void (*fn)(void), + void *rvalue, + ffi_java_raw *avalue); + +void ffi_java_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_java_raw *raw); +void ffi_java_raw_to_ptrarray (ffi_cif *cif, ffi_java_raw *raw, void **args); +size_t ffi_java_raw_size (ffi_cif *cif); + +/* ---- Definitions for closures ----------------------------------------- */ + +#if FFI_CLOSURES + +#ifdef _MSC_VER +__declspec(align(8)) +#endif +typedef struct { +#if 0 + void *trampoline_table; + void *trampoline_table_entry; +#else + char tramp[FFI_TRAMPOLINE_SIZE]; +#endif + ffi_cif *cif; + void (*fun)(ffi_cif*,void*,void**,void*); + void *user_data; +#ifdef __GNUC__ +} ffi_closure __attribute__((aligned (8))); +#else +} ffi_closure; +# ifdef __sgi +# pragma pack 0 +# endif +#endif + +void *ffi_closure_alloc (size_t size, void **code); +void ffi_closure_free (void *); + +ffi_status +ffi_prep_closure (ffi_closure*, + ffi_cif *, + void (*fun)(ffi_cif*,void*,void**,void*), + void *user_data); + +ffi_status +ffi_prep_closure_loc (ffi_closure*, + ffi_cif *, + void (*fun)(ffi_cif*,void*,void**,void*), + void *user_data, + void*codeloc); + +#ifdef __sgi +# pragma pack 8 +#endif +typedef struct { +#if 0 + void *trampoline_table; + void *trampoline_table_entry; +#else + char tramp[FFI_TRAMPOLINE_SIZE]; +#endif + ffi_cif *cif; + +#if !FFI_NATIVE_RAW_API + + /* if this is enabled, then a raw closure has the same layout + as a regular closure. We use this to install an intermediate + handler to do the transaltion, void** -> ffi_raw*. */ + + void (*translate_args)(ffi_cif*,void*,void**,void*); + void *this_closure; + +#endif + + void (*fun)(ffi_cif*,void*,ffi_raw*,void*); + void *user_data; + +} ffi_raw_closure; + +typedef struct { +#if 0 + void *trampoline_table; + void *trampoline_table_entry; +#else + char tramp[FFI_TRAMPOLINE_SIZE]; +#endif + + ffi_cif *cif; + +#if !FFI_NATIVE_RAW_API + + /* if this is enabled, then a raw closure has the same layout + as a regular closure. We use this to install an intermediate + handler to do the transaltion, void** -> ffi_raw*. */ + + void (*translate_args)(ffi_cif*,void*,void**,void*); + void *this_closure; + +#endif + + void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*); + void *user_data; + +} ffi_java_raw_closure; + +ffi_status +ffi_prep_raw_closure (ffi_raw_closure*, + ffi_cif *cif, + void (*fun)(ffi_cif*,void*,ffi_raw*,void*), + void *user_data); + +ffi_status +ffi_prep_raw_closure_loc (ffi_raw_closure*, + ffi_cif *cif, + void (*fun)(ffi_cif*,void*,ffi_raw*,void*), + void *user_data, + void *codeloc); + +ffi_status +ffi_prep_java_raw_closure (ffi_java_raw_closure*, + ffi_cif *cif, + void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*), + void *user_data); + +ffi_status +ffi_prep_java_raw_closure_loc (ffi_java_raw_closure*, + ffi_cif *cif, + void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*), + void *user_data, + void *codeloc); + +#endif /* FFI_CLOSURES */ + +/* ---- Public interface definition -------------------------------------- */ + +ffi_status ffi_prep_cif(ffi_cif *cif, + ffi_abi abi, + unsigned int nargs, + ffi_type *rtype, + ffi_type **atypes); + +ffi_status ffi_prep_cif_var(ffi_cif *cif, + ffi_abi abi, + unsigned int nfixedargs, + unsigned int ntotalargs, + ffi_type *rtype, + ffi_type **atypes); + +void ffi_call(ffi_cif *cif, + void (*fn)(void), + void *rvalue, + void **avalue); + +/* Useful for eliminating compiler warnings */ +#define FFI_FN(f) ((void (*)(void))f) + +/* ---- Definitions shared with assembly code ---------------------------- */ + +#endif + +/* If these change, update src/mips/ffitarget.h. */ +#define FFI_TYPE_VOID 0 +#define FFI_TYPE_INT 1 +#define FFI_TYPE_FLOAT 2 +#define FFI_TYPE_DOUBLE 3 +#if 1 +#define FFI_TYPE_LONGDOUBLE 4 +#else +#define FFI_TYPE_LONGDOUBLE FFI_TYPE_DOUBLE +#endif +#define FFI_TYPE_UINT8 5 +#define FFI_TYPE_SINT8 6 +#define FFI_TYPE_UINT16 7 +#define FFI_TYPE_SINT16 8 +#define FFI_TYPE_UINT32 9 +#define FFI_TYPE_SINT32 10 +#define FFI_TYPE_UINT64 11 +#define FFI_TYPE_SINT64 12 +#define FFI_TYPE_STRUCT 13 +#define FFI_TYPE_POINTER 14 +#define FFI_TYPE_COMPLEX 15 + +/* This should always refer to the last type code (for sanity checks) */ +#define FFI_TYPE_LAST FFI_TYPE_COMPLEX + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/static/ffi.gyp b/static/ffi.gyp index 297eb0e2a..d95845d7e 100644 --- a/static/ffi.gyp +++ b/static/ffi.gyp @@ -5,6 +5,7 @@ 'type': 'static_library', 'include_dirs': [ '<(ffi_root)include/', + '<(ffi_root)src/x86', 'custom-include/ffi' ], 'defines': ['HAVE_CONFIG_H'], diff --git a/static/glib.gyp b/static/glib.gyp index 9403afffc..5dbfe21b7 100644 --- a/static/glib.gyp +++ b/static/glib.gyp @@ -165,7 +165,10 @@ '<(glib_root)', '<(glib_root)/glib', '<(glib_root)/gobject', - 'custom-include/glib' + 'custom-include/glib', + + '<(ffi_root)src/x86', + 'custom-include/ffi' ], 'defines': [ 'HAVE_CONFIG_H', 'G_LOG_DOMAIN=\"GLib-GObject\"', diff --git a/static/pango.gyp b/static/pango.gyp index eec11099e..54dadd2bd 100644 --- a/static/pango.gyp +++ b/static/pango.gyp @@ -28,6 +28,7 @@ 'custom-include/pango', '<(cairo_root)cairo', 'custom-include/cairo', + '<(fontconfig_root)', '<(freetype_root)/include', '<(glib_root)', '<(glib_root)/glib', From 7a71fec7a513b9a961440946ea3d42fb13a527f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Legan=C3=A9s-Combarro=20=27piranna?= Date: Thu, 16 Feb 2017 13:42:32 +0100 Subject: [PATCH 11/22] Changed extension of all include files from `.gyp` to `.gypi` --- binding.gyp | 10 ++++----- shared.gyp => shared.gypi | 0 static.gyp => static.gypi | 26 +++++++++++----------- static/cairo.gyp | 6 ++--- static/{common.gyp => common.gypi} | 0 static/ensure_deps.sh | 1 + static/{expat.gyp => expat.gypi} | 2 +- static/{ffi.gyp => ffi.gypi} | 2 +- static/{fontconfig.gyp => fontconfig.gypi} | 2 +- static/{freetype.gyp => freetype.gypi} | 6 ++--- static/{gif.gyp => gif.gypi} | 5 ++--- static/{glib.gyp => glib.gypi} | 2 +- static/{harfbuzz.gyp => harfbuzz.gypi} | 2 +- static/{jpeg.gyp => jpeg.gypi} | 4 ++-- static/{libpng.gyp => libpng.gypi} | 6 ++--- static/{locations.gyp => locations.gypi} | 0 static/{pango.gyp => pango.gypi} | 8 +++---- static/{pixman.gyp => pixman.gypi} | 22 +++++++----------- static/{zlib.gyp => zlib.gypi} | 10 ++------- 19 files changed, 50 insertions(+), 64 deletions(-) rename shared.gyp => shared.gypi (100%) rename static.gyp => static.gypi (62%) rename static/{common.gyp => common.gypi} (100%) rename static/{expat.gyp => expat.gypi} (92%) rename static/{ffi.gyp => ffi.gypi} (92%) rename static/{fontconfig.gyp => fontconfig.gypi} (97%) rename static/{freetype.gyp => freetype.gypi} (98%) rename static/{gif.gyp => gif.gypi} (77%) rename static/{glib.gyp => glib.gypi} (99%) rename static/{harfbuzz.gyp => harfbuzz.gypi} (98%) rename static/{jpeg.gyp => jpeg.gypi} (97%) rename static/{libpng.gyp => libpng.gypi} (95%) rename static/{locations.gyp => locations.gypi} (100%) rename static/{pango.gyp => pango.gypi} (95%) rename static/{pixman.gyp => pixman.gypi} (87%) rename static/{zlib.gyp => zlib.gypi} (92%) diff --git a/binding.gyp b/binding.gyp index 63b95cc94..69ef2eeb9 100644 --- a/binding.gyp +++ b/binding.gyp @@ -5,12 +5,10 @@ }, 'conditions': [ - ['has_cairo=="true"', - { - 'includes': ['shared.gyp'] - }, - { - 'includes': ['static.gyp'] + ['has_cairo=="true"', { + 'includes': ['shared.gypi'] + }, { + 'includes': ['static.gypi'] }] ] } diff --git a/shared.gyp b/shared.gypi similarity index 100% rename from shared.gyp rename to shared.gypi diff --git a/static.gyp b/static.gypi similarity index 62% rename from static.gyp rename to static.gypi index 2e6685284..d873757c1 100644 --- a/static.gyp +++ b/static.gypi @@ -1,8 +1,8 @@ { - 'includes': ['static/locations.gyp'], + 'includes': ['static/locations.gypi'], 'variables': { - 'ensure_deps%': ' Date: Sun, 26 Feb 2017 21:43:25 +0100 Subject: [PATCH 12/22] Renamed `static/cairo.gyp` to `static/cairo.gypi` --- static/{cairo.gyp => cairo.gypi} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename static/{cairo.gyp => cairo.gypi} (100%) diff --git a/static/cairo.gyp b/static/cairo.gypi similarity index 100% rename from static/cairo.gyp rename to static/cairo.gypi From 107be5939c6150c6691f6c25a0aeeea43494aa3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Legan=C3=A9s-Combarro=20=27piranna?= Date: Thu, 4 May 2017 22:57:39 +0200 Subject: [PATCH 13/22] Applied @zbjornson patch https://github.com/Automattic/node-canvas/pull/813#issuecomment-296480055 --- binding.gyp | 2 +- shared.gypi | 1 - util/has_lib.js | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/binding.gyp b/binding.gyp index f28af38b5..93487c9d4 100644 --- a/binding.gyp +++ b/binding.gyp @@ -5,7 +5,7 @@ }, 'conditions': [ - ['has_cairo=="true"', { + ['has_cairo=="true" or OS=="win"', { 'includes': ['shared.gypi'] }, { 'includes': ['static.gypi'] diff --git a/shared.gypi b/shared.gypi index 1876fac97..cb56548e6 100644 --- a/shared.gypi +++ b/shared.gypi @@ -90,7 +90,6 @@ ], 'defines': [ - 'snprintf=_snprintf', '_USE_MATH_DEFINES' # for M_PI ], 'configurations': diff --git a/util/has_lib.js b/util/has_lib.js index 9df6b9d0b..d357b29e3 100644 --- a/util/has_lib.js +++ b/util/has_lib.js @@ -53,7 +53,7 @@ function hasLdconfig () { try { // Add /sbin to path as ldconfig is located there on some systems -- e.g. // Debian (and it can still be used by unprivileged users): - childProcess.execSync('export PATH="$PATH:/sbin"') + childProcess.execSync('export PATH="$PATH:/sbin"', {stdio: 'ignore'}) process.env.PATH = '...' // execSync throws on nonzero exit childProcess.execSync('hash ldconfig 2>/dev/null') From ef51cbfffbde054f7c58b0033d7d3606e3d25b53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Legan=C3=A9s-Combarro=20=27piranna?= Date: Fri, 4 Aug 2017 11:00:05 +0200 Subject: [PATCH 14/22] Check that all shared libraries are available before doing static compile --- binding.gyp | 4 ++-- util/has_lib.js | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/binding.gyp b/binding.gyp index 93487c9d4..c46e9fcaf 100644 --- a/binding.gyp +++ b/binding.gyp @@ -1,11 +1,11 @@ { 'variables': { - 'has_cairo%': ' Date: Fri, 4 Aug 2017 11:00:28 +0200 Subject: [PATCH 15/22] Minor clean-up of `has_lib.js` --- util/has_lib.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/util/has_lib.js b/util/has_lib.js index 8249b7d88..84414b751 100644 --- a/util/has_lib.js +++ b/util/has_lib.js @@ -1,6 +1,5 @@ -var query = process.argv[2] -var fs = require('fs') var childProcess = require('child_process') +var fs = require('fs') var SYSTEM_PATHS = [ '/lib', @@ -24,7 +23,8 @@ function hasSystemLib (lib) { // Try using ldconfig on linux systems if (hasLdconfig()) { try { - if (childProcess.execSync('ldconfig -p 2>/dev/null | grep -E "' + libName + '"').length) { + if (childProcess.execSync('ldconfig -p 2>/dev/null | grep -E "' + + libName + '"').length) { return true } } catch (err) { @@ -69,13 +69,13 @@ function hasLdconfig () { */ function hasFreetype () { try { - if (childProcess.execSync('pkg-config cairo --cflags-only-I 2>/dev/null | grep freetype2').length) { + if (childProcess.execSync('pkg-config cairo --cflags-only-I 2>/dev/null | ' + + 'grep freetype2').length) { return true } } catch (err) { - // noop + return false } - return false } /** @@ -118,4 +118,4 @@ function main (query) { } } -process.stdout.write(main(query).toString()) +process.stdout.write(main(process.argv[2]).toString()) From 6fe4a2868a557287b162718f552462f126d2a7bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Legan=C3=A9s-Combarro=20=27piranna?= Date: Sat, 5 Aug 2017 19:46:50 +0200 Subject: [PATCH 16/22] Unified and simplified checking functions at `has_lib.js` --- util/has_lib.js | 64 +++++++++++++++---------------------------------- 1 file changed, 19 insertions(+), 45 deletions(-) diff --git a/util/has_lib.js b/util/has_lib.js index 84414b751..db64e56b3 100644 --- a/util/has_lib.js +++ b/util/has_lib.js @@ -1,4 +1,4 @@ -var childProcess = require('child_process') +var execSync = require('child_process').execSync var fs = require('fs') var SYSTEM_PATHS = [ @@ -10,6 +10,16 @@ var SYSTEM_PATHS = [ '/usr/lib/i386-linux-gnu' ] +function _hasQuery (query) { + try { + // execSync throws on nonzero exit + execSync(query) + return true + } catch (err) { + return false + } +} + /** * Checks for lib using ldconfig if present, or searching SYSTEM_PATHS * otherwise. @@ -18,21 +28,15 @@ var SYSTEM_PATHS = [ */ function hasSystemLib (lib) { var libName = 'lib' + lib + '.+(so|dylib)' - var libNameRegex = new RegExp(libName) // Try using ldconfig on linux systems - if (hasLdconfig()) { - try { - if (childProcess.execSync('ldconfig -p 2>/dev/null | grep -E "' + - libName + '"').length) { - return true - } - } catch (err) { - // noop -- proceed to other search methods - } + if (_hasQuery('ldconfig -p 2>/dev/null | grep -E "' + libName + '"')) { + return true } - // Try checking common library locations + // Try checking common library locations + var libNameRegex = new RegExp(libName) + return SYSTEM_PATHS.some(function (systemPath) { try { var dirListing = fs.readdirSync(systemPath) @@ -45,37 +49,13 @@ function hasSystemLib (lib) { }) } -/** - * Checks for ldconfig on the path and /sbin - * @return Boolean exists - */ -function hasLdconfig () { - try { - // Add /sbin to path as ldconfig is located there on some systems -- e.g. - // Debian (and it can still be used by unprivileged users): - childProcess.execSync('export PATH="$PATH:/sbin"', {stdio: 'ignore'}) - process.env.PATH = '...' - // execSync throws on nonzero exit - childProcess.execSync('hash ldconfig 2>/dev/null') - return true - } catch (err) { - return false - } -} - /** * Checks for freetype2 with --cflags-only-I * @return Boolean exists */ function hasFreetype () { - try { - if (childProcess.execSync('pkg-config cairo --cflags-only-I 2>/dev/null | ' + - 'grep freetype2').length) { - return true - } - } catch (err) { - return false - } + return _hasQuery('pkg-config cairo --cflags-only-I 2>/dev/null | ' + + 'grep freetype2') } /** @@ -84,13 +64,7 @@ function hasFreetype () { * @return Boolean exists */ function hasPkgconfigLib (lib) { - try { - // execSync throws on nonzero exit - childProcess.execSync('pkg-config --exists "' + lib + '" 2>/dev/null') - return true - } catch (err) { - return false - } + return _hasQuery('pkg-config --exists "' + lib + '" 2>/dev/null') } function main (query) { From 569f5b8732f83ff9b4e0a64b52825275a570546c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Legan=C3=A9s-Combarro=20=27piranna?= Date: Sat, 5 Aug 2017 19:47:07 +0200 Subject: [PATCH 17/22] Fixed lint errors on `shared.gypi` --- shared.gypi | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/shared.gypi b/shared.gypi index 61cddc591..b53eab1db 100644 --- a/shared.gypi +++ b/shared.gypi @@ -9,7 +9,7 @@ 'with_gif%': 'false', 'with_rsvg%': 'false', 'variables': { # Nest jpeg_root to evaluate it before with_jpeg - 'jpeg_root%': ' Date: Sun, 22 Mar 2020 01:53:40 +0100 Subject: [PATCH 18/22] Fix checking of libraries (and return missing ones) & Update libpng --- static/ensure_deps.sh | 4 ++-- util/has_lib.js | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/static/ensure_deps.sh b/static/ensure_deps.sh index 1415c313b..708fc4f9a 100755 --- a/static/ensure_deps.sh +++ b/static/ensure_deps.sh @@ -9,7 +9,7 @@ GIFLIB_VERSION=4.2.3 GLIB_VERSION=2.50.2 HARFBUZZ_VERSION=1.4.2 LIBJPEG_VERSION=1.2.1 -LIBPNG_VERSION=1.2.56 +LIBPNG_VERSION=1.6.37 PANGO_VERSION=1.40.3 PIXMAN_VERSION=0.32.6 ZLIB_VERSION=1.2.11 @@ -23,7 +23,7 @@ GIFLIB_URL=http://sourceforge.net/projects/giflib/files/giflib-4.x/giflib-$GIFLI GLIB_URL=https://download.gnome.org/sources/glib/2.50/glib-$GLIB_VERSION.tar.xz HARFBUZZ_URL=https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-$HARFBUZZ_VERSION.tar.bz2 LIBJPEG_URL=http://downloads.sourceforge.net/project/libjpeg-turbo/$LIBJPEG_VERSION/libjpeg-turbo-$LIBJPEG_VERSION.tar.gz -LIBPNG_URL=http://sourceforge.net/projects/libpng/files/libpng12/$LIBPNG_VERSION/libpng-$LIBPNG_VERSION.tar.xz +LIBPNG_URL=http://sourceforge.net/projects/libpng/files/libpng16/$LIBPNG_VERSION/libpng-$LIBPNG_VERSION.tar.xz PANGO_URL=http://ftp.gnome.org/pub/GNOME/sources/pango/1.40/pango-$PANGO_VERSION.tar.xz PIXMAN_URL=http://cairographics.org/releases/pixman-$PIXMAN_VERSION.tar.gz ZLIB_URL=https://sourceforge.net/projects/libpng/files/zlib/$ZLIB_VERSION/zlib-$ZLIB_VERSION.tar.gz diff --git a/util/has_lib.js b/util/has_lib.js index afd9c18c4..1f96c84ef 100644 --- a/util/has_lib.js +++ b/util/has_lib.js @@ -65,10 +65,10 @@ function hasLdconfig () { try { // Add /sbin to path as ldconfig is located there on some systems -- e.g. // Debian (and it can still be used by unprivileged users): - childProcess.execSync('export PATH="$PATH:/sbin"') - process.env.PATH = '...' + execSync('export PATH="$PATH:/sbin"') + // process.env.PATH = '...' // execSync throws on nonzero exit - childProcess.execSync('hash ldconfig 2>/dev/null') + execSync('hash ldconfig 2>/dev/null') return true } catch (err) { return false @@ -96,7 +96,7 @@ function hasPkgconfigLib (lib) { function main (query) { if (!query) { for (var libname of ['gif', 'jpeg', 'cairo', 'pango', 'freetype', 'rsvg']) { - if (!main(libname)) return false + if (!main(libname)) return libname } return true From d03fbe154a15c512629699390734a998c7fdd06f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Legan=C3=A9s-Combarro=20=27piranna?= Date: Sun, 22 Mar 2020 02:11:38 +0100 Subject: [PATCH 19/22] Fix search of system libraries --- util/has_lib.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/util/has_lib.js b/util/has_lib.js index 1f96c84ef..44fae74d3 100644 --- a/util/has_lib.js +++ b/util/has_lib.js @@ -45,6 +45,8 @@ function hasSystemLib (lib) { } // Try checking common library locations + const libNameRegex = new RegExp(libName) + return SYSTEM_PATHS.some(function (systemPath) { try { var dirListing = fs.readdirSync(systemPath) From 297514f51e0fed8647c076aa081ac14b5155e36b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Legan=C3=A9s-Combarro=20=27piranna?= Date: Sat, 17 Oct 2020 19:24:29 +0200 Subject: [PATCH 20/22] Update `devDependencies` to fix linting errors --- package.json | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 78b31f82b..cde80c41f 100644 --- a/package.json +++ b/package.json @@ -53,13 +53,14 @@ "simple-get": "^3.0.3" }, "devDependencies": { - "@types/node": "^10.12.18", + "@types/node": "^14.11.10", "assert-rejects": "^1.0.0", - "dtslint": "^0.5.3", + "dtslint": "^4.0.4", "express": "^4.16.3", "mocha": "^5.2.0", "pixelmatch": "^4.0.2", - "standard": "^12.0.1" + "standard": "^12.0.1", + "typescript": "^4.0.3" }, "engines": { "node": ">=6" From 01298779e7c1d4eb41c5fdd554a668585ea49c28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Legan=C3=A9s-Combarro=20=27piranna?= Date: Sat, 17 Oct 2020 20:02:07 +0200 Subject: [PATCH 21/22] Fixed indentation --- shared.gypi | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/shared.gypi b/shared.gypi index d6aae693b..aa31a41f7 100644 --- a/shared.gypi +++ b/shared.gypi @@ -148,9 +148,9 @@ 'cflags_cc!': ['-fno-exceptions'] }], ['OS=="mac"', { - 'xcode_settings': { - 'GCC_ENABLE_CPP_EXCEPTIONS': 'YES' - } + 'xcode_settings': { + 'GCC_ENABLE_CPP_EXCEPTIONS': 'YES' + } }], ['with_freetype=="true"', { From 6988889d3935b6222d6de954f8670e4a9e31512d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Legan=C3=A9s-Combarro=20=27piranna?= Date: Sat, 17 Oct 2020 20:02:52 +0200 Subject: [PATCH 22/22] By-pass shell checking tool on Windows --- binding.gyp | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/binding.gyp b/binding.gyp index c46e9fcaf..8728adb22 100644 --- a/binding.gyp +++ b/binding.gyp @@ -1,14 +1,21 @@ { - 'variables': - { - 'shared%': '