[xorg-commit-diffs] xc/extras/freetype2/src/bdf bdf.h, 1.1, 1.1.4.1 bdfdrivr.c, 1.1.4.2, 1.1.4.3 bdfdrivr.h, 1.1, 1.1.4.1 bdflib.c, 1.1.4.2, 1.1.4.3 rules.mk, 1.1, 1.1.4.1

Egbert Eich xorg-commit at pdx.freedesktop.org
Thu Apr 15 03:14:36 PDT 2004


Committed by: eich

Update of /cvs/xorg/xc/extras/freetype2/src/bdf
In directory pdx:/home/eich/tstbuild/xc/extras/freetype2/src/bdf

Modified Files:
      Tag: XORG-CURRENT
	bdf.h bdfdrivr.c bdfdrivr.h bdflib.c rules.mk 
Log Message:
2004-04-15  Egbert Eich  <eich at freedesktop.org>
        Merged changes from RELEASE-1 branch
	


Index: bdf.h
===================================================================
RCS file: /cvs/xorg/xc/extras/freetype2/src/bdf/bdf.h,v
retrieving revision 1.1
retrieving revision 1.1.4.1
diff -u -d -r1.1 -r1.1.4.1
--- a/bdf.h	14 Nov 2003 16:48:24 -0000	1.1
+++ b/bdf.h	15 Apr 2004 10:14:33 -0000	1.1.4.1
@@ -1,6 +1,6 @@
 /*
  * Copyright 2000 Computing Research Labs, New Mexico State University
- * Copyright 2001, 2002 Francesco Zappa Nardelli
+ * Copyright 2001, 2002, 2003 Francesco Zappa Nardelli
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the "Software"),
@@ -159,8 +159,8 @@
 
   typedef struct  _hashnode_
   {
-    char*  key;
-    void*  data;
+    const char*  key;
+    void*        data;
   
   } _hashnode, *hashnode;
 
@@ -283,7 +283,7 @@
 
   FT_LOCAL( bdf_property_t * )
   bdf_get_font_property( bdf_font_t*  font,
-                         char*        name );
+                         const char*  name );
 
 
 FT_END_HEADER

Index: bdfdrivr.c
===================================================================
RCS file: /cvs/xorg/xc/extras/freetype2/src/bdf/bdfdrivr.c,v
retrieving revision 1.1.4.2
retrieving revision 1.1.4.3
diff -u -d -r1.1.4.2 -r1.1.4.3
--- a/bdfdrivr.c	5 Mar 2004 13:38:42 -0000	1.1.4.2
+++ b/bdfdrivr.c	15 Apr 2004 10:14:33 -0000	1.1.4.3
@@ -2,7 +2,7 @@
 
     FreeType font driver for bdf files
 
-    Copyright (C) 2001-2002 by
+    Copyright (C) 2001, 2002, 2003 by
     Francesco Zappa Nardelli
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -23,7 +23,6 @@
 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 THE SOFTWARE.
 */
-/* $XFree86$ */
 
 #include <ft2build.h>
 
@@ -32,6 +31,9 @@
 #include FT_INTERNAL_OBJECTS_H
 #include FT_BDF_H
 
+#include FT_SERVICE_BDF_H
+#include FT_SERVICE_XFREE86_NAME_H
+
 #include "bdf.h"
 #include "bdfdrivr.h"
 
@@ -66,7 +68,7 @@
     cmap->num_encodings = face->bdffont->glyphs_used;
     cmap->encodings     = face->en_table;
 
-    return FT_Err_Ok;
+    return BDF_Err_Ok;
   }
 
 
@@ -170,8 +172,6 @@
   };
 
 
-
-
   FT_CALLBACK_DEF( FT_Error )
   BDF_Face_Done( BDF_Face  face )
   {
@@ -251,34 +251,39 @@
                          FT_FACE_FLAG_HORIZONTAL  |
                          FT_FACE_FLAG_FAST_GLYPHS;
 
-      prop = bdf_get_font_property( font, (char *)"SPACING" );
+      prop = bdf_get_font_property( font, "SPACING" );
       if ( prop != NULL )
         if ( prop->format == BDF_ATOM )
           if ( prop->value.atom != NULL )
             if ( ( *(prop->value.atom) == 'M' ) ||
-                 ( *(prop->value.atom) == 'C' ) )
+                 ( *(prop->value.atom) == 'm' ) ||
+                 ( *(prop->value.atom) == 'C' ) ||
+                 ( *(prop->value.atom) == 'c' ) )
               root->face_flags |= FT_FACE_FLAG_FIXED_WIDTH;
 
       /* FZ XXX: TO DO: FT_FACE_FLAGS_VERTICAL   */
       /* FZ XXX: I need a font to implement this */
 
       root->style_flags = 0;
