shithub: freetype+ttf2subf

Download patch

ref: bbdee28f75e750aa9c95056e270daf5085c3d47b
parent: faedb01ec50485a0af01cc86c69018e1e301122e
author: Werner Lemberg <[email protected]>
date: Wed Nov 17 03:19:27 EST 2004

* builds/unix/configure.ac: Add `-fno-strict-aliasing' if gcc is
used.
* builds/unix/configure: Regenerated.
* builds/unix/config.guess, builds/unix/config.sub: Updated from
`config' CVS module at subversions.gnu.org.


* src/cache/ftcglyph.c (FTC_GNode_UnselectFamily,
FTC_GCache_Lookup): Fix comparison with zero.

* docs/INSTALL.VMS: Updated.

* vms_make.com: Updated.  All `descrip.mms' files are now created
automatically.

* src/*/descrip.mms: Removed.

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,23 @@
+2004-11-16  Werner Lemberg  <[email protected]>
+
+	* builds/unix/configure.ac: Add `-fno-strict-aliasing' if gcc is
+	used.
+	* builds/unix/configure: Regenerated.
+	* builds/unix/config.guess, builds/unix/config.sub: Updated from
+	`config' CVS module at subversions.gnu.org.
+
+2004-11-16  Dr. Martin P.J. Zinser  <[email protected]>
+
+	* src/cache/ftcglyph.c (FTC_GNode_UnselectFamily,
+	FTC_GCache_Lookup): Fix comparison with zero.
+
+	* docs/INSTALL.VMS: Updated.
+
+	* vms_make.com: Updated.  All `descrip.mms' files are now created
+	automatically.
+
+	* src/*/descrip.mms: Removed.
+
 2004-11-16  Owen Taylor  <[email protected]>
 
 	* builds/unix/freetype-config.in: Supress -L$libdir for
@@ -1510,7 +1530,7 @@
 	automake 1.8a.
 	* builds/unix/configure: Regenerated with autoconf 2.59a.
 	* builds/unix/config.guess, builds/unix/config.sub: Updated from
-	`config' CVS module at subversions.gnu.org
+	`config' CVS module at subversions.gnu.org.
 	* builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
 	`texinfo' CVS module at subversions.gnu.org.
 	* builds/freetype.mk (refdoc): Updated.
--- a/builds/unix/config.guess
+++ b/builds/unix/config.guess
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+#   2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
 
-timestamp='2004-03-12'
+timestamp='2004-10-25'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -53,7 +53,7 @@
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
@@ -203,9 +203,6 @@
     amiga:OpenBSD:*:*)
 	echo m68k-unknown-openbsd${UNAME_RELEASE}
 	exit 0 ;;
-    arc:OpenBSD:*:*)
-	echo mipsel-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
     cats:OpenBSD:*:*)
 	echo arm-unknown-openbsd${UNAME_RELEASE}
 	exit 0 ;;
@@ -212,6 +209,9 @@
     hp300:OpenBSD:*:*)
 	echo m68k-unknown-openbsd${UNAME_RELEASE}
 	exit 0 ;;
+    luna88k:OpenBSD:*:*)
+    	echo m88k-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
     mac68k:OpenBSD:*:*)
 	echo m68k-unknown-openbsd${UNAME_RELEASE}
 	exit 0 ;;
@@ -227,21 +227,12 @@
     mvmeppc:OpenBSD:*:*)
 	echo powerpc-unknown-openbsd${UNAME_RELEASE}
 	exit 0 ;;
-    pegasos:OpenBSD:*:*)
-	echo powerpc-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    pmax:OpenBSD:*:*)
-	echo mipsel-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
     sgi:OpenBSD:*:*)
-	echo mipseb-unknown-openbsd${UNAME_RELEASE}
+	echo mips64-unknown-openbsd${UNAME_RELEASE}
 	exit 0 ;;
     sun3:OpenBSD:*:*)
 	echo m68k-unknown-openbsd${UNAME_RELEASE}
 	exit 0 ;;
-    wgrisc:OpenBSD:*:*)
-	echo mipsel-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
     *:OpenBSD:*:*)
 	echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
 	exit 0 ;;
@@ -307,9 +298,6 @@
 	# 1.2 uses "1.2" for uname -r.
 	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
 	exit 0 ;;
-    Alpha*:OpenVMS:*:*)
-	echo alpha-hp-vms
-	exit 0 ;;
     Alpha\ *:Windows_NT*:*)
 	# How do we know it's Interix rather than the generic POSIX subsystem?
 	# Should we change UNAME_MACHINE based on the output of uname instead
@@ -354,7 +342,7 @@
     DRS?6000:unix:4.0:6*)
 	echo sparc-icl-nx6
 	exit 0 ;;
-    DRS?6000:UNIX_SV:4.2*:7*)
+    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
 	case `/usr/bin/uname -p` in
 	    sparc) echo sparc-icl-nx7 && exit 0 ;;
 	esac ;;
@@ -764,7 +752,7 @@
 	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
 	exit 0 ;;
     *:UNICOS/mp:*:*)
-	echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
 	exit 0 ;;
     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
 	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
@@ -787,21 +775,7 @@
 	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
 	exit 0 ;;
     *:FreeBSD:*:*)
-	# Determine whether the default compiler uses glibc.
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
-	#include <features.h>
-	#if __GLIBC__ >= 2
-	LIBC=gnu
-	#else
-	LIBC=
-	#endif
-EOF
-	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
-	# GNU/KFreeBSD systems have a "k" prefix to indicate we are using
-	# FreeBSD's kernel, but not the complete OS.
-	case ${LIBC} in gnu) kernel_only='k' ;; esac
-	echo ${UNAME_MACHINE}-unknown-${kernel_only}freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
+	echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
 	exit 0 ;;
     i*:CYGWIN*:*)
 	echo ${UNAME_MACHINE}-pc-cygwin
@@ -850,6 +824,12 @@
     cris:Linux:*:*)
 	echo cris-axis-linux-gnu
 	exit 0 ;;
+    crisv32:Linux:*:*)
+	echo crisv32-axis-linux-gnu
+	exit 0 ;;
+    frv:Linux:*:*)
+    	echo frv-unknown-linux-gnu
+	exit 0 ;;
     ia64:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit 0 ;;
@@ -1096,9 +1076,9 @@
     M680?0:D-NIX:5.3:*)
 	echo m68k-diab-dnix
 	exit 0 ;;
-    M68*:*:R3V[567]*:*)
+    M68*:*:R3V[5678]*:*)
 	test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
-    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0)
+    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
 	OS_REL=''
 	test -r /etc/.relid \
 	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
@@ -1196,9 +1176,10 @@
 	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
 	exit 0 ;;
     *:Darwin:*:*)
-	case `uname -p` in
+	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+	case $UNAME_PROCESSOR in
 	    *86) UNAME_PROCESSOR=i686 ;;
-	    powerpc) UNAME_PROCESSOR=powerpc ;;
+	    unknown) UNAME_PROCESSOR=powerpc ;;
 	esac
 	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
 	exit 0 ;;
@@ -1259,6 +1240,16 @@
 	exit 0 ;;
     *:DragonFly:*:*)
 	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+	exit 0 ;;
+    *:*VMS:*:*)
+    	UNAME_MACHINE=`(uname -p) 2>/dev/null`
+	case "${UNAME_MACHINE}" in
+	    A*) echo alpha-dec-vms && exit 0 ;;
+	    I*) echo ia64-dec-vms && exit 0 ;;
+	    V*) echo vax-dec-vms && exit 0 ;;
+	esac ;;
+    *:XENIX:*:SysV)
+	echo i386-pc-xenix
 	exit 0 ;;
 esac
 
--- a/builds/unix/config.sub
+++ b/builds/unix/config.sub
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Configuration validation subroutine script.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+#   2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
 
-timestamp='2004-03-12'
+timestamp='2004-08-29'
 
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
@@ -70,7 +70,7 @@
 version="\
 GNU config.sub ($timestamp)
 
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
@@ -145,7 +145,7 @@
 	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
 	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
 	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-	-apple | -axis)
+	-apple | -axis | -knuth | -cray)
 		os=
 		basic_machine=$1
 		;;
@@ -300,7 +300,7 @@
 	| avr-* \
 	| bs2000-* \
 	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
-	| clipper-* | cydra-* \
+	| clipper-* | craynv-* | cydra-* \
 	| d10v-* | d30v-* | dlx-* \
 	| elxsi-* \
 	| f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
@@ -326,8 +326,9 @@
 	| mipsisa64sb1-* | mipsisa64sb1el-* \
 	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
 	| mipstx39-* | mipstx39el-* \
+	| mmix-* \
 	| msp430-* \
-	| none-* | np1-* | nv1-* | ns16k-* | ns32k-* \
+	| none-* | np1-* | ns16k-* | ns32k-* \
 	| orion-* \
 	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
 	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
@@ -445,6 +446,10 @@
 		basic_machine=j90-cray
 		os=-unicos
 		;;
+	craynv)
+		basic_machine=craynv-cray
+		os=-unicosmp
+		;;
 	cr16c)
 		basic_machine=cr16c-unknown
 		os=-elf
@@ -452,6 +457,9 @@
 	crds | unos)
 		basic_machine=m68k-crds
 		;;
+	crisv32 | crisv32-* | etraxfs*)
+		basic_machine=crisv32-axis
+		;;
 	cris | cris-* | etrax*)
 		basic_machine=cris-axis
 		;;
@@ -659,10 +667,6 @@
 	mips3*)
 		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
 		;;
-	mmix*)
-		basic_machine=mmix-knuth
-		os=-mmixware
-		;;
 	monitor)
 		basic_machine=m68k-rom68k
 		os=-coff
@@ -743,10 +747,6 @@
 	np1)
 		basic_machine=np1-gould
 		;;
-	nv1)
-		basic_machine=nv1-cray
-		os=-unicosmp
-		;;
 	nsr-tandem)
 		basic_machine=nsr-tandem
 		;;
@@ -1059,6 +1059,9 @@
 	romp)
 		basic_machine=romp-ibm
 		;;
+	mmix)
+		basic_machine=mmix-knuth
+		;;
 	rs6000)
 		basic_machine=rs6000-ibm
 		;;
@@ -1373,6 +1376,9 @@
 		;;
 	*-ibm)
 		os=-aix
+		;;
+    	*-knuth)
+		os=-mmixware
 		;;
 	*-wec)
 		os=-proelf
--- a/builds/unix/configure
+++ b/builds/unix/configure
@@ -3044,7 +3044,7 @@
 # get compiler flags right
 
 if test "x$CC" = xgcc; then
-  XX_CFLAGS="-Wall"
+  XX_CFLAGS="-Wall -fno-strict-aliasing"
   XX_ANSIFLAGS="-pedantic -ansi"
 else
   case "$host" in
--- a/builds/unix/configure.ac
+++ b/builds/unix/configure.ac
@@ -28,7 +28,7 @@
 # get compiler flags right
 
 if test "x$CC" = xgcc; then
-  XX_CFLAGS="-Wall"
+  XX_CFLAGS="-Wall -fno-strict-aliasing"
   XX_ANSIFLAGS="-pedantic -ansi"
 else
   case "$host" in
--- a/docs/INSTALL.VMS
+++ b/docs/INSTALL.VMS
@@ -1,36 +1,51 @@
 How to build the freetype2 library on VMS
 -----------------------------------------
 
-Just type one of the following depending on the type of external entries
-you want:
+It is actually very  straightforward to install the Freetype2 library.
+Just  execute vms_make.com from  the toplevel  directory to  build the
+library.  This procedure currently accepts the following options:
 
-  mms
+DEBUG
+  Build the library with debug information and without optimization.
 
-or
+lopts=<value>
+  Options to pass to the link command e.g. lopts=/traceback
 
-  mms/macro=("COMP_FLAGS=/name=(as_is,short)")
+ccopt=<value>
+  Options to pass to the C compiler e.g. ccopt=/float=ieee
 
+In case you did download the demos, place them in a separate directory
+directly below the the toplevel  directory of Freetype2 and follow the
+same  instructions as  above  for  the demos  from  there.  The  build
+process relies on this to figure the location of the Freetype2 include
+files.
+
+
+To rebuild the  sources it is neccessary to  have MMS/MMK installed on
+the system.
+
 The library is avalaible in the directory
 
   [.LIB]
 
-To compile applications using FreeType  2 you have to define the logical
-FREETYPE pointing to the directory
+To  compile applications  using  FreeType  2 you  have  to define  the
+logical FREETYPE pointing to the directory
 
   [.INCLUDE.FREETYPE]
 
-i.e.,  if the directory  in which  this INSTALL.VMS  file is  located is
+i.e., if  the directory in which  this INSTALL.VMS file  is located is
 $disk:[freetype] then define the logical with
 
   define freetype $disk:[freetype.include.freetype]
 
-This version  has been  tested with Compaq  C V6.2-006 on  OpenVMS Alpha
+This version has  been tested with Compaq C  V6.2-006 on OpenVMS Alpha
 V7.2-1.
 
 
   Any problems can be reported to
 
-    Jouk Jansen <[email protected]>
+    Jouk Jansen <[email protected]> or
+    Martin P.J. Zinser <[email protected]>
 
 
 --- end of INSTALL.VMS ---
--- a/include/freetype/config/ftoption.h
+++ b/include/freetype/config/ftoption.h
@@ -436,7 +436,7 @@
   /*   Do not #undef this macro here, since the build system might         */
   /*   define it for certain configurations only.                          */
   /*                                                                       */
