Windows NT 3.1 SDK

From Computer History Wiki
Revision as of 21:00, 24 July 2017 by Malxau (talk | contribs) (Add NMAKE which is noteworthy just for how bad it was)
Jump to: navigation, search

This came on a CD with a full copy of Windows NT 3.1 workstation. As far as I remember they gave these things away all over the place as promo items, as NT 3.1 was more of a freebie, then a sold product back then. The SDK did include the command line compiler, but it felt far more clunky (esp regarding linking) then the Visual C++ 1.0 version. The version of NMAKE was strangely old and incomplete; it did not support recursive macro evaluation, making it difficult to use for anything except the most trivial of cases.

i386

07/24/1993  12:11 AM           389,632 C13232.EXE
07/24/1993  12:11 AM           616,448 C1XX3232.EXE
07/24/1993  12:11 AM           507,392 C23232.EXE
07/24/1993  12:11 AM            25,600 CL.EXE
07/24/1993  12:11 AM            86,016 CL386.EXE
07/24/1993  12:11 AM           234,372 LINK32.EXE
07/24/1993  12:11 PM           127,044 NMAKE.EXE

cl

Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 8.00.3190a
Copyright (c) Microsoft Corp 1984-1993. All rights reserved.

                            C COMPILER OPTIONS

                              -OPTIMIZATION-
/O1 minimize space                       /Op[-] improve floating-pt consistency
/O2 maximize speed                       /Os favor code space
/Oa assume no aliasing                   /Ot favor code speed
/Ob<n> inline expansion (default n=0)    /Ow assume cross-function aliasing
/Od disable optimizations (default)      /Ox maximum opts. (/Ogityb1 /Gs)
/Og enable global optimization           /Oy[-] enable frame pointer omission
/Oi enable intrinsic functions
                             -CODE GENERATION-
/G3 optimize for 80386                   /Ge enable stack checking calls
/G4 optimize for 80486 (default)         /Gs[num] disable stack checking calls
/G5 optimize for Pentium                 /Gf enable string pooling
/Gd __cdecl calling convention           /Gy separate functions for linker
/Gr __fastcall calling convention        /Gh enable hook function call
/Gz __stdcall calling convention
                              -OUTPUT FILES-
/Fa[file] name assembly listing file     /Fo<file> name object file
/FA[sc] configure assembly listing       /Fp<file> name precompiled header file
/Fd[file] name .PDB file                 /Fr[file] name source browser file
/Fe<file> name executable file           /FR[file] name extended .SBR file
/Fm[file] name map file
                              -PREPROCESSOR-
  (press <return> to continue)