-      prop = bdf_get_font_property( font, (char *)"SLANT" );
+      prop = bdf_get_font_property( font, "SLANT" );
       if ( prop != NULL )
         if ( prop->format == BDF_ATOM )
           if ( prop->value.atom != NULL )
             if ( ( *(prop->value.atom) == 'O' ) ||
-                 ( *(prop->value.atom) == 'I' ) )
+                 ( *(prop->value.atom) == 'o' ) ||
+                 ( *(prop->value.atom) == 'I' ) ||
+                 ( *(prop->value.atom) == 'i' ) )
               root->style_flags |= FT_STYLE_FLAG_ITALIC;
 
-      prop = bdf_get_font_property( font, (char *)"WEIGHT_NAME" );
+      prop = bdf_get_font_property( font, "WEIGHT_NAME" );
       if ( prop != NULL )
         if ( prop->format == BDF_ATOM )
           if ( prop->value.atom != NULL )
-            if ( *(prop->value.atom) == 'B' )
+            if ( ( *(prop->value.atom) == 'B' ) ||
+                 ( *(prop->value.atom) == 'b' ) )
               root->style_flags |= FT_STYLE_FLAG_BOLD;
 
-      prop = bdf_get_font_property( font, (char *)"FAMILY_NAME" );
+      prop = bdf_get_font_property( font, "FAMILY_NAME" );
       if ( ( prop != NULL ) && ( prop->value.atom != NULL ) )
       {
         int  l = ft_strlen( prop->value.atom ) + 1;
@@ -308,45 +313,46 @@
       if ( FT_NEW_ARRAY( root->available_sizes, 1 ) )
         goto Exit;
 
-      prop = bdf_get_font_property( font, (char *)"AVERAGE_WIDTH" );
-      if ( ( prop != NULL ) && ( prop->value.int32 >= 10 ) )
-        root->available_sizes->width = (short)( prop->value.int32 / 10 );
-
-      prop = bdf_get_font_property( font, (char *)"PIXEL_SIZE" );
-      if ( prop != NULL )
-        root->available_sizes->height = (short) prop->value.int32;
-      else
       {
-        prop = bdf_get_font_property( font, (char *)"POINT_SIZE" );
+        FT_Bitmap_Size*  bsize = root->available_sizes;
+
+
+        FT_MEM_ZERO( bsize, sizeof ( FT_Bitmap_Size ) );
+
+        prop = bdf_get_font_property( font, "PIXEL_SIZE" );
         if ( prop != NULL )
-        {
-          bdf_property_t  *yres;
+          bsize->height = (FT_Short)prop->value.int32;
 
+        prop = bdf_get_font_property( font, "AVERAGE_WIDTH" );
+        if ( prop != NULL )
+          bsize->width = (FT_Short)( ( prop->value.int32 + 5 ) / 10 );
 
-          yres = bdf_get_font_property( font, (char *)"RESOLUTION_Y" );
-          if ( yres != NULL )
-          {
-            FT_TRACE4(( "POINT_SIZE: %d  RESOLUTION_Y: %d\n",
-                        prop->value.int32, yres->value.int32 ));
-            root->available_sizes->height =
-              (FT_Short)( prop->value.int32 * yres->value.int32 / 720 );
-          }
-        }
-      }
+        prop = bdf_get_font_property( font, "POINT_SIZE" );
+        if ( prop != NULL )
+          /* convert from 722.7 decipoints to 72 points per inch */
+          bsize->size =
+            (FT_Pos)( ( prop->value.int32 * 64 * 7200 + 36135L ) / 72270L );
 
-      if ( root->available_sizes->width == 0 )
-      {
-        if ( root->available_sizes->height == 0 )
+        prop = bdf_get_font_property( font, "RESOLUTION_X" );
+        if ( prop != NULL )
+          bsize->x_ppem =
+            (FT_Pos)( ( prop->value.int32 * bsize->size + 36 ) / 72 );
+
+        prop = bdf_get_font_property( font, "RESOLUTION_Y" );
+        if ( prop != NULL )
+          bsize->y_ppem =
+            (FT_Pos)( ( prop->value.int32 * bsize->size + 36 ) / 72 );
+
+        if ( bsize->height == 0 )
+          bsize->height = (FT_Short)( ( bsize->y_ppem + 32 ) / 64 );
+
+        if ( bsize->height == 0 )
         {
-          /* some fonts have broken SIZE declaration (jiskan24.bdf) */
+          /* some fonts have a broken SIZE declaration (jiskan24.bdf) */
           FT_ERROR(( "BDF_Face_Init: reading size\n" ));
-          root->available_sizes->width = (FT_Short)font->point_size;
+          bsize->height = (FT_Short)font->point_size;
         }
-        else
-          root->available_sizes->width = root->available_sizes->height;
       }
-      if ( root->available_sizes->height == 0 )
-          root->available_sizes->height = root->available_sizes->width;
 
       /* encoding table */
       {
@@ -372,9 +378,9 @@
 
 
         charset_registry =
-          bdf_get_font_property( font, (char *)"CHARSET_REGISTRY" );
+          bdf_get_font_property( font, "CHARSET_REGISTRY" );
         charset_encoding =
-          bdf_get_font_property( font, (char *)"CHARSET_ENCODING" );
+          bdf_get_font_property( font, "CHARSET_ENCODING" );
         if ( ( charset_registry != NULL ) && ( charset_encoding != NULL ) )
         {
           if ( ( charset_registry->format == BDF_ATOM ) &&
@@ -382,18 +388,32 @@
                ( charset_registry->value.atom != NULL ) &&
                ( charset_encoding->value.atom != NULL ) )
           {
+            const char*  s;
+
+
             if ( FT_NEW_ARRAY( face->charset_encoding,
-                               ft_strlen( charset_encoding->value.atom ) + 1 ) )
+                               strlen( charset_encoding->value.atom ) + 1 ) )
               goto Exit;
             if ( FT_NEW_ARRAY( face->charset_registry,
-                               ft_strlen( charset_registry->value.atom ) + 1 ) )
+                               strlen( charset_registry->value.atom ) + 1 ) )
               goto Exit;
