![]() |
Ultra Defragmenter Architecture - Reference Manual - Guides |
|
You may download all listed tools from this location. In case when the installer is provided for an appropriate tool, just install it. Otherwise unpack provided archive into any directory, specified in your path environment variable. If you are in trouble, just unpack archives to C:\WINDOWS, in other words, in folder where you have Windows installed.
If you are using the latest version of MinGW, don't be surprised when undefined reference to __strtod error message appears during the compilation. This is because the following patch applied to MinGW is incompatible with msvcrt.dll library which is used by the Ultra Defragmenter. We hope this mistake will be resolved in future by MinGW team.
A primary use of GCC is conditioned by its stability. For 64-bit compilation we are using the Microsoft C compiler included in Windows Server 2003 DDK.
When you build dynamic libraries from the MinGW Developer Studio, note that the resulting *.a files are invalid. This is because I don't know how to specify linker options properly in Developer Studio's project files.
You can also use the Microsoft Visual Studio 6.0 for the compilation, though this way is obsolete and much more complicated. Download UltraDefrag sources for some earlier version (approx. 3.3.0) to find detailed instructions there.
To achieve better compression we are using also UPX to compress an installer by adding the following line to nsisconf.nsh file:
!packhdr temp.dat '"C:\WINDOWS\upx" -9 -q temp.dat'
This command is optional, but it really reduces the size of the installer.
First of all, download sources archive and unpack it somewhere (path must not contain spaces). Than configure the build options by typing the following command:
lua configure.lua
Enter the paths to development tools and other options here. If you prefer to use MinGW, check also the Apply patch to MinGW box and click OK to replace libntdll.a and libntoskrnl.a libraries included in MinGW with more adequate versions. Replaced files will be saved with an additional suffix '.orig'.
The screenshot above represents only the actual options which gives us the best compilation result. To configure all available options, including obsolete and experimental, type:
lua configure.lua --all
There are four different build commands:
To build UltraDefrag type:
build
To display list of available build options type:
build --help
If you have any questions regarding details of the build process, just look at appropriate script contents. Sure you'll find an answer.