summaryrefslogtreecommitdiff
path: root/README.windows
diff options
context:
space:
mode:
Diffstat (limited to 'README.windows')
-rw-r--r--README.windows261
1 files changed, 0 insertions, 261 deletions
diff --git a/README.windows b/README.windows
deleted file mode 100644
index 0d3fb08c..00000000
--- a/README.windows
+++ /dev/null
@@ -1,261 +0,0 @@
-Installation on Microsoft Windows:
-
-There are three ways to create binaries of this package for Microsoft Windows:
-1) Native binaries, built using the mingw tool chain.
-2) Native binaries, built using the MS Visual C/C++ tool chain.
-3) Binaries for the Cygwin environment.
-
-===============================================================================
-1) Native binaries, built using the mingw tool chain.
-
- I recommend to use the Cygwin environment as the development environment
- and mingw only as the target (runtime, deployment) environment.
- For this, you need to install
- * Cygwin (from https://cygwin.com/),
- * some packages available from the Cygwin package installer:
- make
- * the mingw cross-compilation tools and runtime package, available from
- the Cygwin package installer (setup-x86_64.exe):
- - for creating 32-bit binaries: packages
- mingw64-i686-gcc-core,
- mingw64-i686-headers,
- mingw64-i686-runtime
- - for creating 64-bit binaries: packages
- mingw64-x86_64-gcc-core,
- mingw64-x86_64-headers,
- mingw64-x86_64-runtime
-
- Building 32-bit binaries for mingw is achieved through the following
- preparation, configure, and build commands:
-
- PATH=/usr/local/mingw32/bin:$PATH
- export PATH
- ./configure --host=i686-w64-mingw32 --prefix=/usr/local/mingw32 \
- CC=i686-w64-mingw32-gcc \
- CPPFLAGS="-I/usr/local/mingw32/include -Wall" \
- LDFLAGS="-L/usr/local/mingw32/lib"
- make
- make check
-
- Building 64-bit binaries for mingw is achieved through the following
- preparation, configure, and build commands:
-
- PATH=/usr/local/mingw64/bin:$PATH
- export PATH
- ./configure --host=x86_64-w64-mingw32 --prefix=/usr/local/mingw64 \
- CC=x86_64-w64-mingw32-gcc \
- CPPFLAGS="-I/usr/local/mingw64/include -Wall" \
- LDFLAGS="-L/usr/local/mingw64/lib"
- make
- make check
-
- Installation:
-
- make install
-
-===============================================================================
-2) Native binaries, built using the MS Visual C/C++ tool chain.
-
- Note that binaries created with MSVC have a distribution constraint: They
- depend on a closed-source library ('msvcr90.dll' for MSVC 9.0,
- 'vcruntime140.dll' for MSVC 14.0, and so on) which is not normally part of
- a Windows installation.
- You cannot distribute 'vcruntime*.dll' with the binaries - this would be a
- violation of the GPL and of the Microsoft EULA.
- You can distribute the binaries without including 'vcruntime*.dll'. Users
- who don't have this library on their system will require to pull some files
- (api-ms-win*.dll) through the Windows Update mechanism, see
- https://support.microsoft.com/en-us/kb/2999226 .
-
- This recipe requires MS Visual C/C++ 9.0 or newer.
- You don't need the Visual Studio IDE, just the C/C++ tool chain.
- As of 2016, you can install the MS Visual C/C++ 14.0 tool chain from
- http://landinghub.visualstudio.com/visual-cpp-build-tools (it's the file
- visualcppbuildtools_full.exe).
-
- This recipe requires also a Cygwin environment (with 'bash', the common POSIX
- commands, and 'make') as a build environment. Building with 'nmake' is not
- supported.
- For this, you need to install
- * Cygwin (from https://cygwin.com/),
- * some packages available from the Cygwin package installer:
- make
-
- You also need the scripts 'ar-lib' and 'compile' from
- http://git.savannah.gnu.org/gitweb/?p=automake.git;a=blob_plain;f=lib/ar-lib;hb=HEAD
- http://git.savannah.gnu.org/gitweb/?p=automake.git;a=blob_plain;f=lib/compile;hb=HEAD
- respectively.
- They may also be included in this package, in directory 'build-aux/'.
- Save them; the instructions below assume that you stored them in $HOME/msvc/.
- Make them executable:
- chmod a+x ar-lib compile
-
- Start a bash (from Cygwin).
-
- Make sure that the MSVC tools ("cl" etc.) are found in PATH and the
- environment variables INCLUDE and LIB are set appropriately.
- In a typical MSVC 9.0 installation, it can be achieved by running
- C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat
- In a typical MSVC 14.0 installation on Windows 10, it can be achieved
- - for creating 32-bit binaries: through the following bash commands:
-
- # Set environment variables for using MSVC 14,
- # for creating native 32-bit Windows executables.
-
- # Windows C library headers and libraries.
- WindowsCrtIncludeDir='C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt'
- WindowsCrtLibDir='C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10240.0\ucrt\'
- INCLUDE="${WindowsCrtIncludeDir};$INCLUDE"
- LIB="${WindowsCrtLibDir}x86;$LIB"
-
- # Windows API headers and libraries.
- WindowsSdkIncludeDir='C:\Program Files (x86)\Windows Kits\8.1\Include\'
- WindowsSdkLibDir='C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\'
- INCLUDE="${WindowsSdkIncludeDir}um;${WindowsSdkIncludeDir}shared;$INCLUDE"
- LIB="${WindowsSdkLibDir}x86;$LIB"
-
- # Visual C++ tools, headers and libraries.
- VSINSTALLDIR='C:\Program Files (x86)\Microsoft Visual Studio 14.0'
- VCINSTALLDIR="${VSINSTALLDIR}"'\VC'
- PATH=`cygpath -u "${VCINSTALLDIR}"`/bin:"$PATH"
- INCLUDE="${VCINSTALLDIR}"'\include;'"${INCLUDE}"
- LIB="${VCINSTALLDIR}"'\lib;'"${LIB}"
-
- export INCLUDE LIB
-
- - for creating 64-bit binaries: through the following bash commands:
-
- # Set environment variables for using MSVC 14,
- # for creating native 64-bit Windows executables.
-
- # Windows C library headers and libraries.
- WindowsCrtIncludeDir='C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt'
- WindowsCrtLibDir='C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10240.0\ucrt\'
- INCLUDE="${WindowsCrtIncludeDir};$INCLUDE"
- LIB="${WindowsCrtLibDir}x64;$LIB"
-
- # Windows API headers and libraries.
- WindowsSdkIncludeDir='C:\Program Files (x86)\Windows Kits\8.1\Include\'
- WindowsSdkLibDir='C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\'
- INCLUDE="${WindowsSdkIncludeDir}um;${WindowsSdkIncludeDir}shared;$INCLUDE"
- LIB="${WindowsSdkLibDir}x64;$LIB"
-
- # Visual C++ tools, headers and libraries.
- VSINSTALLDIR='C:\Program Files (x86)\Microsoft Visual Studio 14.0'
- VCINSTALLDIR="${VSINSTALLDIR}"'\VC'
- PATH=`cygpath -u "${VCINSTALLDIR}"`/bin/amd64:"$PATH"
- INCLUDE="${VCINSTALLDIR}"'\include;'"${INCLUDE}"
- LIB="${VCINSTALLDIR}"'\lib\amd64;'"${LIB}"
-
- export INCLUDE LIB
-
- Building 32-bit binaries with MSVC is achieved through the following
- preparation, configure, and build commands:
-
- PATH=/usr/local/msvc32/bin:$PATH
- export PATH
-
- win32_target=_WIN32_WINNT_WINXP # for MSVC 9.0
- win32_target=_WIN32_WINNT_VISTA # possibly for MSVC >= 10.0
- win32_target=_WIN32_WINNT_WIN7 # possibly for MSVC >= 10.0
- win32_target=_WIN32_WINNT_WIN8 # possibly for MSVC >= 10.0
-
- ./configure --host=i686-w64-mingw32 --prefix=/usr/local/msvc32 \
- CC="$HOME/msvc/compile cl -nologo" \
- CFLAGS="-MD" \
- CXX="$HOME/msvc/compile cl -nologo" \
- CXXFLAGS="-MD" \
- CPPFLAGS="-D_WIN32_WINNT=$win32_target -I/usr/local/msvc32/include" \
- LDFLAGS="-L/usr/local/msvc32/lib" \
- LD="link" \
- NM="dumpbin -symbols" \
- STRIP=":" \
- AR="$HOME/msvc/ar-lib lib" \
- RANLIB=":"
- make
- make check
-
- Building 64-bit binaries with MSVC is achieved through the following
- preparation, configure, and build commands:
-
- PATH=/usr/local/msvc64/bin:$PATH
- export PATH
-
- win32_target=_WIN32_WINNT_WINXP # for MSVC 9.0
- win32_target=_WIN32_WINNT_VISTA # possibly for MSVC >= 10.0
- win32_target=_WIN32_WINNT_WIN7 # possibly for MSVC >= 10.0
- win32_target=_WIN32_WINNT_WIN8 # possibly for MSVC >= 10.0
-
- ./configure --host=x86_64-w64-mingw32 --prefix=/usr/local/msvc64 \
- CC="$HOME/msvc/compile cl -nologo" \
- CFLAGS="-MD" \
- CXX="$HOME/msvc/compile cl -nologo" \
- CXXFLAGS="-MD" \
- CPPFLAGS="-D_WIN32_WINNT=$win32_target -I/usr/local/msvc64/include" \
- LDFLAGS="-L/usr/local/msvc64/lib" \
- LD="link" \
- NM="dumpbin -symbols" \
- STRIP=":" \
- AR="$HOME/msvc/ar-lib lib" \
- RANLIB=":"
- make
- make check
-
- Installation:
-
- make install
-
-===============================================================================
-3) Binaries for the Cygwin environment.
-
- The generic instructions in the INSTALL file apply. But here are more
- specific ones.
-
- You need to install
- * Cygwin (from https://cygwin.com/),
- * some packages available from the Cygwin package installer:
- make
- * the Cygwin [cross-]compilation tools package, available from
- the Cygwin package installer (setup-x86_64.exe):
- - for creating 32-bit binaries: packages
- cygwin32-gcc-core,
- cygwin32
- - for creating 64-bit binaries: packages
- gcc-core
-
- Building 32-bit binaries for Cygwin must be done in a directory *outside*
- the Cygwin /home and /usr hierarchies. It is achieved through the following
- preparation, configure, and build commands:
-
- PATH=/usr/local/cygwin32/bin:/usr/i686-pc-cygwin/sys-root/usr/bin:$PATH
- export PATH
- ./configure --host=i686-pc-cygwin --prefix=/usr/local/cygwin32 \
- CC=i686-pc-cygwin-gcc \
- CPPFLAGS="-I/usr/local/cygwin32/include -Wall" \
- LDFLAGS="-L/usr/local/cygwin32/lib"
- make
- make check
-
- Building 64-bit binaries for Cygwin is achieved through the following
- preparation, configure, and build commands:
-
- PATH=/usr/local/cygwin64/bin:$PATH
- export PATH
- ./configure --host=x86_64-pc-cygwin --prefix=/usr/local/cygwin64 \
- CC=x86_64-pc-cygwin-gcc \
- CPPFLAGS="-I/usr/local/cygwin64/include -Wall" \
- LDFLAGS="-L/usr/local/cygwin64/lib"
- make
- make check
-
- Installation:
-
- make install
-
-===============================================================================
-Dependencies:
-
-This package depends on GNU libiconv. (See the file DEPENDENCIES.) Before
-building this package, you need to build GNU libiconv, in the same development
-environment, with the same configure options, and install it ("make install").
-===============================================================================