-/* #define  TT_CONFIG_OPTION_BYTECODE_INTERPRETER */
+#define  TT_CONFIG_OPTION_BYTECODE_INTERPRETER
 
 
   /*************************************************************************/
@@ -448,7 +448,7 @@
   /* FT_PARAM_TAG_UNPATENTED_HINTING; or when the debug hook               */
   /* FT_DEBUG_HOOK_UNPATENTED_HINTING is globally actived.                 */
   /*                                                                       */
-#define TT_CONFIG_OPTION_UNPATENTED_HINTING
+/* #define TT_CONFIG_OPTION_UNPATENTED_HINTING */
 
 
   /*************************************************************************/
--- a/src/base/descrip.mms
+++ /dev/null
@@ -1,23 +1,0 @@
-#
-# FreeType 2 base layer compilation rules for VMS
-#
-
-
-# Copyright 2001, 2003, 2004 by
-# David Turner, Robert Wilhelm, and Werner Lemberg.
-#
-# This file is part of the FreeType project, and may only be used, modified,
-# and distributed under the terms of the FreeType project license,
-# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
-# indicate that you have read the license and understand and accept it
-# fully.
-
-
-CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.builds.vms],[--.include],[--.src.base])
-
-OBJS=ftbase.obj,ftinit.obj,ftglyph.obj,ftdebug.obj,ftbdf.obj,ftmm.obj,fttype1.obj,ftxf86.obj,ftpfr.obj,ftstroke.obj,ftwinfnt.obj,ftbbox.obj,ftotval.obj
-
-all : $(OBJS)
-        library [--.lib]freetype.olb $(OBJS)
-
-# EOF
--- a/src/bdf/descrip.mms
+++ /dev/null
@@ -1,23 +1,0 @@
-#
-# FreeType 2 BDF driver compilation rules for VMS
-#
-
-
-# Copyright 2002 by
-# David Turner, Robert Wilhelm, and Werner Lemberg.
-#
-# This file is part of the FreeType project, and may only be used, modified,
-# and distributed under the terms of the FreeType project license,
-# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
-# indicate that you have read the license and understand and accept it
-# fully.
-
-
-CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.bdf])
-
-OBJS=bdf.obj
-
-all : $(OBJS)
-        library [--.lib]freetype.olb $(OBJS)
-
-# EOF
--- a/src/cache/descrip.mms
+++ /dev/null
@@ -1,25 +1,0 @@
-#
-# FreeType 2 Cache compilation rules for VMS
-#
-
-
-# Copyright 2001, 2002, 2003, 2004 by
-# David Turner, Robert Wilhelm, and Werner Lemberg.
-#
-# This file is part of the FreeType project, and may only be used, modified,
-# and distributed under the terms of the FreeType project license,
-# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
-# indicate that you have read the license and understand and accept it
-# fully.
-
-
-CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.cache])
-
-OBJS=ftcache.obj
-
-all : $(OBJS)
-        library [--.lib]freetype.olb $(OBJS)
-
-ftcache.obj : ftcache.c
-
-# EOF
--- a/src/cache/ftcglyph.c
+++ b/src/cache/ftcglyph.c
@@ -47,7 +47,7 @@
 
 
     gnode->family = NULL;
