[Fontconfig] fontconfig: Branch 'master'

Keith Packard keithp at kemper.freedesktop.org
Sun Sep 17 14:09:17 PDT 2006


 configure.in          |    1 
 src/Makefile.am       |   18 ++
 src/fontconfig.def.in |  303 --------------------------------------------------
 3 files changed, 17 insertions(+), 305 deletions(-)

New commits:
diff-tree 706a1b367abc4589c7eccfd7cea3af1029bc2d8c (from 6262fefe54823476070053d53eb3f52fd516ebfe)
Author: Keith Packard <keithp at neko.keithp.com>
Date:   Sun Sep 17 14:09:12 2006 -0700

    Build fontconfig.def from header files when needed.
    
    Instead of attempting to track exported symbols manually in
    fontconfig.def.in, build it directly from the public fontconfig header files
    to ensure it exports the public API.

diff --git a/configure.in b/configure.in
index 9cebc9f..06bdf52 100644
--- a/configure.in
+++ b/configure.in
@@ -562,7 +562,6 @@ fc-glyphname/Makefile
 fc-case/Makefile
 fc-arch/Makefile
 src/Makefile
-src/fontconfig.def
 conf.d/Makefile
 fc-cache/Makefile
 fc-cat/Makefile
diff --git a/src/Makefile.am b/src/Makefile.am
index 126d01a..418b74b 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -25,6 +25,8 @@ if OS_WIN32
 
 export_symbols = -export-symbols fontconfig.def
 
+fontconfig_def_dependency = fontconfig.def
+
 # gcc import library install/uninstall
 
 install-libtool-import-lib: 
@@ -39,6 +41,8 @@ else
 install-libtool-import-lib:
 uninstall-libtool-import-lib:
 
+fontconfig_def_dependency = 
+
 endif
 
 if MS_LIB_AVAILABLE
@@ -73,7 +77,7 @@ INCLUDES = 						\
 	-DFC_CACHEDIR='"$(FC_CACHEDIR)"'                \
 	-DFONTCONFIG_PATH='"$(CONFDIR)"'
 
-EXTRA_DIST = fontconfig.def.in makealias
+EXTRA_DIST = makealias
 
 noinst_HEADERS=fcint.h
 
@@ -112,6 +116,8 @@ libfontconfig_la_LDFLAGS =			\
 
 libfontconfig_la_LIBADD = $(ICONV_LIBS) $(FREETYPE_LIBS) $(LIBXML2_LIBS) $(EXPAT_LIBS)
 
+libfontconfig_la_DEPENDENCIES = $(fontconfig_def_dependency)
+
 install-data-local: install-ms-import-lib install-libtool-import-lib
 
 uninstall-local: uninstall-ms-import-lib uninstall-libtool-import-lib
@@ -127,3 +133,13 @@ fcalias.h: $(top_srcdir)/src/makealias $
 	sh $(top_srcdir)/src/makealias "$(top_srcdir)/src" $(PUBLIC_FILES)
 
 CLEANFILES := $(ALIAS_FILES)
