]> git.wh0rd.org - fontconfig.git/commitdiff
Add instructions for doing a release fc-2_2_93
authorKeith Packard <keithp@keithp.com>
Wed, 14 Apr 2004 18:08:41 +0000 (18:08 +0000)
committerKeith Packard <keithp@keithp.com>
Wed, 14 Apr 2004 18:08:41 +0000 (18:08 +0000)
clean up .spec file; perhaps this will be useful to somebody...
Update to 2.2.93
Make 'scanopen' static so GCC doesn't whine about lacking prototype
Add WARN_CFLAGS to pass -W flags for GCC systems
Change various char types around to match across function calls. Fixed bug
    in using available_sizes[i].height which is in pixels, not 64ths of a
    pixel.

13 files changed:
ChangeLog
INSTALL
README
configure.in
fc-glyphname/Makefile.am
fc-lang/Makefile.am
fc-lang/fc-lang.c
fc-list/Makefile.am
fc-match/Makefile.am
fontconfig.spec.in
fontconfig/fontconfig.h
src/Makefile.am
src/fcfreetype.c

index 0462630b47b1fb59c187298d05ed437c2f03387d..311e4d6acd386347b1c4d38a5cc042a36ee3001d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,33 @@
+2004-04-14  Keith Packard  <keithp@keithp.com>
+
+       * INSTALL:
+       Add instructions for doing a release
+       
+       * fontconfig.spec.in:
+       clean up .spec file; perhaps this will be useful to somebody...
+
+       * README:
+       * configure.in:
+       * fontconfig/fontconfig.h:
+       Update to 2.2.93
+       
+       * fc-lang/fc-lang.c:
+       Make 'scanopen' static so GCC doesn't whine about lacking prototype
+       
+       * fc-glyphname/Makefile.am:
+       * fc-lang/Makefile.am:
+       * fc-list/Makefile.am:
+       * fc-match/Makefile.am:
+       * src/Makefile.am:
+       Add WARN_CFLAGS to pass -W flags for GCC systems
+       
+       * src/fcfreetype.c: (FcNoticeFoundry), (FcVendorMatch),
+       (FcVendorFoundry), (FcGetPixelSize), (FcFreeTypeQuery):
+       Change various char types around to match across
+       function calls.
+       Fixed bug in using available_sizes[i].height which 
+       is in pixels, not 64ths of a pixel.
+
 2004-03-06  Keith Packard  <keithp@keithp.com>
 
        * src/fcfreetype.c: (FcFreeTypeQuery):
diff --git a/INSTALL b/INSTALL
index 86cf4f949c0488ce0f7e1383f04f8ef136c3af2d..dcd6b3f135a353581c61622afd34e4670a302874 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -7,3 +7,16 @@ This should generate valid Makefiles, then:
        $ make
        $ make install
 
+If you're going to package fontconfig for release, there are several
+important steps:
+
+ 1.    Update the version numbers
+               configure.in
+               fontconfig/fontconfig.h
+ 2.    Fix the README
+               Change version number
+               Set the date
+ 3.    Commit those changes
+ 4.    tag the tree
+               cvs tag fc-2_2_xx
+ 5.    make dist
diff --git a/README b/README
index 5fceba88ceaceb6ffc13579c0ea9e067e40dfc96..381eee7c5a5c25e643f3b84f175946595b809437 100644 (file)
--- a/README
+++ b/README
@@ -1,7 +1,30 @@
                        Fontconfig
        Font configuration and customization library
-                     Version 2.2
-                       2003-3-1
+                     Version 2.2.92
+                       2004-2-19
+
+2.2.93
+
+This is the third prerelease of fontconfig 2.3.  Significant changes from
+2.2.92 are:
+
+ o     Use new FreeType #include syntax
+ o     use y_ppem field instead of 'height' in bitmap sizes rec -
+       FreeType changed the semantics.  Still uses height for
+       older versions of FreeType
+ o     Don't construct program manuals unless docbook is available
+
+2.2.92
+
+ o     make distcheck work
+
+2.2.91
+
+ o     Switch to SGML manuals
+ o     Add FC_DUAL width spacing value
+ o     Add FcFini to close out fontconfig and release all memory
+2.2
 
 This is the third public release of fontconfig, a font configuration and
 customization library.  Fontconfig is designed to locate fonts within the
