From 12a67d4a7c3937b37af58741d06246c86572f28d Mon Sep 17 00:00:00 2001
From: Lev Kujawski <int21h@mailbox.org>
Date: Sat, 6 Feb 2021 12:53:58 -0700
Subject: [PATCH 2/3] Purge unused Freetype dependency from CDE

config/cf/{DragonFly,OpenBSD,darwin}.cf: Remove Freetype imake settings
config/cf/darwinLib.tmpl: Do not link against Freetype
debian/control: Remove Freetype and Xft dependencies
*/Imakefile: Purge Freetype includes

lib/DtWidget/ComboBoxP.h
lib/DtWidget/SpinBoxP.h
programs/dtfile/ChangeDirP.c
programs/dtlogin/vgcallback.c
    Undefine USE_XFT so Motif 2.3 doesn't pull in Freetype

CDE included Freetype and Xft solely to satisfy builds of Motif with
Xft support enabled. However, as CDE only supports bitmap fonts, this
dependency was entirely superfluous and unnecessarily broke backwards
compatibility with older systems.
---
 cde/config/cf/DragonFly.cf        | 16 ----------------
 cde/config/cf/OpenBSD.cf          |  1 -
 cde/config/cf/darwin.cf           |  3 ---
 cde/config/cf/darwinLib.tmpl      |  2 +-
 cde/debian/control                |  4 ----
 cde/lib/DtWidget/ComboBoxP.h      |  1 +
 cde/lib/DtWidget/Imakefile        |  8 --------
 cde/lib/DtWidget/SpinBoxP.h       |  1 +
 cde/programs/dtfile/ChangeDirP.c  |  1 +
 cde/programs/dtfile/Imakefile     |  8 +-------
 cde/programs/dtlogin/Imakefile    |  9 ---------
 cde/programs/dtlogin/vgcallback.c |  1 +
 12 files changed, 6 insertions(+), 49 deletions(-)

