view doc/README.Windows @ 166:d5705f226298

- added portasm support for adding .section .note.GNU-stack "hints" marking generated .o files from assembly files as not needing an executable stack * needed to be done manually in assembly files, in contrast to C translation units where gcc adds such hints automatically * this is for security, and better/easier integration of dyncall into other projects and builds, as dyncall doesn't need an executable stack * thanks to Thorsten Behrens for bringing this up to our intention and providing a first analysis * currently only done on Linux, but will be added across other platforms (where applicable) after some testing
author cslag
date Thu, 05 Jan 2017 11:07:29 +0100
parents 3e629dc19168
children 451299d50c1a
line wrap: on
line source

Bulding DynCall on Windows
==========================


Build using buildsys/nmake and MS Visual Studio Tools:
------------------------------------------------------

  32-bit:
    vcvarsall.bat x86
    .\configure.bat /target-x86
    nmake /f Nmakefile

  64-bit:
    vcvarsall.bat amd64
    .\configure.bat /target-x64
    nmake /f Nmakefile

  Build/run tests:
    cd test
    nmake /f Nmakefile
    
    NOTE: if you encounter 'python'/'lua' not found messages (which is 
     executed mistakenly for re-generation of test C code)
     timestamps are wrong; workaround: run "svn revert -R ." several times.

Build using buildsys/gmake and MinGW or Cygwin:
-----------------------------------------------

  32-bit:
    .\configure.bat /target-x86 /tool-gcc
    make

  64-bit:
    .\configure.bat /target-x64 /tool-gcc
    make


Build using Makefile.embedded and MinGW or Cygwin:
--------------------------------------------------

    > mingw32-make -f Makefile.embedded
    $ make -f Makefile.embedded CC=gcc


Build using CMake and Nmake:
----------------------------

  Put the appropriate tool-chain in path (32 or 64-bit version of MSVC), then:
  
    cmake -G "NMake Makefiles" %DYNCALL_SOURCE_DIR%
    nmake


Build using CMake and Visual Studio:
------------------------------------
 
  32-bit:
    cmake .
    open DynCall.sln

  BROKEN: SAFE EH.

  BROKEN: Rules to assemble MASM files are still missing.