+
             ft_strcpy( face->charset_registry, charset_registry->value.atom );
             ft_strcpy( face->charset_encoding, charset_encoding->value.atom );
-            if ( !ft_strcmp( face->charset_registry, "ISO10646" )     ||
-                 ( !ft_strcmp( face->charset_registry, "ISO8859" ) &&
-                   !ft_strcmp( face->charset_encoding, "1" )       )  )
+
+            /* Uh, oh, compare first letters manually to avoid dependency
+               on locales. */
+            s = face->charset_registry;
+            if ( ( s[0] == 'i' || s[0] == 'I' ) &&
+                 ( s[1] == 's' || s[1] == 'S' ) &&
+                 ( s[2] == 'o' || s[2] == 'O' ) )
+            {
+              s += 3;
+              if ( !ft_strcmp( s, "10646" )                      ||
+                   ( !ft_strcmp( s, "8859" ) &&
+                     !ft_strcmp( face->charset_encoding, "1" ) ) )
               unicode_charmap = 1;
+            }
 
             {
               FT_CharMapRec  charmap;
@@ -465,9 +485,10 @@
 
     if ( size->metrics.y_ppem == root->available_sizes->height )
     {
-      size->metrics.ascender  = face->bdffont->bbx.ascent << 6;
-      size->metrics.descender = face->bdffont->bbx.descent * ( -64 );
-      size->metrics.height    = face->bdffont->bbx.height << 6;
+      size->metrics.ascender    = face->bdffont->bbx.ascent << 6;
+      size->metrics.descender   = face->bdffont->bbx.descent * ( -64 );
+      size->metrics.height      = face->bdffont->bbx.height << 6;
+      size->metrics.max_advance = face->bdffont->bbx.width << 6;
 
       return BDF_Err_Ok;
     }
@@ -631,6 +652,12 @@
   }
 
 