-    if ( family && --family->num_nodes <= 0 )
+    if ( family && --(FT_Long)(family->num_nodes) <= 0 )
       FTC_FAMILY_FREE( family, cache );
   }
 
@@ -189,7 +189,7 @@
 
       error = FTC_Cache_Lookup( FTC_CACHE( cache ), hash, query, anode );
 
-      if ( --family->num_nodes <= 0 )
+      if ( --(FT_Long)(family->num_nodes) <= 0 )
         FTC_FAMILY_FREE( family, cache );
     }
     return error;
--- a/src/cff/descrip.mms
+++ /dev/null
@@ -1,23 +1,0 @@
-#
-# FreeType 2 OpenType/CFF driver compilation rules for VMS
-#
-
-
-# Copyright 2001, 2002 by
-# David Turner, Robert Wilhelm, and Werner Lemberg.
-#
-# This file is part of the FreeType project, and may only be used, modified,
-# and distributed under the terms of the FreeType project license,
-# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
-# indicate that you have read the license and understand and accept it
-# fully.
-
-
-CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.cff])
-
-OBJS=cff.obj
-
-all : $(OBJS)
-        library [--.lib]freetype.olb $(OBJS)
-
-# EOF
--- a/src/cid/descrip.mms
+++ /dev/null
@@ -1,23 +1,0 @@
-#
-# FreeType 2 CID driver compilation rules for VMS
-#
-
-
-# Copyright 2001 by
-# David Turner, Robert Wilhelm, and Werner Lemberg.
-#
-# This file is part of the FreeType project, and may only be used, modified,
-# and distributed under the terms of the FreeType project license,
-# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
-# indicate that you have read the license and understand and accept it
-# fully.
-
-
-CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.cid])
-
-OBJS=type1cid.obj
-
-all : $(OBJS)
-        library [--.lib]freetype.olb $(OBJS)
-
-# EOF
--- a/src/gzip/descrip.mms
+++ /dev/null
@@ -1,23 +1,0 @@
-#
-# FreeType 2 GZip support compilation rules for VMS
-#
-
-
-# Copyright 2002 by
-# David Turner, Robert Wilhelm, and Werner Lemberg.
-#
-# This file is part of the FreeType project, and may only be used, modified,
-# and distributed under the terms of the FreeType project license,
-# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
-# indicate that you have read the license and understand and accept it
-# fully.
-
-
-CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.gzip])
-
-OBJS=ftgzip.obj
-
-all : $(OBJS)
-        library [--.lib]freetype.olb $(OBJS)
-
-# EOF
--- a/src/otvalid/descrip.mms
+++ /dev/null
@@ -1,23 +1,0 @@
-#
-# FreeType 2 OpenType validation module compilation rules for VMS
-#
-
-
-# Copyright 2004 by
-# David Turner, Robert Wilhelm, and Werner Lemberg.
-#
-# This file is part of the FreeType project, and may only be used, modified,
-# and distributed under the terms of the FreeType project license,
-# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
-# indicate that you have read the license and understand and accept it
-# fully.
-
-
-CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.otvalid])
-
-OBJS=otvalid.obj
-
-all : $(OBJS)
-        library [--.lib]freetype.olb $(OBJS)
-
-# EOF
--- a/src/pcf/descrip.mms
+++ /dev/null
@@ -1,35 +1,0 @@
-#
-# FreeType 2 pcf driver compilation rules for VMS
-#
-
-
-# Copyright (C) 2001, 2002 by
-# 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"), to deal
-# in the Software without restriction, including without limitation the rights
-# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-# copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-# THE SOFTWARE.
-
-
-CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.pcf])
-
-OBJS=pcf.obj
-
-all : $(OBJS)
-        library [--.lib]freetype.olb $(OBJS)
-
-# EOF
--- a/src/pfr/descrip.mms
+++ /dev/null
@@ -1,23 +1,0 @@
-#
-# FreeType 2 PFR driver compilation rules for VMS
-#
-
-
-# Copyright 2002 by
-# David Turner, Robert Wilhelm, and Werner Lemberg.
-#
-# This file is part of the FreeType project, and may only be used, modified,
-# and distributed under the terms of the FreeType project license,
-# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
-# indicate that you have read the license and understand and accept it
-# fully.
-
-
-CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.pfr])
-
-OBJS=pfr.obj
-
-all : $(OBJS)
-        library [--.lib]freetype.olb $(OBJS)
-
-# EOF
--- a/src/psaux/descrip.mms
+++ /dev/null
@@ -1,23 +1,0 @@
-#
-# FreeType 2 PSaux driver compilation rules for VMS
-#
-
-
-# Copyright 2001, 2002 by
-# David Turner, Robert Wilhelm, and Werner Lemberg.
-#
-# This file is part of the FreeType project, and may only be used, modified,
-# and distributed under the terms of the FreeType project license,
-# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
-# indicate that you have read the license and understand and accept it
-# fully.
-
-
-CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.psaux])
-
-OBJS=psaux.obj
-
-all : $(OBJS)
-        library [--.lib]freetype.olb $(OBJS)
-
-# EOF
--- a/src/pshinter/descrip.mms
+++ /dev/null
@@ -1,23 +1,0 @@
-#
-# FreeType 2 PSHinter driver compilation rules for OpenVMS
-#
-
-
-# Copyright 2001, 2002 by
-# David Turner, Robert Wilhelm, and Werner Lemberg.
-#
-# This file is part of the FreeType project, and may only be used, modified,
-# and distributed under the terms of the FreeType project license,
-# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
-# indicate that you have read the license and understand and accept it
-# fully.
-
-
-CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.psnames])
-
-OBJS=pshinter.obj
-
-all : $(OBJS)
-        library [--.lib]freetype.olb $(OBJS)
-
-# EOF
--- a/src/psnames/descrip.mms
+++ /dev/null
@@ -1,23 +1,0 @@
-#
-# FreeType 2 PSNames driver compilation rules for VMS
-#
-
-
-# Copyright 2001, 2002 by
-# David Turner, Robert Wilhelm, and Werner Lemberg.
-#
-# This file is part of the FreeType project, and may only be used, modified,
-# and distributed under the terms of the FreeType project license,
-# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
-# indicate that you have read the license and understand and accept it
-# fully.
-
-
-CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.psnames])
-
-OBJS=psnames.obj
-
-all : $(OBJS)
-        library [--.lib]freetype.olb $(OBJS)
-
-# EOF
--- a/src/raster/descrip.mms
+++ /dev/null
@@ -1,23 +1,0 @@
-#
-# FreeType 2 renderer module compilation rules for VMS
-#
-
-
-# Copyright 2001 by
-# David Turner, Robert Wilhelm, and Werner Lemberg.
-#
-# This file is part of the FreeType project, and may only be used, modified,
-# and distributed under the terms of the FreeType project license,
-# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
-# indicate that you have read the license and understand and accept it
-# fully.
-
-
-CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.raster])
-
-OBJS=raster.obj
-
-all : $(OBJS)
-        library [--.lib]freetype.olb $(OBJS)
-
-# EOF
--- a/src/sfnt/descrip.mms
+++ /dev/null
@@ -1,23 +1,0 @@
-#
-# FreeType 2 SFNT driver compilation rules for VMS
-#
-
-
-# Copyright 2001, 2002 by
-# David Turner, Robert Wilhelm, and Werner Lemberg.
-#
-# This file is part of the FreeType project, and may only be used, modified,
-# and distributed under the terms of the FreeType project license,
-# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
-# indicate that you have read the license and understand and accept it
-# fully.
-
-
-CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.sfnt])
-
-OBJS=sfnt.obj
-
-all : $(OBJS)
-        library [--.lib]freetype.olb $(OBJS)
-
-# EOF
--- a/src/smooth/descrip.mms
+++ /dev/null
@@ -1,23 +1,0 @@
-#
-# FreeType 2 smooth renderer module compilation rules for VMS
-#
-
-
-# Copyright 2001 by
-# David Turner, Robert Wilhelm, and Werner Lemberg.
-#
-# This file is part of the FreeType project, and may only be used, modified,
-# and distributed under the terms of the FreeType project license,
-# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
-# indicate that you have read the license and understand and accept it
-# fully.
-
-
-CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.smooth])
-
-OBJS=smooth.obj
-
-all : $(OBJS)
-        library [--.lib]freetype.olb $(OBJS)
-
-# EOF
--- a/src/truetype/descrip.mms
+++ /dev/null
@@ -1,23 +1,0 @@
-#
-# FreeType 2 TrueType driver compilation rules for VMS
-#
-
-
-# Copyright 2001, 2002 by
-# David Turner, Robert Wilhelm, and Werner Lemberg.
-#
-# This file is part of the FreeType project, and may only be used, modified,
-# and distributed under the terms of the FreeType project license,
-# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
-# indicate that you have read the license and understand and accept it
-# fully.
-
-
-CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.truetype])
-
-OBJS=truetype.obj
-
-all : $(OBJS)
-        library [--.lib]freetype.olb $(OBJS)
-
-# EOF
--- a/src/truetype/ttgxvar.c
+++ b/src/truetype/ttgxvar.c
@@ -1323,7 +1323,7 @@
       return TT_Err_Invalid_Argument;
 
     /* to be freed by the caller */
