diff --git a/ChangeLog b/ChangeLog index 0be4a7817..eae1fcc83 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,23 @@ +2004-11-16 Werner Lemberg + + * 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 + + * 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 * 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. diff --git a/builds/unix/config.guess b/builds/unix/config.guess index 51fab4770..c28419dd5 100644 --- 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 @@ version="\ 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,15 +203,15 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in 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 ;; 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 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in 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 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # 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 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in 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 @@ EOF 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 @@ EOF 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 - #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 @@ EOF 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 @@ EOF 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 @@ EOF 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 ;; @@ -1260,6 +1241,16 @@ EOF *: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 #echo '(No uname command or uname output not recognized.)' 1>&2 diff --git a/builds/unix/config.sub b/builds/unix/config.sub index ba331039b..edb6b663c 100644 --- 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 @@ Report bugs and patches to ." 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 @@ case $os in -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 @@ case $basic_machine in | 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 @@ case $basic_machine in | 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 @@ case $basic_machine in basic_machine=j90-cray os=-unicos ;; + craynv) + basic_machine=craynv-cray + os=-unicosmp + ;; cr16c) basic_machine=cr16c-unknown os=-elf @@ -452,6 +457,9 @@ case $basic_machine in crds | unos) basic_machine=m68k-crds ;; + crisv32 | crisv32-* | etraxfs*) + basic_machine=crisv32-axis + ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; @@ -659,10 +667,6 @@ case $basic_machine in 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 @@ case $basic_machine in np1) basic_machine=np1-gould ;; - nv1) - basic_machine=nv1-cray - os=-unicosmp - ;; nsr-tandem) basic_machine=nsr-tandem ;; @@ -1059,6 +1059,9 @@ case $basic_machine in romp) basic_machine=romp-ibm ;; + mmix) + basic_machine=mmix-knuth + ;; rs6000) basic_machine=rs6000-ibm ;; @@ -1374,6 +1377,9 @@ case $basic_machine in *-ibm) os=-aix ;; + *-knuth) + os=-mmixware + ;; *-wec) os=-proelf ;; diff --git a/builds/unix/configure b/builds/unix/configure index cc8efc0dc..947bb30f4 100644 --- a/builds/unix/configure +++ b/builds/unix/configure @@ -3044,7 +3044,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu # 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 diff --git a/builds/unix/configure.ac b/builds/unix/configure.ac index feb4e50e2..0f5bef130 100644 --- a/builds/unix/configure.ac +++ b/builds/unix/configure.ac @@ -28,7 +28,7 @@ AC_PROG_CPP # 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 diff --git a/docs/INSTALL.VMS b/docs/INSTALL.VMS index 4d9d64ca2..0586afdbe 100644 --- 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= + Options to pass to the link command e.g. lopts=/traceback - mms/macro=("COMP_FLAGS=/name=(as_is,short)") +ccopt= + 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 + Jouk Jansen or + Martin P.J. Zinser --- end of INSTALL.VMS --- diff --git a/include/freetype/config/ftoption.h b/include/freetype/config/ftoption.h index 7800eb831..88dbe1d07 100644 --- a/include/freetype/config/ftoption.h +++ b/include/freetype/config/ftoption.h @@ -436,7 +436,7 @@ FT_BEGIN_HEADER /* 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_BEGIN_HEADER /* 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 */ /*************************************************************************/ diff --git a/src/base/descrip.mms b/src/base/descrip.mms deleted file mode 100644 index 9798ef191..000000000 --- a/src/base/descrip.mms +++ /dev/null @@ -1,23 +0,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 diff --git a/src/bdf/descrip.mms b/src/bdf/descrip.mms deleted file mode 100644 index 4c32dc449..000000000 --- a/src/bdf/descrip.mms +++ /dev/null @@ -1,23 +0,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 diff --git a/src/cache/descrip.mms b/src/cache/descrip.mms deleted file mode 100644 index 4d967dc18..000000000 --- a/src/cache/descrip.mms +++ /dev/null @@ -1,25 +0,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 diff --git a/src/cache/ftcglyph.c b/src/cache/ftcglyph.c index d524c9cc6..ede5c126e 100644 --- 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; diff --git a/src/cff/descrip.mms b/src/cff/descrip.mms deleted file mode 100644 index 2401f2ee2..000000000 --- a/src/cff/descrip.mms +++ /dev/null @@ -1,23 +0,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 diff --git a/src/cid/descrip.mms b/src/cid/descrip.mms deleted file mode 100644 index 592fd587a..000000000 --- a/src/cid/descrip.mms +++ /dev/null @@ -1,23 +0,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 diff --git a/src/gzip/descrip.mms b/src/gzip/descrip.mms deleted file mode 100644 index 68d7a870d..000000000 --- a/src/gzip/descrip.mms +++ /dev/null @@ -1,23 +0,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 diff --git a/src/otvalid/descrip.mms b/src/otvalid/descrip.mms deleted file mode 100644 index 187b414c4..000000000 --- a/src/otvalid/descrip.mms +++ /dev/null @@ -1,23 +0,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 diff --git a/src/pcf/descrip.mms b/src/pcf/descrip.mms deleted file mode 100644 index a3fd23180..000000000 --- a/src/pcf/descrip.mms +++ /dev/null @@ -1,35 +0,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 diff --git a/src/pfr/descrip.mms b/src/pfr/descrip.mms deleted file mode 100644 index 75178d0ef..000000000 --- a/src/pfr/descrip.mms +++ /dev/null @@ -1,23 +0,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 diff --git a/src/psaux/descrip.mms b/src/psaux/descrip.mms deleted file mode 100644 index bff019243..000000000 --- a/src/psaux/descrip.mms +++ /dev/null @@ -1,23 +0,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 diff --git a/src/pshinter/descrip.mms b/src/pshinter/descrip.mms deleted file mode 100644 index 205d6cfcc..000000000 --- a/src/pshinter/descrip.mms +++ /dev/null @@ -1,23 +0,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 diff --git a/src/psnames/descrip.mms b/src/psnames/descrip.mms deleted file mode 100644 index 6a66b9fa3..000000000 --- a/src/psnames/descrip.mms +++ /dev/null @@ -1,23 +0,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 diff --git a/src/raster/descrip.mms b/src/raster/descrip.mms deleted file mode 100644 index d0650ebbf..000000000 --- a/src/raster/descrip.mms +++ /dev/null @@ -1,23 +0,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 diff --git a/src/sfnt/descrip.mms b/src/sfnt/descrip.mms deleted file mode 100644 index 811c8b3ee..000000000 --- a/src/sfnt/descrip.mms +++ /dev/null @@ -1,23 +0,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 diff --git a/src/smooth/descrip.mms b/src/smooth/descrip.mms deleted file mode 100644 index 9ebc7ff22..000000000 --- a/src/smooth/descrip.mms +++ /dev/null @@ -1,23 +0,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 diff --git a/src/truetype/descrip.mms b/src/truetype/descrip.mms deleted file mode 100644 index e30ee1b3f..000000000 --- a/src/truetype/descrip.mms +++ /dev/null @@ -1,23 +0,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 diff --git a/src/truetype/ttgxvar.c b/src/truetype/ttgxvar.c index 475125168..c7ff3e9b4 100644 --- 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; diff --git a/src/type42/descrip.mms b/src/type42/descrip.mms deleted file mode 100644 index a52ba06fb..000000000 --- a/src/type42/descrip.mms +++ /dev/null @@ -1,23 +0,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 diff --git a/src/winfonts/descrip.mms b/src/winfonts/descrip.mms deleted file mode 100644 index 475cdbb6b..000000000 --- a/src/winfonts/descrip.mms +++ /dev/null @@ -1,23 +0,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 diff --git a/vms_make.com b/vms_make.com index 319ad24a2..da5e0b1f6 100644 --- 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 -$! zinser@decus.de (preferred) or zinser@sysdev.deutsche-boerse.com (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,25 +11,46 @@ $! * DEBUG - Compile modules with /noopt/debug and link shareable image $! with /debug $! * LOPTS - Options to be passed to the link command $! * CCOPT - Options to be passed to the C compiler -$!------------------------------------------------------------------------------ -$! -$! Just some general constants $! -$ true = 1 -$ false = 0 -$ Make = "" +$! In case of problems with the install you might contact me at +$! zinser@zinser.no-ip.info(preferred) or +$! zinser@sysdev.deutsche-boerse.com (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 +$! +$ 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 $! $! 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 $! @@ -51,7 +72,10 @@ $ gosub check_create_vmslib $! $! 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 @@ $ endif $! $ 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 @@ $ deck all : define freetype [--.include.freetype] define psaux [-.psaux] + define autofit [-.autofit] define autohint [-.autohint] define base [-.base] define cache [-.cache] @@ -137,6 +180,8 @@ all : 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] @@ -211,6 +256,35 @@ all : $(OBJS) ftsystem.obj : ftsystem.c ftconfig.h +# 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 @@ -240,6 +314,160 @@ CFLAGS=$(COMP_FLAGS)$(DEBUG)/incl=([--.include],[--.src.autohint]) OBJS=autohint.obj +all : $(OBJS) + library [--.lib]freetype.olb $(OBJS) + +# 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) @@ -265,7 +493,8 @@ $ deck # 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 @@ $ deck # 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 @@ -306,6 +536,320 @@ CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=($(LIBINCS)[--.include],[--.src.lzw]) OBJS=ftlzw.obj +all : $(OBJS) + library [--.lib]freetype.olb $(OBJS) + +# 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) @@ -341,6 +885,66 @@ all : $(OBJS) type1.obj : type1.c t1parse.c t1load.c t1objs.c t1driver.c t1gload.c t1afm.c +# 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 @@ -360,18 +964,48 @@ $ then $ 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 +$ ccopt = ccopt + f$extract(start,len,cparm) +$ endif +$ 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 $ lopts = lopts + f$extract(start,len,cparm) $ endif -$ if f$locate("CCOPT",cparm) .lt. f$length(cparm) +$ if f$locate("CC=",cparm) .lt. f$length(cparm) $ then -$ start = f$locate("=",cparm) + 1 -$ len = f$length(cparm) - start -$ ccopt = ccopt + f$extract(start,len,cparm) +$ 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 @@ -381,13 +1015,17 @@ $!------------------------------------------------------------------------------ $! $! 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. "" $ 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 @@ $ type/out=vmslib.dat sys$input ! - 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 @@ $ then $ 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 @@ $! (Hartmut.Becker@compaq.com). All the bugs were introduced by me $! (zinser@decus.de), 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 @@ $ create a.tmp $ 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 @@ $ search c.tmp "symbol:"/out=d.tmp $ 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 @@ $ search e.tmp "symbol:"/out=f.tmp $ 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;*