+ /*
+  *
+  *  BDF SERVICE
+  *
+  */
+  
   static FT_Error
   bdf_get_bdf_property( BDF_Face          face,
                         const char*       prop_name,
@@ -638,37 +665,71 @@
   {
     bdf_property_t*  prop;
 
+
     FT_ASSERT( face && face->bdffont );
 
-    prop = bdf_get_font_property( face->bdffont, (char*)prop_name );
+    prop = bdf_get_font_property( face->bdffont, prop_name );
     if ( prop != NULL )
     {
       switch ( prop->format )
       {
-        case BDF_ATOM:
-          aproperty->type   = BDF_PROPERTY_TYPE_ATOM;
-          aproperty->u.atom = prop->value.atom;
-          break;
+      case BDF_ATOM:
+        aproperty->type   = BDF_PROPERTY_TYPE_ATOM;
+        aproperty->u.atom = prop->value.atom;
+        break;
 
-        case BDF_INTEGER:
-          aproperty->type      = BDF_PROPERTY_TYPE_INTEGER;
-          aproperty->u.integer = prop->value.int32;
-          break;
+      case BDF_INTEGER:
+        aproperty->type      = BDF_PROPERTY_TYPE_INTEGER;
+        aproperty->u.integer = prop->value.int32;
+        break;
 
-        case BDF_CARDINAL:
-          aproperty->type       = BDF_PROPERTY_TYPE_CARDINAL;
-          aproperty->u.cardinal = prop->value.card32;
-          break;
+      case BDF_CARDINAL:
+        aproperty->type       = BDF_PROPERTY_TYPE_CARDINAL;
+        aproperty->u.cardinal = prop->value.card32;
+        break;
 
-        default:
-          goto Fail;
+      default:
+        goto Fail;
       }
       return 0;
     }
+
   Fail:
-    return FT_Err_Invalid_Argument;
+    return BDF_Err_Invalid_Argument;
   }
 
+  static FT_Error
+  bdf_get_charset_id( BDF_Face      face,
+                      const char*  *acharset_encoding,
+                      const char*  *acharset_registry )
+  {
+    *acharset_encoding = face->charset_encoding;
+    *acharset_registry = face->charset_registry;
+    
+    return 0;
+  }                      
+
+
+  static const FT_Service_BDFRec  bdf_service_bdf =
+  {
+    (FT_BDF_GetCharsetIdFunc)bdf_get_charset_id,
+    (FT_BDF_GetPropertyFunc) bdf_get_bdf_property
+  };
+
+
+ /*
+  *
+  *  SERVICES LIST
+  *
+  */
+  
+  static const FT_ServiceDescRec  bdf_services[] =
+  {
+    { FT_SERVICE_ID_BDF,       &bdf_service_bdf },
+    { FT_SERVICE_ID_XF86_NAME, FT_XF86_FORMAT_BDF },
+    { NULL, NULL }
+  };
+
 
   static FT_Module_Interface
   bdf_driver_requester( FT_Module    module,
@@ -676,18 +737,17 @@
   {
     FT_UNUSED( module );
 
-    if ( name && ft_strcmp( name, "get_bdf_property" ) == 0 )
-      return (FT_Module_Interface) bdf_get_bdf_property;
-
-    return NULL;
+    return ft_service_list_lookup( bdf_services, name );
   }
 
 
+
   FT_CALLBACK_TABLE_DEF
   const FT_Driver_ClassRec  bdf_driver_class =
   {
     {
-      ft_module_font_driver,
+      FT_MODULE_FONT_DRIVER         |
+      FT_MODULE_DRIVER_NO_OUTLINES,
       sizeof ( FT_DriverRec ),
 
       "bdf",

Index: bdfdrivr.h
===================================================================
RCS file: /cvs/xorg/xc/extras/freetype2/src/bdf/bdfdrivr.h,v
retrieving revision 1.1
retrieving revision 1.1.4.1
diff -u -d -r1.1 -r1.1.4.1
--- a/bdfdrivr.h	14 Nov 2003 16:48:24 -0000	1.1
+++ b/bdfdrivr.h	15 Apr 2004 10:14:33 -0000	1.1.4.1
@@ -39,8 +39,8 @@
 
   typedef struct  BDF_encoding_el_
   {
-    FT_ULong  enc;
-    FT_Short  glyph;
+    FT_ULong   enc;
+    FT_UShort  glyph;
 
   } BDF_encoding_el;
 

Index: bdflib.c
===================================================================
RCS file: /cvs/xorg/xc/extras/freetype2/src/bdf/bdflib.c,v
retrieving revision 1.1.4.2
retrieving revision 1.1.4.3
diff -u -d -r1.1.4.2 -r1.1.4.3
--- a/bdflib.c	5 Mar 2004 13:38:42 -0000	1.1.4.2
+++ b/bdflib.c	15 Apr 2004 10:14:33 -0000	1.1.4.3
@@ -1,6 +1,6 @@
 /*
  * Copyright 2000 Computing Research Labs, New Mexico State University
- * Copyright 2001, 2002 Francesco Zappa Nardelli
+ * Copyright 2001, 2002, 2003 Francesco Zappa Nardelli
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the "Software"),
@@ -20,7 +20,6 @@
  * OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
  * THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
-/* $XFree86: xc/extras/freetype2/src/bdf/bdflib.c,v 1.2 2003/05/27 22:26:21 tsi Exp $ */
 
   /*************************************************************************/
   /*                                                                       */
@@ -164,7 +163,7 @@
     { (char *)"_MULE_RELATIVE_COMPOSE",  BDF_INTEGER,  1, { 0 } },
   };
 
-  static unsigned long
+  static const unsigned long
   _num_bdf_properties = sizeof ( _bdf_properties ) /
                         sizeof ( _bdf_properties[0] );
 
@@ -184,10 +183,10 @@
   (*hash_free_func)( hashnode  node );
 
   static hashnode*
-  hash_bucket( char*       key,
-               hashtable*  ht )
+  hash_bucket( const char*  key,
+               hashtable*   ht )
   {
-    char*          kp  = key;
+    const char*    kp  = key;
     unsigned long  res = 0;
     hashnode*      bp  = ht->table, *ndp;
 
@@ -318,7 +317,7 @@
 
 
   static hashnode
-  hash_lookup( char*       key,
+  hash_lookup( const char* key,
                hashtable*  ht )
   {
     hashnode *np = hash_bucket( key, ht );
@@ -392,7 +391,7 @@
 
   /* An empty string for empty fields. */
 
-  static char  empty[1] = { 0 };   /* XXX eliminate this */
+  static const char  empty[1] = { 0 };      /* XXX eliminate this */
 
 
   /* Assume the line is NULL-terminated and that the `list' parameter */
@@ -469,7 +468,7 @@
       }
 
       /* Assign the field appropriately. */
-      list->field[list->used++] = ( ep > sp ) ? sp : empty;
+      list->field[list->used++] = ( ep > sp ) ? sp : (char*)empty;
 
       sp = ep;
 
@@ -512,7 +511,7 @@
     }
 
     if ( final_empty )
-      list->field[list->used++] = empty;
+      list->field[list->used++] = (char*)empty;
 
     if ( list->used == list->size )
     {
@@ -697,7 +696,7 @@
           le -= n;
           n   = pe - pp;
 
-          FT_MEM_COPY( buf, pp, n );
+          FT_MEM_MOVE( buf, pp, n );
 
           pp     = buf + n;
           bytes  = 65536L - n;
@@ -1451,10 +1450,11 @@
     FT_Memory          memory;
     FT_Error           error = BDF_Err_Ok;
 
+    FT_UNUSED( call_data );
     FT_UNUSED( lineno );        /* only used in debug mode */
 
 
-    p    = (_bdf_parse_t *)    client_data;
+    p = (_bdf_parse_t *)client_data;
 
     font   = p->font;
     memory = font->memory;
@@ -1882,7 +1882,7 @@
       /*                                                                  */
       /* This is *always* done regardless of the options, because X11     */
       /* requires these two fields to compile fonts.                      */
-      if ( bdf_get_font_property( p->font, (char *)"FONT_ASCENT" ) == 0 )
+      if ( bdf_get_font_property( p->font, "FONT_ASCENT" ) == 0 )
       {
         p->font->font_ascent = p->font->bbx.ascent;
         ft_sprintf( nbuf, "%hd", p->font->bbx.ascent );
@@ -1894,7 +1894,7 @@
         p->font->modified = 1;
       }
 
-      if ( bdf_get_font_property( p->font, (char *)"FONT_DESCENT" ) == 0 )
+      if ( bdf_get_font_property( p->font, "FONT_DESCENT" ) == 0 )
       {
         p->font->font_descent = p->font->bbx.descent;
         ft_sprintf( nbuf, "%hd", p->font->bbx.descent );
@@ -2418,7 +2418,7 @@
 
   FT_LOCAL_DEF( bdf_property_t * )
   bdf_get_font_property( bdf_font_t*  font,
-                         char*        name )
+                         const char*  name )
   {
     hashnode  hn;
 

Index: rules.mk
===================================================================
RCS file: /cvs/xorg/xc/extras/freetype2/src/bdf/rules.mk,v
retrieving revision 1.1
retrieving revision 1.1.4.1
diff -u -d -r1.1 -r1.1.4.1
--- a/rules.mk	14 Nov 2003 16:48:24 -0000	1.1
+++ b/rules.mk	15 Apr 2004 10:14:33 -0000	1.1.4.1
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright (C) 2001, 2002 by
+# Copyright (C) 2001, 2002, 2003 by
 # Francesco Zappa Nardelli
 #
 # Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -29,46 +29,46 @@
 
 # bdf driver directory
 #
-BDF_DIR  := $(SRC_)bdf
-BDF_DIR_ := $(BDF_DIR)$(SEP)
+BDF_DIR  := $(SRC_DIR)/bdf
 
 
-BDF_COMPILE := $(FT_COMPILE) $I$(BDF_DIR)
+BDF_COMPILE := $(FT_COMPILE) $I$(subst /,$(COMPILER_SEP),$(BDF_DIR))
 
 
 # bdf driver sources (i.e., C files)
 #
-BDF_DRV_SRC := $(BDF_DIR_)bdflib.c $(BDF_DIR_)bdfdrivr.c
+BDF_DRV_SRC := $(BDF_DIR)/bdflib.c \
+               $(BDF_DIR)/bdfdrivr.c
 
 
 # bdf driver headers
 #
-BDF_DRV_H := $(BDF_DIR_)bdf.h \
-             $(BDF_DIR_)bdfdrivr.h
+BDF_DRV_H := $(BDF_DIR)/bdf.h \
+             $(BDF_DIR)/bdfdrivr.h
 
 # bdf driver object(s)
 #
 #   BDF_DRV_OBJ_M is used during `multi' builds
 #   BDF_DRV_OBJ_S is used during `single' builds
 #
-BDF_DRV_OBJ_M := $(BDF_DRV_SRC:$(BDF_DIR_)%.c=$(OBJ_)%.$O)
-BDF_DRV_OBJ_S := $(OBJ_)bdf.$O
+BDF_DRV_OBJ_M := $(BDF_DRV_SRC:$(BDF_DIR)/%.c=$(OBJ_DIR)/%.$O)
+BDF_DRV_OBJ_S := $(OBJ_DIR)/bdf.$O
 
 # bdf driver source file for single build
 #
-BDF_DRV_SRC_S := $(BDF_DIR_)bdf.c
+BDF_DRV_SRC_S := $(BDF_DIR)/bdf.c
 
 
 # bdf driver - single object
 #
 $(BDF_DRV_OBJ_S): $(BDF_DRV_SRC_S) $(BDF_DRV_SRC) $(FREETYPE_H) $(BDF_DRV_H)
-	$(BDF_COMPILE) $T$@ $(BDF_DRV_SRC_S)
+	$(BDF_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $(BDF_DRV_SRC_S))
 
 
 # bdf driver - multiple objects
 #
-$(OBJ_)%.$O: $(BDF_DIR_)%.c $(FREETYPE_H) $(BDF_DRV_H)
-	$(BDF_COMPILE) $T$@ $<
+$(OBJ_DIR)/%.$O: $(BDF_DIR)/%.c $(FREETYPE_H) $(BDF_DRV_H)
+	$(BDF_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<)
 
 
 # update main driver object lists
@@ -76,4 +76,5 @@
 DRV_OBJS_S += $(BDF_DRV_OBJ_S)
 DRV_OBJS_M += $(BDF_DRV_OBJ_M)
 
+
 # EOF




More information about the xorg-commit-diffs mailing list