diff --git a/cde/config/cf/DragonFly.cf b/cde/config/cf/DragonFly.cf
index 25ea2d52..5f45c053 100644
--- a/cde/config/cf/DragonFly.cf
+++ b/cde/config/cf/DragonFly.cf
@@ -218,16 +218,6 @@ XCOMM operating system:  OSName (OSMajorVersion./**/OSMinorVersion) (OSRelVersio
 # define ExpatDir                LocalBase
 #endif
 
-#ifndef HasFreetype2
-# define HasFreetype2            NO /* set this to YES once DragonFly ships FT218 */
-# define Freetype2Dir            LocalBase
-#endif
-
-#ifndef HasFontconfig
-# define HasFontconfig           YES
-# define FontconfigDir           X11Base
-#endif
-
 #ifndef HasLibpng
 # define HasLibpng               YES
 # define LibpngDir               LocalBase
@@ -330,12 +320,6 @@ XCOMM operating system:  OSName (OSMajorVersion./**/OSMinorVersion) (OSRelVersio
 #ifndef PreloadFontSetup
 #define PreloadFontSetup        LD_PRELOAD="`(cd $(XENVLIBDIR); echo $(XFONTPRELOADPATTERN))`"
 #endif
-#ifndef PreloadFreetypeSetup
-#define PreloadFreetypeSetup    LD_PRELOAD="`(cd $(XENVLIBDIR); echo $(FT2PRELOADPATTERN))`"
-#endif
-#ifndef PreloadXFTSetup
-#define PreloadXFTSetup         LD_PRELOAD="`(cd $(XENVLIBDIR); echo $(FT2PRELOADPATTERN) $(XFTPRELOADPATTERN) $(XRENDERPRELOADPATTERN) $(FCPRELOADPATTERN))`"
-#endif
 #endif
 
 #ifndef HasCookieMaker
diff --git a/cde/config/cf/OpenBSD.cf b/cde/config/cf/OpenBSD.cf
index 212f5e68..68a79f2a 100644
--- a/cde/config/cf/OpenBSD.cf
+++ b/cde/config/cf/OpenBSD.cf
@@ -1009,7 +1009,6 @@ CXXDEPENDINCLUDE != CcCmd -v -x c++ /dev/null -fsyntax-only \
 # define SharedLibXdmGreet		NO
 #endif
 
-#define HasFreetype2		NO
 #define HasExpat		NO
 #define	BuildXterm		BuildClients
 
diff --git a/cde/config/cf/darwin.cf b/cde/config/cf/darwin.cf
index f7514fe2..3dc45603 100644
--- a/cde/config/cf/darwin.cf
+++ b/cde/config/cf/darwin.cf
@@ -51,9 +51,6 @@ XCOMM operating system:  OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVe
 #ifndef HasGcc3
 # define HasGcc3                NO
 #endif
-#ifndef HasFreetype2
-# define HasFreetype2           NO
-#endif
 #ifndef HasExpat
 # define HasExpat               NO
 #endif
diff --git a/cde/config/cf/darwinLib.tmpl b/cde/config/cf/darwinLib.tmpl
index 0d3c4368..7bedf950 100644
--- a/cde/config/cf/darwinLib.tmpl
+++ b/cde/config/cf/darwinLib.tmpl
@@ -19,7 +19,7 @@ XMULIB = $(XMULIBONLY) $(XTOOLLIB) $(XLIB)
 #endif
 #define SharedXlibi18nReqs $(LDPRELIB) $(XLIBONLY)
 
-#define SharedXfontReqs     $(LDPRELIB) $(FONTSTUBLIB) GzipLibrary $(FREETYPE2LIB) -flat_namespace
+#define SharedXfontReqs     $(LDPRELIB) $(FONTSTUBLIB) GzipLibrary -flat_namespace
 
 #define SharedAppleWMReqs   $(LDPRELIB) $(XLIB)
 #define SharedFontencReqs   $(LDPRELIB) GzipLibrary
diff --git a/cde/debian/control b/cde/debian/control
index 54b5afdc..945d81ac 100644
--- a/cde/debian/control
+++ b/cde/debian/control
@@ -6,7 +6,6 @@ Build-Depends: debhelper (>= 10),
                automake,
                libxt-dev,
                libxmu-dev,
-               libxft-dev,
                libxinerama-dev,
                libxpm-dev,
                libmrm4,
@@ -17,7 +16,6 @@ Build-Depends: debhelper (>= 10),
                libtirpc-dev,
                x11-xserver-utils,
                libjpeg62-dev,
-               libfreetype6-dev,
                libssl-dev,
                tcl-dev,
                ksh,
@@ -38,7 +36,6 @@ Package: cde-desktop
 Architecture: any
 Depends: libxt6,
          libxmu6,
-         libxft2,
          libxinerama1,
          libxpm4,
          libmrm4,
@@ -48,7 +45,6 @@ Depends: libxt6,
          libtirpc1,
          x11-xserver-utils,
          libjpeg62,
-         libfreetype6,
          libuil4,
          tcl,
          ksh,
diff --git a/cde/lib/DtWidget/ComboBoxP.h b/cde/lib/DtWidget/ComboBoxP.h
index 00991970..e4bd1f31 100644
--- a/cde/lib/DtWidget/ComboBoxP.h
+++ b/cde/lib/DtWidget/ComboBoxP.h
@@ -62,6 +62,7 @@ express or implied warranty.
 #include <X11/ShellP.h>
 #include <Xm/DrawnB.h>
 #include <Xm/ArrowB.h>
+#undef USE_XFT
 #include <Xm/TextFP.h>
 #include <Xm/Label.h>
 #include <Xm/Frame.h>
diff --git a/cde/lib/DtWidget/Imakefile b/cde/lib/DtWidget/Imakefile
index 482fd30b..bc69a657 100644
--- a/cde/lib/DtWidget/Imakefile
+++ b/cde/lib/DtWidget/Imakefile
@@ -14,15 +14,7 @@ XCOMM $XConsortium: Imakefile /main/8 1996/04/21 19:11:16 drk $
 #endif
 DEPEND_DEFINES = $(DEPENDDEFINES)
 DEFINES = DtWidgetDefines
-#if defined(LinuxArchitecture)
-INCLUDES = -I. -I/usr/include/freetype2
-#elif defined(FreeBSDArchitecture) || defined(OpenBSDArchitecture)
-INCLUDES = -I. -I$(XPROJECTROOT)/include/freetype2
-#elif defined(NetBSDArchitecture)
-INCLUDES = -I. -I$(XPROJECTROOT)/include -I$(XPROJECTROOT)/include/freetype2
-#else
 INCLUDES = -I.
-#endif
 
 #ifdef SharedDtWidgetReqs
 REQUIREDLIBS = SharedDtWidgetReqs
diff --git a/cde/lib/DtWidget/SpinBoxP.h b/cde/lib/DtWidget/SpinBoxP.h
index f7d993b0..a71b7e8b 100644
--- a/cde/lib/DtWidget/SpinBoxP.h
+++ b/cde/lib/DtWidget/SpinBoxP.h
@@ -54,6 +54,7 @@ express or implied warranty.
 #define _SpinBoxP_h
 
 #include <Xm/Label.h>
+#undef USE_XFT
 #include <Xm/TextFP.h>
 #include <Xm/ArrowB.h>
 #include <Xm/ManagerP.h>
diff --git a/cde/programs/dtfile/ChangeDirP.c b/cde/programs/dtfile/ChangeDirP.c
index cbe885e2..41274990 100644
--- a/cde/programs/dtfile/ChangeDirP.c
+++ b/cde/programs/dtfile/ChangeDirP.c
@@ -62,6 +62,7 @@
 #include <Xm/Xm.h>
 #include <Xm/XmP.h>
 #include <Xm/DrawP.h>
+#undef USE_XFT
 #include <Xm/TextFP.h>
 #include <Xm/PushBG.h>
 #include <Xm/DragDrop.h>
diff --git a/cde/programs/dtfile/Imakefile b/cde/programs/dtfile/Imakefile
index 7e470201..19e1023a 100644
--- a/cde/programs/dtfile/Imakefile
+++ b/cde/programs/dtfile/Imakefile
@@ -37,13 +37,7 @@ EXTRA_DEFINES = -DFILE_MAP_OPTIMIZE
 EXTRA_CCOPTIONS = -xF
 #endif
 
-#if defined(LinuxArchitecture)
-EXTRA_INCLUDES = -I/usr/include/freetype2
-EXTRA_DEFINES = -DFILE_MAP_OPTIMIZE
-#endif
-
-#if defined(BSDArchitecture)
-EXTRA_INCLUDES = -I$(XPROJECTROOT)/include/freetype2
+#if defined(LinuxArchitecture) || defined(BSDArchitecture)
 EXTRA_DEFINES = -DFILE_MAP_OPTIMIZE
 #endif
 
diff --git a/cde/programs/dtlogin/Imakefile b/cde/programs/dtlogin/Imakefile
index 6725b728..7e124974 100644
--- a/cde/programs/dtlogin/Imakefile
+++ b/cde/programs/dtlogin/Imakefile
@@ -130,15 +130,6 @@ DEPXAUTHLIB =
 DEPXDMCPLIB = 
 #endif
 
-/* Add in freetype header locations, required for modern Motif libs */
-#ifdef LinuxArchitecture
-INCLUDES = -I/usr/include/freetype2
-#endif
-
-#if defined(BSDArchitecture)
-INCLUDES = -I$(XPROJECTROOT)/include/freetype2
-#endif
-
 /**************************************************************************
  *
  *  Source and object modules
diff --git a/cde/programs/dtlogin/vgcallback.c b/cde/programs/dtlogin/vgcallback.c
index 6f134ad6..f5f081a7 100644
--- a/cde/programs/dtlogin/vgcallback.c
+++ b/cde/programs/dtlogin/vgcallback.c
@@ -63,6 +63,7 @@
 #include	<Xm/Xm.h>
 #include	<Xm/MessageB.h>
 #include	<Xm/TextF.h>
+#undef USE_XFT
 #include	<Xm/TextFP.h>
 #include	<Xm/PushBG.h>
 #include	<Xm/ToggleBG.h>
-- 
2.30.0

