--- /dev/null
+ANTLR C++ Support Libraries Additional Notes
+
+1.1 Using Microsoft Visual C++
+
+Currently this is still (or again) somewhat experimental. MSVC is not the
+development platform and I don't have access to the compiler currently.
+YMMV
+
+Make sure you compile the library *and* your project with the same
+settings. (multithreaded/debug/etc.)
+
+Visual C++ 6 only is supported for static builds. Some hacking and STLPort
+is needed to build a DLL (only for experts).
+
+Visual C++ 7.0 and 7.1 should support both static and DLL builds (DLL
+builds might be broken). In general the main problem is getting the right
+template instantiations into the DLL. For 7.0 you might have to tweak the
+list in lib/cpp/src/dll.cpp. I'm told 7.1 does not need this.
+
+For a static build (works probably best)
+
+1. Create a win32 static library project.
+2. Enable RTTI. (Run Time Type Information)
+3. Add the source files from <installpath>/antlr/lib/cpp/src to the project
+ (except dll.cpp) put <installpath>/antlr/lib/cpp in the search path for
+ include files.
+
+For the DLL build (MSVC 7.0 tested)
+
+* Project settings ("create new project" dialogs)
+ - Win32 project
+ - Application Settings
+ - Application type
+ - DLL
+ - Additional options
+ - Export symbols
+* Project properties (change defaults to)
+ - Configuration Properties
+ - C/C++
+ - General
+ - Additional Include Directories
+ - drive:\antlr-2.7.2\lib\cpp
+ - Preprocessor
+ - Preprocessor Definitions
+ - WIN32;_DEBUG;_WINDOWS;_USRDLL;ANTLR_EXPORTS
+ - Code Generation
+ - Runtime Library
+ - Multi-threaded Debug DLL (/MDd)
+ - Enable Function-Level Linking:
+ - Yes
+ - Language
+ - Enable Run-Time Type Info
+ - Yes
+ - Precompiled Headers
+ - Create/Use Precompiled Headers
+
+NOTE: Do not use the antlr generated and support library in a multithreaded
+way. It was not designed for a multithreaded environment.
+
+1.3 Building with GCJ
+
+NOTE: outdated the new Makefiles do not support this anymore.
+
+It is also possible to build a native binary of ANTLR. This is somewhat
+experimental and can be enabled by giving the --enable-gcj option to
+configure. You need a recent GCC to do this and even then the constructed
+binary crashes on some platforms.
+
+2. Tested Compilers for this release
+
+Don't get worried if your favourite compiler is not mentioned here. Any
+somewhat recent ISO compliant C++ compiler should have little trouble with
+the runtime library.
+
+*NOTE* this section was not updated for the new configure script/Makefiles some of the things listed here to pass different flags to configure may not work anymore. Check INSTALL.txt or handedit generated scripts after configure.
+
+2.1 Solaris
+
+2.1.1 Sun Workshop 6.0
+
+Identifies itself as:
+
+ CC: Sun WorkShop 6 2000/08/30 C++ 5.1 Patch 109490-01
+
+Compiles out of the box configure using:
+
+ CXX=CC CC=cc AR=CC ARFLAGS="-xar -o" ./configure
+
+Use CC to make the archive to ensure bundling of template instances. Check
+manpage for details.
+
+2.1.2 GCC
+
+Tested 3.0.4, 3.2.1, 3.2.3, 3.3.2, 3.4.0.
+
+All tested gcc are using a recent GNU binutils for linker and assembler.
+You will probably run into trouble if you use the solaris
+linker/assembler.
+
+2.2 Windows
+
+2.2.1 Visual C++
+
+Visual C++ 6.0 reported to work well with static build. DLL build not
+supported (reported to work when using STLPort in previous ANTLR versions).
+I heart that in some cases there could be problems with precompiled headers
+and the use of normal '/' in the #include directives (with service pack 5).
+
+Visual C++ 7.0 reported to work, might need some tweaks for DLL builds due
+to some shuffling around in the code.
+
+Visual C++ 7.1 reported to work, might need some tweaks, see above.
+
+My current guess is that DLL builds are all over the line broken. A
+workaround is to make a DLL from the complete generated parser including
+the static ANTLR support library.
+
+2.2.2 Cygwin/MinGW
+
+Not expecting any big problems maybe some tweaks needed in configure.
+
+3. Old notes for a number of compilers
+
+3.1 SGI Irix 6.5.10 MIPSPro compiler
+
+You can't compile ANTLR with the MIPSPro compiler on anything < 6.5.10
+because SGI just fixed a big bug dealing with namespaces in that release.
+
+Note: To get it to compile do basically the following:
+
+ CC=cc CXX=CC CXXFLAGS=-LANG:std ./configure --prefix=/usr/local/antlr
+
+Note probably dates back to 2.7.0-2.7.1 era.
+
+3.2 Sun CC 5
+
+It may be you'll have to change one or two static_cast<char*>()'s to a
+C-style cast. (think that's a compiler bug)
+
+Configure using:
+
+ CXX=CC CC=cc RANLIB="CC -xar" ./configure
+
+The custom ranlib is needed to get the template instances into the archive.
+Check manpages. Maybe the Sun CC 6 instructions above will work as well.
+
+3.3 GCC on some platforms (Alpha Tru64)
+
+The -pipe option not supported it seems. Configure using:
+
+CFLAGS="-W -Wall" ./configure
+
+Or remove the -pipe's from the generated scripts/Config.make.
+
+4. IT DOESN'T WORK!?
+
+4.1 Compile problems
+
+The ANTLR code uses some relatively new features of C++ which not all
+compilers support yet (such as namespaces, and new style standard headers).
+
+At the moment, you may be able to work around the problem with a few nasty
+tricks:
+
+Try creating some header files like 'iostream' just containing:
+
+#include <iostream.h>
+
+and compile with an option to define away the word 'std', such as
+
+CC .... -Dstd= ....
+
+Also in the antlr subdirectory there's a file config.hpp. Tweak this one to
+enable/disable the different bells and whistles used in the rest of the code.
+Don't forget to submit those changes back to us (along with compiler info)
+so we can incorporate them in our next release!
+
+4.2 Reporting problems
+
+When reporting problems please try to be as specific as possible e.g.
+mention ANTLR release, and try to provide a clear and minimal example of
+what goes wrong and what you expected.
+
+Bug reports can be done to Terence or the current subsystem maintainers as
+mentioned in the doc directory. Another option is to use the mailing list
+linked from http://www.antlr.org.
+
+Before reporting a problem you might want to try with a development
+snapshot, there is a link to these in the File Sharing section of
+
+http://www.antlr.org.