POV-Ray : Newsgroups : povray.windows : povdos needed : Re: povdos needed Server Time
23 Apr 2024 06:25:04 EDT (-0400)
  Re: povdos needed  
From: Tim H
Date: 8 Nov 2015 13:05:41
Message: <563f8ef5$1@news.povray.org>
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

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.