-    if ( FT_NEW_ARRAY( delta_xy, n_points ) != 0 )
+    if ( FT_NEW_ARRAY( delta_xy, n_points ) )
       goto Exit;
     *deltas = delta_xy;
 
--- a/src/type42/descrip.mms
+++ /dev/null
@@ -1,23 +1,0 @@
-#
-# FreeType 2 Type 42 driver compilation rules for VMS
-#
-
-
-# Copyright 2002 by
-# David Turner, Robert Wilhelm, and Werner Lemberg.
-#
-# This file is part of the FreeType project, and may only be used, modified,
-# and distributed under the terms of the FreeType project license,
-# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
-# indicate that you have read the license and understand and accept it
-# fully.
-
-
-CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.type42])
-
-OBJS=type42.obj
-
-all : $(OBJS)
-        library [--.lib]freetype.olb $(OBJS)
-
-# EOF
--- a/src/winfonts/descrip.mms
+++ /dev/null
@@ -1,23 +1,0 @@
-#
-# FreeType 2 Windows FNT/FON driver compilation rules for VMS
-#
-
-
-# Copyright 2001, 2002 by
-# David Turner, Robert Wilhelm, and Werner Lemberg.
-#
-# This file is part of the FreeType project, and may only be used, modified,
-# and distributed under the terms of the FreeType project license,
-# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
-# indicate that you have read the license and understand and accept it
-# fully.
-
-
-CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.winfonts])
-
-OBJS=winfnt.obj
-
-all : $(OBJS)
-        library [--.lib]freetype.olb $(OBJS)
-
-# EOF
--- a/vms_make.com
+++ b/vms_make.com
@@ -1,8 +1,8 @@
-$!---------------vms_make.com for Freetype2------------------------------------
 $! make Freetype2 under OpenVMS
 $!
-$! In case of problems with the build you might want to contact me at
-$! [email protected] (preferred) or [email protected] (Work)
+$! External libraries (like Freetype, XPM, etc.) are supported via the
+$! config file VMSLIB.DAT. Please check the sample file, which is part of this
+$! distribution, for the information you need to provide
 $!
 $! This procedure currently does support the following commandline options
 $! in arbitrary order 
@@ -11,26 +11,47 @@
 $!           with /debug
 $! * LOPTS - Options to be passed to the link command
 $! * CCOPT - Options to be passed to the C compiler
+$!
+$! In case of problems with the install you might contact me at
+$! [email protected](preferred) or 
+$! [email protected] (work)
+$!
+$! Make procedure history for Freetype2
+$! 
 $!------------------------------------------------------------------------------
+$! Version history
+$! 0.01 20040401 First version to receive a number
+$! 0.02 20041030 Add error handling, Freetype 2.1.9
 $! 
-$! Just some general constants
+$ on error then goto err_exit
+$ true  = 1
+$ false = 0
+$ tmpnam = "temp_" + f$getjpi("","pid")
+$ tt = tmpnam + ".txt"
+$ tc = tmpnam + ".c"
+$ th = tmpnam + ".h"
+$ its_decc = false
+$ its_vaxc = false
+$ its_gnuc = false
 $!
-$ true   = 1
-$ false  = 0
-$ Make   = ""
-$!
 $! Setup variables holding "config" information
 $!
