1*4882a593SmuzhiyunFrom 8208f99fa1676c42bfd8d74de3e9dac5366c150c Mon Sep 17 00:00:00 2001 2*4882a593SmuzhiyunFrom: Akira TAGOH <akira@tagoh.org> 3*4882a593SmuzhiyunDate: Mon, 3 Sep 2018 04:56:16 +0000 4*4882a593SmuzhiyunSubject: [PATCH] Fix the build issue with --enable-static 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunFixes https://gitlab.freedesktop.org/fontconfig/fontconfig/issues/109 7*4882a593SmuzhiyunSigned-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> 8*4882a593Smuzhiyun[Retrieved from: 9*4882a593Smuzhiyunhttps://gitlab.freedesktop.org/fontconfig/fontconfig/commit/8208f99fa1676c42bfd8d74de3e9dac5366c150c] 10*4882a593Smuzhiyun--- 11*4882a593Smuzhiyun doc/fcstring.fncs | 12 ++++++++++++ 12*4882a593Smuzhiyun fontconfig/fontconfig.h | 4 ++++ 13*4882a593Smuzhiyun src/fcint.h | 4 ---- 14*4882a593Smuzhiyun test/test-bz106632.c | 35 ++++++++++++----------------------- 15*4882a593Smuzhiyun 4 files changed, 28 insertions(+), 27 deletions(-) 16*4882a593Smuzhiyun 17*4882a593Smuzhiyundiff --git a/doc/fcstring.fncs b/doc/fcstring.fncs 18*4882a593Smuzhiyunindex 0412bbd..d5ec043 100644 19*4882a593Smuzhiyun--- a/doc/fcstring.fncs 20*4882a593Smuzhiyun+++ b/doc/fcstring.fncs 21*4882a593Smuzhiyun@@ -223,6 +223,18 @@ This is just a wrapper around free(3) which helps track memory usage of 22*4882a593Smuzhiyun strings within the fontconfig library. 23*4882a593Smuzhiyun @@ 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun+@RET@ FcChar8 * 26*4882a593Smuzhiyun+@FUNC@ FcStrBuildFilename 27*4882a593Smuzhiyun+@TYPE1@ const FcChar8 * @ARG1@ path 28*4882a593Smuzhiyun+@TYPE2@ ... 29*4882a593Smuzhiyun+@PURPOSE@ Concatenate strings as a file path 30*4882a593Smuzhiyun+@DESC@ 31*4882a593Smuzhiyun+Creates a filename from the given elements of strings as file paths 32*4882a593Smuzhiyun+and concatenate them with the appropriate file separator. 33*4882a593Smuzhiyun+Arguments must be null-terminated. 34*4882a593Smuzhiyun+This returns a newly-allocated memory which should be freed when no longer needed. 35*4882a593Smuzhiyun+@@ 36*4882a593Smuzhiyun+ 37*4882a593Smuzhiyun @RET@ FcChar8 * 38*4882a593Smuzhiyun @FUNC@ FcStrDirname 39*4882a593Smuzhiyun @TYPE1@ const FcChar8 * @ARG1@ file 40*4882a593Smuzhiyundiff --git a/fontconfig/fontconfig.h b/fontconfig/fontconfig.h 41*4882a593Smuzhiyunindex bac1dda..af870d0 100644 42*4882a593Smuzhiyun--- a/fontconfig/fontconfig.h 43*4882a593Smuzhiyun+++ b/fontconfig/fontconfig.h 44*4882a593Smuzhiyun@@ -1076,6 +1076,10 @@ FcUtf16Len (const FcChar8 *string, 45*4882a593Smuzhiyun int *nchar, 46*4882a593Smuzhiyun int *wchar); 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun+FcPublic FcChar8 * 49*4882a593Smuzhiyun+FcStrBuildFilename (const FcChar8 *path, 50*4882a593Smuzhiyun+ ...); 51*4882a593Smuzhiyun+ 52*4882a593Smuzhiyun FcPublic FcChar8 * 53*4882a593Smuzhiyun FcStrDirname (const FcChar8 *file); 54*4882a593Smuzhiyun 55*4882a593Smuzhiyundiff --git a/src/fcint.h b/src/fcint.h 56*4882a593Smuzhiyunindex de78cd8..a9d075a 100644 57*4882a593Smuzhiyun--- a/src/fcint.h 58*4882a593Smuzhiyun+++ b/src/fcint.h 59*4882a593Smuzhiyun@@ -1282,10 +1282,6 @@ FcStrUsesHome (const FcChar8 *s); 60*4882a593Smuzhiyun FcPrivate FcBool 61*4882a593Smuzhiyun FcStrIsAbsoluteFilename (const FcChar8 *s); 62*4882a593Smuzhiyun 63*4882a593Smuzhiyun-FcPrivate FcChar8 * 64*4882a593Smuzhiyun-FcStrBuildFilename (const FcChar8 *path, 65*4882a593Smuzhiyun- ...); 66*4882a593Smuzhiyun- 67*4882a593Smuzhiyun FcPrivate FcChar8 * 68*4882a593Smuzhiyun FcStrLastSlash (const FcChar8 *path); 69*4882a593Smuzhiyun 70*4882a593Smuzhiyundiff --git a/test/test-bz106632.c b/test/test-bz106632.c 71*4882a593Smuzhiyunindex daa0c1e..2d67c2e 100644 72*4882a593Smuzhiyun--- a/test/test-bz106632.c 73*4882a593Smuzhiyun+++ b/test/test-bz106632.c 74*4882a593Smuzhiyun@@ -25,25 +25,26 @@ 75*4882a593Smuzhiyun #ifdef HAVE_CONFIG_H 76*4882a593Smuzhiyun #include "config.h" 77*4882a593Smuzhiyun #endif 78*4882a593Smuzhiyun+#include <stdio.h> 79*4882a593Smuzhiyun #include <stdlib.h> 80*4882a593Smuzhiyun+#include <string.h> 81*4882a593Smuzhiyun #include <dirent.h> 82*4882a593Smuzhiyun+#include <unistd.h> 83*4882a593Smuzhiyun+#include <errno.h> 84*4882a593Smuzhiyun #ifndef HAVE_STRUCT_DIRENT_D_TYPE 85*4882a593Smuzhiyun #include <sys/types.h> 86*4882a593Smuzhiyun #include <sys/stat.h> 87*4882a593Smuzhiyun-#include <unistd.h> 88*4882a593Smuzhiyun #endif 89*4882a593Smuzhiyun-#include "fcstr.c" 90*4882a593Smuzhiyun-#undef FcConfigBuildFonts 91*4882a593Smuzhiyun-#undef FcConfigCreate 92*4882a593Smuzhiyun-#undef FcConfigGetCurrent 93*4882a593Smuzhiyun-#undef FcConfigParseAndLoadFromMemory 94*4882a593Smuzhiyun-#undef FcConfigUptoDate 95*4882a593Smuzhiyun-#undef FcFontList 96*4882a593Smuzhiyun-#undef FcInitReinitialize 97*4882a593Smuzhiyun-#undef FcPatternCreate 98*4882a593Smuzhiyun-#undef FcPatternDestroy 99*4882a593Smuzhiyun #include <fontconfig/fontconfig.h> 100*4882a593Smuzhiyun 101*4882a593Smuzhiyun+#ifdef _WIN32 102*4882a593Smuzhiyun+# define FC_DIR_SEPARATOR '\\' 103*4882a593Smuzhiyun+# define FC_DIR_SEPARATOR_S "\\" 104*4882a593Smuzhiyun+#else 105*4882a593Smuzhiyun+# define FC_DIR_SEPARATOR '/' 106*4882a593Smuzhiyun+# define FC_DIR_SEPARATOR_S "/" 107*4882a593Smuzhiyun+#endif 108*4882a593Smuzhiyun+ 109*4882a593Smuzhiyun #ifdef HAVE_MKDTEMP 110*4882a593Smuzhiyun #define fc_mkdtemp mkdtemp 111*4882a593Smuzhiyun #else 112*4882a593Smuzhiyun@@ -154,18 +155,6 @@ unlink_dirs (const char *dir) 113*4882a593Smuzhiyun return ret; 114*4882a593Smuzhiyun } 115*4882a593Smuzhiyun 116*4882a593Smuzhiyun-FcChar8 * 117*4882a593Smuzhiyun-FcLangNormalize (const FcChar8 *lang) 118*4882a593Smuzhiyun-{ 119*4882a593Smuzhiyun- return NULL; 120*4882a593Smuzhiyun-} 121*4882a593Smuzhiyun- 122*4882a593Smuzhiyun-FcChar8 * 123*4882a593Smuzhiyun-FcConfigHome (void) 124*4882a593Smuzhiyun-{ 125*4882a593Smuzhiyun- return NULL; 126*4882a593Smuzhiyun-} 127*4882a593Smuzhiyun- 128*4882a593Smuzhiyun int 129*4882a593Smuzhiyun main (void) 130*4882a593Smuzhiyun { 131*4882a593Smuzhiyun-- 132*4882a593Smuzhiyun2.18.1 133*4882a593Smuzhiyun 134