[BACK]Return to README.MSVC CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / pari-2.2 / Odos

Annotation of OpenXM_contrib/pari-2.2/Odos/README.MSVC, Revision 1.1

1.1     ! noro        1: Posted on pari-dev by Bill Daly : [edited to fit current filenames]
        !             2: =================================
        !             3:
        !             4: Here is a description of the steps necessary to compile PARI with the MSVC
        !             5: compiler under WIN32.
        !             6:
        !             7: 1. Unzip the archive, preserving folder names so that the directory
        !             8: structure is correct. I use WinZip to do this, and I put the files on my D:
        !             9: drive, so that the files for pari-2.0.16.beta for example will be stored
        !            10: under D:\pari-2.0.16.beta. Note that the archive as downloaded, pari.tgz,
        !            11: is an archive of an archive. Winzip doesn't know how to unzip pari.tgz, so
        !            12: I use Aladdin Expander to do this, which will create for example the file
        !            13: pari-2.0.16.beta.tar in the same directory as pari.tgz. Unfortunately,
        !            14: Aladdin Expander doesn't know how to unzip this file, so I use Winzip to do
        !            15: it. Isn't Windows wonderful?
        !            16:
        !            17: 2. MSVC doesn't like names of the form "pari-2.0.16.beta", so rename the
        !            18: base directory to something like "pari216b". Now the files are stored under
        !            19: D:\pari216b.
        !            20:
        !            21: 3. Start MSVC (I use version 6, but earlier versions will probably work the
        !            22: same way).
        !            23:
        !            24: 4. Select "File\New..." and pick the "Project" tab to create a new project.
        !            25: Select "Win32 Console Application" as the project type, and specify the
        !            26: project name as "pari216b". Make sure that the "Location" of the files is
        !            27: D:\pari216b. Click "OK", then select "An empty project" (should be the
        !            28: default anyway) and click "Finish".
        !            29:
        !            30: 5. Select "Project\Add to project\Files..." to add files to the project.
        !            31: Select all the *.c and *.h files in src\basemath, src\headers,
        !            32: src\kernel\ix86, src\language, src\modules and Odos, EXCEPT pariCE.[ch];
        !            33: all of the files in src\gp except gp_rl.c; the files plotnull.c, plotport.c
        !            34: and rect.h in src\graph.c; and the file src\kernel\none\mp.c.
        !            35:
        !            36: 6. Select "Project\Settings" and pick the "C/C++" tab. Select
        !            37: "Preprocessor" from the "Category" menu, and enter
        !            38: "D:\pari216b\src\headers,D:\pari216b\win32" into the "Additional include
        !            39: directories" box. (I also select the "Code Generation" category and change
        !            40: the "Struct member alignment" to "1 byte", but this may not be necessary.)
        !            41: It is usually convenient for debugging to select the "Debug" tab and
        !            42: specify a "Working directory", e.g. "D:\gp" if you have .gp files there
        !            43: that you can use for testing.
        !            44:
        !            45: You should now be able to build and test the program. When you want to
        !            46: build a release version, you will have to repeat step 6 above, since MSVC
        !            47: doesn't apply the project settings globally.
        !            48:
        !            49: A couple of points:
        !            50: -------------------
        !            51: You may get some inconsequential warning messages. You can suppress these
        !            52: by adding a line of the form:
        !            53:
        !            54:    #pragma warning(disable: ...)
        !            55:
        !            56: to paricfg.h, where ... is a space-delimited list of warning numbers, e.g.
        !            57: "4018 4244" corresponding to the warnings C4018 and C4244.
        !            58:
        !            59: When you compile a release version, global optimization is enabled by
        !            60: default. MSVC is fairly buggy with global optimization, so you may find
        !            61: that some modules won't compile with it, e.g. sumiter.c. You can either
        !            62: disable global optimization (in "Project\Settings" under the tab "C/C++" in
        !            63: the category "Optimization"), or you can surround the offending code with:
        !            64:
        !            65:    #pragma optimization("g", off)
        !            66:    ...
        !            67:    #pragma optimization("g", on)

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>