+
+fontconfig.def: $(PUBLIC_FILES)
+	echo Generating $@
+	(echo EXPORTS; \
+	(cat $(PUBLIC_FILES) || echo 'FcERROR ()' ) | \
+ 	grep '^Fc[^ ]* *(' | sed -e 's/ *(.*$$//' -e 's/^/	/' | \
+	sort; \
+	echo LIBRARY libfontconfig- at LT_CURRENT_MINUS_AGE@.dll; \
+	echo VERSION @LT_CURRENT at .@LT_REVISION@) >$@
+	@ ! grep -q FcERROR $@ || ($(RM) $@; false)
diff --git a/src/fontconfig.def.in b/src/fontconfig.def.in
deleted file mode 100755
index 0bccef5..0000000
--- a/src/fontconfig.def.in
+++ /dev/null
@@ -1,303 +0,0 @@
-EXPORTS
-	FcDirCacheValid
-	FcDirCacheHasCurrentArch
-	FcDirCacheUnlink
-	FcBlanksCreate
-	FcBlanksDestroy
-	FcBlanksAdd
-	FcBlanksIsMember
-	FcConfigHome
-	FcConfigEnableHome
-	FcConfigFilename
-	FcConfigCreate
-	FcConfigDestroy
-	FcConfigSetCurrent
-	FcConfigGetCurrent
-	FcConfigUptoDate
-	FcConfigBuildFonts
-	FcConfigGetFontDirs
-	FcConfigNormalizeFontDir
-	FcConfigGetConfigDirs
-	FcConfigGetConfigFiles
-	FcConfigGetCache
-	FcConfigGetBlanks
-	FcConfigGetRescanInverval
-	FcConfigSetRescanInverval
-	FcConfigGetFonts
-	FcConfigAppFontAddFile
-	FcConfigAppFontAddDir
-	FcConfigAppFontClear
-	FcConfigSubstituteWithPat
-	FcConfigSubstitute
-	FcCharSetCreate
-	FcCharSetDestroy
-	FcCharSetAddChar
-	FcCharSetCopy
-	FcCharSetEqual
-	FcCharSetIntersect
-	FcCharSetUnion
-	FcCharSetSubtract
-	FcCharSetHasChar
-	FcCharSetCount
-	FcCharSetIntersectCount
-	FcCharSetSubtractCount
-	FcCharSetIsSubset
-	FcCharSetFirstPage
-	FcCharSetNextPage
-	FcValuePrint
-	FcPatternPrint
-	FcFontSetPrint
-	FcDebugVal
-	FcFontSetUnserialize
-	FcDefaultSubstitute
-	FcFileScan
-	FcDirScan
-	FcDirSave
-	FcFreeTypeQuery
-	FcFontSetCreate
-	FcFontSetDestroy
-	FcFontSetAdd
-	FcInitLoadConfig
-	FcInitLoadConfigAndFonts
-	FcInit
-	FcFini
-	FcGetVersion
-	FcInitReinitialize
-	FcInitBringUptoDate
-	FcLangSetCreate
-	FcLangSetDestroy
-	FcLangSetCopy
-	FcLangSetAdd
-	FcLangSetHasLang
-	FcLangSetCompare
-	FcLangSetContains
-	FcLangSetEqual
-	FcLangSetHash
-	FcObjectSetCreate
-	FcObjectSetAdd
-	FcObjectSetDestroy
-	FcObjectSetVaBuild
-	FcObjectSetBuild
-	FcFontSetList
-	FcFontList
-	FcAtomicCreate
-	FcAtomicLock
-	FcAtomicNewFile
-	FcAtomicOrigFile
-	FcAtomicReplaceOrig
-	FcAtomicDeleteNew
-	FcAtomicUnlock
-	FcAtomicDestroy
-	FcFontSetMatch
-	FcFontMatch
-	FcFontRenderPrepare
-	FcFontSetSort
-	FcFontSort
-	FcFontSetSortDestroy
-	FcMatrixCopy
-	FcMatrixEqual
-	FcMatrixMultiply
-	FcMatrixRotate
-	FcMatrixScale
-	FcMatrixShear
-	FcNameRegisterObjectTypes
-	FcNameUnregisterObjectTypes
-	FcNameGetObjectType
-	FcNameRegisterConstants
-	FcNameUnregisterConstants
-	FcNameGetConstant
-	FcNameConstant
-	FcNameParse
-	FcNameUnparse
-	FcNameUnparseEscaped
-	FcPatternCreate
-	FcPatternDuplicate
-	FcPatternReference
-	FcValueDestroy
-	FcValueEqual
-	FcValueSave
-	FcPatternDestroy
-	FcPatternEqual
-	FcPatternEqualSubset
-	FcPatternHash
-	FcPatternAdd
-	FcPatternAddWeak
-	FcPatternGet
-	FcPatternDel
-	FcPatternRemove
-	FcPatternAddInteger
-	FcPatternAddDouble
-	FcPatternAddString
-	FcPatternAddMatrix
-	FcPatternAddCharSet
-	FcPatternAddBool
-	FcPatternAddLangSet
-	FcPatternGetInteger
-	FcPatternGetDouble
-	FcPatternGetString
-	FcPatternGetMatrix
-	FcPatternGetCharSet
-	FcPatternGetBool
-	FcPatternGetLangSet
-	FcPatternVaBuild
-	FcPatternBuild
-	FcStrCopy
-	FcStrCopyFilename
-	FcStrDowncase
-	FcStrCmpIgnoreCase
-	FcStrCmp
-	FcStrStrIgnoreCase
-	FcStrStr
-	FcUtf8ToUcs4
-	FcUtf8Len
-	FcUcs4ToUtf8
-	FcUtf16ToUcs4
-	FcUtf16Len
-	FcStrDirname
-	FcStrBasename
-	FcStrSetCreate
-	FcStrSetMember
-	FcStrSetEqual
-	FcStrSetAdd
-	FcStrSetAddFilename
-	FcStrSetDel
-	FcStrSetDestroy
-	FcStrListCreate
-	FcStrListNext
-	FcStrListDone
-	FcConfigParseAndLoad
-	FcFreeTypeCharIndex
-	FcFreeTypeCharSetAndSpacing
-	FcFreeTypeCharSet
-	FcPatternGetFTFace
-	FcPatternAddFTFace
-	FcGlobalCacheCreate
-	FcGlobalCacheDestroy
-	FcGlobalCacheReadDir
-	FcGlobalCacheLoad
-	FcGlobalCacheUpdate
-	FcGlobalCacheSave
-	FcCacheRead
-	FcDirCacheWrite
-	FcDirCacheRead
-	FcCacheBankToIndexMTF
-	FcCacheFindBankDir
-	FcConfigAddConfigDir
-	FcConfigAddFontDir
-	FcConfigAddDir
-	FcConfigAddConfigFile
-	FcConfigSetCache
-	FcConfigAddBlank
-	FcConfigAddEdit
-	FcConfigSetFonts
-	FcConfigCompareValue
-	FcConfigGlobAdd
-	FcConfigAcceptFilename
-	FcConfigPatternsAdd
-	FcConfigAcceptFont
-	FcConfigModifiedTime
-	FcLangCharSetPopulate
-	FcCharSetFreeze
-	FcCharSetThawAll
-	FcNameUnparseCharSet
-	FcNameParseCharSet
-	FcCharSetFindLeafCreate
-	FcCharSetNewBank
-	FcCharSetNeededBytes
-	FcCharSetNeededBytesAlign
-	FcCharSetDistributeBytes
-	FcCharSetUnserialize
-	FcValueListPrint
-	FcLangSetPrint
-	FcOpPrint
-	FcTestPrint
-	FcExprPrint
-	FcEditPrint
-	FcSubstPrint
-	FcInitDebug
-	FcGetDefaultLang
-	FcFileIsDir
-	FcFileScanConfig
-	FcDirScanConfig
-	FcFreeTypeIsExclusiveLang
-	FcFreeTypeUcs4ToPrivate
-	FcFreeTypePrivateToUcs4
-	FcFreeTypeGetPrivateMap
-	FcFontSetNewBank
-	FcFontSetNeededBytes
-	FcFontSetNeededBytesAlign
-	FcFontSetDistributeBytes
-	FcFontSetSerialize
-	FcConfigSaveField
-	FcTestDestroy
-	FcExprCreateInteger
-	FcExprCreateDouble
-	FcExprCreateString
-	FcExprCreateMatrix
-	FcExprCreateBool
-	FcExprCreateNil
-	FcExprCreateField
-	FcExprCreateConst
-	FcExprCreateOp
-	FcExprDestroy
-	FcEditDestroy
-	FcMemReport
-	FcMemAlloc
-	FcMemFree
-	FcFreeTypeLangSet
-	FcLangCompare
-	FcCharSetForLang
-	FcLangSetPromote
-	FcNameParseLangSet
-	FcNameUnparseLangSet
-	FcLangSetNewBank
-	FcLangSetNeededBytes
-	FcLangSetNeededBytesAlign
-	FcLangSetDistributeBytes
-	FcLangSetSerialize
-	FcLangSetUnserialize
-	FcListPatternMatchAny
-	FcNameBool
-	FcObjectDistributeBytes
-	FcObjectToPtr
-	FcObjectNeededBytes
-	FcObjectNeededBytesAlign
-	FcObjectUnserialize
-	FcObjectSerialize
-	FcObjectPtrU
-	FcObjectStaticNameFini
-	FcValueCanonicalize
-	FcValueListDestroy
-	FcPatternFindElt
-	FcPatternInsertElt
-	FcPatternAddWithBinding
-	FcPatternFreeze
-	FcPatternFini
-	FcPatternAppend
-	FcPatternAddFullFname
-	FcPatternTransferFullFname
-	FcStrStaticName
-	FcStringHash
-	FcPatternNewBank
-	FcPatternNeededBytes
-	FcPatternNeededBytesAlign
-	FcPatternDistributeBytes
-	FcPatternSerialize
-	FcPatternUnserialize
-	FcMatrixFree
-	FcStrPlus
-	FcStrFree
-	FcStrBufInit
-	FcStrBufDestroy
-	FcStrBufDone
-	FcStrBufChar
-	FcStrBufString
-	FcStrBufData
-	FcStrCmpIgnoreBlanksAndCase
-	FcStrContainsIgnoreBlanksAndCase
-	FcStrContainsIgnoreCase
-	FcStrUsesHome
-	FcStrLastSlash
-	FcStrHashIgnoreCase
-LIBRARY libfontconfig- at LT_CURRENT_MINUS_AGE@.dll
-VERSION @LT_CURRENT at .@LT_REVISION@


More information about the Fontconfig mailing list