]> pd.if.org Git - liblfds/blob - liblfds/liblfds6.0.1/liblfds601/runme_before_win_kernel_build_readme.txt
Initial import (all versions, including the new 7.1.0)
[liblfds] / liblfds / liblfds6.0.1 / liblfds601 / runme_before_win_kernel_build_readme.txt
1 The Windows kernel build environment is primitive and has a number\r
2 of severe limitations; in particular, all source files must be in\r
3 one directory and it is not possible to choose the output binary type\r
4 (static or dynamic library) from the build command line; rather,\r
5 a string has to be modified in a text file used by the build (!)\r
6 \r
7 To deal with these limitations, it is necessary for a Windows kernel\r
8 build to run a batch file prior to building.\r
9 \r
10 There are two batch files, one for static library builds and the other\r
11 for dynamic library builds.\r
12 \r
13 They are both idempotent; you can run them as often as you like and\r
14 switch between them as often as you want.  It's all fine; whenever\r
15 you run one of them, it will take you from whatever state you were\r
16 previously in, into the state you want to be in.\r
17 \r
18 Both batch files copy all the sources file into a single directory,\r
19 "/src/single_dir_for_windows_kernel/".\r
20 \r
21 The static library batch file will then copy "/sources.static" into\r
22 "/src/single_dir_for_windows_kernel/", which will cause a static\r
23 library to be built.\r
24 \r
25 The dynamic library batch file will then copy "/sources.dynamic" into\r
26 "/src/single_dir_for_windows_kernel/", which will cause a dynamic\r
27 library to be built.  It will also copy "src/driver_entry.c" into\r
28 "/src/single_dir_for_windows_kernel/", since the linker requires\r
29 the DriverEntry function to exist for dynamic libraries, even\r
30 though it's not used.\r
31 \r
32 \r