+$ Make    = ""
+$ ccopt   = ""
+$ lopts   = ""
+$ dnsrl   = ""
+$ aconf_in_file = "config.hin"
 $ name    = "Freetype2"
 $ mapfile =  name + ".map"
 $ optfile =  name + ".opt"
 $ s_case  = false
-$ libdefs = ""
-$ libincs = ""
 $ liblist = ""
-$ ccopt   = "/name=as_is/float=ieee"
-$ lopts   = ""
 $!
+$ whoami = f$parse(f$enviornment("Procedure"),,,,"NO_CONCEAL")
+$ mydef  = F$parse(whoami,,,"DEVICE")
+$ mydir  = f$parse(whoami,,,"DIRECTORY") - "]["
+$ myproc = f$parse(whoami,,,"Name") + f$parse(whoami,,,"type")
+$!
 $! Check for MMK/MMS
 $!
 $ If F$Search ("Sys$System:MMS.EXE") .nes. "" Then Make = "MMS"
@@ -51,7 +72,10 @@
 $!
 $! Create objects
 $!
-$ if libdefs .nes. "" then ccopt = ccopt + "/define=(" + libdefs + ")"
+$ if libdefs .nes. "" 
+$ then 
+$   ccopt = ccopt + "/define=(" + f$extract(0,f$length(libdefs)-1,libdefs) + ")"
+$ endif
 $!
 $ if f$locate("AS_IS",f$edit(ccopt,"UPCASE")) .lt. f$length(ccopt) - 
     then s_case = true
@@ -88,6 +112,24 @@
 $!
 $ exit
 $!
+$
+$ERR_LIB:
+$ write sys$output "Error reading config file vmslib.dat"
+$ goto err_exit
+$FT2_ERR:
+$ write sys$output "Could not locate Freetype 2 include files"
+$ goto err_exit
+$ERR_EXIT:
+$ set message/facil/ident/sever/text
+$ close/nolog optf
+$ close/nolog out
+$ close/nolog libdata
+$ close/nolog in
+$ close/nolog atmp
+$ close/nolog xtmp
+$ write sys$output "Exiting..."
+$ exit 2
+$!
 $!------------------------------------------------------------------------------
 $!
 $! If MMS/MMK are available dump out the descrip.mms if required 
@@ -121,6 +163,7 @@
 all :
         define freetype [--.include.freetype] 
         define psaux [-.psaux] 
+        define autofit [-.autofit] 
         define autohint [-.autohint] 
         define base [-.base] 
         define cache [-.cache] 
@@ -137,6 +180,8 @@
         if f$search("lib.dir") .eqs. "" then create/directory [.lib]
         set default [.builds.vms]
         $(MMS)$(MMSQUALIFIERS)
+#        set default [--.src.autofit]
+#        $(MMS)$(MMSQUALIFIERS)
         set default [--.src.autohint]
         $(MMS)$(MMSQUALIFIERS)
         set default [-.base]
@@ -214,6 +259,35 @@
 # EOF
 $ eod
 $ close out
+$ write sys$output "... [.src.autofit] directory"
+$ create [.src.autofit]descrip.mms
+$ open/append out [.src.autofit]descrip.mms
+$ copy sys$input: out
+$ deck
+#
+# FreeType 2 auto-fit module compilation rules for VMS
+#
+
+
+# Copyright 2002 by
+# David Turner, Robert Wilhelm, and Werner Lemberg.
+#
+# This file is part of the FreeType project, and may only be used, modified,
+# and distributed under the terms of the FreeType project license,
+# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
+# indicate that you have read the license and understand and accept it
+# fully.
+
+CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.autofit])
+
+OBJS=afangles.obj,afhints.obj,aflatin.obj
+
+all : $(OBJS)
+        library [--.lib]freetype.olb $(OBJS)
+
+# EOF
+$ eod
+$ close out
 $ write sys$output "... [.src.autohint] directory"
 $ create [.src.autohint]descrip.mms
 $ open/append out [.src.autohint]descrip.mms
@@ -246,6 +320,160 @@
 # EOF
 $ eod
 $ close out
+$ write sys$output "... [.src.base] directory"
+$ create [.src.base]descrip.mms
+$ open/append out [.src.base]descrip.mms
+$ copy sys$input: out
+$ deck
+#
+# FreeType 2 base layer compilation rules for VMS
+#
+
+
+# Copyright 2001, 2003 by
+# David Turner, Robert Wilhelm, and Werner Lemberg.
+#
+# This file is part of the FreeType project, and may only be used, modified,
+# and distributed under the terms of the FreeType project license,
+# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
+# indicate that you have read the license and understand and accept it
+# fully.
+
+
+CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.builds.vms],[--.include],[--.src.base])
+
+OBJS=ftbase.obj,ftinit.obj,ftglyph.obj,ftdebug.obj,ftbdf.obj,ftmm.obj,\
+     fttype1.obj,ftxf86.obj,ftpfr.obj,ftstroke.obj,ftwinfnt.obj
+
+all : $(OBJS)
+        library [--.lib]freetype.olb $(OBJS)
+
+# EOF
+$ eod
+$ close out
+$ write sys$output "... [.src.bdf] directory"
+$ create [.src.bdf]descrip.mms
+$ open/append out [.src.bdf]descrip.mms
+$ copy sys$input: out
+$ deck
+#
+# FreeType 2 BDF driver compilation rules for VMS
+#
+
+
+# Copyright 2002 by
+# David Turner, Robert Wilhelm, and Werner Lemberg.
+#
+# This file is part of the FreeType project, and may only be used, modified,
+# and distributed under the terms of the FreeType project license,
+# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
+# indicate that you have read the license and understand and accept it
+# fully.
+
+
+CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.bdf])
+
+OBJS=bdf.obj
+
+all : $(OBJS)
+        library [--.lib]freetype.olb $(OBJS)
+
+# EOF
+$ eod
+$ close out
+$ write sys$output "... [.src.cache] directory"
+$ create [.src.cache]descrip.mms
+$ open/append out [.src.cache]descrip.mms
+$ copy sys$input: out
+$ deck
+#
+# FreeType 2 Cache compilation rules for VMS
+#
+
+
+# Copyright 2001, 2002, 2003, 2004 by
+# David Turner, Robert Wilhelm, and Werner Lemberg.
+#
+# This file is part of the FreeType project, and may only be used, modified,
+# and distributed under the terms of the FreeType project license,
+# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
+# indicate that you have read the license and understand and accept it
+# fully.
+
+
+CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.cache])
+
+OBJS=ftcache.obj
+
+all : $(OBJS)
+        library [--.lib]freetype.olb $(OBJS)
+
+ftcache.obj : ftcache.c ftcbasic.c ftccache.c ftccmap.c ftcglyph.c ftcimage.c \
+              ftcmanag.c ftcmru.c ftcsbits.c 
+
+# EOF
+$ eod
+$ close out
+$ write sys$output "... [.src.cff] directory"
+$ create [.src.cff]descrip.mms
+$ open/append out [.src.cff]descrip.mms
+$ copy sys$input: out
+$ deck
+#
+# FreeType 2 OpenType/CFF driver compilation rules for VMS
+#
+
+
+# Copyright 2001, 2002 by
+# David Turner, Robert Wilhelm, and Werner Lemberg.
+#
+# This file is part of the FreeType project, and may only be used, modified,
+# and distributed under the terms of the FreeType project license,
+# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
+# indicate that you have read the license and understand and accept it
+# fully.
+
+
+CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.cff])
+
+OBJS=cff.obj
+
+all : $(OBJS)
+        library [--.lib]freetype.olb $(OBJS)
+
+# EOF
+$ eod
+$ close out
+$ write sys$output "... [.src.cid] directory"
+$ create [.src.cid]descrip.mms
+$ open/append out [.src.cid]descrip.mms
+$ copy sys$input: out
+$ deck
+#
+# FreeType 2 CID driver compilation rules for VMS
+#
+
+
+# Copyright 2001 by
+# David Turner, Robert Wilhelm, and Werner Lemberg.
+#
+# This file is part of the FreeType project, and may only be used, modified,
+# and distributed under the terms of the FreeType project license,
+# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
+# indicate that you have read the license and understand and accept it
+# fully.
+
+
+CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.cid])
+
+OBJS=type1cid.obj
+
+all : $(OBJS)
+        library [--.lib]freetype.olb $(OBJS)
+
+# EOF
+$ eod
+$ close out
 $ write sys$output "... [.src.gzip] directory"
 $ create [.src.gzip]descrip.mms
 $ open/append out [.src.gzip]descrip.mms
