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