[Fontconfig] fontconfig: Branch 'master' - 2 commits
Keith Packard
keithp at kemper.freedesktop.org
Wed Jan 2 09:13:53 PST 2008
fc-arch/Makefile.am | 2 -
fc-case/Makefile.am | 2 -
fc-glyphname/Makefile.am | 2 -
fc-lang/Makefile.am | 2 -
src/Makefile.am | 13 ++++++++---
src/fcfreetype.c | 1
src/fcftint.h | 54 +++++++++++++++++++++++++++++++++++++++++++++++
src/fcint.h | 18 ---------------
src/fclang.c | 1
src/fcpat.c | 1
src/fcxml.c | 5 ++++
src/makealias | 6 +++--
12 files changed, 81 insertions(+), 26 deletions(-)
New commits:
commit dbd065ad312921308add99fc4cb31457d9045e6a
Author: Keith Packard <keithp at keithp.com>
Date: Wed Jan 2 08:47:14 2008 -0800
Remove freetype requirement for build-time applications.
This avoids requiring the freetype development files when cross compiling
diff --git a/fc-arch/Makefile.am b/fc-arch/Makefile.am
index 5fedbfb..7e1dd3e 100644
--- a/fc-arch/Makefile.am
+++ b/fc-arch/Makefile.am
@@ -26,7 +26,7 @@ CC = @CC_FOR_BUILD@
EXEEXT = @EXEEXT_FOR_BUILD@
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-INCLUDES=-I${top_srcdir}/src -I${top_srcdir} $(FREETYPE_CFLAGS) $(WARN_CFLAGS)
+INCLUDES=-I${top_srcdir}/src -I${top_srcdir} $(WARN_CFLAGS)
TMPL=fcarch.tmpl.h
STMPL=${top_srcdir}/fc-arch/fcarch.tmpl.h
diff --git a/fc-case/Makefile.am b/fc-case/Makefile.am
index 83ca2de..d4fa12d 100644
--- a/fc-case/Makefile.am
+++ b/fc-case/Makefile.am
@@ -26,7 +26,7 @@ CC = @CC_FOR_BUILD@
EXEEXT = @EXEEXT_FOR_BUILD@
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-INCLUDES=-I${top_srcdir}/src -I${top_srcdir} $(FREETYPE_CFLAGS) $(WARN_CFLAGS)
+INCLUDES=-I${top_srcdir}/src -I${top_srcdir} $(WARN_CFLAGS)
TMPL=fccase.tmpl.h
STMPL=${top_srcdir}/fc-case/${TMPL}
diff --git a/fc-glyphname/Makefile.am b/fc-glyphname/Makefile.am
index 8aa5ead..412d663 100644
--- a/fc-glyphname/Makefile.am
+++ b/fc-glyphname/Makefile.am
@@ -26,7 +26,7 @@ CC = @CC_FOR_BUILD@
EXEEXT = @EXEEXT_FOR_BUILD@
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-INCLUDES=-I${top_srcdir}/src -I${top_srcdir} $(FREETYPE_CFLAGS) $(WARN_CFLAGS)
+INCLUDES=-I${top_srcdir}/src -I${top_srcdir} $(WARN_CFLAGS)
TMPL=fcglyphname.tmpl.h
STMPL=${top_srcdir}/fc-glyphname/${TMPL}
diff --git a/fc-lang/Makefile.am b/fc-lang/Makefile.am
index f152ab5..60e4f31 100644
--- a/fc-lang/Makefile.am
+++ b/fc-lang/Makefile.am
@@ -26,7 +26,7 @@ CC = @CC_FOR_BUILD@
EXEEXT = @EXEEXT_FOR_BUILD@
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-INCLUDES=-I${top_srcdir}/src -I${top_srcdir} $(FREETYPE_CFLAGS) $(WARN_CFLAGS)
+INCLUDES=-I${top_srcdir}/src -I${top_srcdir} $(WARN_CFLAGS)
TMPL=fclang.tmpl.h
STMPL=${top_srcdir}/fc-lang/fclang.tmpl.h
diff --git a/src/Makefile.am b/src/Makefile.am
index e4c203c..a7d6b92 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -81,7 +81,7 @@ EXTRA_DIST = makealias
noinst_HEADERS=fcint.h fcdeprecate.h
-ALIAS_FILES = fcalias.h fcaliastail.h
+ALIAS_FILES = fcalias.h fcaliastail.h fcftalias.h fcftaliastail.h
BUILT_SOURCES = $(ALIAS_FILES)
@@ -124,14 +124,21 @@ uninstall-local: uninstall-ms-import-lib uninstall-libtool-import-lib
PUBLIC_FILES = \
$(top_srcdir)/fontconfig/fontconfig.h \
- $(top_srcdir)/fontconfig/fcfreetype.h \
$(top_srcdir)/src/fcdeprecate.h \
$(top_srcdir)/fontconfig/fcprivate.h
+PUBLIC_FT_FILES = \
+ $(top_srcdir)/fontconfig/fcfreetype.h
+
fcaliastail.h: fcalias.h
fcalias.h: $(top_srcdir)/src/makealias $(PUBLIC_FILES)
- sh $(top_srcdir)/src/makealias "$(top_srcdir)/src" $(PUBLIC_FILES)
+ sh $(top_srcdir)/src/makealias "$(top_srcdir)/src" fcalias.h fcaliastail.h $(PUBLIC_FILES)
+
+fcftaliastail.h: fcftalias.h
+
+fcftalias.h: $(top_srcdir)/src/makealias $(PUBLIC_FT_FILES)
+ sh $(top_srcdir)/src/makealias "$(top_srcdir)/src" fcftalias.h fcftaliastail.h $(PUBLIC_FT_FILES)
CLEANFILES := $(ALIAS_FILES)
diff --git a/src/fcfreetype.c b/src/fcfreetype.c
index 572e7f2..53fe86b 100644
--- a/src/fcfreetype.c
+++ b/src/fcfreetype.c
@@ -45,6 +45,7 @@
*/
#include "fcint.h"
+#include "fcftint.h"
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
diff --git a/src/fcftint.h b/src/fcftint.h
new file mode 100644
index 0000000..f32d87c
--- /dev/null
+++ b/src/fcftint.h
@@ -0,0 +1,54 @@
+/*
+ * Copyright © 2007 Keith Packard
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that copyright
+ * notice and this permission notice appear in supporting documentation, and
+ * that the name of the copyright holders not be used in advertising or
+ * publicity pertaining to distribution of the software without specific,
+ * written prior permission. The copyright holders make no representations
+ * about the suitability of this software for any purpose. It is provided "as
+ * is" without express or implied warranty.
+ *
+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+ * OF THIS SOFTWARE.
+ */
+
+#ifndef _FCFTINT_H_
+#define _FCFTINT_H_
+
+#include <fontconfig/fcfreetype.h>
+
+#if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) && defined(__ELF__) && !defined(__sun)
+#define FcPrivate __attribute__((__visibility__("hidden")))
+#define HAVE_GNUC_ATTRIBUTE 1
+#include "fcftalias.h"
+#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550)
+#define FcPrivate __hidden
+#else /* not gcc >= 3.3 and not Sun Studio >= 8 */
+#define FcPrivate
+#endif
+
+/* fcfreetype.c */
+FcPrivate FcBool
+FcFreeTypeIsExclusiveLang (const FcChar8 *lang);
+
+FcPrivate FcBool
+FcFreeTypeHasLang (FcPattern *pattern, const FcChar8 *lang);
+
+FcPrivate FcChar32
+FcFreeTypeUcs4ToPrivate (FcChar32 ucs4, const FcCharMap *map);
+
+FcPrivate FcChar32
+FcFreeTypePrivateToUcs4 (FcChar32 private, const FcCharMap *map);
+
+FcPrivate const FcCharMap *
+FcFreeTypeGetPrivateMap (FT_Encoding encoding);
+
+#endif /* _FCFTINT_H_ */
diff --git a/src/fcint.h b/src/fcint.h
index 922a2df..ddeb745 100644
--- a/src/fcint.h
+++ b/src/fcint.h
@@ -42,12 +42,12 @@
#include <ctype.h>
#include <errno.h>
#include <unistd.h>
+#include <stddef.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <time.h>
#include <fontconfig/fontconfig.h>
#include <fontconfig/fcprivate.h>
-#include <fontconfig/fcfreetype.h>
#include "fcdeprecate.h"
#ifndef FC_CONFIG_PATH
@@ -705,22 +705,6 @@ FcDirScanConfig (FcFontSet *set,
FcPrivate int
FcFontDebug (void);
-/* fcfreetype.c */
-FcPrivate FcBool
-FcFreeTypeIsExclusiveLang (const FcChar8 *lang);
-
-FcPrivate FcBool
-FcFreeTypeHasLang (FcPattern *pattern, const FcChar8 *lang);
-
-FcPrivate FcChar32
-FcFreeTypeUcs4ToPrivate (FcChar32 ucs4, const FcCharMap *map);
-
-FcPrivate FcChar32
-FcFreeTypePrivateToUcs4 (FcChar32 private, const FcCharMap *map);
-
-FcPrivate const FcCharMap *
-FcFreeTypeGetPrivateMap (FT_Encoding encoding);
-
/* fcfs.c */
FcPrivate FcBool
diff --git a/src/fclang.c b/src/fclang.c
index 7aa5f3c..dc1fb36 100644
--- a/src/fclang.c
+++ b/src/fclang.c
@@ -23,6 +23,7 @@
*/
#include "fcint.h"
+#include "fcftint.h"
typedef struct {
const FcChar8 lang[8];
diff --git a/src/fcpat.c b/src/fcpat.c
index 4179694..c8368fc 100644
--- a/src/fcpat.c
+++ b/src/fcpat.c
@@ -21,6 +21,7 @@
*/
#include "fcint.h"
+#include "fcftint.h"
#include <stdlib.h>
#include <string.h>
#include <assert.h>
diff --git a/src/makealias b/src/makealias
index bbc90f0..1f57742 100755
--- a/src/makealias
+++ b/src/makealias
@@ -1,8 +1,10 @@
#!/bin/sh
SRCDIR=$1
shift
-HEAD=fcalias.h
-TAIL=fcaliastail.h
+HEAD=$1
+shift
+TAIL=$1
+shift
rm -f $HEAD $TAIL
echo "#if HAVE_GNUC_ATTRIBUTE" >> $TAIL
cat "$@" | grep '^Fc[^ ]* *(' | sed -e 's/ *(.*$//' |
commit 0aa5fbaa0df9d6c7bee8e0839dd443de9c48a402
Author: Keith Packard <keithp at keithp.com>
Date: Sun Dec 23 14:06:41 2007 -0800
Fix OOM failure case in FcPStackPush.
When allocation for the node attributes fail, clean up the node allocation
and report failure.
diff --git a/src/fcxml.c b/src/fcxml.c
index cec9f6f..1910306 100644
--- a/src/fcxml.c
+++ b/src/fcxml.c
@@ -968,7 +968,12 @@ FcPStackPush (FcConfigParse *parse, FcElement element, const XML_Char **attr)
{
new->attr = FcConfigSaveAttr (attr);
if (!new->attr)
+ {
FcConfigMessage (parse, FcSevereError, "out of memory");
+ FcMemFree (FC_MEM_PSTACK, sizeof (FcPStack));
+ free (new);
+ return FcFalse;
+ }
}
else
new->attr = 0;
More information about the Fontconfig
mailing list