@@ -265,7 +493,8 @@
 # indicate that you have read the license and understand and accept it
 # fully.
 $EOD
-$ if libincs .nes. "" then write out "LIBINCS = ", libincs, ","
+$ if libincs .nes. "" then write out "LIBINCS = ", libincs - ",", ","
+$ write out "COMP_FLAGS = ", ccopt
 $ copy sys$input: out
 $ deck
 
@@ -298,7 +527,8 @@
 # indicate that you have read the license and understand and accept it
 # fully.
 $EOD
-$ if libincs .nes. "" then write out "LIBINCS = ", libincs, ","
+$ if libincs .nes. "" then write out "LIBINCS = ", libincs - ",", ","
+$ write out "COMP_FLAGS = ", ccopt
 $ copy sys$input: out
 $ deck
 
@@ -312,6 +542,320 @@
 # EOF
 $ eod
 $ close out
+$ write sys$output "... [.src.otlayout] directory"
+$ create [.src.otlayout]descrip.mms
+$ open/append out [.src.otlayout]descrip.mms
+$ copy sys$input: out
+$ deck
+#
+# FreeType 2 OT layout compilation rules for VMS
+#
+
+
+# Copyright 2004 by
+# David Turner, Robert Wilhelm, and Werner Lemberg.
+#
+# This file is part of the FreeType project, and may only be used, modified,
+# and distributed under the terms of the FreeType project license,
+# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
+# indicate that you have read the license and understand and accept it
+# fully.
+
+
+CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.otlayout])
+
+OBJS=otlbase.obj,otlcommn.obj,otlgdef.obj,otlgpos.obj,otlgsub.obj,\
+     otljstf.obj,otlparse.obj
+
+all : $(OBJS)
+        library [--.lib]freetype.olb $(OBJS)
+
+
+# EOF
+$ eod
+$ close out
+$ write sys$output "... [.src.pcf] directory"
+$ create [.src.pcf]descrip.mms
+$ open/append out [.src.pcf]descrip.mms
+$ copy sys$input: out
+$ deck
+#
+# FreeType 2 pcf driver compilation rules for VMS
+#
+
+
+# Copyright (C) 2001, 2002 by
+# 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"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+
+
+CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.pcf])
+
+OBJS=pcf.obj
+
+all : $(OBJS)
+        library [--.lib]freetype.olb $(OBJS)
+
+# EOF
+$ eod
+$ close out
+$ write sys$output "... [.src.pfr] directory"
+$ create [.src.pfr]descrip.mms
+$ open/append out [.src.pfr]descrip.mms
+$ copy sys$input: out
+$ deck
+#
+# FreeType 2 PFR driver compilation rules for VMS
+#
+
+
+# Copyright 2002 by
+# David Turner, Robert Wilhelm, and Werner Lemberg.
+#
+# This file is part of the FreeType project, and may only be used, modified,
+# and distributed under the terms of the FreeType project license,
+# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
+# indicate that you have read the license and understand and accept it
+# fully.
+
+
+CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.pfr])
+
+OBJS=pfr.obj
+
+all : $(OBJS)
+        library [--.lib]freetype.olb $(OBJS)
+
+# EOF
+$ eod
+$ close out
+$ write sys$output "... [.src.psaux] directory"
+$ create [.src.psaux]descrip.mms
+$ open/append out [.src.psaux]descrip.mms
+$ copy sys$input: out
+$ deck
+#
+# FreeType 2 PSaux driver compilation rules for VMS
+#
+
+
+# Copyright 2001, 2002 by
+# David Turner, Robert Wilhelm, and Werner Lemberg.
+#
+# This file is part of the FreeType project, and may only be used, modified,
+# and distributed under the terms of the FreeType project license,
+# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
+# indicate that you have read the license and understand and accept it
+# fully.
+
+
+CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.psaux])
+
+OBJS=psaux.obj
+
+all : $(OBJS)
+        library [--.lib]freetype.olb $(OBJS)
+
+# EOF
+$ eod
+$ close out
+$ write sys$output "... [.src.pshinter] directory"
+$ create [.src.pshinter]descrip.mms
+$ open/append out [.src.pshinter]descrip.mms
+$ copy sys$input: out
+$ deck
+#
+# FreeType 2 PSHinter driver compilation rules for OpenVMS
+#
+
+
+# Copyright 2001, 2002 by
+# David Turner, Robert Wilhelm, and Werner Lemberg.
+#
+# This file is part of the FreeType project, and may only be used, modified,
+# and distributed under the terms of the FreeType project license,
+# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
+# indicate that you have read the license and understand and accept it
+# fully.
+
+
+CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.psnames])
+
+OBJS=pshinter.obj
+
+all : $(OBJS)
+        library [--.lib]freetype.olb $(OBJS)
+
+# EOF
+$ eod
+$ close out
+$ write sys$output "... [.src.psnames] directory"
+$ create [.src.psnames]descrip.mms
+$ open/append out [.src.psnames]descrip.mms
+$ copy sys$input: out
+$ deck
+#
+# FreeType 2 PSNames driver compilation rules for VMS
+#
+
+
+# Copyright 2001, 2002 by
+# David Turner, Robert Wilhelm, and Werner Lemberg.
+#
+# This file is part of the FreeType project, and may only be used, modified,
+# and distributed under the terms of the FreeType project license,
+# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
+# indicate that you have read the license and understand and accept it
+# fully.
+
+
+CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.psnames])
+
+OBJS=psnames.obj
+
+all : $(OBJS)
+        library [--.lib]freetype.olb $(OBJS)
+
+# EOF
+$ eod
+$ close out
+$ write sys$output "... [.src.raster] directory"
+$ create [.src.raster]descrip.mms
+$ open/append out [.src.raster]descrip.mms
+$ copy sys$input: out
+$ deck
+#
+# FreeType 2 renderer module compilation rules for VMS
+#
+
+
+# Copyright 2001 by
+# David Turner, Robert Wilhelm, and Werner Lemberg.
+#
+# This file is part of the FreeType project, and may only be used, modified,
+# and distributed under the terms of the FreeType project license,
+# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
+# indicate that you have read the license and understand and accept it
+# fully.
+
+
+CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.raster])
+
+OBJS=raster.obj
+
+all : $(OBJS)
+        library [--.lib]freetype.olb $(OBJS)
+
+# EOF
+$ eod
+$ close out
+$ write sys$output "... [.src.sfnt] directory"
+$ create [.src.sfnt]descrip.mms
+$ open/append out [.src.sfnt]descrip.mms
+$ copy sys$input: out
+$ deck
+#
+# FreeType 2 SFNT driver compilation rules for VMS
+#
+
+
+# Copyright 2001, 2002 by
+# David Turner, Robert Wilhelm, and Werner Lemberg.
+#
+# This file is part of the FreeType project, and may only be used, modified,
+# and distributed under the terms of the FreeType project license,
+# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
+# indicate that you have read the license and understand and accept it
+# fully.
+
+
+CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.sfnt])
+
+OBJS=sfnt.obj
+
+all : $(OBJS)
+        library [--.lib]freetype.olb $(OBJS)
+
+# EOF
+$ eod
+$ close out
+$ write sys$output "... [.src.smooth] directory"
+$ create [.src.smooth]descrip.mms
+$ open/append out [.src.smooth]descrip.mms
+$ copy sys$input: out
+$ deck
+#
+# FreeType 2 smooth renderer module compilation rules for VMS
+#
+
+
+# Copyright 2001 by
+# David Turner, Robert Wilhelm, and Werner Lemberg.
+#
+# This file is part of the FreeType project, and may only be used, modified,
+# and distributed under the terms of the FreeType project license,
+# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
+# indicate that you have read the license and understand and accept it
+# fully.
+
+
+CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.smooth])
+
+OBJS=smooth.obj
+
+all : $(OBJS)
+        library [--.lib]freetype.olb $(OBJS)
+
+# EOF
+$ eod
+$ close out
+$ write sys$output "... [.src.truetype] directory"
+$ create [.src.truetype]descrip.mms
+$ open/append out [.src.truetype]descrip.mms
+$ copy sys$input: out
+$ deck
+#
+# FreeType 2 TrueType driver compilation rules for VMS
+#
+
+
+# Copyright 2001, 2002 by
+# David Turner, Robert Wilhelm, and Werner Lemberg.
+#
+# This file is part of the FreeType project, and may only be used, modified,
+# and distributed under the terms of the FreeType project license,
+# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
+# indicate that you have read the license and understand and accept it
+# fully.
+
+
+CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.truetype])
+
+OBJS=truetype.obj
+
+all : $(OBJS)
+        library [--.lib]freetype.olb $(OBJS)
+
+# EOF
+$ eod
+$ close out
 $ write sys$output "... [.src.type1] directory"
 $ create [.src.type1]descrip.mms
 $ open/append out [.src.type1]descrip.mms
