diff --git a/simplejson/_speedups.c b/simplejson/_speedups.c
index 0a9fd6ba7d905894cfb7847fa6a3c872055e17d8_c2ltcGxlanNvbi9fc3BlZWR1cHMuYw==..d34058b891b2fa021706a50ea99fe74b04f7bcf5_c2ltcGxlanNvbi9fc3BlZWR1cHMuYw== 100644
--- a/simplejson/_speedups.c
+++ b/simplejson/_speedups.c
@@ -1,4 +1,7 @@
 /* -*- mode: C; c-file-style: "python"; c-basic-offset: 4 -*- */
+#if PY_MAJOR_VERSION >= 3
+#define PY_SSIZE_T_CLEAN
+#endif
 #include "Python.h"
 #include "structmember.h"
 
diff --git a/vms/_speedups_py3.opt b/vms/_speedups_py3.opt
new file mode 100644
index 0000000000000000000000000000000000000000..d34058b891b2fa021706a50ea99fe74b04f7bcf5_dm1zL19zcGVlZHVwc19weTMub3B0
--- /dev/null
+++ b/vms/_speedups_py3.opt
@@ -0,0 +1,7 @@
+GSMATCH=lequal,1,1000
+case_sensitive=YES
+SYMBOL_VECTOR = (PyInit__speedups=PROCEDURE)
+SYMBOL_VECTOR = (PYINIT__SPEEDUPS/PyInit__speedups=PROCEDURE)
+case_sensitive=NO
+_speedups.obj
+python3shr/share
diff --git a/vms/build_speedups_module_py3.com b/vms/build_speedups_module_py3.com
new file mode 100644
index 0000000000000000000000000000000000000000..d34058b891b2fa021706a50ea99fe74b04f7bcf5_dm1zL2J1aWxkX3NwZWVkdXBzX21vZHVsZV9weTMuY29t
--- /dev/null
+++ b/vms/build_speedups_module_py3.com
@@ -0,0 +1,22 @@
+$ @python3_vms:setup
+$
+$ @python3_vms:python_compiler_options
+$
+$ set def [-.simplejson]
+$
+$ cnames = f$trnlnm("PYTHON_C_NAMES")
+$! cnames =  "/name=short"
+$ cdebug = f$trnlnm("PYTHON_C_DEBUG")
+$ coptim = f$trnlnm("PYTHON_C_OPTIM")
+$ cfloat = f$trnlnm("PYTHON_C_FLOAT")
+$
+$ cflags = "''cnames'''cdebug'''coptim'''cfloat'"
+$
+$ cc 'cflags' /warn=disabl=(PTRMISMATCH1, PTRMISMATCH) -
+        /incl=("./", "/python_include")-
+        /DEFINE=(__NEW_STARLET, _POSIX_EXIT=1) -
+  _speedups.c
+$
+$ link/share=_speedups.exe [-.vms]_speedups_py3.opt/options
+$
+$ exit