How to compile fio on 64-bit Windows:
1. Install Cygwin (http://www.cygwin.com/). Install **make** and all
- packages starting with **mingw64-i686** and **mingw64-x86_64**.
+ packages starting with **mingw64-i686** and **mingw64-x86_64**. Ensure
+ **mingw64-i686-zlib** and **mingw64-x86_64-zlib** are installed if you wish
+ to enable fio's log compression functionality.
2. Open the Cygwin Terminal.
3. Go to the fio directory (source files).
4. Run ``make clean && make -j``.
-clone_depth: 1
+clone_depth: 1 # NB: this stops FIO-VERSION-GEN making tag based versions
+
environment:
CYG_MIRROR: http://cygwin.mirror.constant.com
CYG_ROOT: C:\cygwin64
MAKEFLAGS: -j 2
matrix:
- - platform: x86_64
- BUILD_ARCH: x64
+ - platform: x64
PACKAGE_ARCH: x86_64
CONFIGURE_OPTIONS:
- platform: x86
- BUILD_ARCH: x86
PACKAGE_ARCH: i686
CONFIGURE_OPTIONS: --build-32bit-win
install:
- '%CYG_ROOT%\setup-x86_64.exe --quiet-mode --no-shortcuts --only-site --site "%CYG_MIRROR%" --packages "mingw64-%PACKAGE_ARCH%-zlib" > NULL'
+ - SET PATH=%CYG_ROOT%\bin;%PATH% # NB: Changed env variables persist to later sections
build_script:
- - SET PATH=%CYG_ROOT%\bin;%PATH%
- 'bash.exe -lc "cd \"${APPVEYOR_BUILD_FOLDER}\" && ./configure --extra-cflags=\"-Werror\" ${CONFIGURE_OPTIONS} && make.exe'
after_build:
- - cd os\windows && dobuild.cmd %BUILD_ARCH%
+ - cd os\windows && dobuild.cmd %PLATFORM%
test_script:
- - SET PATH=%CYG_ROOT%\bin;%PATH%
- 'bash.exe -lc "cd \"${APPVEYOR_BUILD_FOLDER}\" && file.exe fio.exe && make.exe test'
artifacts:
if test -z "${CC}${cross_prefix}"; then
if test ! -z "$build_32bit_win" && test "$build_32bit_win" = "yes"; then
cc="i686-w64-mingw32-gcc"
- if test -e "../zlib/contrib/vstudio/vc14/x86/ZlibStatReleaseWithoutAsm/zlibstat.lib"; then
- echo "Building with zlib support"
- output_sym "CONFIG_ZLIB"
- echo "LIBS=../zlib/contrib/vstudio/vc14/x86/ZlibStatReleaseWithoutAsm/zlibstat.lib" >> $config_host_mak
- fi
else
cc="x86_64-w64-mingw32-gcc"
- if test -e "../zlib/contrib/vstudio/vc14/x64/ZlibStatReleaseWithoutAsm/zlibstat.lib"; then
- echo "Building with zlib support"
- output_sym "CONFIG_ZLIB"
- echo "LIBS=../zlib/contrib/vstudio/vc14/x64/ZlibStatReleaseWithoutAsm/zlibstat.lib" >> $config_host_mak
- fi
fi
fi
if test ! -z "$build_32bit_win" && test "$build_32bit_win" = "yes"; then
static_assert="yes"
ipv6="yes"
mkdir_two="no"
- echo "BUILD_CFLAGS=$CFLAGS -I../zlib -include config-host.h -D_GNU_SOURCE" >> $config_host_mak
+ echo "BUILD_CFLAGS=$CFLAGS -include config-host.h -D_GNU_SOURCE" >> $config_host_mak
;;
esac
set /a counter+=1\r
)\r
\r
+for /f "tokens=2 delims=-" %%i in ("%FIO_VERSION%") do (\r
+ set FIO_VERSION_NUMBERS=%%i\r
+)\r
+\r
+if not defined FIO_VERSION_NUMBERS (\r
+ echo Could not find version numbers in the string '%FIO_VERSION%'\r
+ echo Expected version to follow format 'fio-^([0-9]+.[0-9.]+^)'\r
+ goto end\r
+)\r
+\r
if "%1"=="x86" set FIO_ARCH=x86\r
if "%1"=="x64" set FIO_ARCH=x64\r
\r
goto end\r
)\r
\r
-"%WIX%bin\candle" -nologo -arch %FIO_ARCH% install.wxs\r
+"%WIX%bin\candle" -nologo -arch %FIO_ARCH% -dFioVersionNumbers="%FIO_VERSION_NUMBERS%" install.wxs\r
@if ERRORLEVEL 1 goto end\r
"%WIX%bin\candle" -nologo -arch %FIO_ARCH% examples.wxs\r
@if ERRORLEVEL 1 goto end\r
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
- <?if $(env.FIO_ARCH) = x86 ?>
+ <?if $(sys.BUILDARCH) = x86 ?>
<?define ProgramDirectory = ProgramFilesFolder ?>
<?else?>
<?define ProgramDirectory = ProgramFiles64Folder ?>
<Product Id="*"
Codepage="1252" Language="1033"
Manufacturer="fio" Name="fio"
- UpgradeCode="2338A332-5511-43CF-B9BD-5C60496CCFCC" Version="3.5">
+ UpgradeCode="2338A332-5511-43CF-B9BD-5C60496CCFCC" Version="$(var.FioVersionNumbers)">
<Package
- Description="Flexible IO Tester"
+ Description="Flexible I/O Tester"
InstallerVersion="301" Keywords="Installer,MSI,Database"
Languages="1033" Manufacturer="fio"
InstallScope="perMachine" InstallPrivileges="elevated" Compressed="yes"/>
</Directory>
</Directory>
- <Feature Id="AlwaysInstall" Absent="disallow" ConfigurableDirectory="INSTALLDIR" Display="hidden" Level="1" Title="Flexible IO Tester">
+ <Feature Id="AlwaysInstall" Absent="disallow" ConfigurableDirectory="INSTALLDIR" Display="hidden" Level="1" Title="Flexible I/O Tester">
<ComponentRef Id="fio.exe"/>
<ComponentRef Id="HOWTO"/>
<ComponentRef Id="README"/>