]> git.wh0rd.org - fontconfig.git/commitdiff
Build fontconfig.def from header files when needed.
authorKeith Packard <keithp@neko.keithp.com>
Sun, 17 Sep 2006 21:09:12 +0000 (14:09 -0700)
committerKeith Packard <keithp@neko.keithp.com>
Sun, 17 Sep 2006 21:09:12 +0000 (14:09 -0700)
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.

configure.in
src/Makefile.am
src/fontconfig.def.in [deleted file]

index 9cebc9f2f9559c4aa9c00181bb298df307e788de..06bdf5213259f4fbb2a2d16207144115ab83d046 100644 (file)
@@ -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
index 126d01a5aa90b757c2627456fc6006ca480bcf05..418b74bf474fcbf4384c852cc2742f878bd4124b 100644 (file)
@@ -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 $(PUBLIC_FILES)
        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-@LT_CURRENT_MINUS_AGE@.dll; \
+       echo VERSION @LT_CURRENT@.@LT_REVISION@) >$@
+       @ ! grep -q FcERROR $@ || ($(RM) $@; false)
diff --git a/src/fontconfig.def.in b/src/fontconfig.def.in
deleted file mode 100755 (executable)
index 0bccef5..0000000
+++ /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-@LT_CURRENT_MINUS_AGE@.dll
-VERSION @LT_CURRENT@.@LT_REVISION@