======================================================================= MICROSOFT (R) FOUNDATION CLASSES Version 2.1 ======================================================================= MIPS Platform Support The Microsoft Foundation Classes for Windows NT (MFC 2.1) provide limited support for Windows NT running on the MIPS platform. This support is provided as-is for customers who want to compile their applications on MIPS machines. Tools ----- Microsoft Visual C++ for Windows NT does not include tools or support for the MIPS platform. In order to compile for MIPS, the Windows NT SDK is required. Building the Libraries ---------------------- MIPS versions of the libraries are not provided. To build them, follow the directions in MFC\SRC\README.TXT and add 'PLATFORM=MIPS' to the command line. For example, to build the Windows, debug variant for MIPS: nmake TARGET=w DEBUG=1 PLATFORM=MIPS Note: when using nmake from the Windows NT SDK, the target must be specified in lower case (e.g., TARGET=w). Building the Samples -------------------- Each sample includes a MAKEFILE for building with the command line tools. These files support the MIPS platform by specifying 'PLATFORM=MIPS' on the command line. For example, to build a release variant for MIPS: nmake DEBUG=0 PLATFORM=MIPS The .MAK files in the MFC sample directories are project files for the Microsoft Visual C++ development system. These files are for the Intel platform only; they will not compile on the MIPS platform. Scribble -------- The Scribble sample is tutorial code for Microsoft Visual C++. Since the tools needed for the tutorial are only supported on the Intel platform, the Scribble sample is not supported on the MIPS platform (i.e., MAKEFILE is not provided). Makefile Changes ---------------- Due to differences in the tools of the Windows NT SDK and Microsoft Visual C++, some changes to the application's makefile are required. For examples, please look for "MIPS" in the MFC\SAMPLES\SAMPLE_.MAK file. INTEL MIPS --------------- --------------------- Compiler name CL MCL Optimization flags /O1 /Osg /Gs Compiler defines /D_X86_ /D_MIPS_ Linker name LINK LINK32 Linker switches remove -NOLOGO Libraries (1) kernel32.lib libc.lib Resources (2) use CVTRES after RC (1) VC++ links kernel32.lib and libc.lib by default. (2) VC++ automatically converts the resource files when linking. Other non-Intel Platforms ------------------------- As compilers become available for Windows NT on platforms other than Intel and MIPS, it is possible that MFC can be used on that platform. The library code has been designed to be portable. However, since MFC has not been tested on these platforms, compiling for these platforms is at-your-own-risk. The following files will require modifications: MFC\INCLUDE\AFXV_CPU.H: As shipped, this file is MIPS specific. For other platforms, it should be replaced with a file containing the modifications needed for compiler or platform specific constructs. Typically this will be enabling, disabling, or redefining the items in AFXVER_.H MFC\SRC\MAKEFILE: MFC\SAMPLES\SAMPLE_.MAK: Define a new PLATFORM name, and wherever PLATFORM is used, add a new section to define the tools and flags appropriately. Note: The version of nmake shipped with the Windows NT SDK does not support the full syntax of the version in Microsoft Visual C++. In particular, !elsif is not supported.