@@ -344,6 +888,66 @@
 # EOF
 $ eod
 $ close out
+$ write sys$output "... [.src.type42] directory"
+$ create [.src.type42]descrip.mms
+$ open/append out [.src.type42]descrip.mms
+$ copy sys$input: out
+$ deck
+#
+# FreeType 2 Type 42 driver compilation rules for VMS
+#
+
+
+# Copyright 2002 by
+# David Turner, Robert Wilhelm, and Werner Lemberg.
+#
+# This file is part of the FreeType project, and may only be used, modified,
+# and distributed under the terms of the FreeType project license,
+# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
+# indicate that you have read the license and understand and accept it
+# fully.
+
+
+CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.type42])
+
+OBJS=type42.obj
+
+all : $(OBJS)
+        library [--.lib]freetype.olb $(OBJS)
+
+# EOF
+$ eod
+$ close out
+$ write sys$output "... [.src.winfonts] directory"
+$ create [.src.winfonts]descrip.mms
+$ open/append out [.src.winfonts]descrip.mms
+$ copy sys$input: out
+$ deck
+#
+# FreeType 2 Windows FNT/FON driver compilation rules for VMS
+#
+
+
+# Copyright 2001, 2002 by
+# David Turner, Robert Wilhelm, and Werner Lemberg.
+#
+# This file is part of the FreeType project, and may only be used, modified,
+# and distributed under the terms of the FreeType project license,
+# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
+# indicate that you have read the license and understand and accept it
+# fully.
+
+
+CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.winfonts])
+
+OBJS=winfnt.obj
+
+all : $(OBJS)
+        library [--.lib]freetype.olb $(OBJS)
+
+# EOF
+$ eod
+$ close out
 $ return
 $!------------------------------------------------------------------------------
 $!
@@ -360,19 +964,49 @@
 $     ccopt = ccopt + "/noopt/deb"
 $     lopts = lopts + "/deb"
 $   endif
-$!   if cparm .eqs. "LINK" then linkonly = true
-$   if f$locate("LOPTS",cparm) .lt. f$length(cparm)
+$   if f$locate("CCOPT=",cparm) .lt. f$length(cparm)
 $   then
 $     start = f$locate("=",cparm) + 1
 $     len   = f$length(cparm) - start
-$     lopts = lopts + f$extract(start,len,cparm)
+$     ccopt = ccopt + f$extract(start,len,cparm)
 $   endif
-$   if f$locate("CCOPT",cparm) .lt. f$length(cparm)
+$   if cparm .eqs. "LINK" then linkonly = true
+$   if f$locate("LOPTS=",cparm) .lt. f$length(cparm) 
 $   then
 $     start = f$locate("=",cparm) + 1
 $     len   = f$length(cparm) - start
-$     ccopt = ccopt + f$extract(start,len,cparm)
+$     lopts = lopts + f$extract(start,len,cparm)
 $   endif
+$   if f$locate("CC=",cparm) .lt. f$length(cparm) 
+$   then
+$     start  = f$locate("=",cparm) + 1
+$     len    = f$length(cparm) - start
+$     cc_com = f$extract(start,len,cparm)
+      if (cc_com .nes. "DECC") .and. - 
+         (cc_com .nes. "VAXC") .and. - 
+	 (cc_com .nes. "GNUC")
+$     then
+$       write sys$output "Unsupported compiler choice ''cc_com' ignored"
+$       write sys$output "Use DECC, VAXC, or GNUC instead"
+$     else 
+$     	if cc_com .eqs. "DECC" then its_decc = true   
+$     	if cc_com .eqs. "VAXC" then its_vaxc = true   
+$     	if cc_com .eqs. "GNUC" then its_gnuc = true   
+$     endif 
+$   endif
+$   if f$locate("MAKE=",cparm) .lt. f$length(cparm) 
+$   then
+$     start  = f$locate("=",cparm) + 1
+$     len    = f$length(cparm) - start
+$     mmks = f$extract(start,len,cparm)
+$     if (mmks .eqs. "MMK") .or. (mmks .eqs. "MMS") 
+$     then
+$       make = mmks
+$     else 
+$       write sys$output "Unsupported make choice ''mmks' ignored"
+$       write sys$output "Use MMK or MMS instead"
+$     endif 
+$   endif
 $   i = i + 1
 $   goto opt_loop
 $ endif
@@ -381,6 +1015,10 @@
 $!
 $! Take care of driver file with information about external libraries
 $!
+$! Version history
+$! 0.01 20040220 First version to receive a number
+$! 0.02 20040229 Echo current procedure name; use general error exit handler
+$!               Remove xpm hack -> Replaced by more general dnsrl handling 
 $CHECK_CREATE_VMSLIB:
 $!
 $ if f$search("VMSLIB.DAT") .eqs. ""
@@ -387,7 +1025,7 @@
 $ then
 $   type/out=vmslib.dat sys$input
 !
