On 23/07/14 16:13, Jose Fonseca wrote: > On 23/07/14 04:31, Emil Velikov wrote: >> TODO: >> - Fill in the missing sections. >> - Move to a better place. >> - Double-check for typos and thinkos. >> >> Signed-off-by: Emil Velikov <emil.l.veli...@gmail.com> >> --- >> README_WIN.txt | 157 >> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ >> 1 file changed, 157 insertions(+) >> create mode 100644 README_WIN.txt >> >> diff --git a/README_WIN.txt b/README_WIN.txt >> new file mode 100644 >> index 0000000..3665259 >> --- /dev/null >> +++ b/README_WIN.txt >> @@ -0,0 +1,157 @@ >> +Build Requirements >> +================== >> + >> +Windows >> +------- >> + >> +Cross-building under Linux >> +-------------------------- >> + >> +Waffle uses CMake for it build system. >> + >> + Archlinux: pacman -S cmake >> + Fedora 17: yum install cmake >> + Debian: apt-get install cmake >> + >> +The MinGW-W64 cross-build toolchain is recommended and its CMake wrapper. >> + >> + Archlinux: pacman -S mingw-w64-gcc mingw-w64-cmake (latter is in AUR) >> + Fedora 17: yum install FINISHME >> + Debian: apt-get install FINISHME >> + >> + >> +Native builds >> +------------- >> + >> + Waffle is heavily requires on the C99 standard. As such only reasonable >> + compiler (at the time of writing) from the Microsoft Visual Compiler >> + series is MSVC 2013. Building with older versions is likely to be >> broken. >> + >> + Waffle is not tested to build under CYGWIN. The build is likely to be >> + broken. Patches addressing it are more than welcome. >> + >> + >> +Installing >> +========== >> + >> +For full details on configuring, building, and installing Waffle, see >> +/doc/building.txt. What follows is a quick how-to. >> + >> + >> +0. Be in the correct directory >> +------------------------------ >> + >> + git clone git://github.com/waffle-gl/waffle >> + cd waffle >> + >> +or >> + >> + tar xvf waffle-0.0.0.tar.xz >> + cd waffle-0.0.0 >> + >> + >> +1. Configure >> +------------ >> + >> + Currently tests are known to be broken. Make sure to pass the following >> + cofigure option to avoid building them `-Dwaffle_build_tests=0` >> + >> +Cross-building under Linux >> +-------------------------- >> + >> + _architectures="i686-w64-mingw32 x86_64-w64-mingw32" >> + unset LDFLAGS >> + for _arch in ${_architectures}; do >> + _install_prefix=/usr/${_arch} >> + mkdir -p build-${_arch} && pushd build-${_arch} >> + ${_arch}-cmake .. \ >> + -DCMAKE_INSTALL_PREFIX=${_install_prefix} \ >> + -DCMAKE_INSTALL_LIBDIR=${_install_prefix}/lib \ >> + -DCMAKE_BUILD_TYPE=Release \ >> + \ >> + -Dwaffle_build_tests=0 \ >> + -Dwaffle_build_manpages=0 \ >> + -Dwaffle_build_htmldocs=0 \ >> + -Dwaffle_build_examples=1 >> + make >> + popd >> + done >> + >> + Make sure to adjust _install_prefix to "" if the resulting library will >> + not be used for further cross-building. >> + >> + >> +Native builds >> +------------- >> + >> + @if "%VS120COMNTOOLS%"=="" exit /b 127 > >> + call "%VS120COMNTOOLS%\..\..\VC\vcvarsall.bat" x86 > > This is unnecessary when using "Visual Studio 12" or ""Visual Studio 12 Win64" > generators -- cmake will call this batch file internally already. > >> + >> + cmake -G "Visual Studio 12" -H%CD% -B%CD%\build\msvc32 >> -DCMAKE_INSTALL_PREFIX="" >> + @if %errorlevel% neq 0 exit /b %errorlevel% >> + >> + call "%VS120COMNTOOLS%\..\..\VC\vcvarsall.bat" x64 >> + >> + cmake -G "Visual Studio 12" -H%CD% -B%CD%\build\msvc64 >> -DCMAKE_INSTALL_PREFIX="" >> + @if %errorlevel% neq 0 exit /b %errorlevel% > > "Visual Studio 12" -> "Visual Studio 12 Win64" > >> + >> + If building a Windows XP compatible library make sure to add >> + `-T "v120_xp"` after the generator. For example: >> + cmake -G "Visual Studio 12" -T "v120_xp" -H%CD% ... >> + >> + >> +3. Build and Install >> +-------------------- >> + >> + >> +Cross-building under Linux >> +-------------------------- >> + >> + _architectures="i686-w64-mingw32 x86_64-w64-mingw32" >> + unset LDFLAGS >> + for _arch in ${_architectures}; do >> + pushd build-${_arch} >> + make >> + make install >> + popd >> + done >> + >> + Note: Running tests (make check and make check-func) are not tested but >> + may work if the approapriate environment is setup via wine. >> + >> + >> + >> +Native builds >> +------------- >> + >> + @if "%VS120COMNTOOLS%"=="" exit /b 127 >> + call "%VS120COMNTOOLS%\..\..\VC\vcvarsall.bat" x86 >> + >> + cmake --build %CD%\build\msvc32 --config Debug %* >> + @if %errorlevel% neq 0 exit /b %errorlevel% >> + >> + call "%VS120COMNTOOLS%\..\..\VC\vcvarsall.bat" x64 >> + >> + cmake --build %CD%\build\msvc64 --config Debug %* >> + @if %errorlevel% neq 0 exit /b %errorlevel% > > Isn't this duplicate info? > > Instead of breaking things into "build" "install" and "package", I'd first > break things into platform, and then, internally split into build install > package. Otherwise people need to jump back forth alot unnecessarily. Plus > there's a lof of duplication. > Indeed it does. This is a mere copy-paste from the current README. Will need to see with Chad what his plans are on the topic, as waffle currently forwards people to ./doc/building.txt which seems to be missing on my tree.
Thanks for all the comments. Emil >> + >> +4. Package >> +---------- >> + >> +Cross-building under Linux >> +-------------------------- >> + >> + _architectures="i686-w64-mingw32 x86_64-w64-mingw32" >> + unset LDFLAGS >> + for _arch in ${_architectures}; do >> + pushd build-${_arch} >> + make package >> + popd >> + done >> + >> + >> +Native builds >> +------------- >> + >> + WRITE ME >> > _______________________________________________ waffle mailing list waffle@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/waffle