diff --git a/doc/COMPILE-GUIDE b/doc/COMPILE-GUIDE
index 05173bb8f..fffd973eb 100644
--- a/doc/COMPILE-GUIDE
+++ b/doc/COMPILE-GUIDE
@@ -1,5 +1,5 @@
 Eggdrop Compile Guide and FAQ
-Last revised: May 14, 2023
+Last revised: Aug 2, 2024
     _____________________________________________________________________
 
                         Eggdrop Compile Guide and FAQ
@@ -18,13 +18,13 @@ Last revised: May 14, 2023
   Contents:
     Compile Guide:
       A. Standard compile process (Linux, FreeBSD, NetBSD, OpenBSD, etc)
-      B. HP-UX B.11.*
-      C. Ultrix
-      D. macOS (previously OS X and originally Mac OS X)
-      E. AIX
-      F. IRIX
-      G. Solaris / SunOS
-      H. Cygwin / Windows
+      B. macOS (previously OS X and originally Mac OS X)
+      C. Cygwin / Windows
+      D. HP-UX B.11.*
+      E. Ultrix
+      F. AIX
+      G. IRIX
+      H. Solaris / SunOS
       I. Haiku
       J. Tcl Detection and Installation
 
@@ -114,7 +114,126 @@ Last revised: May 14, 2023
            make install DEST=/home/user/otherdir
 
 