/C don't strip comments                  /FI<file> name forced include file
/D<name>{=|#}<text> define macro         /U<name> remove predefined macro
/E preprocess to stdout                  /u remove all predefined macros
/EP preprocess to stdout, no #line       /I<dir> add to include search path
/P preprocess to file                    /X ignore "standard places"
                                -LANGUAGE-
/vd{0|1} disable/enable vtordisp         /Za disable extensions (implies /Op)
/vm<x> type of pointers to members       /Ze enable extensions (default)
/Zi prepare for debugging (CodeView)     /Zg generate function prototypes
/Z7 C7 style CodeView information        /Zl omit default library name in .OBJ
/Zd line number information              /Zs syntax check only
/Zp[n] pack structs on n-byte boundary
                              -MISCELLANEOUS-
/?, /help print this help message        /w disable all warnings
/c compile only, no link                 /W<n> set warning level (default n=1)
/H<num> max external name length         /WX treat warnings as errors
/J default char type is unsigned         /Yc[file] create .PCH file
/nologo suppress copyright message       /Yd put debug info in every .OBJ
/Tc<source file> compile file as .c      /Yu[file] use .PCH file
/Tp<source file> compile file as .cpp    /YX[file] automatic .PCH
/V<string> set version string            /Zn turn off SBRPACK for .SBR files
                                 -LINKING-
/MD link with MSVCRT.LIB                 /F<num> set stack size
/ML link with LIBC.LIB                   /LD Create .DLL
  (press <return> to continue)
/MT link with LIBCMT.LIB                 /link [linker options and libraries]

link32


Microsoft(R) Windows NT Linker Version 2.42
(C) 1989-1992 Microsoft Corp. All rights reserved.

usage: LINK32 [switches] [objects] [libraries]

   switches:

      -ADJUST:#
      -ALIGN:#
      -BASE:{address|address,size|@filename,key}
      -DEBUG:[mapped|notmapped,]{none|minimal|partial|full}
      -DEBUGTYPE:{COFF|CV|BOTH}
      -DLL
      -ENTRY:symbol
      -FIXED
      -FORCE
      -GPSIZE:#
      -HEAP:reserve[,commit]
      -IGNORE:warning#
      -INCLUDE:symbol
      -MACHINE:{i386|mips|alpha}
      -MAP[:filename]
      -ORDER:@filename
      -OUT:filename
      -ROM
      -SECTION:name,[E][R][W][S]
      -STACK:reserve[,commit]
      -SUBSYSTEM:{native|windows|console|posix|os2}[,#[.#]]
      -STUB:stub file name
      -DECORATE
      -VERBOSE
      -VERSION:#[.#]

   options:

      -DUMP
      -EDIT
      -LIB

nmake

Microsoft (R) Program Maintenance Utility   Version 1.12.0013
Copyright (c) Microsoft Corp 1988-90. All rights reserved.

Usage:
        NMAKE @commandfile
        NMAKE [options] [/f makefile] [/x stderrfile] [macrodefs] [targets]

Options:
        /a            Build all evaluated targets
        /c            Supress output messages
        /d            Display time stamps
        /e            Environment variables override macro definitions
        /f filename   Use specified makefile
        /help         Display brief usage message
        /i            Ignore exit codes of commands invoked
        /n            Display commands but do not execute
        /nologo       Supress copyright message
        /p            Print macro definitions & target descriptions
        /q            Check time stamps but do not build
        /r            Ignore rules and macros from 'tools.ini'
        /s            Suppress executed commands display
        /t            Change time stamps but do not build
        /x filename   Redirect errors to file
        /?            Display brief usage message

mips

cl


Microsoft (R) C Centaur Optimizing Compiler Version 8.00.081
Copyright (c) Microsoft Corp 1984-1992. All rights reserved.

usage: mcl [ option... ] filename... [ -link linkoption... ]




                          C COMPILER OPTIONS

                            -OPTIMIZATION-
/Oa assume no aliasing                   /Op improve floating point consistency
/Ob<0|1|2> control inline expansion      /Os optimize for space
/Od disable optimizations                /Ot optimize for speed (default)
/Og enable global optimization           /Ow assume aliasing in function calls
/Ol enable loop optimization             /Ox maximum optimization (/Oglt /Gs)

                          -CODE GENERATION-
/Ge enable stack overflow checking       /Gd default _cdecl calls
/Gz default _stdcall calls               /Gy separate comdat for each function
/Gf enable string pooling                /Gh enable hook function call

                            -OUTPUT FILES-
/Fa[file] assembly listing file          /Fm[map file]
/Fl[file] asm listing with code bytes    /Fo<object file>
/Fc[file] asm listing w/bytes & source   /Fe<executable file>
/Fp<file> name precompiled header file

                            -PREPROCESSOR-
/C don't strip comments                  /D<name>[=|#text] define macro
/E preprocess to stdout                  /EP preprocess to stdout, no #line
/I<dir> add to include search path       /P preprocess to file, no #line
/u remove all predefined macros          /U<name> remove predefined macro
/X ignore "standard places"

                              -LANGUAGE-
/vd{0|1} disable/enable vtordisp         /vm<x> type of pointers to members
/Za disable non ansi extensions          /Zs syntax check only
/Ze enable extensions (default)          /Zg generate function prototypes
/Zd include line number information      /Zp[n] pack structs on n-byte boundary
/Zi prepare for debugging (CodeView)     /Z7 C7 style CodeView information

                            -MISCELLANEOUS-
/W<number> warning level                 /nologo suppress copyright message
/Yu<file> use .PCH file                  /H<number> max external name length
/Yc<file> create .PCH file               /B1<pass>  invoke alternate c1[xx]_rx
/Yd put debug info in .PCH file          /B2x<pass> invoke alternate msu
/Tc<source file> compile file as .c      /B2o<pass> invoke alternate msuopt
/Tp<source file> compile file as .cpp    /B2g<pass> invoke alternate msugen
/YX[file] automatic .PCH                 /B2a<pass> invoke alternate msas1
/J default char type is unsigned         /Bl invoke alternate linker
/?, /help print this help message        /c compile only, no link

                              -LINKING-
/F<number> stack size (hex. bytes)       /link [linker options and libraries]

                              -MIPS SPECIFIC-
/QmipsG1  mips1 instruction set          /QmipsG2   mips2 instruction set
/QmipsOb<value> basic block threshold


link32


Microsoft(R) Windows NT Linker Version 2.42
(C) 1989-1992 Microsoft Corp. All rights reserved.

usage: LINK32 [switches] [objects] [libraries]

   switches:

      -ADJUST:#
      -ALIGN:#
      -BASE:{address|address,size|@filename,key}
      -DEBUG:[mapped|notmapped,]{none|minimal|partial|full}
      -DEBUGTYPE:{COFF|CV|BOTH}
      -DLL
      -ENTRY:symbol
      -FIXED
      -FORCE
      -GPSIZE:#
      -HEAP:reserve[,commit]
      -IGNORE:warning#
      -INCLUDE:symbol
      -MACHINE:{i386|mips|alpha}
      -MAP[:filename]
      -ORDER:@filename
      -OUT:filename
      -ROM
      -SECTION:name,[E][R][W][S]
      -STACK:reserve[,commit]
      -SUBSYSTEM:{native|windows|console|posix|os2}[,#[.#]]
      -STUB:stub file name
      -DECORATE
      -VERBOSE
      -VERSION:#[.#]

   options:

      -DUMP
      -EDIT
      -LIB