|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Hi ho,
Add me to the (very short) list of people, who need a batch windows version of
povray. Does anyone have 3.7 compiled without the Gui on Windows?
My fastest machine (8 thread i7) can not participate in my renderfarm without
it. :( Once upon a time, I built povwin 3.1 in dos mode, but those days are
gone.
I made a couple of feeble attempts at building 3.7 with MinGW or VS 2015
Community. Both will need effort that maybe I can avoid.
(Not as easy as sudo apt-get install povray ... )
Thanks,
dik
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Am 05.10.2015 um 12:43 schrieb dickbalaska:
> Hi ho,
>
> Add me to the (very short) list of people, who need a batch windows version of
> povray. Does anyone have 3.7 compiled without the Gui on Windows?
Consider yourself officially added :)
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Hi!
After some searching, I think I'm on the right path to compile a console version
of POVRay for Windows using MinGW64. I have all dependencies compiled without
problem, the problem now is to make changes to use Windows console because the
source code is configured in the Unix philosophy, using Unix functions for
console, so unavailable for Windows.
As I have no time to investigate on this right now, I share here my experience
so far, maybe it will be useful...
Tools and compilers needed
==========================
* MinGW64 from http://mingw-w64.yaxm.org/doku.php
* pkg-config from
http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip
glib :
http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.28/glib_2.28.1-1_win32.zip
* MSYS Extensions from
http://sourceforge.net/projects/mingw/files/MSYS/Extension/
crypt : libcrypt-1.1_1-3-msys-1.0.13-dll-0.tar.lzma
crypt : crypt-1.1_1-3-msys-1.0.13-bin.tar.lzma
m4 : m4-1.4.16-2-msys-1.0.17-bin.tar.lzma
perl : perl-5.8.8-1-msys-1.0.17-bin.tar.lzma
* MSYS Dev from http://sourceforge.net/projects/mingw/files/MSYS/msysdev/
autoconf : autoconf-2.68-1-msys-1.0.17-bin.tar.lzma
automake : automake-1.11.1-1-msys-1.0.13-bin.tar.lzma
* MSYS Base from http://sourceforge.net/projects/mingw/files/MSYS/Base/
bash : bash-3.1.23-1-msys-1.0.18-bin.tar.xz
coreutils : coreutils-5.97-3-msys-1.0.13-bin.tar.lzma
coreutils : coreutils-5.97-3-msys-1.0.13-ext.tar.lzma
findutils : findutils-4.4.2-2-msys-1.0.13-bin.tar.lzma
gawk : gawk-3.1.7-2-msys-1.0.13-bin.tar.lzma
grep : grep-2.5.4-2-msys-1.0.13-bin.tar.lzma
libiconv : libiconv-1.14-1-msys-1.0.17-dll-2.tar.lzma
gettext : libintl-0.18.1.1-1-msys-1.0.17-dll-8.tar.lzma
regex : libregex-1.20090805-2-msys-1.0.13-dll-1.tar.lzma
termcap : libtermcap-0.20050421_1-2-msys-1.0.13-dll-0.tar.lzma
make : make-3.81-3-msys-1.0.13-bin.tar.lzma
msys-core : msysCORE-1.0.18-1-msys-1.0.18-bin.tar.lzma
msys-core : msysCORE-1.0.18-1-msys-1.0.18-ext.tar.lzma
sed : sed-4.2.1-2-msys-1.0.13-bin.tar.lzma
termcap : termcap-0.20050421_1-2-msys-1.0.13-bin.tar.lzma
* Microsoft assembler 64 bit MASM (ML64.exe is part of Windows SDK, DDK
or Visual Studio, I found it in my Visual Studio Express 2013 in
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64
* CMake from http://www.cmake.org/
Dependencies
============
Needed
======
boost http://www.boost.org
zlib http://www.zlib.net/
jpeg http://www.ijg.org/files/
png http://www.libpng.org/pub/png/libpng.html
tiff http://www.remotesensing.org/libtiff/
Optional
========
openexr http://www.openexr.com/
sdl 1.2 http://www.libsdl.org
Prepare a build environment
===========================
When I build with MinGW, I always have this directory
layout :
- The MinGW environment is installed in C:\MinGW.
- The CMake binaries are extracted in C:\MinGW\CMake
- The MSYS binaries (all MSYS-related stuff above) are
extracted in C:\MinGW\MSYS
=> In MSYS, this directory is mapped as /
- pkg-config and its DLLs can be placed in C:\MinGW\MSYS
(also copy msys-intl-8.dll to intl.dll in C:\MinGW\MSYS\bin
Run the postinstall\pi.bat script to initialize the environment
and set some directories (follow the instructions).
After first launch of MSYS, a directory is available : /home/<user>/
The source code packages go to /home/user/source
The build directory (with binaries and libs) is /build
So, excluding other files, this is how the directory structure looks like :
C:\MinGW
cmake
mingw64
msys
build
home
<user>
source
After installation, I create a .bat file to set environment variables needed
(for example, to use CMake). This file is buildenv.bat and I place it in
/home/<user/. When using MSYS, I simply start the MSYS.bat in C:\MinGW\msys.
All the configure scripts have the prefix /build when using MSYS. When building
with other tools (for example CMake), I map a drive letter (Z) to the /build
folder.
Build environment (buildenv.bat) file
=====================================
@ECHO OFF
COLOR 1F
TITLE Build environment
ECHO Build environment
ECHO =================
SET PATH=C:\MinGW\msys\build\bin;%PATH%
SET PATH=C:\MinGW\msys\build\lib;%PATH%
SET PATH=C:\MinGW\mingw64\bin;%PATH%
SET PATH=C:\MinGW\cmake\bin;%PATH%
SET PATH=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64
SUBST Z: C:\MinGW\msys\build
CD C:\MinGW\msys\home
CMD
Install tools
=============
MinGW64
Download from : http://mingw-w64.yaxm.org/doku.php
mingw-w64-install.exe
=> C:\MinGW
MSYS build environment
Download from : http://sourceforge.net/projects/mingw/files/MSYS/Base/
=> C:\MinGW\MSYS
CMake : http://www.cmake.org/
=> C:\MinGW\CMake
MASM 64 (or compatible assembler) : ml64.exe is included with Windows SDK,
DDK or Visual Studio.
Directories
%source% = C:\MinGW\MSYS\home\<user>\source
%build% = C:\MinGW\MSYS\build
%mingw% = C:\MinGW
%prefix% = /build (MSYS), Z:\ (CMake)
Set build virtual drive : subst z: %prefix%
Build environment
set path=%mingw%\mingw64\bin;%path%
set path=%mingw%\cmake\bin;%path%
set path=%mingw%\swig;%path%
Compilation
===========
Please follow the order of dependencies.
ZLib (CMake)
============
cmake -G "MinGW Makefiles" -DCMAKE_INSTALL_PREFIX=%prefix%
mingw32-make
mingw32-make install
ZLib (MSYS)
===========
mingw32-make -fwin32/makefile.gcc SHAREDLIB=libz.dll
mkdir -p %prefix%/bin
mkdir -p %prefix%/include
mkdir -p %prefix%/lib
cp libz.dll %prefix%/bin
cp zlib.h %prefix%include
cp lib.dll.a %prefix%/lib
JPEG (MSYS)
===========
../configure --prefix=%prefix%
make
make install
PNG (CMake)
==========
cmake -G "MinGW Makefiles"
-DZLIB_ROOT=%prefix%\lib
-DPNG_TESTS=OFF
-DCMAKE_INSTALL_PREFIX=%prefix%
mingw32-make
mingw32-make install
TIFF (MSYS)
===========
../configure --prefix=%prefix%
--with-zlib-include-dir=%prefix%/include
--with-zlib-lib-dir=%prefix%/lib
--with-jpeg-include-dir=%prefix%/include
--with-jpeg-lib-dir=%prefix%/lib
make
make install
Boost
=====
Open buildenv.bat and cd to boost dir
booststrap.bat gcc --prefix=Z:\
b2 toolset=gcc release
b2 toolset=gcc --prefix=Z:\ --variant=release --layout=tagged install
OpenEXR (CMake)
===============
// Build IlmBase
cmake -G "MinGW Makefiles"
-DCMAKE_INSTALL_PREFIX=%prefix%
-DNAMESPACE_VERSIONING=OFF
mingw32-make
mingw32-make install
// Build OpenEXR
Needs a modification, see https://github.com/openexr/openexr/issues/95
Edit IlmImf/ImfSystemSpecific.h, line 57 replace #ifdef __GNUC__ with
#if defined(__GNUC__) && !defined(__MINGW32__)
set path=%prefix\bin;%path%
set path=%prefix%\lib;%path%
cmake -G "MinGW Makefiles"
-DZLIB_ROOT="%prefix%"
-DILMBASE_PACKAGE_PREFIX="%prefix%"
-DCMAKE_INSTALL_PREFIX="%prefix%"
-DCMAKE_CXX_FLAGS="-fpermissive"
-DNAMESPACE_VERSIONING=OFF
mingw32-make
mingw32-make install
!!! OpenEXR.pc was not created, I had to create it manually in
/build/lib/pkgconfig
Content of OpenEXR.pc :
prefix=/build
exec_prefix=/build
libdir=/build/lib
includedir=/build/include
OpenEXR_includedir=@includedir@/OpenEXR
Name: OpenEXR
Description: OpenEXR image library
Version: 2.2.0
Libs: -L${libdir} -lIlmImf
Cflags: -I${OpenEXR_includedir}
Requires: IlmBase
Libs.private: -lz
SDL (MSYS)
==========
../configure --prefix=/build
make
make install
POV-Ray (MSYS)
==============
// Patches
vfesession.h, vfeplatform.h
#define uint unsigned int
In source folder cd unix
../prebuild.sh
cd ..
export LD_LIBRARY_PATH=%prefix%/lib
export LD_FLAGS=%prefix%/lib
export C_INCLUDE_PATH=%prefix%/include
export CPLUS_INCLUDE_PATH=%prefix%/include
export PATH=%prefix%/bin:$PATH
export PKG_CONFIG_PATH=%prefix%/lib/pkgconfig
../configure COMPILED_BY="your name <e-mail>" LIBS="-L/build/lib
-lboost_system-mt" --prefix=/build
make
make install
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
There was at one point a command line windows povray. I believe it was
official, seem to recall downloading it from the official site.
Probably the relevant Windows console code was long ago removed?
On 11/8/2015 7:11 AM, Rocco wrote:
> Hi!
>
> After some searching, I think I'm on the right path to compile a console version
> of POVRay for Windows using MinGW64. I have all dependencies compiled without
> problem, the problem now is to make changes to use Windows console because the
> source code is configured in the Unix philosophy, using Unix functions for
> console, so unavailable for Windows.
>
> As I have no time to investigate on this right now, I share here my experience
> so far, maybe it will be useful...
>
> Tools and compilers needed
> ==========================
> * MinGW64 from http://mingw-w64.yaxm.org/doku.php
>
> * pkg-config from
>
http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip
> glib :
> http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.28/glib_2.28.1-1_win32.zip
>
> * MSYS Extensions from
> http://sourceforge.net/projects/mingw/files/MSYS/Extension/
> crypt : libcrypt-1.1_1-3-msys-1.0.13-dll-0.tar.lzma
> crypt : crypt-1.1_1-3-msys-1.0.13-bin.tar.lzma
> m4 : m4-1.4.16-2-msys-1.0.17-bin.tar.lzma
> perl : perl-5.8.8-1-msys-1.0.17-bin.tar.lzma
>
> * MSYS Dev from http://sourceforge.net/projects/mingw/files/MSYS/msysdev/
> autoconf : autoconf-2.68-1-msys-1.0.17-bin.tar.lzma
> automake : automake-1.11.1-1-msys-1.0.13-bin.tar.lzma
>
> * MSYS Base from http://sourceforge.net/projects/mingw/files/MSYS/Base/
> bash : bash-3.1.23-1-msys-1.0.18-bin.tar.xz
> coreutils : coreutils-5.97-3-msys-1.0.13-bin.tar.lzma
> coreutils : coreutils-5.97-3-msys-1.0.13-ext.tar.lzma
> findutils : findutils-4.4.2-2-msys-1.0.13-bin.tar.lzma
> gawk : gawk-3.1.7-2-msys-1.0.13-bin.tar.lzma
> grep : grep-2.5.4-2-msys-1.0.13-bin.tar.lzma
> libiconv : libiconv-1.14-1-msys-1.0.17-dll-2.tar.lzma
> gettext : libintl-0.18.1.1-1-msys-1.0.17-dll-8.tar.lzma
> regex : libregex-1.20090805-2-msys-1.0.13-dll-1.tar.lzma
> termcap : libtermcap-0.20050421_1-2-msys-1.0.13-dll-0.tar.lzma
> make : make-3.81-3-msys-1.0.13-bin.tar.lzma
> msys-core : msysCORE-1.0.18-1-msys-1.0.18-bin.tar.lzma
> msys-core : msysCORE-1.0.18-1-msys-1.0.18-ext.tar.lzma
> sed : sed-4.2.1-2-msys-1.0.13-bin.tar.lzma
> termcap : termcap-0.20050421_1-2-msys-1.0.13-bin.tar.lzma
>
> * Microsoft assembler 64 bit MASM (ML64.exe is part of Windows SDK, DDK
> or Visual Studio, I found it in my Visual Studio Express 2013 in
> C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64
>
> * CMake from http://www.cmake.org/
>
> Dependencies
> ============
> Needed
> ======
> boost http://www.boost.org
> zlib http://www.zlib.net/
> jpeg http://www.ijg.org/files/
> png http://www.libpng.org/pub/png/libpng.html
> tiff http://www.remotesensing.org/libtiff/
>
> Optional
> ========
> openexr http://www.openexr.com/
> sdl 1.2 http://www.libsdl.org
>
> Prepare a build environment
> ===========================
> When I build with MinGW, I always have this directory
> layout :
>
> - The MinGW environment is installed in C:\MinGW.
> - The CMake binaries are extracted in C:\MinGW\CMake
> - The MSYS binaries (all MSYS-related stuff above) are
> extracted in C:\MinGW\MSYS
> => In MSYS, this directory is mapped as /
> - pkg-config and its DLLs can be placed in C:\MinGW\MSYS
> (also copy msys-intl-8.dll to intl.dll in C:\MinGW\MSYS\bin
>
> Run the postinstall\pi.bat script to initialize the environment
> and set some directories (follow the instructions).
>
> After first launch of MSYS, a directory is available : /home/<user>/
> The source code packages go to /home/user/source
> The build directory (with binaries and libs) is /build
>
> So, excluding other files, this is how the directory structure looks like :
> C:\MinGW
> cmake
> mingw64
> msys
> build
> home
> <user>
> source
>
> After installation, I create a .bat file to set environment variables needed
> (for example, to use CMake). This file is buildenv.bat and I place it in
> /home/<user/. When using MSYS, I simply start the MSYS.bat in C:\MinGW\msys.
>
> All the configure scripts have the prefix /build when using MSYS. When building
> with other tools (for example CMake), I map a drive letter (Z) to the /build
> folder.
>
> Build environment (buildenv.bat) file
> =====================================
> @ECHO OFF
> COLOR 1F
> TITLE Build environment
> ECHO Build environment
> ECHO =================
>
> SET PATH=C:\MinGW\msys\build\bin;%PATH%
> SET PATH=C:\MinGW\msys\build\lib;%PATH%
>
> SET PATH=C:\MinGW\mingw64\bin;%PATH%
> SET PATH=C:\MinGW\cmake\bin;%PATH%
> SET PATH=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64
>
> SUBST Z: C:\MinGW\msys\build
>
> CD C:\MinGW\msys\home
> CMD
>
> Install tools
> =============
> MinGW64
> Download from : http://mingw-w64.yaxm.org/doku.php
> mingw-w64-install.exe
>
> => C:\MinGW
>
> MSYS build environment
> Download from : http://sourceforge.net/projects/mingw/files/MSYS/Base/
> => C:\MinGW\MSYS
>
> CMake : http://www.cmake.org/
> => C:\MinGW\CMake
>
> MASM 64 (or compatible assembler) : ml64.exe is included with Windows SDK,
> DDK or Visual Studio.
>
> Directories
> %source% = C:\MinGW\MSYS\home\<user>\source
> %build% = C:\MinGW\MSYS\build
> %mingw% = C:\MinGW
> %prefix% = /build (MSYS), Z:\ (CMake)
>
> Set build virtual drive : subst z: %prefix%
>
> Build environment
> set path=%mingw%\mingw64\bin;%path%
> set path=%mingw%\cmake\bin;%path%
> set path=%mingw%\swig;%path%
>
> Compilation
> ===========
> Please follow the order of dependencies.
>
> ZLib (CMake)
> ============
> cmake -G "MinGW Makefiles" -DCMAKE_INSTALL_PREFIX=%prefix%
> mingw32-make
> mingw32-make install
>
> ZLib (MSYS)
> ===========
> mingw32-make -fwin32/makefile.gcc SHAREDLIB=libz.dll
> mkdir -p %prefix%/bin
> mkdir -p %prefix%/include
> mkdir -p %prefix%/lib
>
> cp libz.dll %prefix%/bin
> cp zlib.h %prefix%include
> cp lib.dll.a %prefix%/lib
>
> JPEG (MSYS)
> ===========
> ../configure --prefix=%prefix%
> make
> make install
>
> PNG (CMake)
> ==========
> cmake -G "MinGW Makefiles"
> -DZLIB_ROOT=%prefix%\lib
> -DPNG_TESTS=OFF
> -DCMAKE_INSTALL_PREFIX=%prefix%
> mingw32-make
> mingw32-make install
>
> TIFF (MSYS)
> ===========
> ../configure --prefix=%prefix%
> --with-zlib-include-dir=%prefix%/include
> --with-zlib-lib-dir=%prefix%/lib
> --with-jpeg-include-dir=%prefix%/include
> --with-jpeg-lib-dir=%prefix%/lib
> make
> make install
>
> Boost
> =====
> Open buildenv.bat and cd to boost dir
> booststrap.bat gcc --prefix=Z:\
> b2 toolset=gcc release
> b2 toolset=gcc --prefix=Z:\ --variant=release --layout=tagged install
>
> OpenEXR (CMake)
> ===============
>
> // Build IlmBase
> cmake -G "MinGW Makefiles"
> -DCMAKE_INSTALL_PREFIX=%prefix%
> -DNAMESPACE_VERSIONING=OFF
> mingw32-make
> mingw32-make install
>
> // Build OpenEXR
> Needs a modification, see https://github.com/openexr/openexr/issues/95
>
> Edit IlmImf/ImfSystemSpecific.h, line 57 replace #ifdef __GNUC__ with
> #if defined(__GNUC__) && !defined(__MINGW32__)
>
> set path=%prefix\bin;%path%
> set path=%prefix%\lib;%path%
>
> cmake -G "MinGW Makefiles"
> -DZLIB_ROOT="%prefix%"
> -DILMBASE_PACKAGE_PREFIX="%prefix%"
> -DCMAKE_INSTALL_PREFIX="%prefix%"
> -DCMAKE_CXX_FLAGS="-fpermissive"
> -DNAMESPACE_VERSIONING=OFF
>
> mingw32-make
> mingw32-make install
>
> !!! OpenEXR.pc was not created, I had to create it manually in
> /build/lib/pkgconfig
>
> Content of OpenEXR.pc :
>
> prefix=/build
> exec_prefix=/build
> libdir=/build/lib
> includedir=/build/include
> OpenEXR_includedir=@includedir@/OpenEXR
>
> Name: OpenEXR
> Description: OpenEXR image library
> Version: 2.2.0
>
> Libs: -L${libdir} -lIlmImf
> Cflags: -I${OpenEXR_includedir}
> Requires: IlmBase
> Libs.private: -lz
>
>
> SDL (MSYS)
> ==========
> ../configure --prefix=/build
> make
> make install
>
> POV-Ray (MSYS)
> ==============
> // Patches
> vfesession.h, vfeplatform.h
> #define uint unsigned int
>
>
> In source folder cd unix
> ../prebuild.sh
> cd ..
> export LD_LIBRARY_PATH=%prefix%/lib
> export LD_FLAGS=%prefix%/lib
> export C_INCLUDE_PATH=%prefix%/include
> export CPLUS_INCLUDE_PATH=%prefix%/include
> export PATH=%prefix%/bin:$PATH
> export PKG_CONFIG_PATH=%prefix%/lib/pkgconfig
> ../configure COMPILED_BY="your name <e-mail>" LIBS="-L/build/lib
> -lboost_system-mt" --prefix=/build
> make
> make install
>
>
>
>
>
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Before someone beats me to it, I may be remembering running the DOS
executable in a Windows command prompt, maybe not a Windows console
program. Still would the console code from then be any way relevant?
Is it still available?
On 11/8/2015 11:00 AM, Tim H wrote:
> There was at one point a command line windows povray. I believe it was
> official, seem to recall downloading it from the official site. Probably
> the relevant Windows console code was long ago removed?
>
> On 11/8/2015 7:11 AM, Rocco wrote:
>> Hi!
>>
>> After some searching, I think I'm on the right path to compile a
>> console version
>> of POVRay for Windows using MinGW64. I have all dependencies compiled
>> without
>> problem, the problem now is to make changes to use Windows console
>> because the
>> source code is configured in the Unix philosophy, using Unix functions
>> for
>> console, so unavailable for Windows.
>>
>> As I have no time to investigate on this right now, I share here my
>> experience
>> so far, maybe it will be useful...
>>
>> Tools and compilers needed
>> ==========================
>> * MinGW64 from http://mingw-w64.yaxm.org/doku.php
>>
>> * pkg-config from
>>
http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip
>>
>> glib :
>> http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.28/glib_2.28.1-1_win32.zip
>>
>>
>> * MSYS Extensions from
>> http://sourceforge.net/projects/mingw/files/MSYS/Extension/
>> crypt : libcrypt-1.1_1-3-msys-1.0.13-dll-0.tar.lzma
>> crypt : crypt-1.1_1-3-msys-1.0.13-bin.tar.lzma
>> m4 : m4-1.4.16-2-msys-1.0.17-bin.tar.lzma
>> perl : perl-5.8.8-1-msys-1.0.17-bin.tar.lzma
>>
>> * MSYS Dev from
>> http://sourceforge.net/projects/mingw/files/MSYS/msysdev/
>> autoconf : autoconf-2.68-1-msys-1.0.17-bin.tar.lzma
>> automake : automake-1.11.1-1-msys-1.0.13-bin.tar.lzma
>>
>> * MSYS Base from http://sourceforge.net/projects/mingw/files/MSYS/Base/
>> bash : bash-3.1.23-1-msys-1.0.18-bin.tar.xz
>> coreutils : coreutils-5.97-3-msys-1.0.13-bin.tar.lzma
>> coreutils : coreutils-5.97-3-msys-1.0.13-ext.tar.lzma
>> findutils : findutils-4.4.2-2-msys-1.0.13-bin.tar.lzma
>> gawk : gawk-3.1.7-2-msys-1.0.13-bin.tar.lzma
>> grep : grep-2.5.4-2-msys-1.0.13-bin.tar.lzma
>> libiconv : libiconv-1.14-1-msys-1.0.17-dll-2.tar.lzma
>> gettext : libintl-0.18.1.1-1-msys-1.0.17-dll-8.tar.lzma
>> regex : libregex-1.20090805-2-msys-1.0.13-dll-1.tar.lzma
>> termcap : libtermcap-0.20050421_1-2-msys-1.0.13-dll-0.tar.lzma
>> make : make-3.81-3-msys-1.0.13-bin.tar.lzma
>> msys-core : msysCORE-1.0.18-1-msys-1.0.18-bin.tar.lzma
>> msys-core : msysCORE-1.0.18-1-msys-1.0.18-ext.tar.lzma
>> sed : sed-4.2.1-2-msys-1.0.13-bin.tar.lzma
>> termcap : termcap-0.20050421_1-2-msys-1.0.13-bin.tar.lzma
>>
>> * Microsoft assembler 64 bit MASM (ML64.exe is part of Windows SDK, DDK
>> or Visual Studio, I found it in my Visual Studio Express 2013 in
>> C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64
>>
>> * CMake from http://www.cmake.org/
>>
>> Dependencies
>> ============
>> Needed
>> ======
>> boost http://www.boost.org
>> zlib http://www.zlib.net/
>> jpeg http://www.ijg.org/files/
>> png http://www.libpng.org/pub/png/libpng.html
>> tiff http://www.remotesensing.org/libtiff/
>>
>> Optional
>> ========
>> openexr http://www.openexr.com/
>> sdl 1.2 http://www.libsdl.org
>>
>> Prepare a build environment
>> ===========================
>> When I build with MinGW, I always have this directory
>> layout :
>>
>> - The MinGW environment is installed in C:\MinGW.
>> - The CMake binaries are extracted in C:\MinGW\CMake
>> - The MSYS binaries (all MSYS-related stuff above) are
>> extracted in C:\MinGW\MSYS
>> => In MSYS, this directory is mapped as /
>> - pkg-config and its DLLs can be placed in C:\MinGW\MSYS
>> (also copy msys-intl-8.dll to intl.dll in C:\MinGW\MSYS\bin
>>
>> Run the postinstall\pi.bat script to initialize the environment
>> and set some directories (follow the instructions).
>>
>> After first launch of MSYS, a directory is available : /home/<user>/
>> The source code packages go to /home/user/source
>> The build directory (with binaries and libs) is /build
>>
>> So, excluding other files, this is how the directory structure looks
>> like :
>> C:\MinGW
>> cmake
>> mingw64
>> msys
>> build
>> home
>> <user>
>> source
>>
>> After installation, I create a .bat file to set environment variables
>> needed
>> (for example, to use CMake). This file is buildenv.bat and I place it in
>> /home/<user/. When using MSYS, I simply start the MSYS.bat in
>> C:\MinGW\msys.
>>
>> All the configure scripts have the prefix /build when using MSYS. When
>> building
>> with other tools (for example CMake), I map a drive letter (Z) to the
>> /build
>> folder.
>>
>> Build environment (buildenv.bat) file
>> =====================================
>> @ECHO OFF
>> COLOR 1F
>> TITLE Build environment
>> ECHO Build environment
>> ECHO =================
>>
>> SET PATH=C:\MinGW\msys\build\bin;%PATH%
>> SET PATH=C:\MinGW\msys\build\lib;%PATH%
>>
>> SET PATH=C:\MinGW\mingw64\bin;%PATH%
>> SET PATH=C:\MinGW\cmake\bin;%PATH%
>> SET PATH=C:\Program Files (x86)\Microsoft Visual Studio
>> 12.0\VC\bin\x86_amd64
>>
>> SUBST Z: C:\MinGW\msys\build
>>
>> CD C:\MinGW\msys\home
>> CMD
>>
>> Install tools
>> =============
>> MinGW64
>> Download from : http://mingw-w64.yaxm.org/doku.php
>> mingw-w64-install.exe
>>
>> => C:\MinGW
>>
>> MSYS build environment
>> Download from : http://sourceforge.net/projects/mingw/files/MSYS/Base/
>> => C:\MinGW\MSYS
>>
>> CMake : http://www.cmake.org/
>> => C:\MinGW\CMake
>>
>> MASM 64 (or compatible assembler) : ml64.exe is included with Windows
>> SDK,
>> DDK or Visual Studio.
>>
>> Directories
>> %source% = C:\MinGW\MSYS\home\<user>\source
>> %build% = C:\MinGW\MSYS\build
>> %mingw% = C:\MinGW
>> %prefix% = /build (MSYS), Z:\ (CMake)
>>
>> Set build virtual drive : subst z: %prefix%
>>
>> Build environment
>> set path=%mingw%\mingw64\bin;%path%
>> set path=%mingw%\cmake\bin;%path%
>> set path=%mingw%\swig;%path%
>>
>> Compilation
>> ===========
>> Please follow the order of dependencies.
>>
>> ZLib (CMake)
>> ============
>> cmake -G "MinGW Makefiles" -DCMAKE_INSTALL_PREFIX=%prefix%
>> mingw32-make
>> mingw32-make install
>>
>> ZLib (MSYS)
>> ===========
>> mingw32-make -fwin32/makefile.gcc SHAREDLIB=libz.dll
>> mkdir -p %prefix%/bin
>> mkdir -p %prefix%/include
>> mkdir -p %prefix%/lib
>>
>> cp libz.dll %prefix%/bin
>> cp zlib.h %prefix%include
>> cp lib.dll.a %prefix%/lib
>>
>> JPEG (MSYS)
>> ===========
>> ../configure --prefix=%prefix%
>> make
>> make install
>>
>> PNG (CMake)
>> ==========
>> cmake -G "MinGW Makefiles"
>> -DZLIB_ROOT=%prefix%\lib
>> -DPNG_TESTS=OFF
>> -DCMAKE_INSTALL_PREFIX=%prefix%
>> mingw32-make
>> mingw32-make install
>>
>> TIFF (MSYS)
>> ===========
>> ../configure --prefix=%prefix%
>> --with-zlib-include-dir=%prefix%/include
>> --with-zlib-lib-dir=%prefix%/lib
>> --with-jpeg-include-dir=%prefix%/include
>> --with-jpeg-lib-dir=%prefix%/lib
>> make
>> make install
>>
>> Boost
>> =====
>> Open buildenv.bat and cd to boost dir
>> booststrap.bat gcc --prefix=Z:\
>> b2 toolset=gcc release
>> b2 toolset=gcc --prefix=Z:\ --variant=release --layout=tagged install
>>
>> OpenEXR (CMake)
>> ===============
>>
>> // Build IlmBase
>> cmake -G "MinGW Makefiles"
>> -DCMAKE_INSTALL_PREFIX=%prefix%
>> -DNAMESPACE_VERSIONING=OFF
>> mingw32-make
>> mingw32-make install
>>
>> // Build OpenEXR
>> Needs a modification, see https://github.com/openexr/openexr/issues/95
>>
>> Edit IlmImf/ImfSystemSpecific.h, line 57 replace #ifdef __GNUC__ with
>> #if defined(__GNUC__) && !defined(__MINGW32__)
>>
>> set path=%prefix\bin;%path%
>> set path=%prefix%\lib;%path%
>>
>> cmake -G "MinGW Makefiles"
>> -DZLIB_ROOT="%prefix%"
>> -DILMBASE_PACKAGE_PREFIX="%prefix%"
>> -DCMAKE_INSTALL_PREFIX="%prefix%"
>> -DCMAKE_CXX_FLAGS="-fpermissive"
>> -DNAMESPACE_VERSIONING=OFF
>>
>> mingw32-make
>> mingw32-make install
>>
>> !!! OpenEXR.pc was not created, I had to create it manually in
>> /build/lib/pkgconfig
>>
>> Content of OpenEXR.pc :
>>
>> prefix=/build
>> exec_prefix=/build
>> libdir=/build/lib
>> includedir=/build/include
>> OpenEXR_includedir=@includedir@/OpenEXR
>>
>> Name: OpenEXR
>> Description: OpenEXR image library
>> Version: 2.2.0
>>
>> Libs: -L${libdir} -lIlmImf
>> Cflags: -I${OpenEXR_includedir}
>> Requires: IlmBase
>> Libs.private: -lz
>>
>>
>> SDL (MSYS)
>> ==========
>> ../configure --prefix=/build
>> make
>> make install
>>
>> POV-Ray (MSYS)
>> ==============
>> // Patches
>> vfesession.h, vfeplatform.h
>> #define uint unsigned int
>>
>>
>> In source folder cd unix
>> ../prebuild.sh
>> cd ..
>> export LD_LIBRARY_PATH=%prefix%/lib
>> export LD_FLAGS=%prefix%/lib
>> export C_INCLUDE_PATH=%prefix%/include
>> export CPLUS_INCLUDE_PATH=%prefix%/include
>> export PATH=%prefix%/bin:$PATH
>> export PKG_CONFIG_PATH=%prefix%/lib/pkgconfig
>> ../configure COMPILED_BY="your name <e-mail>" LIBS="-L/build/lib
>> -lboost_system-mt" --prefix=/build
>> make
>> make install
>>
>>
>>
>>
>>
>
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
> Before someone beats me to it, I may be remembering running the DOS
> executable in a Windows command prompt, maybe not a Windows console
> program. Still would the console code from then be any way relevant? Is
> it still available?
>
After it was discovered that someone made a comercial graphic product
that used POV-Ray from the command line, WITHOUT giving proper credit
and without asking, that possibility was totaly removed.
Good news: It's on the To-Do list for future versions.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Am 08.11.2015 um 19:05 schrieb Tim H:
> Before someone beats me to it, I may be remembering running the DOS
> executable in a Windows command prompt, maybe not a Windows console
> program. Still would the console code from then be any way relevant? Is
> it still available?
There is still exists a bit of dedicated Windows Console code, and even
a "Console" project in the Visual Studio solution; it's normally
deactivated, and it hasn't seen much maintenance, but I had given it
some resuscitation once during the 3.7 beta phase, so I guess it should
be comparatively easy to bring it back to full life. Some CPR
accompanied by liberal application of Epinephrine, and it should be as
good as new.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
In article <web.563f581a405ef3d9a6fce6540@news.povray.org>,
nomail@nomail says...
>
> Hi!
>
> After some searching, I think I'm on the right path to compile a console version
> of POVRay for Windows using MinGW64. I have all dependencies compiled without
> problem, the problem now is to make changes to use Windows console because the
> source code is configured in the Unix philosophy, using Unix functions for
> console, so unavailable for Windows.
>
> As I have no time to investigate on this right now, I share here my experience
> so far, maybe it will be useful...
I think building under MinGW64 using the Unix front end is The Right Way
to go. You pick up all the switch parsing; common code base. Way back,
I built my posdos3.1 that way. Plus, we avoid this crap where the M$
version only builds with a compiler no longer available.
As long as there's no Windows Loop needed, this is better.
Do you have povray built like this with the unix front end?
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
> Do you have povray built like this with the unix front end?
No, the console functions POVRay uses are specific to Unix, there is some work
to do to remove all the unix-oriented functions. Maybe with Cygwin the result is
better but now I don't have time to spend on this.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Following this discussion, maybe someone will be interested. This will not be
the latest version but this week I switched on my old computer and. I found my
build scripts of POVRay 3.61 on MinGW32. I recompiled this with my MinGW64
environment and the result is a command-line POVRay version that renders as
expected. The build scripts is mostly inspired by what you see above. If there
is demand about binaries, I can host it on my OneDrive for example. Even if 3.7
is out now, 3.61 is still usable and feature-rich...
This build works and renders as expected. You should only be careful about file
paths (add them in the .INI for example).
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
|
|