-    B. HP-UX B.11.*
+    B. macOS
+      Follow the standard compile process in Section A. To compile dynamically
+      (with module support), use 'make eggdrop' instead of 'make'.
+
+      To get third-party modules to compile, you may need to edit the module's
+      Makefile and add "$(XLIBS) $(MODULE_XLIBS)" to the end of the
+      ../../../MODULE.$(MOD_EXT) target's $(LD) line.
+
+      For example:
+
+        ../../../mymodule.$(MOD_EXT): ../mymodule.o
+        $(LD) -o ../../../mymodule.$(MOD_EXT) ../mymodule.o
+        $(STRIP) ../../../mymodule.$(MOD_EXT)
+
+      Would become:
+
+        ../../../mymodule.$(MOD_EXT): ../mymodule.o
+        $(LD) -o ../../../mymodule.$(MOD_EXT) ../mymodule.o $(XLIBS) $(MODULE_XLIBS)
+        $(STRIP) ../../../mymodule.$(MOD_EXT)
+
+      If you notice a module that requires these changes, it would probably be
+      a good idea to let the module's developer know, so it can be fixed.
+
+      Note that on macOS, the DYLD_LIBRARY_PATH environment variable should
+      be used instead of LD_LIBRARY_PATH.
+
+      Install OpenSSL using homebrew:
+
+        Install homebrew from https://brew.sh/
+        brew update
+        brew install openssl
+
+      Tell configure where to find tcl and openssl:
+
+        ./configure --with-tcl=/System/Volumes/Data/Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk/System/Library/Frameworks/Tcl.framework/tclConfig.sh -with-sslinc=/usr/local/Cellar/openssl@3/3.0.7/include --with-ssllib=/usr/local/Cellar/openssl@3/3.0.7/lib
+
+      You can also try MacPorts (formerly DarwinPorts):
+
+        https://ports.macports.org/port/eggdrop
+
+
+    C. Cygwin / Windows
+      To compile and install Eggdrop on windows, perform the steps listed
+      below.
+
+        1. Download and install Cygwin (https://cygwin.com). Select packages:
+             autoconf
+             automake
+             binutils
+             gcc-core
+             git
+             make
+             mingw64-x86_64-gcc-core
+             openssl
+             libssl-devel
+             tcl
+             tcl-devel
+           After installing, open the Cygwin bash prompt.
+
+        2. Optional: Instead of Cygwins OpenSSL, you can download and install
+           OpenSSL 3.3.1:
+             curl -LO https://github.com/openssl/openssl/releases/download/openssl-3.3.1/openssl-3.3.1.tar.gz
+             tar -zxf openssl-3.3.1.tar.gz
+             cd openssl-3.3.1
+             ./config
+             make
+             make install
+
+        3. Download Eggdrop from https://geteggdrop.com to your home directory.
+           This is usually something like 'C:\cygwin\home\<username>\'. After
+           downloading, extract the Eggdrop tarball:
+
+             tar -zxf eggdrop-1.9.5.tar.gz
+
+        4. Run './configure --enable-strip'. Debugging information under
+           Windows is basically useless to the development team, and this will
+           reduce the size of your Eggdrop binary.
+
+        5. Type either 'make config', or 'make iconfig' to determine which
+           modules will be compiled.
+
+        6. Compile the bot using 'make eggdrop'.
+
+        7. Install the bot by typing 'make install DEST=<install path>'.
+           For example:
+
+             make install DEST='C:/eggdrop/'
+
+           Make sure to enclose the destination directory/folder in single
+           quotes (''), especially if it contains spaces.
+
+        8. Remove symbolic links:
+
+             cd 'C:/<install path>/' (example: cd 'C:/eggdrop')
+             rm modules
+             rm eggdrop.exe
+             mv eggdrop.exe-1.9.5 eggdrop.exe
+             mv modules-1.9.5 modules
+
+        9. Create a 'lib' directory and copy needed libraries using the
+           following commands. This assumes that you installed your Eggdrop in
+           'C:\eggdrop'. If you chose a different installation path, replace
+           'C:/eggdrop' in the following steps with your installation
+           directory, replacing all '\'s with '/'s.
+
+             cp /bin/cygwin1.dll 'C:/eggdrop'
+             cp /usr/local/bin/libtcl8.6.dll 'C:/eggdrop'
+             cp /usr/local/bin/tclpip84.dll 'C:/eggdrop'
+
+             cp /bin/cygcrypto-3.dll 'C:/eggdrop' (if compiled with ssl)
+             cp /bin/cygssl-3.dll 'C:/eggdrop' (if compiled with ssl)
+
+             mkdir C:/eggdrop/lib
+             cp -r /usr/local/lib/tcl 'C:/eggdrop/lib'
+             cp -r /usr/local/lib/tcl8.6 'C:/eggdrop/lib'
+
+             cp /bin/cygz.dll 'C:/eggdrop' (if you selected compress.mod)
+
+
+    D. HP-UX B.11.*
       Follow the standard compile process in Section A. To compile dynamically
       (with module support), use 'make eggdrop' instead of 'make'.
 
@@ -138,7 +257,7 @@ Last revised: May 14, 2023
       instead of LD_LIBRARY_PATH.
 
 
-    C. Ultrix
+    E. Ultrix
       There are some known problems with 'make' and Eggdrop on Ultrix systems.
       We recommend using 'gmake' (GNU make) for this reason, as in the steps
       below.
@@ -187,43 +306,7 @@ Last revised: May 14, 2023
                gmake install DEST=/home/user/otherdir
 
 
-    D. macOS
-      Follow the standard compile process in Section A. To compile dynamically
-      (with module support), use 'make eggdrop' instead of 'make'.
-
-      To get third-party modules to compile, you may need to edit the module's
-      Makefile and add "$(XLIBS) $(MODULE_XLIBS)" to the end of the
-      ../../../MODULE.$(MOD_EXT) target's $(LD) line.
-
-      For example:
-
-        ../../../mymodule.$(MOD_EXT): ../mymodule.o
-        $(LD) -o ../../../mymodule.$(MOD_EXT) ../mymodule.o
-        $(STRIP) ../../../mymodule.$(MOD_EXT)
-
-      Would become:
-
-        ../../../mymodule.$(MOD_EXT): ../mymodule.o
-        $(LD) -o ../../../mymodule.$(MOD_EXT) ../mymodule.o $(XLIBS) $(MODULE_XLIBS)
-        $(STRIP) ../../../mymodule.$(MOD_EXT)
-
-      If you notice a module that requires these changes, it would probably be
-      a good idea to let the module's developer know, so it can be fixed.
-
-      Note that on macOS, the DYLD_LIBRARY_PATH environment variable should
-      be used instead of LD_LIBRARY_PATH.
-
-      Install OpenSSL using homebrew:
-
-        Install homebrew from https://brew.sh/
-        brew update
-        brew install openssl
-
-      Tell configure where to find tcl and openssl:
-
-        ./configure --with-tcl=/System/Volumes/Data/Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk/System/Library/Frameworks/Tcl.framework/tclConfig.sh -with-sslinc=/usr/local/Cellar/openssl@3/3.0.7/include --with-ssllib=/usr/local/Cellar/openssl@3/3.0.7/lib
-
-    E. AIX
+    F. AIX
       Follow the standard compile process in Section A. To compile dynamically
       (with module support), use 'make eggdrop' instead of 'make'.
 
@@ -231,7 +314,7 @@ Last revised: May 14, 2023
       of LD_LIBRARY_PATH.
 
 
-    F. IRIX
+    G. IRIX
       Follow the standard compile process in Section A. To compile dynamically
       (with module support), use 'make eggdrop' instead of 'make'.
 
@@ -239,7 +322,7 @@ Last revised: May 14, 2023
       variables should be used instead of LD_LIBRARY_PATH.
 
 
-    G. Solaris / SunOS
+    H. Solaris / SunOS
       Follow the standard compile process in Section A. To compile dynamically
       (with module support), use 'make eggdrop' instead of 'make'.
 
@@ -248,75 +331,6 @@ Last revised: May 14, 2023
       be safe) LD_LIBRARY_PATH.
 
 