-! This is a simple driver file with information used by make.com to
+! This is a simple driver file with information used by vms_make.com to
 ! check if external libraries (like t1lib and freetype) are available on
 ! the system.
 !
@@ -396,40 +1034,42 @@
 !    - Lines starting with ! are treated as comments
 !    - Elements in a data line are separated by # signs
 !    - The elements need to be listed in the following order
-!      1.) Name of the Library 
+!      1.) Name of the Library (only used for informative messages 
+!                               from vms_make.com)
 !      2.) Location where the object library can be found
 !      3.) Location where the include files for the library can be found
 !      4.) Include file used to verify library location
-!      5.) CPP define to pass to the build to indicate availability of
+!      5.) CPP define to pass to the build to indicate availability of 
 !          the library
 !
-! Example: The following  lines show how definitions
-!          might look like. They are site specific and the locations of the
+! Example: The following  lines show how definitions  
+!          might look like. They are site specific and the locations of the 
 !          library and include files need almost certainly to be changed.
-!
+! 
 ! Location: All of the libaries can be found at the following addresses
 !
-!   ZLIB:     http://www.decus.de:8080/www/vms/sw/zlib.htmlx
+!   ZLIB:     http://zinser.no-ip.info/vms/sw/zlib.htmlx
 !
-!ZLIB # pubbin:libz.olb # public$Root:[util.libs.zlib] # zlib.h # FT_CONFIG_OPTION_SYSTEM_ZLIB
+!ZLIB # pubbin:libzshr.exe # public$root:[util.libs.zlib] # zlib.h # FT_CONFIG_OPTION_SYSTEM_ZLIB
 $   write sys$output "New driver file vmslib.dat created."
 $   write sys$output "Please customize libary locations for your site"
-$   write sys$output "and afterwards re-execute vms_make.com"
-$   write sys$output "Exiting..."
-$   close/nolog optf
-$   exit
+$   write sys$output "and afterwards re-execute ''myproc'"
+$   goto err_exit
 $ endif
 $!
+$! Init symbols used to hold CPP definitons and include path
+$!
+$ libdefs = ""
+$ libincs = ""
+$!
 $! Open data file with location of libraries
 $!
-$ open/read/end=end_lib/err=lib_err libdata VMSLIB.DAT
-$ open/append loptf libs.opt
+$ open/read/end=end_lib/err=err_lib libdata VMSLIB.DAT
 $LIB_LOOP:
 $ read/end=end_lib libdata libline
 $ libline = f$edit(libline, "UNCOMMENT,COLLAPSE")
 $ if libline .eqs. "" then goto LIB_LOOP ! Comment line
 $ libname = f$edit(f$element(0,"#",libline),"UPCASE")
-$ liblist = liblist + "#" + libname
 $ write sys$output "Processing ''libname' setup ..."
 $ libloc  = f$element(1,"#",libline)
 $ libsrc  = f$element(2,"#",libline)
@@ -456,18 +1096,56 @@
 $   write sys$output "Can not find includes at ''libsrc' - Skipping ''libname'"
 $   goto LIB_LOOP
 $ endif
-$ if cppdef .nes. "" then libdefs = libdefs +  "," + cppdef
+$ if (cppdef .nes. "") then libdefs = libdefs +  cppdef + ","
 $ libincs = libincs + "," + libsrc
 $ lqual = "/lib"
-$ libtype = f$parse(libloc,,,"TYPE")
+$ libtype = f$edit(f$parse(libloc,,,"TYPE"),"UPCASE")
 $ if f$locate("EXE",libtype) .lt. f$length(libtype) then lqual = "/share"
-$ write loptf libloc , lqual
+$ write optf libloc , lqual
+$ if (f$trnlnm("topt") .nes. "") then write topt libloc , lqual
+$!
+$! Nasty hack to get the freetype includes to work
+$!
+$ ft2def = false
+$ if ((libname .eqs. "FREETYPE") .and. -
+      (f$locate("FREETYPE2",cppdef) .lt. f$length(cppdef)))
+$ then
+$   if ((f$search("freetype:freetype.h") .nes. "") .and. -
+        (f$search("freetype:[internal]ftobjs.h") .nes. ""))
+$   then
+$     write sys$output "Will use local definition of freetype logical"
+$   else
+$     ft2elem = 0 
+$FT2_LOOP:
+$     ft2srcdir = f$element(ft2elem,",",libsrc)
+$     if f$search("''ft2srcdir'''testinc'") .nes. ""
+$     then
+$        if f$search("''ft2srcdir'internal.dir") .nes. ""
+$        then
+$          ft2dev  = f$parse("''ft2srcdir'",,,"device","no_conceal")
+$          ft2dir  = f$parse("''ft2srcdir'",,,"directory","no_conceal")
+$          ft2conc = f$locate("][",ft2dir)
+$          ft2len  = f$length(ft2dir)
+$          if ft2conc .lt. ft2len
+$          then
+$             ft2dir = f$extract(0,ft2conc,ft2dir) + -
+                       f$extract(ft2conc+2,ft2len-2,ft2dir)
+$          endif
+$          ft2dir = ft2dir - "]" + ".]"
+$          define freetype 'ft2dev''ft2dir','ft2srcdir'
+$          ft2def = true
+$        else
+$          goto ft2_err
+$        endif
+$     else
+$       ft2elem = ft2elem + 1
+$       goto ft2_loop
+$     endif
+$   endif	 
+$ endif
 $ goto LIB_LOOP
 $END_LIB:
 $ close libdata
-$ close loptf
-$ libincs = libincs - ","
-$ libdefs = libdefs - ","
 $ return
 $!------------------------------------------------------------------------------
 $!
@@ -478,6 +1156,9 @@
 $! ([email protected]), so if you do have problem reports please do not
 $! bother Hartmut/HP, but get in touch with me
 $!
+$! Version history
+$! 0.01 20040006 Skip over shareable images in option file
+$!
 $ ANAL_OBJ_AXP: Subroutine   
 $ V = 'F$Verify(0)
 $ SAY := "WRITE_ SYS$OUTPUT"
@@ -498,6 +1179,11 @@
 $ open/append atmp a.tmp
 $ loop:
 $ read/end=end_loop in line
+$ if f$locate("/SHARE",f$edit(line,"upcase")) .lt. f$length(line)
+$ then
+$   write sys$output "ANAL_SKP_SHR-i-skipshare, ''line'"
+$   goto loop
+$ endif
 $ f= f$search(line)
 $ if f .eqs. ""
 $ then
@@ -529,7 +1215,7 @@
 $ def/user sys$output nl:
 $ edito/edt/command=sys$input d.tmp
 sub/symbol: "/symbol_vector=(/whole
-sub/"/=PROCEDURE)/whole
+sub/"/=procedure)/whole
 exit
 $ ! all data
 $ search b.tmp "EGSY$V_DEF 1"/wind=(0,1) /out=e.tmp
@@ -537,7 +1223,7 @@
 $ def/user sys$output nl:
 $ edito/edt/command=sys$input f.tmp
 sub/symbol: "/symbol_vector=(/whole
-sub/"/=DATA)/whole
+sub/"/=data)/whole
 exit
 $ sort/nodupl d.tmp,f.tmp 'p2'
 $ delete a.tmp;*,b.tmp;*,c.tmp;*,d.tmp;*,e.tmp;*,f.tmp;*