INST_ARCH *= \$(ARCHNAME)
#
-# XXX WARNING! This option currently undergoing changes. May be broken.
+# uncomment to enable multiple interpreters. This is need for fork()
+# emulation.
#
-# uncomment to enable threads-capabilities
-#
-#USE_5005THREADS *= define
+#USE_MULTI *= define
#
-# XXX WARNING! This option currently undergoing changes. May be broken.
+# XXX WARNING! This option is still very experimental. May be broken.
#
-# uncomment to enable multiple interpreters
+# Beginnings of interpreter cloning/threads; still very incomplete.
+# This should be enabled to get the fork() emulation. This needs
+# USE_MULTI as well.
#
-#USE_MULTI *= define
+#USE_ITHREADS *= define
#
-# XXX WARNING! This option currently undergoing changes. May be broken.
-#
-# uncomment next line if you want to use the perl object
-# Currently, this cannot be enabled if you ask for threads above, or
-# if you are using GCC or EGCS.
+# uncomment to enable the implicit "host" layer for all system calls
+# made by perl. This needs USE_MULTI above. This is also needed to
+# get fork().
#
-#USE_OBJECT *= define
+#USE_IMP_SYS *= define
#
-# XXX WARNING! This option currently undergoing changes. May be broken.
+# WARNING! This option is deprecated and will eventually go away (enable
+# USE_ITHREADS instead).
#
-# Beginnings of interpreter cloning/threads: still rather rough, fails
-# tests. This should be enabled to get the fork() emulation. Do not
-# enable unless you know what you're doing!
+# uncomment to enable threads-capabilities. This is incompatible with
+# USE_ITHREADS, and is only here for people who may have come to rely
+# on the experimental Thread support that was in 5.005.
#
-#USE_ITHREADS *= define
+#USE_5005THREADS *= define
#
-# uncomment to enable the implicit "host" layer for all system calls
-# made by perl. This is needed and auto-enabled by USE_OBJECT above.
-# This is also needed to get fork().
+# WARNING! This option is deprecated and will eventually go away (enable
+# USE_MULTI instead).
#
-#USE_IMP_SYS *= define
+# uncomment next line if you want to use the PERL_OBJECT build option.
+# DO NOT ENABLE unless you have legacy code that relies on the C++
+# CPerlObj class that was available in 5.005. This cannot be enabled
+# if you ask for USE_5005THREADS above.
+#
+#USE_OBJECT *= define
#
# uncomment exactly one of the following
# WARNING: Turning this on/off WILL break binary compatibility with extensions
# you may have compiled with/without it. Be prepared to recompile all
# extensions if you change the default. Currently, this cannot be enabled
-# if you ask for USE_OBJECT above.
+# if you ask for USE_IMP_SYS above.
#
#PERL_MALLOC *= define
USE_ITHREADS != undef
.ENDIF
+.IF "$(USE_IMP_SYS)" == "define"
+PERL_MALLOC != undef
+.ENDIF
+
USE_MULTI *= undef
USE_OBJECT *= undef
USE_ITHREADS *= undef
USE_IMP_SYS *= undef
USE_PERLCRT *= undef
+.IF "$(USE_IMP_SYS)$(USE_MULTI)$(USE_5005THREADS)$(USE_OBJECT)" == "defineundefundefundef"
+USE_MULTI != define
+.ENDIF
+
+.IF "$(USE_ITHREADS)$(USE_MULTI)$(USE_OBJECT)" == "defineundefundef"
+USE_MULTI != define
+USE_5005THREADS != undef
+.ENDIF
+
.IF "$(USE_MULTI)$(USE_5005THREADS)$(USE_OBJECT)" != "undefundefundef"
BUILDOPT += -DPERL_IMPLICIT_CONTEXT
.ENDIF
.ENDIF
-.IF "$(USE_OBJECT)" == "define"
PERLIMPLIB *= ..\perl56$(a)
PERLDLL = ..\perl56.dll
-.ELSE
-PERLIMPLIB *= ..\perl$(a)
-PERLDLL = ..\perl.dll
-.ENDIF
XCOPY = xcopy /f /r /i /d
RCOPY = xcopy /f /r /i /e /d