Ultra Defragmenter  6.0.2

Architecture - Reference Manual - Guides
Compilation

UltraDefrag libraries written in C use the variadic macros feature defined in the C99 standard. Because the compiled binaries must be compatible with all the Windows editions starting with NT 4.0 a combination of two compilers is needed to build UltraDefrag: MinGW is used to build 32-bit binaries, Windows Driver Kit v7.1.0 is used for 64-bit binaries production.

MinGW needs to be patched to be able to compile UltraDefrag. Type build –help (see below) for details.

You can download the MinGW Developer Studio, if you need a fully functional development environment for MinGW. To build project files for it go to /src directory of the source tree and type:

lua tools\make-mingw-projects.lua

In addition to the compilers a few other packages need to be installed as well:

  • Install NSIS, 7-zip, Doxygen and optionally "Lua for Windows" and MiKTeX.
  • If you did not install "Lua for Windows", extract Lua, IUP and CD to some directory on your %PATH%, e.g. to C:\Windows.
  • Place md5sum.exe into the src\tools folder of the source code distribution.
  • Extract upx.exe into the src\tools\upx folder of the source code distribution.

To properly set up the build environment type:

lua configure.lua
config.lua.png

To build UltraDefrag using defaults type:

build

To list all of the supported options type:

build --help

To select one of the predefined build actions type:

build-menu

If you'd like to know, how the build process works, look at .cmd files - they contain the complete information.

If you are using MinGW Developer Studio, note that you cannot build proper .a files directly from IDE. So, when you change some DLL entries, you need to rebuild all to make these changes visible from other modules.