Commit 9863bc8c authored by Martin Ruckert's avatar Martin Ruckert
Browse files

completed visual studio setup

parent 0d17b9e2
To be written
Configuration
-------------
To get a working mmix library,
you need the file libconfig.h and linimport.h
For the plain mmix simulator and assembler,
you can just copy libconfig.plain to libconfig.h
and libimport.plain to libimport.h
If you want to modify these files you should see
CONFIGURE.TXT for further explanations.
MMIXware
--------
You need a subdirectory of this direcory called mmixware
with the (latest) distribution of the mmixware sources.
You can get these from the MMIX homepage (mmix.cs.hm.edu).
Then you should create abstime.h in the mmixware directory.
Change into this directory and run "make abstime.h"
this will do
ctangle abstime.c to create the c file then compile it
and run it redirecting its output to abstime.h.
Making the mmix library
-----------------------
Copy boilerplate.w and abstime.h from the mmixware subdirectory
into the mmixlib directory.
Under Unix, a simple make should suffice.
- It will run ctangle on mmix-sim.w with the mmixlib.ch change file.
This will produce multiple .c and .h files containing the mmix sources.
- It will run ctangle on mmixal.w with the mmixallib.ch change file.
This will produce two more .c files containing the mmix sources.
- It will run ctangle on mmix-arith.w and mmix-io.w.
This will produce mmix-arith.c and mmix-io.c.
Then all the C files together with libname.c and libbase.c will be compiled
and packed into a library.
Making mmix and mmixal
----------------------
The individual pieces from the library can be recombined to get
a running simulator or a running assembler.
Look at the files mmix-sim.c and mmixal.c also produced
by the above run of ctangle. These files contain
main programms that call the various functions from the library.
You can compile them and link them against the mmix library just
created and you get a simulator and an assembler.
You are however free to modify these main programs and
produce variations of the MMIX software. In this case you should
give your executable a different name to avoid confusion with
the original MMIXware.
Windows and Visual Studio
-------------------------
To build and use the library under windows with the Visual Studio,
you need a working ctangle.exe file. Download it from the MMIX homepage
(or from www.literateprogramming.com).
You have to make sure the path to this ctangle.exe is on the search path
of visual studio (Try Tools->Options->Projects ans Solutions-> VC Directories)
or a similar path depending on the version of Visual Studio. Then you
should be able to open the solution file and build the library.
......@@ -149,15 +149,331 @@
<File
RelativePath=".\libalerror.c"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\libbase.c"
>
</File>
<File
RelativePath=".\libboot.c"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\libcommand.c"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\libdtrap.c"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\libdump.c"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\libfetch.c"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\libfinal.c"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\libglobals.c"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\libinit.c"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\libinteract.c"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\liblibfinal.c"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\liblibinit.c"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\libload.c"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\libmem.c"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\libmmget.c"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\libmmixal.c"
>
</File>
<File
RelativePath=".\libmmput.c"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\libname.c"
>
......@@ -182,6 +498,174 @@
/>
</FileConfiguration>
</File>
<File
RelativePath=".\libprint.c"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\libprofile.c"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\libshowbreaks.c"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\libshowline.c"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\libsoption.c"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\libstats.c"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\libstdin.c"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\libtrace.c"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="C:\home\vmb\src\vmbmmixlib;C:\home\vmb\src\util"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\mmix-arith.c"
>
</File>
<File
RelativePath=".\mmix-io.c"
>
</File>
<File
RelativePath=".\mmix-vmb.c"
>
......@@ -226,6 +710,54 @@
<Filter
Name="w Files"
>
<File
RelativePath=".\mmixware\mmix-arith.w"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCustomBuildTool"
Description="ctangle mmix-arith"
CommandLine="ctangle mmixware\mmix-arith.w"
Outputs="mmix-arith.c"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCustomBuildTool"
Description="ctangle mmix-arith"
CommandLine="ctangle mmixware\mmix-arith.w"
Outputs="mmix-arith.c"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\mmixware\mmix-io.w"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCustomBuildTool"
Description="ctangle mmix-io"
CommandLine="ctangle mmixware/mmix-io.w"
Outputs="mmix-io.c"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCustomBuildTool"
Description="ctangle mmix-io"
CommandLine="ctangle mmixware/mmix-io.w"
Outputs="mmix-io.c"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\mmixware\mmix-sim.w"
>
......@@ -235,7 +767,7 @@
<Tool
Name="VCCustomBuildTool"
Description="ctangle mmix-sim.w with mmixlib.ch"
CommandLine="ctangle mmixware/mmix-sim.w mmixlib.ch"
CommandLine="ctangle mmixware/mmix-sim.w mmixlib.ch&#x0D;&#x0A;"
AdditionalDependencies="mmixlib.ch"
Outputs="libtype.h;libprint.c;libarith.h;libmem.c;libload.c;libshowline.c;libprofile.c;mmix-io.h;libmmget.c;libmmput.c;libstdin.c;libtrace.c;libstats.c;liblibinit.c;libinit.c;libboot.c;libcommand.c;libinteract.c;libfetch.c;libperform.c;libdtrap.c;libfinal.c;liblibfinal.c;libglobals.c;libsoption.c;libshowbreaks.c;libdump.c"
/>
......@@ -246,7 +778,7 @@
<Tool
Name="VCCustomBuildTool"
Description="ctangle mmix-sim.w with mmixlib.ch"
CommandLine="ctangle mmixware/mmix-sim.w mmixlib.ch"
CommandLine="ctangle mmixware/mmix-sim.w mmixlib.ch&#x0D;&#x0A;"
AdditionalDependencies="mmixlib.ch"
Outputs="libtype.h;libprint.c;libarith.h;libmem.c;libload.c;libshowline.c;libprofile.c;mmix-io.h;libmmget.c;libmmput.c;libstdin.c;libtrace.c;libstats.c;liblibinit.c;libinit.c;libboot.c;libcommand.c;libinteract.c;libfetch.c;libperform.c;libdtrap.c;libfinal.c;liblibfinal.c;libglobals.c;libsoption.c;libshowbreaks.c;libdump.c"
/>
......@@ -261,7 +793,7 @@
<Tool
Name="VCCustomBuildTool"
Description="ctangle mmixware\mmixal.w mmixallib.ch"
CommandLine="ctangle mmixware\mmixal.w mmixallib.ch"