index 100d7b9ea44a8c9d05485e559c9dece777abcc60..910ac28c85ebe86dd7892251f49f7c155bca5607 100644 (file)
@@ -33,7 +33,8 @@ dnl This is the package version number, not the shared library
 dnl version.  This same version number must appear in fontconfig/fontconfig.h
 dnl Yes, it is a pain to synchronize version numbers.  Unfortunately, it's
 dnl not possible to extract the version number here from fontconfig.h
-AM_INIT_AUTOMAKE(fontconfig, 2.2.92)
+AM_INIT_AUTOMAKE(fontconfig, 2.2.93)
+AM_MAINTAINER_MODE
 
 dnl libtool versioning
 
@@ -76,6 +77,15 @@ if test "$os_win32" = "yes"; then
 fi
 AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes)
 
+WARN_CFLAGS=""
+
+if test "x$GCC" = "xyes"; then
+       WARN_CFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes \
+       -Wmissing-prototypes -Wmissing-declarations \
+       -Wnested-externs -fno-strict-aliasing"
+fi
+AC_SUBST(WARN_CFLAGS)
+
 dnl ==========================================================================
 
 # Checks for header files.
@@ -132,6 +142,8 @@ AC_CHECK_MEMBER(FT_Bitmap_Size.y_ppem,
 #include FT_FREETYPE_H])
 AC_DEFINE_UNQUOTED(HAVE_FT_BITMAP_SIZE_Y_PPEM,$HAVE_FT_BITMAP_SIZE_Y_PPEM,
                   [FT_Bitmap_Size structure includes y_ppem field])
+CFLAGS="$fontconfig_save_cflags"
+LIBS="$fontconfig_save_libs"
 
 #
 # Check expat configuration
index d741f4e72ecae7ff1fa0e642f43518ca8cd5b36b..25dbdff0a934e769f215e5064c37c52845e78381 100644 (file)
@@ -22,7 +22,7 @@
 # PERFORMANCE OF THIS SOFTWARE.
 #
 
-INCLUDES=-I${top_srcdir}/src -I${top_srcdir} $(FREETYPE_CFLAGS)
+INCLUDES=-I${top_srcdir}/src -I${top_srcdir} $(FREETYPE_CFLAGS) $(WARN_CFLAGS)
 
 TMPL=fcglyphname.tmpl.h
 STMPL=${top_srcdir}/fc-glyphname/${TMPL}
index 35445458651977756de6916346f685a63359ffa4..d97e52ea0f829744b07d4f2eaf699fa56674b27c 100644 (file)
@@ -22,7 +22,7 @@
 # PERFORMANCE OF THIS SOFTWARE.
 #
 
-INCLUDES=-I${top_srcdir}/src -I${top_srcdir} $(FREETYPE_CFLAGS)
+INCLUDES=-I${top_srcdir}/src -I${top_srcdir} $(FREETYPE_CFLAGS) $(WARN_CFLAGS)
 
 TMPL=fclang.tmpl.h
 STMPL=${top_srcdir}/fc-lang/fclang.tmpl.h
index edfad3bfe2fd859ba80ec7e16b7c72ec5e5d1cb7..31d708bc6b933c40909077d886c121c87a7f1d10 100644 (file)
@@ -77,7 +77,7 @@ get_line (FILE *f, char *line, int *lineno)
 
 char   *dir = 0;
 
-FILE *
+static FILE *
 scanopen (char *file)
 {
     FILE    *f;
index 427ab1883b5d2576905ee63e0e0ece16028462cb..1a50948fb31cd6fa6ff8e57edeeffe3de0c79c19 100644 (file)
@@ -29,7 +29,7 @@ SGML = ${FC_LIST_SRC}/fc-list.sgml
 
 bin_PROGRAMS=fc-list
 
-INCLUDES=-I${top_srcdir} $(FREETYPE_CFLAGS)
+INCLUDES=-I${top_srcdir} $(FREETYPE_CFLAGS) $(WARN_CFLAGS)
 
 EXTRA_DIST=$(SGML)
 
index 80629fc2f4626edb9f44b6cc8eef8b65d0be5dcf..7a32e348b67b1cefb31ecfa454e5090a7a2001b1 100644 (file)
@@ -25,7 +25,7 @@ bin_PROGRAMS=fc-match
 
 man_MANS=fc-match.1
 
-INCLUDES=-I${top_srcdir} $(FREETYPE_CFLAGS)
+INCLUDES=-I${top_srcdir} $(FREETYPE_CFLAGS) $(WARN_CFLAGS)
 
 EXTRA_DIST=$(man_MANS)
 
index 47e80aa58cbfe28b14870895a8a4d0867e3a4ca7..90373527c8f199d9dcf14087f5288b84f412082f 100644 (file)
@@ -38,22 +38,31 @@ header files, and developer docs for the fontconfig package.
 Install fontconfig-devel if you want to develop programs which 
 will use fontconfig.
 
+# Some rpm specific directories. Prefix 'my' hopefully does not collide with anything.
+%define my_docdir         %{_datadir}/doc/%{name}-%{version}
+%define my_develdocdir    %{_datadir}/doc/%{name}-devel-%{version}
+%define my_tmpdocdir      $RPM_BUILD_ROOT%{my_docdir}
+%define my_tmpdeveldocdir $RPM_BUILD_ROOT%{my_develdocdir}
+
 %prep
 %setup -q
 
 %build
-%configure --with-x-fonts=/usr/X11R6/lib/X11/fonts --disable-gtk-doc --disable-docs
+%configure --with-x-fonts=/usr/X11R6/lib/X11/fonts --disable-gtk-doc \
+       --with-docdir=%{my_docdir}
 make %{_smp_mflags}
 
 %install
 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
 {
-  %makeinstall
-  # fontconfig is currently installing these in improper location for RPM
-  # based Linux distributions, so we remove what it installs here, and let
-  # RPM pick up the same files with 'doc' directives in the file lists as
-  # a workaround
-  rm -rf $RPM_BUILD_ROOT/%{_datadir}/doc/fontconfig
+  %makeinstall docdir=%{my_tmpdocdir} 
+
+  # The make does not distinguish the base and devel packages
+  mkdir -p %{my_tmpdeveldocdir}
+  mv -f %{my_tmpdocdir}/*devel* %{my_tmpdeveldocdir}
+
+  # Use a more informative directory name:
+  mv -f %{my_tmpdeveldocdir}/fontconfig-devel %{my_tmpdeveldocdir}/html
 }
 
 %clean
@@ -70,20 +79,23 @@ make %{_smp_mflags}
 
 %files
 %defattr(-, root, root)
-%doc README AUTHORS COPYING ChangeLog doc/fontconfig-*.{html,txt}
+%doc README AUTHORS COPYING ChangeLog doc/fontconfig-user.{html,txt}
+%{my_docdir}/*
 %dir %{_sysconfdir}/fonts
 %{_sysconfdir}/fonts/fonts.conf
 %{_sysconfdir}/fonts/fonts.dtd
 %config %{_sysconfdir}/fonts/local.conf
 %{_bindir}/fc-*
 %{_libdir}/libfontconfig*.so.*
+%{_mandir}/man1/*
 %{_mandir}/man5/*
 
 %files devel
 %defattr(-, root, root)
-%doc doc/fontconfig-devel.txt doc/fontconfig-devel/*
+#%doc doc/fontconfig-devel.txt doc/fontconfig-devel/*
+%{my_develdocdir}
 %dir %{_includedir}/fontconfig
-%{_includedir}/fontconfig
+%{_includedir}/fontconfig/*
 %{_libdir}/*.a
 %{_libdir}/*.la
 %{_libdir}/libfontconfig.so
@@ -91,6 +103,16 @@ make %{_smp_mflags}
 %{_mandir}/man3/*
 
 %changelog
+* Wed Mar 20 2004 Enrique Perez-Terron <enrio@online.no>
+- Added mandir /man1/* to main file list
+- Added missing '/*' after includedir/fontconfig to avoid "listed twice" error.
+- Removed configure option --disable-docs since its problem is solved, see below.
+- Added option to makeinstall to have it install docs in the proper directory.
+  Notice though that the %doc macro deletes and recreates the docs directory.
+- Cleaner separation of devel docs.
+- Renamed doc/fontconfig-devel-*/fontconfig-devel subdirectory to 'html'.
+- Removed %doc macro from devel filelist, since it deletes installed files.
+
 * Fri Mar  7 2003 Mike A. Harris <mharris@redhat.com> 2.1.92-1
 - Removed man1/* and added man5/* to main package and man3/* to devel package
 - Added missing defattr(-, root, root) to main package
index 8894219fd0778fdeba1bacd577db1d5a81b42007..75c16d3dd3d22f5df36c56b9a5d674d357f5c5cd 100644 (file)
@@ -40,7 +40,7 @@ typedef int           FcBool;
 
 #define FC_MAJOR       2
 #define FC_MINOR       2
-#define FC_REVISION    92
+#define FC_REVISION    93
 
 #define FC_VERSION     ((FC_MAJOR * 10000) + (FC_MINOR * 100) + (FC_REVISION))
 
index 7890e962066cc5b3d6395780007b67a2cef24696..0e42b2466dadbdf34cc2cf3116d35c66dde9a5ee 100644 (file)
@@ -44,6 +44,7 @@ endif
 INCLUDES =                                             \
        $(FREETYPE_CFLAGS)                              \
        $(EXPAT_CFLAGS)                                 \
+       $(WARN_CFLAGS)                                  \
        -DFONTCONFIG_PATH='"$(CONFDIR)"'                \
        -I$(top_srcdir)                                 \
        -I$(top_srcdir)/src
index 6248595a2a0aa6f287503401acd4433803d3a169..816f08ab190f1ca8c5d84fc919ec6ede8a9951f1 100644 (file)
@@ -158,31 +158,34 @@ FcUtf8IsLatin (FcChar8 *str, int len)
    URW++, and both strings appear in the notice. */
 
 static const struct {
-    const FcChar8   *notice;
+    const FT_String *notice;
     const FcChar8   *foundry;
 } FcNoticeFoundries[] = {
-    { (const FcChar8*) "Bigelow",      (const FcChar8 *) "b&h" },
-    { (const FcChar8*) "Adobe",                (const FcChar8 *) "adobe" },
-    { (const FcChar8*) "Bitstream",    (const FcChar8 *) "bitstream" },
-    { (const FcChar8*) "Monotype",     (const FcChar8 *) "monotype" },
-    { (const FcChar8*) "Linotype",     (const FcChar8 *) "linotype" },
-    { (const FcChar8*) "LINOTYPE-HELL", (const FcChar8 *) "linotype" },
-    { (const FcChar8*) "IBM",          (const FcChar8 *) "ibm" },
-    { (const FcChar8*) "URW",          (const FcChar8 *) "urw" },
-    { (const FcChar8*) "International Typeface Corporation", 
+    { (const FT_String *) "Bigelow",   (const FcChar8 *) "b&h" },
+    { (const FT_String *) "Adobe",     (const FcChar8 *) "adobe" },
+    { (const FT_String *) "Bitstream", (const FcChar8 *) "bitstream" },
+    { (const FT_String *) "Monotype",  (const FcChar8 *) "monotype" },
+    { (const FT_String *) "Linotype",  (const FcChar8 *) "linotype" },
+    { (const FT_String *) "LINOTYPE-HELL",
+                                       (const FcChar8 *) "linotype" },
+    { (const FT_String *) "IBM",       (const FcChar8 *) "ibm" },
+    { (const FT_String *) "URW",       (const FcChar8 *) "urw" },
+    { (const FT_String *) "International Typeface Corporation", 
                                        (const FcChar8 *) "itc" },
-    { (const FcChar8*) "Tiro Typeworks",(const FcChar8 *) "tiro" },
-    { (const FcChar8*) "XFree86",      (const FcChar8 *) "xfree86" },
-    { (const FcChar8*) "Microsoft",    (const FcChar8 *) "microsoft" },
-    { (const FcChar8*) "Omega",                (const FcChar8 *) "omega" },
-    { (const FcChar8*) "Font21",       (const FcChar8 *) "hwan" },
-    { (const FcChar8*) "HanYang System",(const FcChar8 *) "hanyang" }
+    { (const FT_String *) "Tiro Typeworks",
+                                       (const FcChar8 *) "tiro" },
+    { (const FT_String *) "XFree86",   (const FcChar8 *) "xfree86" },
+    { (const FT_String *) "Microsoft", (const FcChar8 *) "microsoft" },
+    { (const FT_String *) "Omega",     (const FcChar8 *) "omega" },
+    { (const FT_String *) "Font21",    (const FcChar8 *) "hwan" },
+    { (const FT_String *) "HanYang System",
+                                       (const FcChar8 *) "hanyang" }
 };
 
 #define NUM_NOTICE_FOUNDRIES   (sizeof (FcNoticeFoundries) / sizeof (FcNoticeFoundries[0]))
 
 static const FcChar8 *
-FcNoticeFoundry(const char *notice)
+FcNoticeFoundry(const FT_String *notice)
 {
     int i;
 
@@ -194,7 +197,7 @@ FcNoticeFoundry(const char *notice)
 }
 
 static FcBool
-FcVendorMatch(const char *vendor, const char *vendor_string)
+FcVendorMatch(const FT_Char vendor[4], const FT_Char *vendor_string)
 {
     /* vendor is not necessarily NUL-terminated. */
     int i, len;
@@ -214,44 +217,44 @@ FcVendorMatch(const char *vendor, const char *vendor_string)
    entries for padding both with spaces and NULs. */
 
 static const struct {
-    const FcChar8   *vendor;
+    const FT_Char   *vendor;
     const FcChar8   *foundry;
 } FcVendorFoundries[] = {
-    { (const FcChar8*) "ADBE", (const FcChar8 *) "adobe"},
-    { (const FcChar8*) "AGFA", (const FcChar8 *) "agfa"},
-    { (const FcChar8*) "ALTS", (const FcChar8 *) "altsys"},
-    { (const FcChar8*) "APPL", (const FcChar8 *) "apple"},
-    { (const FcChar8*) "ARPH", (const FcChar8 *) "arphic"},
-    { (const FcChar8*) "ATEC", (const FcChar8 *) "alltype"},
-    { (const FcChar8*) "B&H",  (const FcChar8 *) "b&h"},
-    { (const FcChar8*) "BITS", (const FcChar8 *) "bitstream"},
-    { (const FcChar8*) "CANO", (const FcChar8 *) "cannon"},
-    { (const FcChar8*) "DYNA", (const FcChar8 *) "dynalab"},
-    { (const FcChar8*) "EPSN", (const FcChar8 *) "epson"},
-    { (const FcChar8*) "FJ",   (const FcChar8 *) "fujitsu"},
-    { (const FcChar8*) "IBM",  (const FcChar8 *) "ibm"},
-    { (const FcChar8*) "ITC",  (const FcChar8 *) "itc"},
-    { (const FcChar8*) "IMPR", (const FcChar8 *) "impress"},
-    { (const FcChar8*) "LARA", (const FcChar8 *) "larabiefonts"},
-    { (const FcChar8*) "LEAF", (const FcChar8 *) "interleaf"},
-    { (const FcChar8*) "LETR", (const FcChar8 *) "letraset"},
-    { (const FcChar8*) "LINO", (const FcChar8 *) "linotype"},
-    { (const FcChar8*) "MACR", (const FcChar8 *) "macromedia"},
-    { (const FcChar8*) "MONO", (const FcChar8 *) "monotype"},
-    { (const FcChar8*) "MS",   (const FcChar8 *) "microsoft"},
-    { (const FcChar8*) "MT",   (const FcChar8 *) "monotype"},
-    { (const FcChar8*) "NEC",  (const FcChar8 *) "nec"},
-    { (const FcChar8*) "PARA", (const FcChar8 *) "paratype"},
-    { (const FcChar8*) "QMSI", (const FcChar8 *) "qms"},
-    { (const FcChar8*) "RICO", (const FcChar8 *) "ricoh"},
-    { (const FcChar8*) "URW",  (const FcChar8 *) "urw"},
-    { (const FcChar8*) "Y&Y",  (const FcChar8 *) "y&y"}
+    { (const FT_Char *) "ADBE", (const FcChar8 *) "adobe"},
+    { (const FT_Char *) "AGFA", (const FcChar8 *) "agfa"},
+    { (const FT_Char *) "ALTS", (const FcChar8 *) "altsys"},
+    { (const FT_Char *) "APPL", (const FcChar8 *) "apple"},
+    { (const FT_Char *) "ARPH", (const FcChar8 *) "arphic"},
+    { (const FT_Char *) "ATEC", (const FcChar8 *) "alltype"},
+    { (const FT_Char *) "B&H",  (const FcChar8 *) "b&h"},
+    { (const FT_Char *) "BITS", (const FcChar8 *) "bitstream"},
+    { (const FT_Char *) "CANO", (const FcChar8 *) "cannon"},
+    { (const FT_Char *) "DYNA", (const FcChar8 *) "dynalab"},
+    { (const FT_Char *) "EPSN", (const FcChar8 *) "epson"},
+    { (const FT_Char *) "FJ",   (const FcChar8 *) "fujitsu"},
+    { (const FT_Char *) "IBM",  (const FcChar8 *) "ibm"},
+    { (const FT_Char *) "ITC",  (const FcChar8 *) "itc"},
+    { (const FT_Char *) "IMPR", (const FcChar8 *) "impress"},
+    { (const FT_Char *) "LARA", (const FcChar8 *) "larabiefonts"},
+    { (const FT_Char *) "LEAF", (const FcChar8 *) "interleaf"},
+    { (const FT_Char *) "LETR", (const FcChar8 *) "letraset"},
+    { (const FT_Char *) "LINO", (const FcChar8 *) "linotype"},
+    { (const FT_Char *) "MACR", (const FcChar8 *) "macromedia"},
+    { (const FT_Char *) "MONO", (const FcChar8 *) "monotype"},
+    { (const FT_Char *) "MS",   (const FcChar8 *) "microsoft"},
+    { (const FT_Char *) "MT",   (const FcChar8 *) "monotype"},
+    { (const FT_Char *) "NEC",  (const FcChar8 *) "nec"},
+    { (const FT_Char *) "PARA", (const FcChar8 *) "paratype"},
+    { (const FT_Char *) "QMSI", (const FcChar8 *) "qms"},
+    { (const FT_Char *) "RICO", (const FcChar8 *) "ricoh"},
+    { (const FT_Char *) "URW",  (const FcChar8 *) "urw"},
+    { (const FT_Char *) "Y&Y",  (const FcChar8 *) "y&y"}
 };
 
 #define NUM_VENDOR_FOUNDRIES   (sizeof (FcVendorFoundries) / sizeof (FcVendorFoundries[0]))
 
 static const FcChar8 *
-FcVendorFoundry(const char *vendor)
+FcVendorFoundry(const FT_Char vendor[4])
 {
     int i;
     
@@ -263,8 +266,8 @@ FcVendorFoundry(const char *vendor)
 }
 
 typedef struct _FcStringConst {
-    const char *name;
-    int                value;
+    const FcChar8   *name;
+    int                    value;
 } FcStringConst;
 
 static int
@@ -361,7 +364,7 @@ FcGetPixelSize (FT_Face face, int i)
 #if HAVE_FT_BITMAP_SIZE_Y_PPEM
     return (double) face->available_sizes[i].y_ppem / 64.0;
 #else
-    return (double) face->available_sizes[i].height / 64.0;
+    return (double) face->available_sizes[i].height;
 #endif
 }
 
@@ -670,7 +673,7 @@ FcFreeTypeQuery (const FcChar8      *file,
         case TT_NAME_ID_MANUFACTURER:
            /* If the foundry wasn't found in the OS/2 table, look here */
             if(!foundry)
-                foundry = FcNoticeFoundry(utf8);
+                foundry = FcNoticeFoundry((FT_String *) utf8);
             break;
        }
        if (utf8)