(fix commit
8312098)
* Makefile.am (EXTRA_DIST): Remove NT_STATIC_THREADS_MAKEFILE,
NT_X64_STATIC_THREADS_MAKEFILE, NT_X64_THREADS_MAKEFILE.
* Makefile.direct (OTHER_MAKEFILES): Likewise.
* doc/README.win32 (Threads): Do not refer to NT_THREADS_MAKEFILE;
replace NT_STATIC_THREADS_MAKEFILE to NT_MAKEFILE.
* doc/README.win64: Replace NT_X64_STATIC_THREADS_MAKEFILE and
NT_X64_THREADS_MAKEFILE to NT_MAKEFILE; update documentation
accordingly; update note about Test_cpp failures; update note about
suppressed warnings.
EXTRA_DIST += BCC_MAKEFILE NT_MAKEFILE \
OS2_MAKEFILE PCR-Makefile digimars.mak \
Makefile.direct SMakefile.amiga WCC_MAKEFILE autogen.sh \
- NT_STATIC_THREADS_MAKEFILE NT_X64_STATIC_THREADS_MAKEFILE \
- NT_X64_THREADS_MAKEFILE CMakeLists.txt tests/CMakeLists.txt
+ CMakeLists.txt tests/CMakeLists.txt
# files used by makefiles other than Makefile.am
#
OTHER_MAKEFILES= OS2_MAKEFILE NT_MAKEFILE gc.mak \
BCC_MAKEFILE WCC_MAKEFILE PCR-Makefile SMakefile.amiga \
- digimars.mak Makefile.direct NT_STATIC_THREADS_MAKEFILE \
- NT_X64_STATIC_THREADS_MAKEFILE NT_X64_THREADS_MAKEFILE
+ digimars.mak Makefile.direct
OTHER_FILES= tools/setjmp_t.c tools/callprocs.sh extra/MacOS.c \
extra/Mac_files/datastart.c extra/Mac_files/dataend.c \
We generally recommend avoiding this if possible, since it seems to
be less than 100% reliable.
-Use gc.mak (a.k.a NT_THREADS_MAKEFILE) instead of NT_MAKEFILE
-to build a version that supports both kinds of thread tracking.
-To build the garbage collector
+Use gc.mak instead of NT_MAKEFILE to build a version that supports
+both kinds of thread tracking. To build the garbage collector
test with VC++ from the command line, use
nmake /F ".\gc.mak" CFG="gctest - Win32 Release"
enabled before any additional threads are created.
Since 6.3alpha2, threads are also better supported in static library builds
-with Microsoft tools (use NT_STATIC_THREADS_MAKEFILE) and with the GNU
+with Microsoft tools (e.g., NT_MAKEFILE) and with the GNU
tools. The collector must be built with GC_THREADS defined (this is the
-default in NT_STATIC_THREADS_MAKEFILE, ./configure and CMakeLists.txt).
+default in NT_MAKEFILE, ./configure and CMakeLists.txt).
For the normal, non-dll-based thread tracking to work properly,
threads should be created with GC_CreateThread or GC_beginthreadex,
or with mingw-w64 gcc.
More testing would clearly be helpful.
-NT_X64_STATIC_THREADS_MAKEFILE has been used in
-this environment. Copy this file to MAKEFILE, and then type "nmake"
-in a Visual C++ command line window to build the static library
-and the usual test programs. To verify that the collector is
-at least somewhat functional, run gctest.exe. This should create
-gctest.gc.log after a few seconds.
+NT_MAKEFILE has been used in this environment. Uncomment the corresponding
+definitions of CPU and CVTRES_CPU variables (commenting out the ones for X86),
+and then type "nmake -f NT_MAKEFILE" in a Visual C++ command line window to
+build the dynamic library with threads support and the usual test programs.
+To verify that the collector is at least somewhat functional, run gctest.exe.
+This should create gctest.gc.log after a few seconds.
-This process is completely analogous to NT_STATIC_THREADS_MAKEFILE
-for the 32-bit version.
+Test_cpp.exe might not run correctly in case of dynamic GC linking. (It seems
+that we're getting wrong instances of operator new/delete in some cases.)
-A similar procedure using NT_X64_THREADS_MAKEFILE should be usable to
-build the dynamic library. Test_cpp.exe did not seem to run correctly this
-way. It seems that we're getting the wrong instances of operator new/delete
-in some cases. The C tests seemed OK.
+This process is completely analogous to NT_MAKEFILE usage
+for the 32-bit library version.
-Note that currently a few warnings are still generated by default,
-and a number of others have been explicitly turned off in the makefile.
+A similar procedure using NT_MAKEFILE should be usable to
+build the static library (see comments for CFLAGS_SPECIFIC and LINK_GC
+variables in NT_MAKEFILE).
-VC++ note: to suppress warnings use -D_CRT_SECURE_NO_DEPRECATE.
+Note that some warnings have been explicitly turned off in the makefile.
+
+VC++ note: to suppress warnings -D_CRT_SECURE_NO_DEPRECATE is used.
gcc note: -fno-strict-aliasing should be used if optimizing.