-    H. Cygwin / Windows
-      To compile and install Eggdrop on windows, perform the steps listed
-      below.
-
-        1. Download and install Cygwin (www.cygwin.com). Make sure to install
-           things like GCC, zlib, minires, autoconf, and automake. DO NOT
-           install the Tcl provided by Cygwin's installer. After installing,
-           open the Cygwin bash prompt.
-
-        2. Download and install TCL 8.5.9. You can get Tcl for Cygwin at
-           http://prdownloads.sourceforge.net/windrop/tcl-8.5.9.tar.gz.
-           http://prdownloads.sourceforge.net/windrop/tcl-8.4.1.tar.gz.
-           Extract this to the Cygwin root directory:
-
-             cd /
-             tar -zxf tcl-8.5.9.tar.gz
-
-        3. Download Eggdrop from https://geteggdrop.com/ to your home directory.
-           This is usually something like 'C:\cygwin\home\<username>\'. After
-           downloading, extract the Eggdrop tarball:
-
-             tar -zxf eggdrop-1.9.2.tar.gz
-
-        4. Run './configure --enable-strip'. Debugging information under
-           Windows is basically useless to the development team, and this will
-           reduce the size of your Eggdrop binary.
-
-        5. Type either 'make config', or 'make iconfig' to determine which
-           modules will be compiled.
-
-        6. Compile the bot using 'make eggdrop'.
-
-        7. Install the bot by typing 'make install DEST=<install path>'.
-           For example:
-
-             make install DEST='C:/eggdrop/'
-
-           Make sure to enclose the destination directory/folder in single
-           quotes (''), especially if it contains spaces.
-
-        8. Perform the following commands:
-
-             cd 'C:/<install path>/' (example: cd 'C:/eggdrop')
-             rm modules
-             rm eggdrop.exe
-             mv eggdrop.exe-1.9.2 eggdrop.exe
-             mv modules-1.9.2 modules
-
-        9. Create a 'lib' directory and copy needed libraries using the
-           following commands. This assumes that you installed your Eggdrop in
-           'C:\eggdrop'. If you chose a different installation path, replace
-           'C:/eggdrop' in the following steps with your installation
-           directory, replacing all '\'s with '/'s.
-
-             cp /bin/cygwin1.dll 'C:/eggdrop'
-             cp /usr/local/bin/libtcl8.5.dll 'C:/eggdrop'
-             cp /usr/local/bin/tclpip84.dll 'C:/eggdrop'
-             cp /bin/cyggcc_s-1.dll 'C:/eggdrop'
-
-             cp /bin/cygcrypto-0.9.8.dll 'C:/eggdrop' (if compiled with ssl)
-             cp /bin/cygssl-0.9.8.dll 'C:/eggdrop' (if compiled with ssl)
-
-             mkdir C:/eggdrop/lib
-             cp -r /usr/local/lib/tcl 'C:/eggdrop/lib'
-             cp -r /usr/local/lib/tcl8.5 'C:/eggdrop/lib'
-
-             cp /bin/cygz.dll 'C:/eggdrop' (if you selected compress.mod)
-
-
     I. Haiku
       If you compile Tcl from source and it breaks with a thread error 
       (and --disable-threads doesn't help), you can workaround this by