Subversion Repositories Kolibri OS

Rev

Rev 8905 | Rev 8908 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 8905 Rev 8907
1
-- Do nothing unless explicitly requested in tup.config.
1
-- Do nothing unless explicitly requested in tup.config.
2
build_type = tup.getconfig('BUILD_TYPE')
2
build_type = tup.getconfig('BUILD_TYPE')
3
if build_type == "" then
3
if build_type == "" then
4
  return
4
  return
5
end
5
end
6
 
6
 
7
--[================================[ DATA ]================================]--
7
--[================================[ DATA ]================================]--
8
 
8
 
9
PROGS = "../programs"
9
PROGS = "../programs"
10
 
10
 
11
-- Static data that doesn't need to be compiled
11
-- Static data that doesn't need to be compiled
12
-- Files to be included in kolibri.img.
12
-- Files to be included in kolibri.img.
13
-- The first subitem of every item is name inside kolibri.img, the second is name of local file.
13
-- The first subitem of every item is name inside kolibri.img, the second is name of local file.
14
img_files = {
14
img_files = {
15
 {"MACROS.INC", PROGS .. "/macros.inc"},
15
 {"MACROS.INC", PROGS .. "/macros.inc"},
16
 {"CONFIG.INC", PROGS .. "/config.inc"},
16
 {"CONFIG.INC", PROGS .. "/config.inc"},
17
 {"STRUCT.INC", PROGS .. "/struct.inc"},
17
 {"STRUCT.INC", PROGS .. "/struct.inc"},
18
 {"FB2READ", "common/fb2read"},
18
 {"FB2READ", "common/fb2read"},
19
 {"ALLGAMES", "common/allgames"},
19
 {"ALLGAMES", "common/allgames"},
20
 {"HOME.PNG", "common/wallpapers/home.png"},
20
 {"HOME.PNG", "common/wallpapers/home.png"},
21
 {"ICONS32.PNG", "common/icons32.png"},
21
 {"ICONS32.PNG", "common/icons32.png"},
22
 {"ICONS16.PNG", "common/icons16.png"},
22
 {"ICONS16.PNG", "common/icons16.png"},
23
 {"INDEX.HTM", "common/index_htm"},
23
 {"INDEX.HTM", "common/index_htm"},
24
 {"KUZKINA.MID", "common/kuzkina.mid"},
24
 {"KUZKINA.MID", "common/kuzkina.mid"},
25
 {"SINE.MP3", "common/sine.mp3"},
25
 {"SINE.MP3", "common/sine.mp3"},
26
 {"LANG.INC", build_type .. "/lang.inc"},
26
 {"LANG.INC", build_type .. "/lang.inc"},
27
 {"NOTIFY3.PNG", "common/notify3.png"},
27
 {"NOTIFY3.PNG", "common/notify3.png"},
28
 {"UNIMG", PROGS .. "/fs/unimg/unimg"},
28
 {"UNIMG", PROGS .. "/fs/unimg/unimg"},
29
 {"3D/HOUSE.3DS", "common/3d/house.3ds"},
29
 {"3D/HOUSE.3DS", "common/3d/house.3ds"},
30
 {"File Managers/KFM2", "common/File Managers/kfm2"},
30
 {"File Managers/KFM2", "common/File Managers/kfm2"},
31
 {"File Managers/ICONS.INI", "common/File Managers/icons.ini"},
31
 {"File Managers/ICONS.INI", "common/File Managers/icons.ini"},
32
 {"File Managers/KFM.INI", "common/File Managers/kfm.ini"},
32
 {"File Managers/KFM.INI", "common/File Managers/kfm.ini"},
33
 {"File Managers/FNAV/ABOUT.TXT", "common/File Managers/fNav/About.txt"},
33
 {"File Managers/FNAV/ABOUT.TXT", "common/File Managers/fNav/About.txt"},
34
 {"File Managers/FNAV/FNAV", "common/File Managers/fNav/fNav.kex"},
34
 {"File Managers/FNAV/FNAV", "common/File Managers/fNav/fNav.kex"},
35
 {"File Managers/FNAV/FNAV.EXT", "common/File Managers/fNav/fnav.ext"},
35
 {"File Managers/FNAV/FNAV.EXT", "common/File Managers/fNav/fnav.ext"},
36
 {"File Managers/FNAV/FNAV.SET", "common/File Managers/fNav/fnav.set"},
36
 {"File Managers/FNAV/FNAV.SET", "common/File Managers/fNav/fnav.set"},
37
 {"File Managers/FNAV/FNAV_CUR.PNG", "common/File Managers/fNav/fnav_cur.png"},
37
 {"File Managers/FNAV/FNAV_CUR.PNG", "common/File Managers/fNav/fnav_cur.png"},
38
 {"File Managers/FNAV/FNAV_FNT.PNG", "common/File Managers/fNav/fnav_fnt.png"},
38
 {"File Managers/FNAV/FNAV_FNT.PNG", "common/File Managers/fNav/fnav_fnt.png"},
39
 {"File Managers/FNAV/FNAV_ICN.PNG", "common/File Managers/fNav/fnav_icn.png"},
39
 {"File Managers/FNAV/FNAV_ICN.PNG", "common/File Managers/fNav/fnav_icn.png"},
40
 {"FONTS/TAHOMA.KF", "common/fonts/tahoma.kf"},
40
 {"FONTS/TAHOMA.KF", "common/fonts/tahoma.kf"},
41
 {"LIB/ICONV.OBJ", "common/lib/iconv.obj"},
41
 {"LIB/ICONV.OBJ", "common/lib/iconv.obj"},
42
 {"LIB/KMENU.OBJ", "common/lib/kmenu.obj"},
42
 {"LIB/KMENU.OBJ", "common/lib/kmenu.obj"},
43
 {"LIB/NETCODE.OBJ", "common/lib/netcode.obj"},
43
 {"LIB/NETCODE.OBJ", "common/lib/netcode.obj"},
44
 {"LIB/PIXLIB.OBJ", "common/lib/pixlib.obj"},
44
 {"LIB/PIXLIB.OBJ", "common/lib/pixlib.obj"},
45
 {"MEDIA/IMGF/IMGF", "common/media/ImgF/ImgF"},
45
 {"MEDIA/IMGF/IMGF", "common/media/ImgF/ImgF"},
46
 {"MEDIA/IMGF/CEDG.OBJ", "common/media/ImgF/cEdg.obj"},
46
 {"MEDIA/IMGF/CEDG.OBJ", "common/media/ImgF/cEdg.obj"},
47
 {"MEDIA/IMGF/DITHER.OBJ", "common/media/ImgF/dither.obj"},
47
 {"MEDIA/IMGF/DITHER.OBJ", "common/media/ImgF/dither.obj"},
48
 {"MEDIA/IMGF/INVSOL.OBJ", "common/media/ImgF/invSol.obj"},
48
 {"MEDIA/IMGF/INVSOL.OBJ", "common/media/ImgF/invSol.obj"},
49
 {"MEDIA/PIXIESKN.PNG", PROGS .. "/cmm/pixie2/pixieskn.png"},
49
 {"MEDIA/PIXIESKN.PNG", PROGS .. "/cmm/pixie2/pixieskn.png"},
50
 {"NETWORK/FTPC.INI", PROGS .. "/network/ftpc/ftpc.ini"},
50
 {"NETWORK/FTPC.INI", PROGS .. "/network/ftpc/ftpc.ini"},
51
 {"NETWORK/FTPD.INI", "common/network/ftpd.ini"},
51
 {"NETWORK/FTPD.INI", "common/network/ftpd.ini"},
52
 {"NETWORK/USERS.INI", "common/network/users.ini"},
52
 {"NETWORK/USERS.INI", "common/network/users.ini"},
53
 {"NETWORK/FTPC_SYS.PNG", PROGS .. "/network/ftpc/ftpc_sys.png"},
53
 {"NETWORK/FTPC_SYS.PNG", PROGS .. "/network/ftpc/ftpc_sys.png"},
54
 {"NETWORK/FTPC_NOD.PNG", PROGS .. "/network/ftpc/ftpc_nod.png"},
54
 {"NETWORK/FTPC_NOD.PNG", PROGS .. "/network/ftpc/ftpc_nod.png"},
55
 {"SETTINGS/APP.INI", "common/settings/app.ini"},
55
 {"SETTINGS/APP.INI", "common/settings/app.ini"},
56
 {"SETTINGS/APP_PLUS.INI", "common/settings/app_plus.ini"},
56
 {"SETTINGS/APP_PLUS.INI", "common/settings/app_plus.ini"},
57
 {"SETTINGS/ASSOC.INI", "common/settings/assoc.ini"},
57
 {"SETTINGS/ASSOC.INI", "common/settings/assoc.ini"},
58
 {"SETTINGS/AUTORUN.DAT", "common/settings/AUTORUN.DAT"},
58
 {"SETTINGS/AUTORUN.DAT", "common/settings/AUTORUN.DAT"},
59
 {"SETTINGS/CEDIT.INI", PROGS .. "/develop/cedit/CEDIT.INI"},
59
 {"SETTINGS/CEDIT.INI", PROGS .. "/develop/cedit/CEDIT.INI"},
60
 {"SETTINGS/DOCKY.INI", "common/settings/docky.ini"},
60
 {"SETTINGS/DOCKY.INI", "common/settings/docky.ini"},
61
 {"SETTINGS/FB2READ.INI", "common/settings/fb2read.ini"},
61
 {"SETTINGS/FB2READ.INI", "common/settings/fb2read.ini"},
62
 {"SETTINGS/HOTANGLES.CFG", PROGS .. "/other/ha/SETTINGS/HOTANGLES.CFG"},
62
 {"SETTINGS/HOTANGLES.CFG", PROGS .. "/other/ha/SETTINGS/HOTANGLES.CFG"},
63
 {"SETTINGS/ICON.INI", build_type .. "/settings/icon.ini"},
63
 {"SETTINGS/ICON.INI", build_type .. "/settings/icon.ini"},
64
 {"SETTINGS/KEYMAP.KEY", PROGS .. "/system/taskbar/trunk/KEYMAP.KEY"},
64
 {"SETTINGS/KEYMAP.KEY", PROGS .. "/system/taskbar/trunk/KEYMAP.KEY"},
65
 {"SETTINGS/KOLIBRI.LBL", build_type .. "/settings/kolibri.lbl"},
65
 {"SETTINGS/KOLIBRI.LBL", build_type .. "/settings/kolibri.lbl"},
66
 {"SETTINGS/LANG.INI", build_type .. "/settings/lang.ini"},
66
 {"SETTINGS/LANG.INI", build_type .. "/settings/lang.ini"},
67
 {"SETTINGS/MENU.DAT", build_type .. "/settings/menu.dat"},
67
 {"SETTINGS/MENU.DAT", build_type .. "/settings/menu.dat"},
68
 {"SETTINGS/NETWORK.INI", "common/settings/network.ini"},
68
 {"SETTINGS/NETWORK.INI", "common/settings/network.ini"},
69
 {"SETTINGS/SYSTEM.INI", "common/settings/system.ini"},
69
 {"SETTINGS/SYSTEM.INI", "common/settings/system.ini"},
70
 {"SETTINGS/TASKBAR.INI", "common/settings/taskbar.ini"},
70
 {"SETTINGS/TASKBAR.INI", "common/settings/taskbar.ini"},
71
 {"SETTINGS/weather.json", PROGS .. "/other/Weather/weather.json"},
71
 {"SETTINGS/weather.json", PROGS .. "/other/Weather/weather.json"},
72
}
72
}
73
 
73
 
74
-- For russian build, add russian-only files.
74
-- For russian build, add russian-only files.
75
if build_type == "rus" then tup.append_table(img_files, {
75
if build_type == "rus" then tup.append_table(img_files, {
76
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/rus/example.asm"},
76
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/rus/example.asm"},
77
 {"DEVELOP/BACKY", PROGS .. "/develop/backy/Backy_ru"},
77
 {"DEVELOP/BACKY", PROGS .. "/develop/backy/Backy_ru"},
78
 {"GAMES/BASEKURS.KLA", build_type .. "/games/basekurs.kla"},
78
 {"GAMES/BASEKURS.KLA", build_type .. "/games/basekurs.kla"},
79
 {"File Managers/KFAR.INI", build_type .. "/File Managers/kfar.ini"},
79
 {"File Managers/KFAR.INI", build_type .. "/File Managers/kfar.ini"},
80
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/russian/dos_kolibri/kfm_keys.txt"},
80
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/russian/dos_kolibri/kfm_keys.txt"},
81
 {"GAMES/DESCENT", build_type .. "/games/descent"},
81
 {"GAMES/DESCENT", build_type .. "/games/descent"},
82
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/rus/.shell"},
82
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/rus/.shell"},
83
 {"SETTINGS/GAMES.INI", "rus/settings/games.ini"},
83
 {"SETTINGS/GAMES.INI", "rus/settings/games.ini"},
84
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey.ini"},
84
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey.ini"},
85
 {"SETTINGS/SYSPANEL.INI", "rus/settings/syspanel.ini"},
85
 {"SETTINGS/SYSPANEL.INI", "rus/settings/syspanel.ini"},
86
}) elseif build_type == "eng" then tup.append_table(img_files, {
86
}) elseif build_type == "eng" then tup.append_table(img_files, {
87
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/example.asm"},
87
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/example.asm"},
88
 {"DEVELOP/BACKY", PROGS .. "/develop/backy/Backy"},
88
 {"DEVELOP/BACKY", PROGS .. "/develop/backy/Backy"},
89
 {"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
89
 {"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
90
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/english/kfm_keys.txt"},
90
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/english/kfm_keys.txt"},
91
 {"GAMES/DESCENT", "common/games/descent"},
91
 {"GAMES/DESCENT", "common/games/descent"},
92
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/eng/.shell"},
92
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/eng/.shell"},
93
 {"SETTINGS/GAMES.INI", "common/settings/games.ini"},
93
 {"SETTINGS/GAMES.INI", "common/settings/games.ini"},
94
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey.ini"},
94
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey.ini"},
95
 {"SETTINGS/SYSPANEL.INI", "common/settings/syspanel.ini"},
95
 {"SETTINGS/SYSPANEL.INI", "common/settings/syspanel.ini"},
96
}) elseif build_type == "sp" then tup.append_table(img_files, {
96
}) elseif build_type == "sp" then tup.append_table(img_files, {
97
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/example.asm"},
97
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/example.asm"},
98
 {"DEVELOP/BACKY", PROGS .. "/develop/backy/Backy"},
98
 {"DEVELOP/BACKY", PROGS .. "/develop/backy/Backy"},
99
 {"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
99
 {"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
100
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/english/kfm_keys.txt"},
100
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/english/kfm_keys.txt"},
101
 {"GAMES/DESCENT", "common/games/descent"},
101
 {"GAMES/DESCENT", "common/games/descent"},
102
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/eng/.shell"},
102
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/eng/.shell"},
103
 {"SETTINGS/GAMES.INI", "common/settings/games.ini"},
103
 {"SETTINGS/GAMES.INI", "common/settings/games.ini"},
104
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey.ini"},
104
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey.ini"},
105
 {"SETTINGS/SYSPANEL.INI", "common/settings/syspanel.ini"},
105
 {"SETTINGS/SYSPANEL.INI", "common/settings/syspanel.ini"},
106
}) elseif build_type == "it" then tup.append_table(img_files, {
106
}) elseif build_type == "it" then tup.append_table(img_files, {
107
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/example.asm"},
107
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/example.asm"},
108
 {"DEVELOP/BACKY", PROGS .. "/develop/backy/Backy"},
108
 {"DEVELOP/BACKY", PROGS .. "/develop/backy/Backy"},
109
 {"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
109
 {"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
110
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/english/kfm_keys.txt"},
110
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/english/kfm_keys.txt"},
111
 {"GAMES/DESCENT", "common/games/descent"},
111
 {"GAMES/DESCENT", "common/games/descent"},
112
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/eng/.shell"},
112
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/eng/.shell"},
113
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey_it.ini"},
113
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey_it.ini"},
114
 {"SETTINGS/GAMES.INI", "common/settings/games.ini"},
114
 {"SETTINGS/GAMES.INI", "common/settings/games.ini"},
115
 {"SETTINGS/SYSPANEL.INI", "common/settings/syspanel.ini"},
115
 {"SETTINGS/SYSPANEL.INI", "common/settings/syspanel.ini"},
116
}) else tup.append_table(img_files, {
116
}) else tup.append_table(img_files, {
117
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/example.asm"},
117
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/example.asm"},
118
 {"DEVELOP/BACKY", PROGS .. "/develop/backy/Backy"},
118
 {"DEVELOP/BACKY", PROGS .. "/develop/backy/Backy"},
119
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/english/kfm_keys.txt"},
119
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/english/kfm_keys.txt"},
120
 {"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
120
 {"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
121
 {"GAMES/DESCENT", "common/games/descent"},
121
 {"GAMES/DESCENT", "common/games/descent"},
122
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/eng/.shell"},
122
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/eng/.shell"},
123
 {"SETTINGS/GAMES.INI", "common/settings/games.ini"},
123
 {"SETTINGS/GAMES.INI", "common/settings/games.ini"},
124
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey.ini"},
124
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey.ini"},
125
 {"SETTINGS/SYSPANEL.INI", "common/settings/syspanel.ini"},
125
 {"SETTINGS/SYSPANEL.INI", "common/settings/syspanel.ini"},
126
}) end
126
}) end
127
 
127
 
128
--[[
128
--[[
129
Files to be included in kolibri.iso and distribution kit outside of kolibri.img.
129
Files to be included in kolibri.iso and distribution kit outside of kolibri.img.
130
 
130
 
131
The first subitem of every item is name relative to the root of ISO or distribution kit,
131
The first subitem of every item is name relative to the root of ISO or distribution kit,
132
the second is name of local file.
132
the second is name of local file.
133
 
133
 
134
If the first subitem ends in /, the last component of local file name is appended.
134
If the first subitem ends in /, the last component of local file name is appended.
135
The last component of the second subitem may contain '*'; if so, it will be expanded
135
The last component of the second subitem may contain '*'; if so, it will be expanded
136
according to usual rules, but without matching directories.
136
according to usual rules, but without matching directories.
137
 
137
 
138
Tup does not allow a direct dependency on a file that is generated in a directory
138
Tup does not allow a direct dependency on a file that is generated in a directory
139
other than where Tupfile.lua is and its children. Most files are generated
139
other than where Tupfile.lua is and its children. Most files are generated
140
in the directory with Tupfile.lua; for other files, the item should contain
140
in the directory with Tupfile.lua; for other files, the item should contain
141
a named subitem "group=path/" and the file should be put in .
141
a named subitem "group=path/" and the file should be put in .
142
--]]
142
--]]
143
extra_files = {
143
extra_files = {
144
 {"/", "common/distr_data/autorun.inf"},
144
 {"/", "common/distr_data/autorun.inf"},
145
 {"/", "common/distr_data/KolibriOS_icon.ico"},
145
 {"/", "common/distr_data/KolibriOS_icon.ico"},
146
 {"Docs/stack.txt", "../kernel/trunk/docs/stack.txt"},
146
 {"Docs/stack.txt", "../kernel/trunk/docs/stack.txt"},
147
 {"HD_Load/9x2klbr/", "common/HD_load/9x2klbr/LDKLBR.VXD"},
147
 {"HD_Load/9x2klbr/", "common/HD_load/9x2klbr/LDKLBR.VXD"},
148
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/AUTOEXEC.BAT"},
148
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/AUTOEXEC.BAT"},
149
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/CONFIG.SYS"},
149
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/CONFIG.SYS"},
150
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/L_readme.txt"},
150
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/L_readme.txt"},
151
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/L_readme_Win.txt"},
151
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/L_readme_Win.txt"},
152
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/vista_install.bat"},
152
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/vista_install.bat"},
153
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/vista_remove.bat"},
153
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/vista_remove.bat"},
154
 {"HD_Load/", "common/HD_load/memdisk"},
154
 {"HD_Load/", "common/HD_load/memdisk"},
155
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/usb_boot.rtf"},
155
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/usb_boot.rtf"},
156
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/usb_boot_866.txt"},
156
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/usb_boot_866.txt"},
157
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/usb_boot_1251.txt"},
157
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/usb_boot_1251.txt"},
158
 {"kolibrios/3D/info3ds/INFO3DS.INI", PROGS .. "/develop/info3ds/info3ds.ini"},
158
 {"kolibrios/3D/info3ds/INFO3DS.INI", PROGS .. "/develop/info3ds/info3ds.ini"},
159
 {"kolibrios/3D/info3ds/OBJECTS.PNG", PROGS .. "/develop/info3ds/objects.png"},
159
 {"kolibrios/3D/info3ds/OBJECTS.PNG", PROGS .. "/develop/info3ds/objects.png"},
160
 {"kolibrios/3D/info3ds/TOOLBAR.PNG", PROGS .. "/develop/info3ds/toolbar.png"},
160
 {"kolibrios/3D/info3ds/TOOLBAR.PNG", PROGS .. "/develop/info3ds/toolbar.png"},
161
 {"kolibrios/3D/info3ds/FONT8X9.BMP", PROGS .. "/fs/kfar/trunk/font8x9.bmp"},
161
 {"kolibrios/3D/info3ds/FONT8X9.BMP", PROGS .. "/fs/kfar/trunk/font8x9.bmp"},
-
 
162
 {"kolibrios/3D/blocks/", PROGS .. "/bcc32/games/blocks/bin/*"},
-
 
163
 {"kolibrios/3D/blocks/models", PROGS .. "/bcc32/games/blocks/models/*"},
162
 {"kolibrios/3D/md2view/", "common/3d/md2view/*"},
164
 {"kolibrios/3D/md2view/", "common/3d/md2view/*"},
163
 {"kolibrios/3D/md2view/md2_model/", "common/3d/md2view/md2_model/*"},
165
 {"kolibrios/3D/md2view/md2_model/", "common/3d/md2view/md2_model/*"},
164
 {"kolibrios/3D/voxel_editor/VOX_EDITOR.INI", PROGS .. "/media/voxel_editor/trunk/vox_editor.ini"},
166
 {"kolibrios/3D/voxel_editor/VOX_EDITOR.INI", PROGS .. "/media/voxel_editor/trunk/vox_editor.ini"},
165
 {"kolibrios/3D/voxel_editor/HOUSE1.VOX", PROGS .. "/media/voxel_editor/trunk/house1.vox"},
167
 {"kolibrios/3D/voxel_editor/HOUSE1.VOX", PROGS .. "/media/voxel_editor/trunk/house1.vox"},
166
 {"kolibrios/3D/voxel_editor/HOUSE2.VOX", PROGS .. "/media/voxel_editor/trunk/house2.vox"},
168
 {"kolibrios/3D/voxel_editor/HOUSE2.VOX", PROGS .. "/media/voxel_editor/trunk/house2.vox"},
167
 {"kolibrios/3D/voxel_editor/SQUIRREL.VOX", PROGS .. "/media/voxel_editor/trunk/squirrel.vox"},
169
 {"kolibrios/3D/voxel_editor/SQUIRREL.VOX", PROGS .. "/media/voxel_editor/trunk/squirrel.vox"},
168
 {"kolibrios/3D/voxel_utilites/VOX_MOVER.INI" , PROGS .. "/media/voxel_editor/utilites/vox_mover.ini"},
170
 {"kolibrios/3D/voxel_utilites/VOX_MOVER.INI" , PROGS .. "/media/voxel_editor/utilites/vox_mover.ini"},
169
 {"kolibrios/3D/FONT8X9.BMP", PROGS .. "/fs/kfar/trunk/font8x9.bmp"},
171
 {"kolibrios/3D/FONT8X9.BMP", PROGS .. "/fs/kfar/trunk/font8x9.bmp"},
170
 {"kolibrios/3D/TOOLB_1.PNG", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/toolb_1.png"},
172
 {"kolibrios/3D/TOOLB_1.PNG", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/toolb_1.png"},
171
 {"kolibrios/3D/TEST_GLU1", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/test_glu1"},
173
 {"kolibrios/3D/TEST_GLU1", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/test_glu1"},
172
 {"kolibrios/3D/TEST_GLU2", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/test_glu2"},
174
 {"kolibrios/3D/TEST_GLU2", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/test_glu2"},
173
 {"kolibrios/3D/TEXT_2.PNG", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/text_2.png"},
175
 {"kolibrios/3D/TEXT_2.PNG", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/text_2.png"},
174
 {"kolibrios/develop/c--/", PROGS .. "/cmm/c--/*"},
176
 {"kolibrios/develop/c--/", PROGS .. "/cmm/c--/*"},
175
 {"kolibrios/develop/fpc/", "common/develop/fpc/*"},
177
 {"kolibrios/develop/fpc/", "common/develop/fpc/*"},
176
 {"kolibrios/develop/fpc/examples/", PROGS .. "/develop/fp/examples/src/*"},
178
 {"kolibrios/develop/fpc/examples/", PROGS .. "/develop/fp/examples/src/*"},
177
 {"kolibrios/develop/fpc/examples/build.sh", "common/develop/fpc/build.sh"},
179
 {"kolibrios/develop/fpc/examples/build.sh", "common/develop/fpc/build.sh"},
178
 {"kolibrios/develop/oberon07/", PROGS .. "/develop/oberon07/*"},
180
 {"kolibrios/develop/oberon07/", PROGS .. "/develop/oberon07/*"},
179
 {"kolibrios/develop/oberon07/doc/", PROGS .. "/develop/oberon07/doc/*"},
181
 {"kolibrios/develop/oberon07/doc/", PROGS .. "/develop/oberon07/doc/*"},
180
 {"kolibrios/develop/oberon07/lib/KolibriOS/", PROGS .. "/develop/oberon07/lib/KolibriOS/*"},
182
 {"kolibrios/develop/oberon07/lib/KolibriOS/", PROGS .. "/develop/oberon07/lib/KolibriOS/*"},
181
 {"kolibrios/develop/oberon07/samples/", PROGS .. "/develop/oberon07/samples/*"},
183
 {"kolibrios/develop/oberon07/samples/", PROGS .. "/develop/oberon07/samples/*"},
182
 {"kolibrios/develop/tcc/", PROGS ..  "/develop/ktcc/trunk/*"},
184
 {"kolibrios/develop/tcc/", PROGS ..  "/develop/ktcc/trunk/*"},
183
-- {"kolibrios/develop/tcc/", PROGS ..  "/develop/ktcc/trunk/bin/tcc"},
185
-- {"kolibrios/develop/tcc/", PROGS ..  "/develop/ktcc/trunk/bin/tcc"},
184
 {"kolibrios/develop/tcc/lib/", PROGS ..  "/develop/ktcc/trunk/bin/lib/*"},
186
 {"kolibrios/develop/tcc/lib/", PROGS ..  "/develop/ktcc/trunk/bin/lib/*"},
185
 {"kolibrios/develop/tcc/include/", PROGS ..  "/develop/ktcc/trunk/libc.obj/include/*"},
187
 {"kolibrios/develop/tcc/include/", PROGS ..  "/develop/ktcc/trunk/libc.obj/include/*"},
186
 {"kolibrios/develop/tcc/include/clayer/", PROGS ..  "/develop/ktcc/trunk/libc.obj/include/clayer/*"},
188
 {"kolibrios/develop/tcc/include/clayer/", PROGS ..  "/develop/ktcc/trunk/libc.obj/include/clayer/*"},
187
 {"kolibrios/develop/tcc/include/cryptal/", PROGS .. "/develop/ktcc/trunk/libc.obj/include/cryptal/*"},
189
 {"kolibrios/develop/tcc/include/cryptal/", PROGS .. "/develop/ktcc/trunk/libc.obj/include/cryptal/*"},
188
 {"kolibrios/develop/tcc/include/sys/", PROGS .. "/develop/ktcc/trunk/libc.obj/include/sys/*"},
190
 {"kolibrios/develop/tcc/include/sys/", PROGS .. "/develop/ktcc/trunk/libc.obj/include/sys/*"},
189
-- {"kolibrios/develop/tcc/include/net/", PROGS ..  "/develop/ktcc/trunk/libc/include/net/*"},
191
-- {"kolibrios/develop/tcc/include/net/", PROGS ..  "/develop/ktcc/trunk/libc/include/net/*"},
190
-- {"kolibrios/develop/tcc/include/tinygl/", PROGS ..  "/develop/ktcc/trunk/libc.obj/include/tinygl/*"},
192
-- {"kolibrios/develop/tcc/include/tinygl/", PROGS ..  "/develop/ktcc/trunk/libc.obj/include/tinygl/*"},
191
 {"kolibrios/develop/tcc/samples/", PROGS ..  "/develop/ktcc/trunk/libc.obj/samples/*.c"},
193
 {"kolibrios/develop/tcc/samples/", PROGS ..  "/develop/ktcc/trunk/libc.obj/samples/*.c"},
192
 {"kolibrios/develop/tcc/samples/", PROGS ..  "/develop/ktcc/trunk/libc.obj/samples/*.sh"},
194
 {"kolibrios/develop/tcc/samples/", PROGS ..  "/develop/ktcc/trunk/libc.obj/samples/*.sh"},
193
 {"kolibrios/develop/tcc/samples/clayer/", PROGS ..  "/develop/ktcc/trunk/libc.obj/samples/clayer/*"},
195
 {"kolibrios/develop/tcc/samples/clayer/", PROGS ..  "/develop/ktcc/trunk/libc.obj/samples/clayer/*"},
194
-- {"kolibrios/develop/tcc/samples/net/", PROGS ..  "/develop/ktcc/trunk/samples/net/*"},
196
-- {"kolibrios/develop/tcc/samples/net/", PROGS ..  "/develop/ktcc/trunk/samples/net/*"},
195
-- {"kolibrios/develop/tcc/samples/tinygl/", PROGS ..  "/develop/ktcc/trunk/samples/tinygl/*"},
197
-- {"kolibrios/develop/tcc/samples/tinygl/", PROGS ..  "/develop/ktcc/trunk/samples/tinygl/*"},
196
 {"kolibrios/emul/", "common/emul/*"},
198
 {"kolibrios/emul/", "common/emul/*"},
197
 {"kolibrios/emul/dosbox/", "common/emul/DosBox/*"},
199
 {"kolibrios/emul/dosbox/", "common/emul/DosBox/*"},
198
 {"kolibrios/emul/e80/readme.txt", PROGS .. "/emulator/e80/trunk/readme.txt"},
200
 {"kolibrios/emul/e80/readme.txt", PROGS .. "/emulator/e80/trunk/readme.txt"},
199
 {"kolibrios/emul/e80/keyboard.png", PROGS .. "/emulator/e80/trunk/keyboard.png"},
201
 {"kolibrios/emul/e80/keyboard.png", PROGS .. "/emulator/e80/trunk/keyboard.png"},
200
 {"kolibrios/emul/fceu/fceu", PROGS .. "/emulator/fceu/fceu"},
202
 {"kolibrios/emul/fceu/fceu", PROGS .. "/emulator/fceu/fceu"},
201
 {"kolibrios/emul/fceu/FCEU ReadMe.txt", PROGS .. "/emulator/fceu/FCEU ReadMe.txt"},
203
 {"kolibrios/emul/fceu/FCEU ReadMe.txt", PROGS .. "/emulator/fceu/FCEU ReadMe.txt"},
202
 {"kolibrios/emul/chip8/chip8", PROGS .. "/emulator/chip8/chip8"},
204
 {"kolibrios/emul/chip8/chip8", PROGS .. "/emulator/chip8/chip8"},
203
 {"kolibrios/emul/chip8/readme.txt", PROGS .. "/emulator/chip8/readme.txt"},
205
 {"kolibrios/emul/chip8/readme.txt", PROGS .. "/emulator/chip8/readme.txt"},
204
 {"kolibrios/emul/chip8/roms/", PROGS .. "/emulator/chip8/roms/*"},
206
 {"kolibrios/emul/chip8/roms/", PROGS .. "/emulator/chip8/roms/*"},
205
 {"kolibrios/emul/kwine/kwine", PROGS .. "/emulator/kwine/bin/kwine"},
207
 {"kolibrios/emul/kwine/kwine", PROGS .. "/emulator/kwine/bin/kwine"},
206
 {"kolibrios/emul/kwine/lib/", PROGS .. "/emulator/kwine/bin/lib/*"},
208
 {"kolibrios/emul/kwine/lib/", PROGS .. "/emulator/kwine/bin/lib/*"},
207
 {"kolibrios/emul/uarm/", "common/emul/uarm/*"},
209
 {"kolibrios/emul/uarm/", "common/emul/uarm/*"},
208
 {"kolibrios/emul/zsnes/", "common/emul/zsnes/*"},
210
 {"kolibrios/emul/zsnes/", "common/emul/zsnes/*"},
209
 {"kolibrios/demos/ak47.lif", "common/demos/ak47.lif"},
211
 {"kolibrios/demos/ak47.lif", "common/demos/ak47.lif"},
210
 {"kolibrios/demos/life2", "common/demos/life2"},
212
 {"kolibrios/demos/life2", "common/demos/life2"},
211
 {"kolibrios/demos/relay.lif", "common/demos/relay.lif"},
213
 {"kolibrios/demos/relay.lif", "common/demos/relay.lif"},
212
 {"kolibrios/demos/rpento.lif", "common/demos/rpento.lif"},
214
 {"kolibrios/demos/rpento.lif", "common/demos/rpento.lif"},
213
 {"kolibrios/games/BabyPainter", "common/games/BabyPainter"},
215
 {"kolibrios/games/BabyPainter", "common/games/BabyPainter"},
214
 {"kolibrios/games/bomber/ackack.bmp", PROGS .. "/games/bomber/ackack.bmp"},
216
 {"kolibrios/games/bomber/ackack.bmp", PROGS .. "/games/bomber/ackack.bmp"},
215
 {"kolibrios/games/bomber/bomb.bmp", PROGS .. "/games/bomber/bomb.bmp"},
217
 {"kolibrios/games/bomber/bomb.bmp", PROGS .. "/games/bomber/bomb.bmp"},
216
 {"kolibrios/games/bomber/plane.bmp", PROGS .. "/games/bomber/plane.bmp"},
218
 {"kolibrios/games/bomber/plane.bmp", PROGS .. "/games/bomber/plane.bmp"},
217
 {"kolibrios/games/bomber/tile.bmp", PROGS .. "/games/bomber/tile.bmp"},
219
 {"kolibrios/games/bomber/tile.bmp", PROGS .. "/games/bomber/tile.bmp"},
218
 {"kolibrios/games/doom1/", "common/games/doom/*"},
220
 {"kolibrios/games/doom1/", "common/games/doom/*"},
219
 {"kolibrios/games/fara/fara.gfx", "common/games/fara.gfx"},
221
 {"kolibrios/games/fara/fara.gfx", "common/games/fara.gfx"},
220
 {"kolibrios/games/jumpbump/", "common/games/jumpbump/*"},
222
 {"kolibrios/games/jumpbump/", "common/games/jumpbump/*"},
221
 {"kolibrios/games/knight", "common/games/knight"},
223
 {"kolibrios/games/knight", "common/games/knight"},
222
 {"kolibrios/games/KosChess/", "common/games/KosChess/*"},
224
 {"kolibrios/games/KosChess/", "common/games/KosChess/*"},
223
 {"kolibrios/games/KosChess/images/", "common/games/KosChess/images/*"},
225
 {"kolibrios/games/KosChess/images/", "common/games/KosChess/images/*"},
224
 {"kolibrios/games/LaserTank/", "common/games/LaserTank/*"},
226
 {"kolibrios/games/LaserTank/", "common/games/LaserTank/*"},
225
 {"kolibrios/games/lrl/", "common/games/lrl/*"},
227
 {"kolibrios/games/lrl/", "common/games/lrl/*"},
226
 {"kolibrios/games/mun/data/", "common/games/mun/data/*"},
228
 {"kolibrios/games/mun/data/", "common/games/mun/data/*"},
227
 {"kolibrios/games/mun/libc.dll", "common/games/mun/libc.dll"},
229
 {"kolibrios/games/mun/libc.dll", "common/games/mun/libc.dll"},
228
 {"kolibrios/games/mun/mun", "common/games/mun/mun"},
230
 {"kolibrios/games/mun/mun", "common/games/mun/mun"},
229
 {"kolibrios/games/pig/", "common/games/pig/*"},
231
 {"kolibrios/games/pig/", "common/games/pig/*"},
230
 {"kolibrios/games/soko/", "common/games/soko/*"},
232
 {"kolibrios/games/soko/", "common/games/soko/*"},
231
 {"kolibrios/games/fridge/", "common/games/fridge/*"},
233
 {"kolibrios/games/fridge/", "common/games/fridge/*"},
232
 {"kolibrios/games/the_bus/menu.png", PROGS .. "/cmm/the_bus/menu.png"},
234
 {"kolibrios/games/the_bus/menu.png", PROGS .. "/cmm/the_bus/menu.png"},
233
 {"kolibrios/games/the_bus/objects.png", PROGS .. "/cmm/the_bus/objects.png"},
235
 {"kolibrios/games/the_bus/objects.png", PROGS .. "/cmm/the_bus/objects.png"},
234
 {"kolibrios/games/the_bus/road.png", PROGS .. "/cmm/the_bus/road.png"},
236
 {"kolibrios/games/the_bus/road.png", PROGS .. "/cmm/the_bus/road.png"},
235
 {"kolibrios/grafx2/fonts/", "common/media/grafx2/fonts/*"},
237
 {"kolibrios/grafx2/fonts/", "common/media/grafx2/fonts/*"},
236
 {"kolibrios/grafx2/scripts/", "common/media/grafx2/scripts/libs/*"},
238
 {"kolibrios/grafx2/scripts/", "common/media/grafx2/scripts/libs/*"},
237
 {"kolibrios/grafx2/scripts/libs/", "common/media/grafx2/scripts/*"},
239
 {"kolibrios/grafx2/scripts/libs/", "common/media/grafx2/scripts/*"},
238
 {"kolibrios/grafx2/skins/", "common/media/grafx2/skins/*"},
240
 {"kolibrios/grafx2/skins/", "common/media/grafx2/skins/*"},
239
 {"kolibrios/grafx2/", "common/media/grafx2/*"},
241
 {"kolibrios/grafx2/", "common/media/grafx2/*"},
240
 {"kolibrios/drivers/drvinf.ini", "common/drivers/drvinf.ini"},
242
 {"kolibrios/drivers/drvinf.ini", "common/drivers/drvinf.ini"},
241
 {"kolibrios/drivers/ahci/", "common/drivers/ahci/*"},
243
 {"kolibrios/drivers/ahci/", "common/drivers/ahci/*"},
242
 {"kolibrios/drivers/acpi/", "common/drivers/acpi/*"},
244
 {"kolibrios/drivers/acpi/", "common/drivers/acpi/*"},
243
 {"kolibrios/drivers/atikms/", "common/drivers/atikms/*"},
245
 {"kolibrios/drivers/atikms/", "common/drivers/atikms/*"},
244
 {"kolibrios/drivers/i915/", "common/drivers/i915/*"},
246
 {"kolibrios/drivers/i915/", "common/drivers/i915/*"},
245
 {"kolibrios/drivers/test/", "common/drivers/test/*"},
247
 {"kolibrios/drivers/test/", "common/drivers/test/*"},
246
 {"kolibrios/drivers/vmware/", "common/drivers/vmware/*"},
248
 {"kolibrios/drivers/vmware/", "common/drivers/vmware/*"},
247
 {"kolibrios/KolibriNext/", "common/KolibriNext/*"},
249
 {"kolibrios/KolibriNext/", "common/KolibriNext/*"},
248
 {"kolibrios/KolibriNext/settings/", "common/KolibriNext/settings/*"},
250
 {"kolibrios/KolibriNext/settings/", "common/KolibriNext/settings/*"},
249
 {"kolibrios/lib/avcodec-56.dll", "common/lib/avcodec-56.dll"},
251
 {"kolibrios/lib/avcodec-56.dll", "common/lib/avcodec-56.dll"},
250
 {"kolibrios/lib/avdevice-56.dll", "common/lib/avdevice-56.dll"},
252
 {"kolibrios/lib/avdevice-56.dll", "common/lib/avdevice-56.dll"},
251
 {"kolibrios/lib/avformat-56.dll", "common/lib/avformat-56.dll"},
253
 {"kolibrios/lib/avformat-56.dll", "common/lib/avformat-56.dll"},
252
 {"kolibrios/lib/swscale-3.dll", "common/lib/swscale-3.dll"},
254
 {"kolibrios/lib/swscale-3.dll", "common/lib/swscale-3.dll"},
253
 {"kolibrios/lib/avutil-54.dll", "common/lib/avutil-54.dll"},
255
 {"kolibrios/lib/avutil-54.dll", "common/lib/avutil-54.dll"},
254
 {"kolibrios/lib/cairo2.dll", "common/lib/cairo2.dll"},
256
 {"kolibrios/lib/cairo2.dll", "common/lib/cairo2.dll"},
255
 {"kolibrios/lib/freetype.dll", "common/lib/freetype.dll"},
257
 {"kolibrios/lib/freetype.dll", "common/lib/freetype.dll"},
256
 {"kolibrios/lib/i965-video.dll", "common/lib/i965-video.dll"},
258
 {"kolibrios/lib/i965-video.dll", "common/lib/i965-video.dll"},
257
 {"kolibrios/lib/libdrm.dll", "common/lib/libdrm.dll"},
259
 {"kolibrios/lib/libdrm.dll", "common/lib/libdrm.dll"},
258
 {"kolibrios/lib/libegl.dll", "common/lib/libegl.dll"},
260
 {"kolibrios/lib/libegl.dll", "common/lib/libegl.dll"},
259
 {"kolibrios/lib/libeglut.dll", "common/lib/libeglut.dll"},
261
 {"kolibrios/lib/libeglut.dll", "common/lib/libeglut.dll"},
260
 {"kolibrios/lib/libGL.dll", "common/lib/libGL.dll"},
262
 {"kolibrios/lib/libGL.dll", "common/lib/libGL.dll"},
261
 {"kolibrios/lib/libjpeg.dll", "common/lib/libjpeg.dll"},
263
 {"kolibrios/lib/libjpeg.dll", "common/lib/libjpeg.dll"},
262
 {"kolibrios/lib/libpng16.dll", "common/lib/libpng16.dll"},
264
 {"kolibrios/lib/libpng16.dll", "common/lib/libpng16.dll"},
263
 {"kolibrios/lib/libva.dll", "common/lib/libva.dll"},
265
 {"kolibrios/lib/libva.dll", "common/lib/libva.dll"},
264
 {"kolibrios/lib/libz.dll", "common/lib/libz.dll"},
266
 {"kolibrios/lib/libz.dll", "common/lib/libz.dll"},
265
 {"kolibrios/lib/osmesa.dll", "common/lib/osmesa.dll"},
267
 {"kolibrios/lib/osmesa.dll", "common/lib/osmesa.dll"},
266
 {"kolibrios/lib/pixlib-gl.dll", "common/lib/pixlib-gl.dll"},
268
 {"kolibrios/lib/pixlib-gl.dll", "common/lib/pixlib-gl.dll"},
267
 {"kolibrios/lib/pixman-1.dll", "common/lib/pixman-1.dll"},
269
 {"kolibrios/lib/pixman-1.dll", "common/lib/pixman-1.dll"},
268
 {"kolibrios/lib/swresample-1.dll", "common/lib/swresample-1.dll"},
270
 {"kolibrios/lib/swresample-1.dll", "common/lib/swresample-1.dll"},
269
 {"kolibrios/lib/i915_dri.drv", "common/lib/i915_dri.drv"},
271
 {"kolibrios/lib/i915_dri.drv", "common/lib/i915_dri.drv"},
270
 {"kolibrios/media/fplay", "common/media/fplay"},
272
 {"kolibrios/media/fplay", "common/media/fplay"},
271
 {"kolibrios/media/fplay_run", "common/media/fplay_run"},
273
 {"kolibrios/media/fplay_run", "common/media/fplay_run"},
272
 {"kolibrios/media/minimp3", "common/media/minimp3"},
274
 {"kolibrios/media/minimp3", "common/media/minimp3"},
273
 {"kolibrios/media/updf", "common/media/updf"},
275
 {"kolibrios/media/updf", "common/media/updf"},
274
 {"kolibrios/media/vttf", "common/media/vttf"},
276
 {"kolibrios/media/vttf", "common/media/vttf"},
275
 {"kolibrios/media/beat/Beat", PROGS .. "/media/Beat/Beat"},
277
 {"kolibrios/media/beat/Beat", PROGS .. "/media/Beat/Beat"},
276
 {"kolibrios/media/beat/Beep1.raw", PROGS .. "/media/Beat/Beep1.raw"},
278
 {"kolibrios/media/beat/Beep1.raw", PROGS .. "/media/Beat/Beep1.raw"},
277
 {"kolibrios/media/beat/Beep2.raw", PROGS .. "/media/Beat/Beep2.raw"},
279
 {"kolibrios/media/beat/Beep2.raw", PROGS .. "/media/Beat/Beep2.raw"},
278
 {"kolibrios/media/beat/PlayNote", PROGS .. "/media/Beat/PlayNote/PlayNote"},
280
 {"kolibrios/media/beat/PlayNote", PROGS .. "/media/Beat/PlayNote/PlayNote"},
279
 {"kolibrios/media/beat/Readme-en.txt", PROGS .. "/media/Beat/Readme-en.txt"},
281
 {"kolibrios/media/beat/Readme-en.txt", PROGS .. "/media/Beat/Readme-en.txt"},
280
 {"kolibrios/media/beat/Readme-ru.txt", PROGS .. "/media/Beat/Readme-ru.txt"},
282
 {"kolibrios/media/beat/Readme-ru.txt", PROGS .. "/media/Beat/Readme-ru.txt"},
281
 {"kolibrios/media/zsea/zsea.ini", PROGS .. "/media/zsea/zSea.ini"},
283
 {"kolibrios/media/zsea/zsea.ini", PROGS .. "/media/zsea/zSea.ini"},
282
 {"kolibrios/media/zsea/buttons/buttons.png", PROGS .. "/media/zsea/buttons.png"},
284
 {"kolibrios/media/zsea/buttons/buttons.png", PROGS .. "/media/zsea/buttons.png"},
283
 {"kolibrios/netsurf/netsurf", "common/network/netsurf/netsurf"},
285
 {"kolibrios/netsurf/netsurf", "common/network/netsurf/netsurf"},
284
 {"kolibrios/netsurf/res/", "common/network/netsurf/res/*"},
286
 {"kolibrios/netsurf/res/", "common/network/netsurf/res/*"},
285
 {"kolibrios/res/skins/", "../skins/authors.txt"},
287
 {"kolibrios/res/skins/", "../skins/authors.txt"},
286
 {"kolibrios/res/templates/", "common/templates/*"},
288
 {"kolibrios/res/templates/", "common/templates/*"},
287
 {"kolibrios/res/templates/", PROGS .. "/emulator/e80/trunk/games/*"},
289
 {"kolibrios/res/templates/", PROGS .. "/emulator/e80/trunk/games/*"},
288
 {"kolibrios/res/templates/NES/", "common/templates/NES/*"},
290
 {"kolibrios/res/templates/NES/", "common/templates/NES/*"},
289
 {"kolibrios/res/wallpapers/", "common/wallpapers/*"},
291
 {"kolibrios/res/wallpapers/", "common/wallpapers/*"},
290
 {"kolibrios/res/system/", build_type .. "/settings/kolibri.lbl"},
292
 {"kolibrios/res/system/", build_type .. "/settings/kolibri.lbl"},
291
 {"kolibrios/utils/cnc_editor/cnc_editor", PROGS .. "/other/cnc_editor/cnc_editor"},
293
 {"kolibrios/utils/cnc_editor/cnc_editor", PROGS .. "/other/cnc_editor/cnc_editor"},
292
 {"kolibrios/utils/cnc_editor/kolibri.NC", PROGS .. "/other/cnc_editor/kolibri.NC"},
294
 {"kolibrios/utils/cnc_editor/kolibri.NC", PROGS .. "/other/cnc_editor/kolibri.NC"},
293
 {"kolibrios/utils/vmode", "common/vmode"},
295
 {"kolibrios/utils/vmode", "common/vmode"},
294
 {"kolibrios/utils/texture", "common/utils/texture"},
296
 {"kolibrios/utils/texture", "common/utils/texture"},
295
 {"kolibrios/utils/t_edit.ini", PROGS .. "/other/t_edit/t_edit.ini"},
297
 {"kolibrios/utils/t_edit.ini", PROGS .. "/other/t_edit/t_edit.ini"},
296
 {"kolibrios/utils/info/ASM.SYN", PROGS .. "/other/t_edit/info/asm.syn"},
298
 {"kolibrios/utils/info/ASM.SYN", PROGS .. "/other/t_edit/info/asm.syn"},
297
 {"kolibrios/utils/info/CPP_CLA.SYN", PROGS .. "/other/t_edit/info/cpp_kol_cla.syn"},
299
 {"kolibrios/utils/info/CPP_CLA.SYN", PROGS .. "/other/t_edit/info/cpp_kol_cla.syn"},
298
 {"kolibrios/utils/info/CPP_DAR.SYN", PROGS .. "/other/t_edit/info/cpp_kol_dar.syn"},
300
 {"kolibrios/utils/info/CPP_DAR.SYN", PROGS .. "/other/t_edit/info/cpp_kol_dar.syn"},
299
 {"kolibrios/utils/info/CPP_DEF.SYN", PROGS .. "/other/t_edit/info/cpp_kol_def.syn"},
301
 {"kolibrios/utils/info/CPP_DEF.SYN", PROGS .. "/other/t_edit/info/cpp_kol_def.syn"},
300
 {"kolibrios/utils/info/DEFAULT.SYN", PROGS .. "/other/t_edit/info/default.syn"},
302
 {"kolibrios/utils/info/DEFAULT.SYN", PROGS .. "/other/t_edit/info/default.syn"},
301
 {"kolibrios/utils/info/HTML.SYN", PROGS .. "/other/t_edit/info/html.syn"},
303
 {"kolibrios/utils/info/HTML.SYN", PROGS .. "/other/t_edit/info/html.syn"},
302
 {"kolibrios/utils/info/INI.SYN", PROGS .. "/other/t_edit/info/ini_files.syn"},
304
 {"kolibrios/utils/info/INI.SYN", PROGS .. "/other/t_edit/info/ini_files.syn"},
303
 }
305
 }
304
if build_type == "rus" then tup.append_table(extra_files, {
306
if build_type == "rus" then tup.append_table(extra_files, {
305
 {"Docs/cp866/config.txt", build_type .. "/docs/CONFIG.TXT"},
307
 {"Docs/cp866/config.txt", build_type .. "/docs/CONFIG.TXT"},
306
 {"Docs/cp866/gnu.txt", build_type .. "/docs/GNU.TXT"},
308
 {"Docs/cp866/gnu.txt", build_type .. "/docs/GNU.TXT"},
307
 {"Docs/cp866/history.txt", build_type .. "/docs/HISTORY.TXT"},
309
 {"Docs/cp866/history.txt", build_type .. "/docs/HISTORY.TXT"},
308
 {"Docs/cp866/hot_keys.txt", build_type .. "/docs/HOT_KEYS.TXT"},
310
 {"Docs/cp866/hot_keys.txt", build_type .. "/docs/HOT_KEYS.TXT"},
309
 {"Docs/cp866/install.txt", build_type .. "/docs/INSTALL.TXT"},
311
 {"Docs/cp866/install.txt", build_type .. "/docs/INSTALL.TXT"},
310
 {"Docs/cp866/readme.txt", build_type .. "/docs/README.TXT"},
312
 {"Docs/cp866/readme.txt", build_type .. "/docs/README.TXT"},
311
 {"Docs/cp866/sysfuncr.txt", PROGS .. "/system/docpack/trunk/SYSFUNCR.TXT"},
313
 {"Docs/cp866/sysfuncr.txt", PROGS .. "/system/docpack/trunk/SYSFUNCR.TXT"},
312
 {"Docs/cp1251/config.txt", build_type .. "/docs/CONFIG.WIN.TXT", cp1251_from = build_type .. "/docs/CONFIG.TXT"},
314
 {"Docs/cp1251/config.txt", build_type .. "/docs/CONFIG.WIN.TXT", cp1251_from = build_type .. "/docs/CONFIG.TXT"},
313
 {"Docs/cp1251/gnu.txt", build_type .. "/docs/GNU.WIN.TXT", cp1251_from = build_type .. "/docs/GNU.TXT"},
315
 {"Docs/cp1251/gnu.txt", build_type .. "/docs/GNU.WIN.TXT", cp1251_from = build_type .. "/docs/GNU.TXT"},
314
 {"Docs/cp1251/history.txt", build_type .. "/docs/HISTORY.WIN.TXT", cp1251_from = build_type .. "/docs/HISTORY.TXT"},
316
 {"Docs/cp1251/history.txt", build_type .. "/docs/HISTORY.WIN.TXT", cp1251_from = build_type .. "/docs/HISTORY.TXT"},
315
 {"Docs/cp1251/hot_keys.txt", build_type .. "/docs/HOT_KEYS.WIN.TXT", cp1251_from = build_type .. "/docs/HOT_KEYS.TXT"},
317
 {"Docs/cp1251/hot_keys.txt", build_type .. "/docs/HOT_KEYS.WIN.TXT", cp1251_from = build_type .. "/docs/HOT_KEYS.TXT"},
316
 {"Docs/cp1251/install.txt", build_type .. "/docs/INSTALL.WIN.TXT", cp1251_from = build_type .. "/docs/INSTALL.TXT"},
318
 {"Docs/cp1251/install.txt", build_type .. "/docs/INSTALL.WIN.TXT", cp1251_from = build_type .. "/docs/INSTALL.TXT"},
317
 {"Docs/cp1251/readme.txt", build_type .. "/docs/README.WIN.TXT", cp1251_from = build_type .. "/docs/README.TXT"},
319
 {"Docs/cp1251/readme.txt", build_type .. "/docs/README.WIN.TXT", cp1251_from = build_type .. "/docs/README.TXT"},
318
 {"Docs/cp1251/sysfuncr.txt", build_type .. "/docs/SYSFUNCR.WIN.TXT", cp1251_from = PROGS .. "/system/docpack/trunk/SYSFUNCR.TXT"},
320
 {"Docs/cp1251/sysfuncr.txt", build_type .. "/docs/SYSFUNCR.WIN.TXT", cp1251_from = PROGS .. "/system/docpack/trunk/SYSFUNCR.TXT"},
319
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme_dos.txt"},
321
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme_dos.txt"},
320
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme_win.txt"},
322
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme_win.txt"},
321
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/install.txt"},
323
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/install.txt"},
322
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/readme.txt"},
324
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/readme.txt"},
323
 {"kolibrios/games/ataka", "common/games/ataka/ataka_ru"},
325
 {"kolibrios/games/ataka", "common/games/ataka/ataka_ru"},
324
 {"kolibrios/games/Dungeons/Resources/Textures/Environment/", PROGS .. "/games/Dungeons/Resources/Textures/Environment/*"},
326
 {"kolibrios/games/Dungeons/Resources/Textures/Environment/", PROGS .. "/games/Dungeons/Resources/Textures/Environment/*"},
325
 {"kolibrios/games/Dungeons/Resources/Textures/Objects/", PROGS .. "/games/Dungeons/Resources/Textures/Objects/*"},
327
 {"kolibrios/games/Dungeons/Resources/Textures/Objects/", PROGS .. "/games/Dungeons/Resources/Textures/Objects/*"},
326
 {"kolibrios/games/Dungeons/Resources/Textures/HUD/", PROGS .. "/games/Dungeons/Resources/Textures/HUD/*"},
328
 {"kolibrios/games/Dungeons/Resources/Textures/HUD/", PROGS .. "/games/Dungeons/Resources/Textures/HUD/*"},
327
 {"kolibrios/games/Dungeons/Resources/Textures/", PROGS .. "/games/Dungeons/Resources/Textures/Licenses.txt"},
329
 {"kolibrios/games/Dungeons/Resources/Textures/", PROGS .. "/games/Dungeons/Resources/Textures/Licenses.txt"},
328
 {"kolibrios/games/Dungeons/", PROGS .. "/games/Dungeons/readme_ru.txt"},
330
 {"kolibrios/games/Dungeons/", PROGS .. "/games/Dungeons/readme_ru.txt"},
329
 {"kolibrios/games/sstartrek/SStarTrek", "common/games/sstartrek/SStarTrek_ru"},
331
 {"kolibrios/games/sstartrek/SStarTrek", "common/games/sstartrek/SStarTrek_ru"},
330
 {"kolibrios/games/WHOWTBAM/", build_type .. "/games/whowtbam"},
332
 {"kolibrios/games/WHOWTBAM/", build_type .. "/games/whowtbam"},
331
 {"kolibrios/games/WHOWTBAM/", build_type .. "/games/appdata.dat"},
333
 {"kolibrios/games/WHOWTBAM/", build_type .. "/games/appdata.dat"},
332
 {"kolibrios/media/zsea/zsea_keys.txt", PROGS .. "/media/zsea/Docs/zSea_keys_rus.txt"},
334
 {"kolibrios/media/zsea/zsea_keys.txt", PROGS .. "/media/zsea/Docs/zSea_keys_rus.txt"},
333
 {"kolibrios/res/guide/", build_type .. "/docs/guide/*"},
335
 {"kolibrios/res/guide/", build_type .. "/docs/guide/*"},
334
}) else tup.append_table(extra_files, {
336
}) else tup.append_table(extra_files, {
335
 {"Docs/config.txt", build_type .. "/docs/CONFIG.TXT"},
337
 {"Docs/config.txt", build_type .. "/docs/CONFIG.TXT"},
336
 {"Docs/copying.txt", build_type .. "/docs/COPYING.TXT"},
338
 {"Docs/copying.txt", build_type .. "/docs/COPYING.TXT"},
337
 {"Docs/hot_keys.txt", build_type .. "/docs/HOT_KEYS.TXT"},
339
 {"Docs/hot_keys.txt", build_type .. "/docs/HOT_KEYS.TXT"},
338
 {"Docs/install.txt", build_type .. "/docs/INSTALL.TXT"},
340
 {"Docs/install.txt", build_type .. "/docs/INSTALL.TXT"},
339
 {"Docs/readme.txt", build_type .. "/docs/README.TXT"},
341
 {"Docs/readme.txt", build_type .. "/docs/README.TXT"},
340
 {"Docs/sysfuncs.txt", PROGS .. "/system/docpack/trunk/SYSFUNCS.TXT"},
342
 {"Docs/sysfuncs.txt", PROGS .. "/system/docpack/trunk/SYSFUNCS.TXT"},
341
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme.txt"},
343
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme.txt"},
342
 {"HD_Load/mtldr/install.txt", PROGS .. "/hd_load/mtldr/install_eng.txt"},
344
 {"HD_Load/mtldr/install.txt", PROGS .. "/hd_load/mtldr/install_eng.txt"},
343
 {"HD_Load/USB_Boot/readme.txt", PROGS .. "/hd_load/usb_boot/readme_eng.txt"},
345
 {"HD_Load/USB_Boot/readme.txt", PROGS .. "/hd_load/usb_boot/readme_eng.txt"},
344
 {"kolibrios/games/ataka", "common/games/ataka/ataka_en"},
346
 {"kolibrios/games/ataka", "common/games/ataka/ataka_en"},
345
 {"kolibrios/games/sstartrek/SStarTrek", "common/games/sstartrek/SStarTrek_en"},
347
 {"kolibrios/games/sstartrek/SStarTrek", "common/games/sstartrek/SStarTrek_en"},
346
 {"kolibrios/media/zsea/zsea_keys.txt", PROGS .. "/media/zsea/Docs/zSea_keys_eng.txt"},
348
 {"kolibrios/media/zsea/zsea_keys.txt", PROGS .. "/media/zsea/Docs/zSea_keys_eng.txt"},
347
}) end
349
}) end
348
--[[
350
--[[
349
Files to be included in distribution kit outside of kolibri.img, but not kolibri.iso.
351
Files to be included in distribution kit outside of kolibri.img, but not kolibri.iso.
350
Same syntax as extra_files.
352
Same syntax as extra_files.
351
]]--
353
]]--
352
if build_type == "rus" then
354
if build_type == "rus" then
353
distr_extra_files = {
355
distr_extra_files = {
354
 {"/readme_dos.txt", build_type .. "/distr_data/readme_dos_distr.txt"},
356
 {"/readme_dos.txt", build_type .. "/distr_data/readme_dos_distr.txt"},
355
 {"/readme.txt", build_type .. "/distr_data/readme_distr.txt", cp1251_from = build_type .. "/distr_data/readme_dos_distr.txt"},
357
 {"/readme.txt", build_type .. "/distr_data/readme_distr.txt", cp1251_from = build_type .. "/distr_data/readme_dos_distr.txt"},
356
}
358
}
357
else
359
else
358
distr_extra_files = {
360
distr_extra_files = {
359
 {"/readme.txt", build_type .. "/distr_data/readme_distr.txt"},
361
 {"/readme.txt", build_type .. "/distr_data/readme_distr.txt"},
360
}
362
}
361
end
363
end
362
--[[
364
--[[
363
Files to be included in kolibri.iso outside of kolibri.img, but not distribution kit.
365
Files to be included in kolibri.iso outside of kolibri.img, but not distribution kit.
364
Same syntax as extra_files.
366
Same syntax as extra_files.
365
]]--
367
]]--
366
if build_type == "rus" then
368
if build_type == "rus" then
367
iso_extra_files = {
369
iso_extra_files = {
368
 {"/readme_dos.txt", build_type .. "/distr_data/readme_dos.txt"},
370
 {"/readme_dos.txt", build_type .. "/distr_data/readme_dos.txt"},
369
 {"/readme.txt", build_type .. "/distr_data/readme.txt", cp1251_from = build_type .. "/distr_data/readme_dos.txt"},
371
 {"/readme.txt", build_type .. "/distr_data/readme.txt", cp1251_from = build_type .. "/distr_data/readme_dos.txt"},
370
}
372
}
371
else
373
else
372
iso_extra_files = {
374
iso_extra_files = {
373
 {"/readme.txt", build_type .. "/distr_data/readme.txt"},
375
 {"/readme.txt", build_type .. "/distr_data/readme.txt"},
374
}
376
}
375
end
377
end
376
 
378
 
377
-- Programs that require FASM to compile.
379
-- Programs that require FASM to compile.
378
if tup.getconfig('NO_FASM') ~= 'full' then
380
if tup.getconfig('NO_FASM') ~= 'full' then
379
tup.append_table(img_files, {
381
tup.append_table(img_files, {
380
 {"KERNEL.MNT", "../kernel/trunk/kernel.mnt"},
382
 {"KERNEL.MNT", "../kernel/trunk/kernel.mnt"},
381
 {"@DOCKY", PROGS .. "/system/docky/trunk/docky"},
383
 {"@DOCKY", PROGS .. "/system/docky/trunk/docky"},
382
 {"@HOTANGLES", PROGS .. "/other/ha/HOTANGLES"},
384
 {"@HOTANGLES", PROGS .. "/other/ha/HOTANGLES"},
383
 {"@ICON", PROGS .. "/system/icon_new/icon"},
385
 {"@ICON", PROGS .. "/system/icon_new/icon"},
384
 {"@MENU", PROGS .. "/system/menu/trunk/menu"},
386
 {"@MENU", PROGS .. "/system/menu/trunk/menu"},
385
 {"@NOTIFY", PROGS .. "/system/notify3/notify"},
387
 {"@NOTIFY", PROGS .. "/system/notify3/notify"},
386
 {"@OPEN", PROGS .. "/system/open/open"},
388
 {"@OPEN", PROGS .. "/system/open/open"},
387
 {"@TASKBAR", PROGS .. "/system/taskbar/trunk/TASKBAR"},
389
 {"@TASKBAR", PROGS .. "/system/taskbar/trunk/TASKBAR"},
388
 {"@SS", PROGS .. "/system/scrsaver/scrsaver"},
390
 {"@SS", PROGS .. "/system/scrsaver/scrsaver"},
389
 {"@VOLUME", PROGS .. "/media/volume/volume"},
391
 {"@VOLUME", PROGS .. "/media/volume/volume"},
390
 {"HACONFIG", PROGS .. "/other/ha/HACONFIG"},
392
 {"HACONFIG", PROGS .. "/other/ha/HACONFIG"},
391
 {"APM", PROGS .. "/system/apm/apm"},
393
 {"APM", PROGS .. "/system/apm/apm"},
392
 {"CALC", PROGS .. "/other/calc/trunk/calc"},
394
 {"CALC", PROGS .. "/other/calc/trunk/calc"},
393
 {"CALENDAR", PROGS .. "/system/calendar/trunk/calendar"},
395
 {"CALENDAR", PROGS .. "/system/calendar/trunk/calendar"},
394
 {"COLRDIAL", PROGS .. "/system/colrdial/color_dialog"},
396
 {"COLRDIAL", PROGS .. "/system/colrdial/color_dialog"},
395
 {"CROPFLAT", PROGS .. "/system/cropflat/cropflat"},
397
 {"CROPFLAT", PROGS .. "/system/cropflat/cropflat"},
396
 {"CPU", PROGS .. "/system/cpu/trunk/cpu"},
398
 {"CPU", PROGS .. "/system/cpu/trunk/cpu"},
397
 {"CPUID", PROGS .. "/testing/cpuid/trunk/CPUID"},
399
 {"CPUID", PROGS .. "/testing/cpuid/trunk/CPUID"},
398
 {"DOCPACK", PROGS .. "/system/docpack/trunk/docpack"},
400
 {"DOCPACK", PROGS .. "/system/docpack/trunk/docpack"},
399
 {"DEFAULT.SKN", "../skins/Leency/Shkvorka/Shkvorka.skn"},
401
 {"DEFAULT.SKN", "../skins/Leency/Shkvorka/Shkvorka.skn"},
400
 {"DISPTEST", PROGS .. "/testing/disptest/trunk/disptest"},
402
 {"DISPTEST", PROGS .. "/testing/disptest/trunk/disptest"},
401
 {"END", PROGS .. "/system/end/light/end"},
403
 {"END", PROGS .. "/system/end/light/end"},
402
 {"ESKIN", PROGS .. "/system/eskin/trunk/eskin"},
404
 {"ESKIN", PROGS .. "/system/eskin/trunk/eskin"},
403
 {"FSPEED", PROGS .. "/testing/fspeed/fspeed"},
405
 {"FSPEED", PROGS .. "/testing/fspeed/fspeed"},
404
 {"GMON", PROGS .. "/system/gmon/gmon"},
406
 {"GMON", PROGS .. "/system/gmon/gmon"},
405
 {"HDD_INFO", PROGS .. "/system/hdd_info/trunk/hdd_info"},
407
 {"HDD_INFO", PROGS .. "/system/hdd_info/trunk/hdd_info"},
406
 {"KBD", PROGS .. "/testing/kbd/trunk/kbd"},
408
 {"KBD", PROGS .. "/testing/kbd/trunk/kbd"},
407
 {"KPACK", PROGS .. "/other/kpack/trunk/kpack"},
409
 {"KPACK", PROGS .. "/other/kpack/trunk/kpack"},
408
 {"LAUNCHER", PROGS .. "/system/launcher/trunk/launcher"},
410
 {"LAUNCHER", PROGS .. "/system/launcher/trunk/launcher"},
409
 {"LOADDRV", PROGS .. "/system/loaddrv/loaddrv"},
411
 {"LOADDRV", PROGS .. "/system/loaddrv/loaddrv"},
410
 {"MAGNIFY", PROGS .. "/demos/magnify/trunk/magnify"},
412
 {"MAGNIFY", PROGS .. "/demos/magnify/trunk/magnify"},
411
 {"MGB", PROGS .. "/testing/mgb/trunk/mgb"},
413
 {"MGB", PROGS .. "/testing/mgb/trunk/mgb"},
412
 {"MOUSEMUL", PROGS .. "/system/mousemul/trunk/mousemul"},
414
 {"MOUSEMUL", PROGS .. "/system/mousemul/trunk/mousemul"},
413
 {"MADMOUSE", PROGS .. "/other/madmouse/madmouse"},
415
 {"MADMOUSE", PROGS .. "/other/madmouse/madmouse"},
414
 {"MYKEY", PROGS .. "/system/MyKey/trunk/MyKey"},
416
 {"MYKEY", PROGS .. "/system/MyKey/trunk/MyKey"},
415
 {"PCIDEV", PROGS .. "/testing/pcidev/trunk/PCIDEV"},
417
 {"PCIDEV", PROGS .. "/testing/pcidev/trunk/PCIDEV"},
416
 {"RDSAVE", PROGS .. "/system/rdsave/trunk/rdsave"},
418
 {"RDSAVE", PROGS .. "/system/rdsave/trunk/rdsave"},
417
 {"RTFREAD", PROGS .. "/other/rtfread/trunk/rtfread"},
419
 {"RTFREAD", PROGS .. "/other/rtfread/trunk/rtfread"},
418
 {"SEARCHAP", PROGS .. "/system/searchap/searchap"},
420
 {"SEARCHAP", PROGS .. "/system/searchap/searchap"},
419
 {"SCRSHOOT", PROGS .. "/media/scrshoot/scrshoot"},
421
 {"SCRSHOOT", PROGS .. "/media/scrshoot/scrshoot"},
420
 {"SETUP", PROGS .. "/system/setup/trunk/setup"},
422
 {"SETUP", PROGS .. "/system/setup/trunk/setup"},
421
 {"SKINCFG", PROGS .. "/system/skincfg/trunk/skincfg"},
423
 {"SKINCFG", PROGS .. "/system/skincfg/trunk/skincfg"},
422
 {"TERMINAL", PROGS .. "/system/terminal/terminal"},
424
 {"TERMINAL", PROGS .. "/system/terminal/terminal"},
423
 {"TEST", PROGS .. "/testing/protection/trunk/test"},
425
 {"TEST", PROGS .. "/testing/protection/trunk/test"},
424
 {"TINYPAD", PROGS .. "/develop/tinypad/trunk/tinypad"},
426
 {"TINYPAD", PROGS .. "/develop/tinypad/trunk/tinypad"},
425
 {"UNZ", PROGS .. "/fs/unz/unz"},
427
 {"UNZ", PROGS .. "/fs/unz/unz"},
426
 {"ZKEY", PROGS .. "/system/zkey/trunk/ZKEY"},
428
 {"ZKEY", PROGS .. "/system/zkey/trunk/ZKEY"},
427
 {"3D/3DWAV", PROGS .. "/demos/3dwav/trunk/3dwav"},
429
 {"3D/3DWAV", PROGS .. "/demos/3dwav/trunk/3dwav"},
428
 {"3D/CROWNSCR", PROGS .. "/demos/crownscr/trunk/crownscr"},
430
 {"3D/CROWNSCR", PROGS .. "/demos/crownscr/trunk/crownscr"},
429
 {"3D/3DCUBE2", PROGS .. "/demos/3dcube2/trunk/3DCUBE2"},
431
 {"3D/3DCUBE2", PROGS .. "/demos/3dcube2/trunk/3DCUBE2"},
430
 {"3D/FREE3D04", PROGS .. "/demos/free3d04/trunk/free3d04"},
432
 {"3D/FREE3D04", PROGS .. "/demos/free3d04/trunk/free3d04"},
431
 {"3D/GEARS", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/gears"},
433
 {"3D/GEARS", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/gears"},
432
 {"3D/RAY", PROGS .. "/demos/ray/ray"},
434
 {"3D/RAY", PROGS .. "/demos/ray/ray"},
433
 {"3D/VIEW3DS", PROGS .. "/demos/view3ds/view3ds"},
435
 {"3D/VIEW3DS", PROGS .. "/demos/view3ds/view3ds"},
434
 {"DEMOS/BCDCLK", PROGS .. "/demos/bcdclk/trunk/bcdclk"},
436
 {"DEMOS/BCDCLK", PROGS .. "/demos/bcdclk/trunk/bcdclk"},
435
 {"DEMOS/CIRCLE", PROGS .. "/develop/examples/circle/trunk/circle"},
437
 {"DEMOS/CIRCLE", PROGS .. "/develop/examples/circle/trunk/circle"},
436
 {"DEMOS/COLORREF", PROGS .. "/demos/colorref/trunk/colorref"},
438
 {"DEMOS/COLORREF", PROGS .. "/demos/colorref/trunk/colorref"},
437
 {"DEMOS/CSLIDE", PROGS .. "/demos/cslide/trunk/cslide"},
439
 {"DEMOS/CSLIDE", PROGS .. "/demos/cslide/trunk/cslide"},
438
 {"DEMOS/EYES", PROGS .. "/demos/eyes/trunk/eyes"},
440
 {"DEMOS/EYES", PROGS .. "/demos/eyes/trunk/eyes"},
439
 {"DEMOS/FIREWORK", PROGS .. "/demos/firework/trunk/firework"},
441
 {"DEMOS/FIREWORK", PROGS .. "/demos/firework/trunk/firework"},
440
 {"DEMOS/MOVBACK", PROGS .. "/demos/movback/trunk/movback"},
442
 {"DEMOS/MOVBACK", PROGS .. "/demos/movback/trunk/movback"},
441
 {"DEMOS/PLASMA", PROGS .. "/demos/plasma/trunk/plasma"},
443
 {"DEMOS/PLASMA", PROGS .. "/demos/plasma/trunk/plasma"},
442
 {"DEMOS/SPIRAL", PROGS .. "/demos/spiral/spiral"},
444
 {"DEMOS/SPIRAL", PROGS .. "/demos/spiral/spiral"},
443
 {"DEMOS/TINYFRAC", PROGS .. "/demos/tinyfrac/trunk/tinyfrac"},
445
 {"DEMOS/TINYFRAC", PROGS .. "/demos/tinyfrac/trunk/tinyfrac"},
444
 {"DEMOS/TRANTEST", PROGS .. "/demos/trantest/trunk/trantest"},
446
 {"DEMOS/TRANTEST", PROGS .. "/demos/trantest/trunk/trantest"},
445
 {"DEMOS/TUBE", PROGS .. "/demos/tube/trunk/tube"},
447
 {"DEMOS/TUBE", PROGS .. "/demos/tube/trunk/tube"},
446
 {"DEMOS/UNVWATER", PROGS .. "/demos/unvwater/trunk/unvwater"},
448
 {"DEMOS/UNVWATER", PROGS .. "/demos/unvwater/trunk/unvwater"},
447
 {"DEMOS/WEB", PROGS .. "/demos/web/trunk/web"},
449
 {"DEMOS/WEB", PROGS .. "/demos/web/trunk/web"},
448
 {"DEVELOP/ASCIIVJU", PROGS .. "/develop/asciivju/trunk/asciivju"},
450
 {"DEVELOP/ASCIIVJU", PROGS .. "/develop/asciivju/trunk/asciivju"},
449
 {"DEVELOP/BOARD", PROGS .. "/system/board/trunk/board"},
451
 {"DEVELOP/BOARD", PROGS .. "/system/board/trunk/board"},
450
 {"DEVELOP/CEDIT", PROGS .. "/develop/cedit/CEDIT"},
452
 {"DEVELOP/CEDIT", PROGS .. "/develop/cedit/CEDIT"},
451
 {"DEVELOP/COBJ", PROGS .. "/develop/cObj/trunk/cObj"},
453
 {"DEVELOP/COBJ", PROGS .. "/develop/cObj/trunk/cObj"},
452
 {"DEVELOP/ENTROPYVIEW", PROGS .. "/develop/entropyview/entropyview"},
454
 {"DEVELOP/ENTROPYVIEW", PROGS .. "/develop/entropyview/entropyview"},
453
 {"DEVELOP/FASM", PROGS .. "/develop/fasm/1.73/fasm"},
455
 {"DEVELOP/FASM", PROGS .. "/develop/fasm/1.73/fasm"},
454
 {"DEVELOP/H2D2B", PROGS .. "/develop/h2d2b/trunk/h2d2b"},
456
 {"DEVELOP/H2D2B", PROGS .. "/develop/h2d2b/trunk/h2d2b"},
455
 {"DEVELOP/HEED", PROGS .. "/develop/heed/trunk/heed"},
457
 {"DEVELOP/HEED", PROGS .. "/develop/heed/trunk/heed"},
456
 {"DEVELOP/KEYASCII", PROGS .. "/develop/keyascii/trunk/keyascii"},
458
 {"DEVELOP/KEYASCII", PROGS .. "/develop/keyascii/trunk/keyascii"},
457
 {"DEVELOP/MTDBG", PROGS .. "/develop/mtdbg/mtdbg"},
459
 {"DEVELOP/MTDBG", PROGS .. "/develop/mtdbg/mtdbg"},
458
 {"DEVELOP/SCANCODE", PROGS .. "/develop/scancode/trunk/scancode"},
460
 {"DEVELOP/SCANCODE", PROGS .. "/develop/scancode/trunk/scancode"},
459
 {"DEVELOP/EXAMPLES/CONGET", PROGS .. "/develop/libraries/console_coff/examples/test_gets"},
461
 {"DEVELOP/EXAMPLES/CONGET", PROGS .. "/develop/libraries/console_coff/examples/test_gets"},
460
 {"DEVELOP/EXAMPLES/THREAD", PROGS .. "/develop/examples/thread/trunk/thread"},
462
 {"DEVELOP/EXAMPLES/THREAD", PROGS .. "/develop/examples/thread/trunk/thread"},
461
 {"DEVELOP/EXAMPLES/USE_MB", PROGS .. "/demos/use_mb/use_mb"},
463
 {"DEVELOP/EXAMPLES/USE_MB", PROGS .. "/demos/use_mb/use_mb"},
462
 {"File Managers/KFAR", PROGS .. "/fs/kfar/trunk/kfar"},
464
 {"File Managers/KFAR", PROGS .. "/fs/kfar/trunk/kfar"},
463
 {"File Managers/KFM", PROGS .. "/fs/kfm/trunk/kfm"},
465
 {"File Managers/KFM", PROGS .. "/fs/kfm/trunk/kfm"},
464
 {"File Managers/OPENDIAL", PROGS .. "/fs/opendial/opendial"},
466
 {"File Managers/OPENDIAL", PROGS .. "/fs/opendial/opendial"},
465
 {"GAMES/15", PROGS .. "/games/15/trunk/15"},
467
 {"GAMES/15", PROGS .. "/games/15/trunk/15"},
466
 {"GAMES/FREECELL", PROGS .. "/games/freecell/freecell"},
468
 {"GAMES/FREECELL", PROGS .. "/games/freecell/freecell"},
467
 {"GAMES/GOMOKU", PROGS .. "/games/gomoku/trunk/gomoku"},
469
 {"GAMES/GOMOKU", PROGS .. "/games/gomoku/trunk/gomoku"},
468
 {"GAMES/LIGHTS", PROGS .. "/games/sq_game/trunk/SQ_GAME"},
470
 {"GAMES/LIGHTS", PROGS .. "/games/sq_game/trunk/SQ_GAME"},
469
 {"GAMES/LINES", PROGS .. "/games/lines/lines"},
471
 {"GAMES/LINES", PROGS .. "/games/lines/lines"},
470
 {"GAMES/MSQUARE", PROGS .. "/games/MSquare/trunk/MSquare"},
472
 {"GAMES/MSQUARE", PROGS .. "/games/MSquare/trunk/MSquare"},
471
 {"GAMES/PIPES", PROGS .. "/games/pipes/pipes"},
473
 {"GAMES/PIPES", PROGS .. "/games/pipes/pipes"},
472
 {"GAMES/PONG", PROGS .. "/games/pong/trunk/pong"},
474
 {"GAMES/PONG", PROGS .. "/games/pong/trunk/pong"},
473
 {"GAMES/PONG3", PROGS .. "/games/pong3/trunk/pong3"},
475
 {"GAMES/PONG3", PROGS .. "/games/pong3/trunk/pong3"},
474
 {"GAMES/RSQUARE", PROGS .. "/games/rsquare/trunk/rsquare"},
476
 {"GAMES/RSQUARE", PROGS .. "/games/rsquare/trunk/rsquare"},
475
 {"GAMES/SNAKE", PROGS .. "/games/snake/trunk/snake"},
477
 {"GAMES/SNAKE", PROGS .. "/games/snake/trunk/snake"},
476
 {"GAMES/SUDOKU", PROGS .. "/games/sudoku/trunk/sudoku"},
478
 {"GAMES/SUDOKU", PROGS .. "/games/sudoku/trunk/sudoku"},
477
 {"GAMES/SW", PROGS .. "/games/sw/trunk/sw"},
479
 {"GAMES/SW", PROGS .. "/games/sw/trunk/sw"},
478
 {"GAMES/TANKS", PROGS .. "/games/tanks/trunk/tanks"},
480
 {"GAMES/TANKS", PROGS .. "/games/tanks/trunk/tanks"},
479
 {"GAMES/TETRIS", PROGS .. "/games/tetris/trunk/tetris"},
481
 {"GAMES/TETRIS", PROGS .. "/games/tetris/trunk/tetris"},
480
 {"LIB/ARCHIVER.OBJ", PROGS .. "/fs/kfar/trunk/kfar_arc/kfar_arc.obj"},
482
 {"LIB/ARCHIVER.OBJ", PROGS .. "/fs/kfar/trunk/kfar_arc/kfar_arc.obj"},
481
 {"LIB/BOX_LIB.OBJ", PROGS .. "/develop/libraries/box_lib/trunk/box_lib.obj"},
483
 {"LIB/BOX_LIB.OBJ", PROGS .. "/develop/libraries/box_lib/trunk/box_lib.obj"},
482
 {"LIB/BUF2D.OBJ", PROGS .. "/develop/libraries/buf2d/trunk/buf2d.obj"},
484
 {"LIB/BUF2D.OBJ", PROGS .. "/develop/libraries/buf2d/trunk/buf2d.obj"},
483
 {"LIB/CONSOLE.OBJ", PROGS .. "/develop/libraries/console_coff/console.obj"},
485
 {"LIB/CONSOLE.OBJ", PROGS .. "/develop/libraries/console_coff/console.obj"},
484
 {"LIB/CNV_PNG.OBJ", PROGS .. "/media/zsea/plugins/png/cnv_png.obj"},
486
 {"LIB/CNV_PNG.OBJ", PROGS .. "/media/zsea/plugins/png/cnv_png.obj"},
485
 {"LIB/DLL.OBJ", PROGS .. "/develop/libraries/dll/dll.obj"},
487
 {"LIB/DLL.OBJ", PROGS .. "/develop/libraries/dll/dll.obj"},
486
 {"LIB/HTTP.OBJ", PROGS .. "/develop/libraries/http/http.obj"},
488
 {"LIB/HTTP.OBJ", PROGS .. "/develop/libraries/http/http.obj"},
487
 {"LIB/LIBGFX.OBJ", PROGS .. "/develop/libraries/libs-dev/libgfx/libgfx.obj"},
489
 {"LIB/LIBGFX.OBJ", PROGS .. "/develop/libraries/libs-dev/libgfx/libgfx.obj"},
488
 {"LIB/LIBIMG.OBJ", PROGS .. "/develop/libraries/libs-dev/libimg/libimg.obj"},
490
 {"LIB/LIBIMG.OBJ", PROGS .. "/develop/libraries/libs-dev/libimg/libimg.obj"},
489
 {"LIB/LIBINI.OBJ", PROGS .. "/develop/libraries/libs-dev/libini/libini.obj"},
491
 {"LIB/LIBINI.OBJ", PROGS .. "/develop/libraries/libs-dev/libini/libini.obj"},
490
 {"LIB/LIBIO.OBJ", PROGS .. "/develop/libraries/libs-dev/libio/libio.obj"},
492
 {"LIB/LIBIO.OBJ", PROGS .. "/develop/libraries/libs-dev/libio/libio.obj"},
491
 {"LIB/MSGBOX.OBJ", PROGS .. "/develop/libraries/msgbox/msgbox.obj"},
493
 {"LIB/MSGBOX.OBJ", PROGS .. "/develop/libraries/msgbox/msgbox.obj"},
492
 {"LIB/NETWORK.OBJ", PROGS .. "/develop/libraries/network/network.obj"},
494
 {"LIB/NETWORK.OBJ", PROGS .. "/develop/libraries/network/network.obj"},
493
 {"LIB/PROC_LIB.OBJ", PROGS .. "/develop/libraries/proc_lib/trunk/proc_lib.obj"},
495
 {"LIB/PROC_LIB.OBJ", PROGS .. "/develop/libraries/proc_lib/trunk/proc_lib.obj"},
494
 {"LIB/RASTERWORKS.OBJ", PROGS .. "/develop/libraries/fontRasterWorks(unicode)/RasterWorks.obj"},
496
 {"LIB/RASTERWORKS.OBJ", PROGS .. "/develop/libraries/fontRasterWorks(unicode)/RasterWorks.obj"},
495
 {"LIB/SORT.OBJ", PROGS .. "/develop/libraries/sorter/sort.obj"},
497
 {"LIB/SORT.OBJ", PROGS .. "/develop/libraries/sorter/sort.obj"},
496
 {"LIB/TINYGL.OBJ", PROGS .. "/develop/libraries/TinyGL/asm_fork/tinygl.obj"},
498
 {"LIB/TINYGL.OBJ", PROGS .. "/develop/libraries/TinyGL/asm_fork/tinygl.obj"},
497
 {"LIB/MTAR.OBJ", PROGS .. "/develop/libraries/microtar/mtar.obj"},
499
 {"LIB/MTAR.OBJ", PROGS .. "/develop/libraries/microtar/mtar.obj"},
498
 {"MEDIA/ANIMAGE", PROGS .. "/media/animage/trunk/animage"},
500
 {"MEDIA/ANIMAGE", PROGS .. "/media/animage/trunk/animage"},
499
 {"MEDIA/KIV", PROGS .. "/media/kiv/trunk/kiv"},
501
 {"MEDIA/KIV", PROGS .. "/media/kiv/trunk/kiv"},
500
 {"MEDIA/LISTPLAY", PROGS .. "/media/listplay/trunk/listplay"},
502
 {"MEDIA/LISTPLAY", PROGS .. "/media/listplay/trunk/listplay"},
501
 {"MEDIA/MIDAMP", PROGS .. "/media/midamp/trunk/midamp"},
503
 {"MEDIA/MIDAMP", PROGS .. "/media/midamp/trunk/midamp"},
502
 {"MEDIA/MP3INFO", PROGS .. "/media/mp3info/mp3info"},
504
 {"MEDIA/MP3INFO", PROGS .. "/media/mp3info/mp3info"},
503
 {"MEDIA/PALITRA", PROGS .. "/media/palitra/trunk/palitra"},
505
 {"MEDIA/PALITRA", PROGS .. "/media/palitra/trunk/palitra"},
504
 {"MEDIA/PIANO", PROGS .. "/media/piano/piano"},
506
 {"MEDIA/PIANO", PROGS .. "/media/piano/piano"},
505
 {"MEDIA/STARTMUS", PROGS .. "/media/startmus/trunk/STARTMUS"},
507
 {"MEDIA/STARTMUS", PROGS .. "/media/startmus/trunk/STARTMUS"},
506
 {"NETWORK/PING", PROGS .. "/network/ping/ping"},
508
 {"NETWORK/PING", PROGS .. "/network/ping/ping"},
507
 {"NETWORK/NETCFG", PROGS .. "/network/netcfg/netcfg"},
509
 {"NETWORK/NETCFG", PROGS .. "/network/netcfg/netcfg"},
508
 {"NETWORK/NETSTAT", PROGS .. "/network/netstat/netstat"},
510
 {"NETWORK/NETSTAT", PROGS .. "/network/netstat/netstat"},
509
 {"NETWORK/NSINST", PROGS .. "/network/netsurf/nsinstall"},
511
 {"NETWORK/NSINST", PROGS .. "/network/netsurf/nsinstall"},
510
 {"NETWORK/NSLOOKUP", PROGS .. "/network/nslookup/nslookup"},
512
 {"NETWORK/NSLOOKUP", PROGS .. "/network/nslookup/nslookup"},
511
 {"NETWORK/PASTA", PROGS .. "/network/pasta/pasta"},
513
 {"NETWORK/PASTA", PROGS .. "/network/pasta/pasta"},
512
 {"NETWORK/SYNERGYC", PROGS .. "/network/synergyc/synergyc"},
514
 {"NETWORK/SYNERGYC", PROGS .. "/network/synergyc/synergyc"},
513
 {"NETWORK/SNTP", PROGS .. "/network/sntp/sntp"},
515
 {"NETWORK/SNTP", PROGS .. "/network/sntp/sntp"},
514
 {"NETWORK/TELNET", PROGS .. "/network/telnet/telnet"},
516
 {"NETWORK/TELNET", PROGS .. "/network/telnet/telnet"},
515
 {"NETWORK/@ZEROCONF", PROGS .. "/network/zeroconf/zeroconf"},
517
 {"NETWORK/@ZEROCONF", PROGS .. "/network/zeroconf/zeroconf"},
516
 {"NETWORK/FTPC", PROGS .. "/network/ftpc/ftpc"},
518
 {"NETWORK/FTPC", PROGS .. "/network/ftpc/ftpc"},
517
 {"NETWORK/FTPD", PROGS .. "/network/ftpd/ftpd"},
519
 {"NETWORK/FTPD", PROGS .. "/network/ftpd/ftpd"},
518
 {"NETWORK/TFTPC", PROGS .. "/network/tftpc/tftpc"},
520
 {"NETWORK/TFTPC", PROGS .. "/network/tftpc/tftpc"},
519
 {"NETWORK/IRCC", PROGS .. "/network/ircc/ircc"},
521
 {"NETWORK/IRCC", PROGS .. "/network/ircc/ircc"},
520
 {"NETWORK/DOWNLOADER", PROGS .. "/network/downloader/downloader"},
522
 {"NETWORK/DOWNLOADER", PROGS .. "/network/downloader/downloader"},
521
 {"NETWORK/VNCC", PROGS .. "/network/vncc/vncc"},
523
 {"NETWORK/VNCC", PROGS .. "/network/vncc/vncc"},
522
 {"DRIVERS/VIDINTEL.SYS", "../drivers/video/vidintel.sys"},
524
 {"DRIVERS/VIDINTEL.SYS", "../drivers/video/vidintel.sys"},
523
 {"DRIVERS/3C59X.SYS", "../drivers/ethernet/3c59x.sys"},
525
 {"DRIVERS/3C59X.SYS", "../drivers/ethernet/3c59x.sys"},
524
 {"DRIVERS/AR81XX.SYS", "../drivers/ethernet/ar81xx.sys"},
526
 {"DRIVERS/AR81XX.SYS", "../drivers/ethernet/ar81xx.sys"},
525
 {"DRIVERS/DEC21X4X.SYS", "../drivers/ethernet/dec21x4x.sys"},
527
 {"DRIVERS/DEC21X4X.SYS", "../drivers/ethernet/dec21x4x.sys"},
526
 {"DRIVERS/FORCEDETH.SYS", "../drivers/ethernet/forcedeth.sys"},
528
 {"DRIVERS/FORCEDETH.SYS", "../drivers/ethernet/forcedeth.sys"},
527
 {"DRIVERS/I8254X.SYS", "../drivers/ethernet/i8254x.sys"},
529
 {"DRIVERS/I8254X.SYS", "../drivers/ethernet/i8254x.sys"},
528
 {"DRIVERS/I8255X.SYS", "../drivers/ethernet/i8255x.sys"},
530
 {"DRIVERS/I8255X.SYS", "../drivers/ethernet/i8255x.sys"},
529
 {"DRIVERS/MTD80X.SYS", "../drivers/ethernet/mtd80x.sys"},
531
 {"DRIVERS/MTD80X.SYS", "../drivers/ethernet/mtd80x.sys"},
530
 {"DRIVERS/PCNET32.SYS", "../drivers/ethernet/pcnet32.sys"},
532
 {"DRIVERS/PCNET32.SYS", "../drivers/ethernet/pcnet32.sys"},
531
 {"DRIVERS/R6040.SYS", "../drivers/ethernet/R6040.sys"},
533
 {"DRIVERS/R6040.SYS", "../drivers/ethernet/R6040.sys"},
532
 {"DRIVERS/RHINE.SYS", "../drivers/ethernet/rhine.sys"},
534
 {"DRIVERS/RHINE.SYS", "../drivers/ethernet/rhine.sys"},
533
 {"DRIVERS/RTL8029.SYS", "../drivers/ethernet/RTL8029.sys"},
535
 {"DRIVERS/RTL8029.SYS", "../drivers/ethernet/RTL8029.sys"},
534
 {"DRIVERS/RTL8139.SYS", "../drivers/ethernet/RTL8139.sys"},
536
 {"DRIVERS/RTL8139.SYS", "../drivers/ethernet/RTL8139.sys"},
535
 {"DRIVERS/RTL8169.SYS", "../drivers/ethernet/RTL8169.sys"},
537
 {"DRIVERS/RTL8169.SYS", "../drivers/ethernet/RTL8169.sys"},
536
 {"DRIVERS/SIS900.SYS", "../drivers/ethernet/sis900.sys"},
538
 {"DRIVERS/SIS900.SYS", "../drivers/ethernet/sis900.sys"},
537
 {"DRIVERS/UHCI.SYS", "../drivers/usb/uhci.sys"},
539
 {"DRIVERS/UHCI.SYS", "../drivers/usb/uhci.sys"},
538
 {"DRIVERS/OHCI.SYS", "../drivers/usb/ohci.sys"},
540
 {"DRIVERS/OHCI.SYS", "../drivers/usb/ohci.sys"},
539
 {"DRIVERS/EHCI.SYS", "../drivers/usb/ehci.sys"},
541
 {"DRIVERS/EHCI.SYS", "../drivers/usb/ehci.sys"},
540
 {"DRIVERS/USBHID.SYS", "../drivers/usb/usbhid/usbhid.sys"},
542
 {"DRIVERS/USBHID.SYS", "../drivers/usb/usbhid/usbhid.sys"},
541
 {"DRIVERS/USBSTOR.SYS", "../drivers/usb/usbstor.sys"},
543
 {"DRIVERS/USBSTOR.SYS", "../drivers/usb/usbstor.sys"},
542
 {"DRIVERS/RDC.SYS", "../drivers/video/rdc.sys"},
544
 {"DRIVERS/RDC.SYS", "../drivers/video/rdc.sys"},
543
 {"DRIVERS/COMMOUSE.SYS", "../drivers/mouse/commouse.sys"},
545
 {"DRIVERS/COMMOUSE.SYS", "../drivers/mouse/commouse.sys"},
544
 {"DRIVERS/PS2MOUSE.SYS", "../drivers/mouse/ps2mouse4d/trunk/ps2mouse.sys"},
546
 {"DRIVERS/PS2MOUSE.SYS", "../drivers/mouse/ps2mouse4d/trunk/ps2mouse.sys"},
545
 {"DRIVERS/TMPDISK.SYS", "../drivers/disk/tmpdisk.sys"},
547
 {"DRIVERS/TMPDISK.SYS", "../drivers/disk/tmpdisk.sys"},
546
 {"DRIVERS/intel_hda.sys", "../drivers/audio/intel_hda/intel_hda.sys"},
548
 {"DRIVERS/intel_hda.sys", "../drivers/audio/intel_hda/intel_hda.sys"},
547
 {"DRIVERS/SB16.SYS", "../drivers/audio/sb16/sb16.sys"},
549
 {"DRIVERS/SB16.SYS", "../drivers/audio/sb16/sb16.sys"},
548
 {"DRIVERS/SOUND.SYS", "../drivers/audio/sound.sys"},
550
 {"DRIVERS/SOUND.SYS", "../drivers/audio/sound.sys"},
549
 {"DRIVERS/INFINITY.SYS", "../drivers/audio/infinity/infinity.sys"},
551
 {"DRIVERS/INFINITY.SYS", "../drivers/audio/infinity/infinity.sys"},
550
 {"DRIVERS/INTELAC97.SYS", "../drivers/audio/intelac97.sys"},
552
 {"DRIVERS/INTELAC97.SYS", "../drivers/audio/intelac97.sys"},
551
 {"DRIVERS/EMU10K1X.SYS", "../drivers/audio/emu10k1x.sys"},
553
 {"DRIVERS/EMU10K1X.SYS", "../drivers/audio/emu10k1x.sys"},
552
 {"DRIVERS/FM801.SYS", "../drivers/audio/fm801.sys"},
554
 {"DRIVERS/FM801.SYS", "../drivers/audio/fm801.sys"},
553
 {"DRIVERS/VT823X.SYS", "../drivers/audio/vt823x.sys"},
555
 {"DRIVERS/VT823X.SYS", "../drivers/audio/vt823x.sys"},
554
 {"DRIVERS/SIS.SYS", "../drivers/audio/sis.sys"},
556
 {"DRIVERS/SIS.SYS", "../drivers/audio/sis.sys"},
555
})
557
})
556
tup.append_table(extra_files, {
558
tup.append_table(extra_files, {
557
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/9x2klbr.exe"},
559
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/9x2klbr.exe"},
558
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/MeOSload.com"},
560
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/MeOSload.com"},
559
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/mtldr"},
561
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/mtldr"},
560
 {"HD_Load/", PROGS .. "/hd_load/mtldr_install/mtldr_install.exe"},
562
 {"HD_Load/", PROGS .. "/hd_load/mtldr_install/mtldr_install.exe"},
561
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/BOOT_F32.BIN"},
563
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/BOOT_F32.BIN"},
562
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/MTLD_F32"},
564
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/MTLD_F32"},
563
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/inst.exe"},
565
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/inst.exe"},
564
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/setmbr.exe"},
566
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/setmbr.exe"},
565
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/MeOSload.com"},
567
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/MeOSload.com"},
566
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/enable.exe"},
568
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/enable.exe"},
567
 {"kolibrios/3D/3dsheart", PROGS .. "/demos/3dsheart/trunk/3dsheart"},
569
 {"kolibrios/3D/3dsheart", PROGS .. "/demos/3dsheart/trunk/3dsheart"},
568
 {"kolibrios/3D/flatwav", PROGS .. "/demos/flatwav/trunk/flatwav"},
570
 {"kolibrios/3D/flatwav", PROGS .. "/demos/flatwav/trunk/flatwav"},
-
 
571
 {"kolibrios/3D/mos3de", PROGS .. "/demos/mos3de/mos3de"},
569
 {"kolibrios/3D/info3ds/INFO3DS", PROGS .. "/develop/info3ds/info3ds"},
572
 {"kolibrios/3D/info3ds/INFO3DS", PROGS .. "/develop/info3ds/info3ds"},
-
 
573
 {"kolibrios/3D/textures1", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/textures1"},
570
 {"kolibrios/3D/info3ds/INFO3DS_U", PROGS .. "/develop/info3ds/info3ds_u"},
574
 {"kolibrios/3D/info3ds/INFO3DS_U", PROGS .. "/develop/info3ds/info3ds_u"},
571
 {"kolibrios/3D/mos3de", PROGS .. "/demos/mos3de/mos3de"},
-
 
572
 {"kolibrios/3D/voxel_editor/VOXEL_EDITOR", PROGS .. "/media/voxel_editor/trunk/voxel_editor"},
575
 {"kolibrios/3D/voxel_editor/VOXEL_EDITOR", PROGS .. "/media/voxel_editor/trunk/voxel_editor"},
573
 {"kolibrios/3D/voxel_utilites/VOX_CREATOR" , PROGS .. "/media/voxel_editor/utilites/vox_creator"},
576
 {"kolibrios/3D/voxel_utilites/VOX_CREATOR" , PROGS .. "/media/voxel_editor/utilites/vox_creator"},
574
 {"kolibrios/3D/voxel_utilites/VOX_MOVER" , PROGS .. "/media/voxel_editor/utilites/vox_mover"},
577
 {"kolibrios/3D/voxel_utilites/VOX_MOVER" , PROGS .. "/media/voxel_editor/utilites/vox_mover"},
575
 {"kolibrios/3D/voxel_utilites/VOX_TGL" , PROGS .. "/media/voxel_editor/utilites/vox_tgl"},
578
 {"kolibrios/3D/voxel_utilites/VOX_TGL" , PROGS .. "/media/voxel_editor/utilites/vox_tgl"},
576
 {"kolibrios/3D/textures1", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/textures1"},
-
 
577
 {"kolibrios/demos/buddhabrot", PROGS .. "/demos/buddhabrot/trunk/buddhabrot"},
579
 {"kolibrios/demos/buddhabrot", PROGS .. "/demos/buddhabrot/trunk/buddhabrot"},
578
 {"kolibrios/demos/life3", PROGS .. "/games/life3/trunk/life3"},
580
 {"kolibrios/demos/life3", PROGS .. "/games/life3/trunk/life3"},
579
 {"kolibrios/demos/qjulia", PROGS .. "/demos/qjulia/trunk/qjulia"},
581
 {"kolibrios/demos/qjulia", PROGS .. "/demos/qjulia/trunk/qjulia"},
580
 {"kolibrios/games/Almaz", PROGS .. "/games/almaz/almaz"},
582
 {"kolibrios/games/Almaz", PROGS .. "/games/almaz/almaz"},
581
 {"kolibrios/games/arcanii", PROGS .. "/games/arcanii/trunk/arcanii"},
583
 {"kolibrios/games/arcanii", PROGS .. "/games/arcanii/trunk/arcanii"},
582
 {"kolibrios/games/bomber/bomber", PROGS .. "/games/bomber/bomber"},
584
 {"kolibrios/games/bomber/bomber", PROGS .. "/games/bomber/bomber"},
583
 {"kolibrios/games/bomber/bomberdata.bin", PROGS .. "/games/bomber/sounds/bomberdata.bin"},
585
 {"kolibrios/games/bomber/bomberdata.bin", PROGS .. "/games/bomber/sounds/bomberdata.bin"},
584
 {"kolibrios/games/codemaster/binary_master", PROGS .. "/games/codemaster/binary_master"},
586
 {"kolibrios/games/codemaster/binary_master", PROGS .. "/games/codemaster/binary_master"},
585
 {"kolibrios/games/codemaster/hang_programmer", PROGS .. "/games/codemaster/hang_programmer"},
587
 {"kolibrios/games/codemaster/hang_programmer", PROGS .. "/games/codemaster/hang_programmer"},
586
 {"kolibrios/games/codemaster/kolibri_puzzle", PROGS .. "/games/codemaster/kolibri_puzzle"},
588
 {"kolibrios/games/codemaster/kolibri_puzzle", PROGS .. "/games/codemaster/kolibri_puzzle"},
587
 {"kolibrios/games/megamaze", PROGS .. "/games/megamaze/trunk/megamaze"},
589
 {"kolibrios/games/megamaze", PROGS .. "/games/megamaze/trunk/megamaze"},
588
 {"kolibrios/games/invaders", PROGS .. "/games/invaders/invaders"},
590
 {"kolibrios/games/invaders", PROGS .. "/games/invaders/invaders"},
589
 {"kolibrios/games/phenix", PROGS .. "/games/phenix/trunk/phenix"},
591
 {"kolibrios/games/phenix", PROGS .. "/games/phenix/trunk/phenix"},
590
 {"kolibrios/games/soko/soko", PROGS .. "/games/soko/trunk/SOKO"},
592
 {"kolibrios/games/soko/soko", PROGS .. "/games/soko/trunk/SOKO"},
591
 {"kolibrios/media/img_transform", PROGS .. "/media/img_transform/img_transform"},
593
 {"kolibrios/media/img_transform", PROGS .. "/media/img_transform/img_transform"},
592
 {"kolibrios/media/zsea/zsea", PROGS .. "/media/zsea/zSea"},
594
 {"kolibrios/media/zsea/zsea", PROGS .. "/media/zsea/zSea"},
593
 {"kolibrios/media/zsea/plugins/cnv_bmp.obj", PROGS .. "/media/zsea/plugins/bmp/cnv_bmp.obj"},
595
 {"kolibrios/media/zsea/plugins/cnv_bmp.obj", PROGS .. "/media/zsea/plugins/bmp/cnv_bmp.obj"},
594
 {"kolibrios/media/zsea/plugins/cnv_gif.obj", PROGS .. "/media/zsea/plugins/gif/cnv_gif.obj"},
596
 {"kolibrios/media/zsea/plugins/cnv_gif.obj", PROGS .. "/media/zsea/plugins/gif/cnv_gif.obj"},
595
 {"kolibrios/media/zsea/plugins/cnv_jpeg.obj", PROGS .. "/media/zsea/plugins/jpeg/cnv_jpeg.obj"},
597
 {"kolibrios/media/zsea/plugins/cnv_jpeg.obj", PROGS .. "/media/zsea/plugins/jpeg/cnv_jpeg.obj"},
596
 {"kolibrios/media/zsea/plugins/convert.obj", PROGS .. "/media/zsea/plugins/convert/convert.obj"},
598
 {"kolibrios/media/zsea/plugins/convert.obj", PROGS .. "/media/zsea/plugins/convert/convert.obj"},
597
 {"kolibrios/media/zsea/plugins/rotate.obj", PROGS .. "/media/zsea/plugins/rotate/rotate.obj"},
599
 {"kolibrios/media/zsea/plugins/rotate.obj", PROGS .. "/media/zsea/plugins/rotate/rotate.obj"},
598
 {"kolibrios/media/zsea/plugins/scaling.obj", PROGS .. "/media/zsea/plugins/scaling/scaling.obj"},
600
 {"kolibrios/media/zsea/plugins/scaling.obj", PROGS .. "/media/zsea/plugins/scaling/scaling.obj"},
599
 {"kolibrios/utils/calcplus", PROGS .. "/other/calcplus/calcplus"},
601
 {"kolibrios/utils/calcplus", PROGS .. "/other/calcplus/calcplus"},
600
 {"kolibrios/utils/t_edit", PROGS .. "/other/t_edit/t_edit"},
602
 {"kolibrios/utils/t_edit", PROGS .. "/other/t_edit/t_edit"},
601
})
603
})
602
-- For russian build, add russian-only programs.
604
-- For russian build, add russian-only programs.
603
if build_type == "rus" then tup.append_table(img_files, {
605
if build_type == "rus" then tup.append_table(img_files, {
604
 {"PERIOD", PROGS .. "/other/period/trunk/period"},
606
 {"PERIOD", PROGS .. "/other/period/trunk/period"},
605
 {"GAMES/KLAVISHA", PROGS .. "/games/klavisha/trunk/klavisha"},
607
 {"GAMES/KLAVISHA", PROGS .. "/games/klavisha/trunk/klavisha"},
606
 {"DEVELOP/EXAMPLES/TESTCON2", PROGS .. "/develop/libraries/console_coff/examples/testcon2_rus"},
608
 {"DEVELOP/EXAMPLES/TESTCON2", PROGS .. "/develop/libraries/console_coff/examples/testcon2_rus"},
607
}) else tup.append_table(img_files, {
609
}) else tup.append_table(img_files, {
608
 {"DEVELOP/TESTCON2", PROGS .. "/develop/libraries/console_coff/examples/testcon2_eng"},
610
 {"DEVELOP/TESTCON2", PROGS .. "/develop/libraries/console_coff/examples/testcon2_eng"},
609
}) end
611
}) end
610
 
612
 
611
if build_type == "rus" then tup.append_table(extra_files, {
613
if build_type == "rus" then tup.append_table(extra_files, {
612
 {"kolibrios/games/Dungeons/Dungeons", PROGS .. "/games/Dungeons/Dungeons"},
614
 {"kolibrios/games/Dungeons/Dungeons", PROGS .. "/games/Dungeons/Dungeons"},
613
}) end
615
}) end
614
 
616
 
615
end -- tup.getconfig('NO_FASM') ~= 'full'
617
end -- tup.getconfig('NO_FASM') ~= 'full'
616
 
618
 
617
-- Programs that require NASM to compile.
619
-- Programs that require NASM to compile.
618
if tup.getconfig('NO_NASM') ~= 'full' then
620
if tup.getconfig('NO_NASM') ~= 'full' then
619
tup.append_table(img_files, {
621
tup.append_table(img_files, {
620
 {"ACLOCK", PROGS .. "/demos/aclock/trunk/aclock"},
622
 {"ACLOCK", PROGS .. "/demos/aclock/trunk/aclock"},
621
 {"LOD", PROGS .. "/fs/lod/lod"},
623
 {"LOD", PROGS .. "/fs/lod/lod"},
622
 {"TIMER", PROGS .. "/other/Timer/timer"},
624
 {"TIMER", PROGS .. "/other/Timer/timer"},
623
 {"TINFO", PROGS .. "/system/tinfo/tinfo"},
625
 {"TINFO", PROGS .. "/system/tinfo/tinfo"},
624
 {"DEVELOP/MSTATE", PROGS .. "/develop/mstate/mstate"},
626
 {"DEVELOP/MSTATE", PROGS .. "/develop/mstate/mstate"},
625
 {"GAMES/C4", PROGS .. "/games/c4/trunk/c4"},
627
 {"GAMES/C4", PROGS .. "/games/c4/trunk/c4"},
626
 {"MEDIA/FILLSCR", PROGS .. "/media/FillScr/fillscr"},
628
 {"MEDIA/FILLSCR", PROGS .. "/media/FillScr/fillscr"},
627
})
629
})
628
tup.append_table(extra_files, {
630
tup.append_table(extra_files, {
629
 {"kolibrios/develop/utils/GenFiles", PROGS .. "/testing/genfiles/GenFiles"},
631
 {"kolibrios/develop/utils/GenFiles", PROGS .. "/testing/genfiles/GenFiles"},
630
})
632
})
631
end -- tup.getconfig('NO_NASM') ~= 'full'
633
end -- tup.getconfig('NO_NASM') ~= 'full'
632
 
634
 
633
-- Programs that require JWASM to compile.
635
-- Programs that require JWASM to compile.
634
if tup.getconfig('NO_JWASM') ~= 'full' then
636
if tup.getconfig('NO_JWASM') ~= 'full' then
635
tup.append_table(img_files, {
637
tup.append_table(img_files, {
636
 {"RUN", PROGS .. "/system/RunOD/1/RUN"},
638
 {"RUN", PROGS .. "/system/RunOD/1/RUN"},
637
 {"LIB/INPUTBOX.OBJ", PROGS .. "/develop/libraries/InputBox/INPUTBOX.OBJ"},
639
 {"LIB/INPUTBOX.OBJ", PROGS .. "/develop/libraries/InputBox/INPUTBOX.OBJ"},
638
})
640
})
639
end -- tup.getconfig('NO_JWASM') ~= 'full'
641
end -- tup.getconfig('NO_JWASM') ~= 'full'
640
 
642
 
641
-- Programs that require C-- to compile.
643
-- Programs that require C-- to compile.
642
if tup.getconfig('NO_CMM') ~= 'full' then
644
if tup.getconfig('NO_CMM') ~= 'full' then
643
tup.append_table(img_files, {
645
tup.append_table(img_files, {
644
 {"APP_PLUS", PROGS .. "/cmm/app_plus/app_plus.com"},
646
 {"APP_PLUS", PROGS .. "/cmm/app_plus/app_plus.com"},
645
 {"EASYSHOT", PROGS .. "/cmm/misc/easyshot.com"},
647
 {"EASYSHOT", PROGS .. "/cmm/misc/easyshot.com"},
646
 {"MOUSECFG", PROGS .. "/cmm/mousecfg/mousecfg.com"},
648
 {"MOUSECFG", PROGS .. "/cmm/mousecfg/mousecfg.com"},
647
 {"BARSCFG", PROGS .. "/cmm/barscfg/barscfg.com"},
649
 {"BARSCFG", PROGS .. "/cmm/barscfg/barscfg.com"},
648
 {"SYSPANEL", PROGS .. "/cmm/misc/software_widget.com"},
650
 {"SYSPANEL", PROGS .. "/cmm/misc/software_widget.com"},
649
 {"SYSMON", PROGS .. "/cmm/sysmon/sysmon.com"},
651
 {"SYSMON", PROGS .. "/cmm/sysmon/sysmon.com"},
650
 {"QUARK", PROGS .. "/cmm/quark/quark.com"},
652
 {"QUARK", PROGS .. "/cmm/quark/quark.com"},
651
 {"TMPDISK", PROGS .. "/cmm/tmpdisk/tmpdisk.com"},
653
 {"TMPDISK", PROGS .. "/cmm/tmpdisk/tmpdisk.com"},
652
 {"DEVELOP/CLIPVIEW", PROGS .. "/cmm/clipview/clipview.com"},
654
 {"DEVELOP/CLIPVIEW", PROGS .. "/cmm/clipview/clipview.com"},
653
 {"DEVELOP/MENU", PROGS .. "/cmm/menu/menu.com"},
655
 {"DEVELOP/MENU", PROGS .. "/cmm/menu/menu.com"},
654
 {"DEVELOP/PIPET", PROGS .. "/cmm/misc/pipet.com"},
656
 {"DEVELOP/PIPET", PROGS .. "/cmm/misc/pipet.com"},
655
 {"File Managers/EOLITE", PROGS .. "/cmm/eolite/Eolite.com"},
657
 {"File Managers/EOLITE", PROGS .. "/cmm/eolite/Eolite.com"},
656
 {"KF_VIEW", PROGS .. "/cmm/kf_font_viewer/font_viewer.com"},
658
 {"KF_VIEW", PROGS .. "/cmm/kf_font_viewer/font_viewer.com"},
657
 {"GAMES/CLICKS", PROGS .. "/games/clicks/trunk/clicks.com"},
659
 {"GAMES/CLICKS", PROGS .. "/games/clicks/trunk/clicks.com"},
658
 {"GAMES/MBLOCKS", PROGS .. "/cmm/misc/mblocks.com"},
660
 {"GAMES/MBLOCKS", PROGS .. "/cmm/misc/mblocks.com"},
659
 {"DEVELOP/DIFF", PROGS .. "/cmm/diff/diff.com"},
661
 {"DEVELOP/DIFF", PROGS .. "/cmm/diff/diff.com"},
660
 {"GAMES/FindNumbers", PROGS .. "/games/FindNumbers/trunk/FindNumbers"},
662
 {"GAMES/FindNumbers", PROGS .. "/games/FindNumbers/trunk/FindNumbers"},
661
 {"GAMES/FLOOD-IT", PROGS .. "/games/flood-it/trunk/flood-it.com"},
663
 {"GAMES/FLOOD-IT", PROGS .. "/games/flood-it/trunk/flood-it.com"},
662
 {"GAMES/MINE", PROGS .. "/games/mine/trunk/mine"},
664
 {"GAMES/MINE", PROGS .. "/games/mine/trunk/mine"},
663
 {"MEDIA/PIXIE", PROGS .. "/cmm/pixie2/pixie.com"},
665
 {"MEDIA/PIXIE", PROGS .. "/cmm/pixie2/pixie.com"},
664
 {"MEDIA/ICONEDIT", PROGS .. "/cmm/iconedit/iconedit.com"},
666
 {"MEDIA/ICONEDIT", PROGS .. "/cmm/iconedit/iconedit.com"},
665
 {"NETWORK/DL", PROGS .. "/cmm/downloader/dl.com"},
667
 {"NETWORK/DL", PROGS .. "/cmm/downloader/dl.com"},
666
 {"NETWORK/WEBVIEW", PROGS .. "/cmm/browser/WebView.com"},
668
 {"NETWORK/WEBVIEW", PROGS .. "/cmm/browser/WebView.com"},
667
})
669
})
668
tup.append_table(extra_files, {
670
tup.append_table(extra_files, {
669
 {"kolibrios/drivers/drvinst.kex", PROGS .. "/cmm/drvinst/drvinst.com"},
671
 {"kolibrios/drivers/drvinst.kex", PROGS .. "/cmm/drvinst/drvinst.com"},
670
 {"kolibrios/games/pig/pigex", PROGS .. "/cmm/examples/pigex.com"},
672
 {"kolibrios/games/pig/pigex", PROGS .. "/cmm/examples/pigex.com"},
671
 {"kolibrios/games/the_bus/the_bus", PROGS .. "/cmm/the_bus/the_bus.com"},
673
 {"kolibrios/games/the_bus/the_bus", PROGS .. "/cmm/the_bus/the_bus.com"},
672
 {"kolibrios/KolibriNext/install.kex", PROGS .. "/cmm/misc/install.com"},
674
 {"kolibrios/KolibriNext/install.kex", PROGS .. "/cmm/misc/install.com"},
673
 {"kolibrios/utils/appearance", PROGS .. "/cmm/appearance/appearance.com"},
675
 {"kolibrios/utils/appearance", PROGS .. "/cmm/appearance/appearance.com"},
674
 {"kolibrios/utils/dicty.kex", PROGS .. "/cmm/dicty/dicty.com"},
676
 {"kolibrios/utils/dicty.kex", PROGS .. "/cmm/dicty/dicty.com"},
675
 {"kolibrios/utils/notes", PROGS .. "/cmm/notes/notes.com"},
677
 {"kolibrios/utils/notes", PROGS .. "/cmm/notes/notes.com"},
676
})
678
})
677
end -- tup.getconfig('NO_CMM') ~= 'full'
679
end -- tup.getconfig('NO_CMM') ~= 'full'
678
 
680
 
679
-- Programs that require MSVC to compile.
681
-- Programs that require MSVC to compile.
680
if tup.getconfig('NO_MSVC') ~= 'full' then
682
if tup.getconfig('NO_MSVC') ~= 'full' then
681
tup.append_table(img_files, {
683
tup.append_table(img_files, {
682
 {"GRAPH", PROGS .. "/other/graph/graph"},
684
 {"GRAPH", PROGS .. "/other/graph/graph"},
683
 {"TABLE", PROGS .. "/other/table/table"},
685
 {"TABLE", PROGS .. "/other/table/table"},
684
 {"MEDIA/AC97SND", PROGS .. "/media/ac97snd/ac97snd.bin"},
686
 {"MEDIA/AC97SND", PROGS .. "/media/ac97snd/ac97snd.bin"},
685
 {"GAMES/KOSILKA", PROGS .. "/games/kosilka/kosilka"},
687
 {"GAMES/KOSILKA", PROGS .. "/games/kosilka/kosilka"},
686
 {"GAMES/RFORCES", PROGS .. "/games/rforces/trunk/rforces"},
688
 {"GAMES/RFORCES", PROGS .. "/games/rforces/trunk/rforces"},
687
 {"GAMES/XONIX", PROGS .. "/games/xonix/trunk/xonix"},
689
 {"GAMES/XONIX", PROGS .. "/games/xonix/trunk/xonix"},
688
})
690
})
689
tup.append_table(extra_files, {
691
tup.append_table(extra_files, {
690
 {"kolibrios/games/fara/fara", PROGS .. "/games/fara/trunk/fara"},
692
 {"kolibrios/games/fara/fara", PROGS .. "/games/fara/trunk/fara"},
691
 {"kolibrios/games/LaserTank/LaserTank", PROGS .. "/games/LaserTank/trunk/LaserTank"},
693
 {"kolibrios/games/LaserTank/LaserTank", PROGS .. "/games/LaserTank/trunk/LaserTank"},
692
})
694
})
693
end -- tup.getconfig('NO_MSVC') ~= 'full'
695
end -- tup.getconfig('NO_MSVC') ~= 'full'
694
 
696
 
695
-- Programs that require TCC to compile.
697
-- Programs that require TCC to compile.
696
if tup.getconfig('NO_TCC') ~= 'full' then
698
if tup.getconfig('NO_TCC') ~= 'full' then
697
tup.append_table(img_files, {
699
tup.append_table(img_files, {
698
 {"NETWORK/WHOIS", PROGS .. "/network/whois/whois"},
700
 {"NETWORK/WHOIS", PROGS .. "/network/whois/whois"},
699
 {"SHELL", PROGS .. "/system/shell/shell"},
701
 {"SHELL", PROGS .. "/system/shell/shell"},
700
-- {"NETWORK/WEATHER", PROGS .. "/other/Weather/weather"},
702
-- {"NETWORK/WEATHER", PROGS .. "/other/Weather/weather"},
701
})
703
})
702
tup.append_table(extra_files, {
704
tup.append_table(extra_files, {
703
 {"kolibrios/utils/thashview", PROGS .. "/other/TinyHashView/thashview"},
705
 {"kolibrios/utils/thashview", PROGS .. "/other/TinyHashView/thashview"},
704
 {"kolibrios/develop/TinyBasic/", PROGS .. "/develop/tinybasic/TinyBasic"},
706
 {"kolibrios/develop/TinyBasic/", PROGS .. "/develop/tinybasic/TinyBasic"},
705
 {"kolibrios/develop/TinyBasic/", PROGS .. "/develop/tinybasic/TBuserMan.txt"},
707
 {"kolibrios/develop/TinyBasic/", PROGS .. "/develop/tinybasic/TBuserMan.txt"},
706
 {"kolibrios/utils/teatool", PROGS .. "/other/TEAtool/teatool"},
708
 {"kolibrios/utils/teatool", PROGS .. "/other/TEAtool/teatool"},
707
 {"kolibrios/utils/passwordgen", PROGS .. "/other/PasswordGen/passwordgen"},
709
 {"kolibrios/utils/passwordgen", PROGS .. "/other/PasswordGen/passwordgen"},
708
 {"kolibrios/utils/kruler", PROGS .. "/other/kruler/kruler"},
710
 {"kolibrios/utils/kruler", PROGS .. "/other/kruler/kruler"},
709
 {"kolibrios/media/qr_tool", PROGS .. "/media/qr_tool/qr_tool"},
711
 {"kolibrios/media/qr_tool", PROGS .. "/media/qr_tool/qr_tool"},
710
 {"kolibrios/utils/weather", PROGS .. "/other/Weather/weather"},
712
 {"kolibrios/utils/weather", PROGS .. "/other/Weather/weather"},
711
})
713
})
712
end -- tup.getconfig('NO_TCC') ~= 'full'
714
end -- tup.getconfig('NO_TCC') ~= 'full'
713
 
715
 
714
-- Programs that require GCC to compile.
716
-- Programs that require GCC to compile.
715
if tup.getconfig('NO_GCC') ~= 'full' then
717
if tup.getconfig('NO_GCC') ~= 'full' then
716
tup.append_table(img_files, {
718
tup.append_table(img_files, {
717
 {"GAMES/REVERSI", PROGS .. "/games/reversi/trunk/reversi"},
719
 {"GAMES/REVERSI", PROGS .. "/games/reversi/trunk/reversi"},
718
 {"LIB/LIBC.OBJ", PROGS .. "/develop/ktcc/trunk/libc.obj/source/libc.obj"},
720
 {"LIB/LIBC.OBJ", PROGS .. "/develop/ktcc/trunk/libc.obj/source/libc.obj"},
719
})
721
})
720
tup.append_table(extra_files, {
722
tup.append_table(extra_files, {
721
-- {"kolibrios/3D/cubeline", PROGS .. "/demos/cubeline/trunk/cubeline"},
723
-- {"kolibrios/3D/cubeline", PROGS .. "/demos/cubeline/trunk/cubeline"},
722
 {"kolibrios/emul/e80/e80", PROGS .. "/emulator/e80/trunk/e80"},
724
 {"kolibrios/emul/e80/e80", PROGS .. "/emulator/e80/trunk/e80"},
723
 {"kolibrios/emul/uarm/", "../contrib/other/uarm/uARM"},
725
 {"kolibrios/emul/uarm/", "../contrib/other/uarm/uARM"},
724
 {"kolibrios/games/2048", PROGS .. "/games/2048/2048"},
726
 {"kolibrios/games/2048", PROGS .. "/games/2048/2048"},
725
 {"kolibrios/games/donkey", PROGS .. "/games/donkey/donkey"},
727
 {"kolibrios/games/donkey", PROGS .. "/games/donkey/donkey"},
726
 {"kolibrios/games/heliothryx", PROGS .. "/games/heliothryx/heliothryx"},
728
 {"kolibrios/games/heliothryx", PROGS .. "/games/heliothryx/heliothryx"},
727
 {"kolibrios/games/marblematch3", PROGS .. "/games/marblematch3/marblematch3"},
729
 {"kolibrios/games/marblematch3", PROGS .. "/games/marblematch3/marblematch3"},
728
 {"kolibrios/games/nsider", PROGS .. "/games/nsider/nsider"},
730
 {"kolibrios/games/nsider", PROGS .. "/games/nsider/nsider"},
729
 {"kolibrios/games/quake/", "common/games/quake/*"}, -- not really gcc, but no sense without sdlquake
731
 {"kolibrios/games/quake/", "common/games/quake/*"}, -- not really gcc, but no sense without sdlquake
730
 {"kolibrios/games/quake/", "../contrib/other/sdlquake-1.0.9/sdlquake"},
732
 {"kolibrios/games/quake/", "../contrib/other/sdlquake-1.0.9/sdlquake"},
731
 {"kolibrios/games/fridge/", PROGS .. "/games/fridge/fridge"},
733
 {"kolibrios/games/fridge/", PROGS .. "/games/fridge/fridge"},
732
 {"kolibrios/games/", PROGS .. "/games/checkers/trunk/checkers"},
734
 {"kolibrios/games/", PROGS .. "/games/checkers/trunk/checkers"},
733
 {"kolibrios/games/wolf3d/", "../contrib/games/wolf3d/wolf3d"},
735
 {"kolibrios/games/wolf3d/", "../contrib/games/wolf3d/wolf3d"},
734
 {"kolibrios/games/wolf3d/", "common/games/wolf3d/*"},
736
 {"kolibrios/games/wolf3d/", "common/games/wolf3d/*"},
735
 {"kolibrios/develop/lua/lua", "../contrib/other/lua-5.2.0/lua"},
737
 {"kolibrios/develop/lua/lua", "../contrib/other/lua-5.2.0/lua"},
736
 {"kolibrios/develop/lua/calc.lua", "../contrib/other/lua-5.2.0/calc.lua"},
738
 {"kolibrios/develop/lua/calc.lua", "../contrib/other/lua-5.2.0/calc.lua"},
737
 {"kolibrios/develop/lua/console.lua", "../contrib/other/lua-5.2.0/console.lua"},
739
 {"kolibrios/develop/lua/console.lua", "../contrib/other/lua-5.2.0/console.lua"},
738
 {"kolibrios/lib/libc.dll", "../contrib/sdk/bin/libc.dll", group = "../contrib/sdk/lib/"},
740
 {"kolibrios/lib/libc.dll", "../contrib/sdk/bin/libc.dll", group = "../contrib/sdk/lib/"},
739
 {"kolibrios/utils/minizip/minizip", PROGS .. "/fs/minizip/minizip"},
741
 {"kolibrios/utils/minizip/minizip", PROGS .. "/fs/minizip/minizip"},
740
 {"kolibrios/utils/minizip/miniunz", PROGS .. "/fs/minizip/miniunz"},
742
 {"kolibrios/utils/minizip/miniunz", PROGS .. "/fs/minizip/miniunz"},
741
 {"kolibrios/develop/tcc/tcc", PROGS .. "/develop/ktcc/trunk/source/tcc"},
743
 {"kolibrios/develop/tcc/tcc", PROGS .. "/develop/ktcc/trunk/source/tcc"},
742
})
744
})
743
-- For russian build, add russian-only programs.
745
-- For russian build, add russian-only programs.
744
if build_type == "rus" then tup.append_table(extra_files, {
746
if build_type == "rus" then tup.append_table(extra_files, {
745
 {"kolibrios/games/21days", PROGS .. "/games/21days/21days"},
747
 {"kolibrios/games/21days", PROGS .. "/games/21days/21days"},
746
}) end
748
}) end
747
end -- tup.getconfig('NO_GCC') ~= 'full'
749
end -- tup.getconfig('NO_GCC') ~= 'full'
748
 
750
 
749
-- Skins.
751
-- Skins.
750
tup.include("../skins/skinlist.lua")
752
tup.include("../skins/skinlist.lua")
751
 
753
 
752
--[================================[ CODE ]================================]--
754
--[================================[ CODE ]================================]--
753
-- expand extra_files and similar
755
-- expand extra_files and similar
754
function expand_extra_files(files)
756
function expand_extra_files(files)
755
  local result = {}
757
  local result = {}
756
  for i,v in ipairs(files) do
758
  for i,v in ipairs(files) do
757
    if string.match(v[2], "%*")
759
    if string.match(v[2], "%*")
758
    then
760
    then
759
      local g = tup.glob(v[2])
761
      local g = tup.glob(v[2])
760
      for j,x in ipairs(g) do
762
      for j,x in ipairs(g) do
761
        table.insert(result, {v[1], x, group=v.group})
763
        table.insert(result, {v[1], x, group=v.group})
762
      end
764
      end
763
    else
765
    else
764
      if v.cp1251_from then
766
      if v.cp1251_from then
765
        tup.definerule{inputs = {v.cp1251_from}, command = 'iconv -f cp866 -t cp1251 "%f" > "%o"', outputs = {v[2]}}
767
        tup.definerule{inputs = {v.cp1251_from}, command = 'iconv -f cp866 -t cp1251 "%f" > "%o"', outputs = {v[2]}}
766
      end
768
      end
767
      table.insert(result, {v[1], v[2], group=v.group})
769
      table.insert(result, {v[1], v[2], group=v.group})
768
    end
770
    end
769
  end
771
  end
770
  return result
772
  return result
771
end
773
end
772
 
774
 
773
-- append skins to extra_files
775
-- append skins to extra_files
774
for i,v in ipairs(skinlist) do
776
for i,v in ipairs(skinlist) do
775
  table.insert(extra_files, {"kolibrios/res/skins/", "../skins/" .. v})
777
  table.insert(extra_files, {"kolibrios/res/skins/", "../skins/" .. v})
776
end
778
end
777
 
779
 
778
-- prepare distr_extra_files and iso_extra_files: expand and append common part
780
-- prepare distr_extra_files and iso_extra_files: expand and append common part
779
extra_files = expand_extra_files(extra_files)
781
extra_files = expand_extra_files(extra_files)
780
distr_extra_files = expand_extra_files(distr_extra_files)
782
distr_extra_files = expand_extra_files(distr_extra_files)
781
iso_extra_files = expand_extra_files(iso_extra_files)
783
iso_extra_files = expand_extra_files(iso_extra_files)
782
tup.append_table(distr_extra_files, extra_files)
784
tup.append_table(distr_extra_files, extra_files)
783
tup.append_table(iso_extra_files, extra_files)
785
tup.append_table(iso_extra_files, extra_files)
784
 
786
 
785
-- generate list of directories to be created inside kolibri.img
787
-- generate list of directories to be created inside kolibri.img
786
img_dirs = {}
788
img_dirs = {}
787
input_deps = {}
789
input_deps = {}
788
for i,v in ipairs(img_files) do
790
for i,v in ipairs(img_files) do
789
  img_file = v[1]
791
  img_file = v[1]
790
  local_file = v[2]
792
  local_file = v[2]
791
 
793
 
792
  slash_pos = 0
794
  slash_pos = 0
793
  while true do
795
  while true do
794
    slash_pos = string.find(img_file, '/', slash_pos + 1)
796
    slash_pos = string.find(img_file, '/', slash_pos + 1)
795
    if not slash_pos then break end
797
    if not slash_pos then break end
796
    table.insert(img_dirs, string.sub(img_file, 1, slash_pos - 1))
798
    table.insert(img_dirs, string.sub(img_file, 1, slash_pos - 1))
797
  end
799
  end
798
 
800
 
799
  -- tup does not want to see hidden files as dependencies
801
  -- tup does not want to see hidden files as dependencies
800
  if not string.match(local_file, "/%.") then
802
  if not string.match(local_file, "/%.") then
801
    table.insert(input_deps, v.group or local_file)
803
    table.insert(input_deps, v.group or local_file)
802
  end
804
  end
803
end
805
end
804
 
806
 
805
-- create empty 1.44M file
807
-- create empty 1.44M file
806
make_img_command = '^ MKIMG kolibri.img^ ' -- for tup: don't write full command to logs
808
make_img_command = '^ MKIMG kolibri.img^ ' -- for tup: don't write full command to logs
807
make_img_command = make_img_command .. "dd if=/dev/zero of=kolibri.img count=2880 bs=512 2>&1"
809
make_img_command = make_img_command .. "dd if=/dev/zero of=kolibri.img count=2880 bs=512 2>&1"
808
-- format it as a standard 1.44M floppy
810
-- format it as a standard 1.44M floppy
809
make_img_command = make_img_command .. " && mformat -f 1440 -i kolibri.img ::"
811
make_img_command = make_img_command .. " && mformat -f 1440 -i kolibri.img ::"
810
-- copy bootloader
812
-- copy bootloader
811
if tup.getconfig("NO_FASM") ~= "full" then
813
if tup.getconfig("NO_FASM") ~= "full" then
812
bootloader = "../kernel/trunk/bootloader/boot_fat12.bin"
814
bootloader = "../kernel/trunk/bootloader/boot_fat12.bin"
813
make_img_command = make_img_command .. " && dd if=" .. bootloader .. " of=kolibri.img count=1 bs=512 conv=notrunc 2>&1"
815
make_img_command = make_img_command .. " && dd if=" .. bootloader .. " of=kolibri.img count=1 bs=512 conv=notrunc 2>&1"
814
table.insert(input_deps, bootloader)
816
table.insert(input_deps, bootloader)
815
end
817
end
816
-- make folders
818
-- make folders
817
table.sort(img_dirs)
819
table.sort(img_dirs)
818
for i,v in ipairs(img_dirs) do
820
for i,v in ipairs(img_dirs) do
819
  if v ~= img_dirs[i-1] then
821
  if v ~= img_dirs[i-1] then
820
    make_img_command = make_img_command .. ' && mmd -i kolibri.img "::' .. v .. '"'
822
    make_img_command = make_img_command .. ' && mmd -i kolibri.img "::' .. v .. '"'
821
  end
823
  end
822
end
824
end
823
-- copy files
825
-- copy files
824
output_deps = {"kolibri.img"}
826
output_deps = {"kolibri.img"}
825
for i,v in ipairs(img_files) do
827
for i,v in ipairs(img_files) do
826
  local_file = v[2]
828
  local_file = v[2]
827
  if v[1] == "KERNEL.MNT" and tup.getconfig("INSERT_REVISION_ID") ~= ""
829
  if v[1] == "KERNEL.MNT" and tup.getconfig("INSERT_REVISION_ID") ~= ""
828
  then
830
  then
829
    -- for kernel.mnt, insert autobuild revision identifier
831
    -- for kernel.mnt, insert autobuild revision identifier
830
    -- from .revision to .kernel.mnt
832
    -- from .revision to .kernel.mnt
831
    -- note that .revision and .kernel.mnt must begin with .
833
    -- note that .revision and .kernel.mnt must begin with .
832
    -- to prevent tup from tracking them
834
    -- to prevent tup from tracking them
833
    if build_type == "rus"
835
    if build_type == "rus"
834
    then str='$(LANG=ru_RU.utf8 date -u +"[автосборка %d %b %Y %R, r$(get-current-revision)]"|iconv -f utf8 -t cp866)'
836
    then str='$(LANG=ru_RU.utf8 date -u +"[автосборка %d %b %Y %R, r$(get-current-revision)]"|iconv -f utf8 -t cp866)'
835
    else str='$(date -u +"[auto-build %d %b %Y %R, r$(get-current-revision)]")'
837
    else str='$(date -u +"[auto-build %d %b %Y %R, r$(get-current-revision)]")'
836
    end
838
    end
837
    str = string.gsub(str, "%$", "\\$") -- escape $ as \$
839
    str = string.gsub(str, "%$", "\\$") -- escape $ as \$
838
    str = string.gsub(str, "%%", "%%%%") -- escape % as %%
840
    str = string.gsub(str, "%%", "%%%%") -- escape % as %%
839
    make_img_command = make_img_command .. " && cp " .. local_file .. " .kernel.mnt"
841
    make_img_command = make_img_command .. " && cp " .. local_file .. " .kernel.mnt"
840
    make_img_command = make_img_command .. " && str=" .. str
842
    make_img_command = make_img_command .. " && str=" .. str
841
    make_img_command = make_img_command .. ' && echo -n $str | dd of=.kernel.mnt bs=1 seek=`expr 279 - length "$str"` conv=notrunc 2>/dev/null'
843
    make_img_command = make_img_command .. ' && echo -n $str | dd of=.kernel.mnt bs=1 seek=`expr 279 - length "$str"` conv=notrunc 2>/dev/null'
842
    local_file = ".kernel.mnt"
844
    local_file = ".kernel.mnt"
843
    table.insert(output_deps, local_file)
845
    table.insert(output_deps, local_file)
844
  end
846
  end
845
  make_img_command = make_img_command .. ' && mcopy -moi kolibri.img "' .. local_file .. '" "::' .. v[1] .. '"'
847
  make_img_command = make_img_command .. ' && mcopy -moi kolibri.img "' .. local_file .. '" "::' .. v[1] .. '"'
846
end
848
end
847
 
849
 
848
-- generate tup rule for kolibri.img
850
-- generate tup rule for kolibri.img
849
tup.definerule{inputs = input_deps, command = make_img_command, outputs = output_deps}
851
tup.definerule{inputs = input_deps, command = make_img_command, outputs = output_deps}
850
 
852
 
851
-- generate command and dependencies for mkisofs
853
-- generate command and dependencies for mkisofs
852
input_deps = {"kolibri.img"}
854
input_deps = {"kolibri.img"}
853
iso_files_list = ""
855
iso_files_list = ""
854
for i,v in ipairs(iso_extra_files) do
856
for i,v in ipairs(iso_extra_files) do
855
  iso_files_list = iso_files_list .. ' "' .. v[1] .. '=' .. v[2] .. '"'
857
  iso_files_list = iso_files_list .. ' "' .. v[1] .. '=' .. v[2] .. '"'
856
  table.insert(input_deps, v.group or v[2])
858
  table.insert(input_deps, v.group or v[2])
857
end
859
end
858
 
860
 
859
-- generate tup rule for kolibri.iso
861
-- generate tup rule for kolibri.iso
860
if tup.getconfig("INSERT_REVISION_ID") ~= ""
862
if tup.getconfig("INSERT_REVISION_ID") ~= ""
861
then volume_id = "KolibriOS r`cat .revision`"
863
then volume_id = "KolibriOS r`cat .revision`"
862
else volume_id = "KolibriOS"
864
else volume_id = "KolibriOS"
863
end
865
end
864
tup.definerule{inputs = input_deps, command =
866
tup.definerule{inputs = input_deps, command =
865
  '^ MKISOFS kolibri.iso^ ' .. -- for tup: don't write full command to logs
867
  '^ MKISOFS kolibri.iso^ ' .. -- for tup: don't write full command to logs
866
  'mkisofs -U -J -pad -b kolibri.img -c boot.catalog -hide-joliet boot.catalog -graft-points ' ..
868
  'mkisofs -U -J -pad -b kolibri.img -c boot.catalog -hide-joliet boot.catalog -graft-points ' ..
867
  '-A "KolibriOS AutoBuilder" -p "CleverMouse" -publisher "KolibriOS Team" -V "' .. volume_id .. '" -sysid "KOLIBRI" ' ..
869
  '-A "KolibriOS AutoBuilder" -p "CleverMouse" -publisher "KolibriOS Team" -V "' .. volume_id .. '" -sysid "KOLIBRI" ' ..
868
  '-iso-level 3 -o kolibri.iso kolibri.img' .. iso_files_list .. ' 2>&1',
870
  '-iso-level 3 -o kolibri.iso kolibri.img' .. iso_files_list .. ' 2>&1',
869
  outputs = {"kolibri.iso"}}
871
  outputs = {"kolibri.iso"}}
870
 
872
 
871
-- generate command and dependencies for distribution kit
873
-- generate command and dependencies for distribution kit
872
cp = 'cp "%f" "%o"'
874
cp = 'cp "%f" "%o"'
873
tup.definerule{inputs = {"kolibri.img"}, command = cp, outputs = {"distribution_kit/kolibri.img"}}
875
tup.definerule{inputs = {"kolibri.img"}, command = cp, outputs = {"distribution_kit/kolibri.img"}}
874
for i,v in ipairs(distr_extra_files) do
876
for i,v in ipairs(distr_extra_files) do
875
  cmd = cp:gsub("%%f", v[2]) -- input can be a group, we can't rely on tup's expansion of %f in this case
877
  cmd = cp:gsub("%%f", v[2]) -- input can be a group, we can't rely on tup's expansion of %f in this case
876
  if string.sub(v[1], -1) == "/"
878
  if string.sub(v[1], -1) == "/"
877
  then tup.definerule{inputs = {v.group or v[2]}, command = cmd, outputs = {"distribution_kit/" .. v[1] .. tup.file(v[2])}}
879
  then tup.definerule{inputs = {v.group or v[2]}, command = cmd, outputs = {"distribution_kit/" .. v[1] .. tup.file(v[2])}}
878
  else tup.definerule{inputs = {v.group or v[2]}, command = cmd, outputs = {"distribution_kit/" .. v[1]}}
880
  else tup.definerule{inputs = {v.group or v[2]}, command = cmd, outputs = {"distribution_kit/" .. v[1]}}
879
  end
881
  end
880
end
882
end
881
 
883
 
882
-- build kolibri.raw
884
-- build kolibri.raw
883
raw_mbr = "../programs/hd_load/usb_boot/mbr"
885
raw_mbr = "../programs/hd_load/usb_boot/mbr"
884
raw_bootsector = "../kernel/trunk/bootloader/extended_primary_loader/fat32/bootsect.bin"
886
raw_bootsector = "../kernel/trunk/bootloader/extended_primary_loader/fat32/bootsect.bin"
885
raw_files = {
887
raw_files = {
886
 {"KOLIBRI.IMG", "kolibri.img"},
888
 {"KOLIBRI.IMG", "kolibri.img"},
887
 {"KORDLDR.F32", "../kernel/trunk/bootloader/extended_primary_loader/fat32/kordldr.f32"},
889
 {"KORDLDR.F32", "../kernel/trunk/bootloader/extended_primary_loader/fat32/kordldr.f32"},
888
 {"KERNEL.MNT", "../kernel/trunk/kernel.mnt.ext_loader"},
890
 {"KERNEL.MNT", "../kernel/trunk/kernel.mnt.ext_loader"},
889
 {"CONFIG.INI", "../kernel/trunk/bootloader/extended_primary_loader/config.ini"},
891
 {"CONFIG.INI", "../kernel/trunk/bootloader/extended_primary_loader/config.ini"},
890
 {"EFI/BOOT/BOOTX64.EFI", "../kernel/trunk/bootloader/uefi4kos/bootx64.efi"},
892
 {"EFI/BOOT/BOOTX64.EFI", "../kernel/trunk/bootloader/uefi4kos/bootx64.efi"},
891
 {"EFI/BOOT/BOOTIA32.EFI", "../kernel/trunk/bootloader/uefi4kos/bootia32.efi"},
893
 {"EFI/BOOT/BOOTIA32.EFI", "../kernel/trunk/bootloader/uefi4kos/bootia32.efi"},
892
 {"EFI/KOLIBRIOS/KOLIBRI.IMG", "kolibri.img"},
894
 {"EFI/KOLIBRIOS/KOLIBRI.IMG", "kolibri.img"},
893
 {"EFI/KOLIBRIOS/KOLIBRI.INI", "../kernel/trunk/bootloader/uefi4kos/kolibri.ini"},
895
 {"EFI/KOLIBRIOS/KOLIBRI.INI", "../kernel/trunk/bootloader/uefi4kos/kolibri.ini"},
894
 {"EFI/KOLIBRIOS/KOLIBRI.KRN", "../kernel/trunk/kolibri.krn"}
896
 {"EFI/KOLIBRIOS/KOLIBRI.KRN", "../kernel/trunk/kolibri.krn"}
895
}
897
}
896
 
898
 
897
for i,v in ipairs(img_files) do
899
for i,v in ipairs(img_files) do
898
  raw_file = "KOLIBRIOS/" .. string.upper(v[1])
900
  raw_file = "KOLIBRIOS/" .. string.upper(v[1])
899
  local_file = v[2]
901
  local_file = v[2]
900
  tup.append_table(raw_files, {{raw_file, local_file}})
902
  tup.append_table(raw_files, {{raw_file, local_file}})
901
end
903
end
902
 
904
 
903
tup.append_table(raw_files, extra_files)
905
tup.append_table(raw_files, extra_files)
904
 
906
 
905
make_raw_command = '^ MKIMG kolibri.raw^ ' -- for tup: don't write full command to logs
907
make_raw_command = '^ MKIMG kolibri.raw^ ' -- for tup: don't write full command to logs
906
make_raw_command = make_raw_command .. "dd if=/dev/zero of=kolibri.raw bs=1MiB count=128 2>&1"
908
make_raw_command = make_raw_command .. "dd if=/dev/zero of=kolibri.raw bs=1MiB count=128 2>&1"
907
make_raw_command = make_raw_command .. " && parted --script kolibri.raw mktable gpt"
909
make_raw_command = make_raw_command .. " && parted --script kolibri.raw mktable gpt"
908
make_raw_command = make_raw_command .. " && parted --script kolibri.raw unit MiB mkpart primary fat32 1 127"
910
make_raw_command = make_raw_command .. " && parted --script kolibri.raw unit MiB mkpart primary fat32 1 127"
909
make_raw_command = make_raw_command .. " && parted --script kolibri.raw set 1 esp on"
911
make_raw_command = make_raw_command .. " && parted --script kolibri.raw set 1 esp on"
910
make_raw_command = make_raw_command .. " && sgdisk kolibri.raw --hybrid 1:EE"
912
make_raw_command = make_raw_command .. " && sgdisk kolibri.raw --hybrid 1:EE"
911
make_raw_command = make_raw_command .. " && dd if=" .. raw_mbr .. " of=kolibri.raw bs=1 count=\\$((0x1b8)) conv=notrunc"
913
make_raw_command = make_raw_command .. " && dd if=" .. raw_mbr .. " of=kolibri.raw bs=1 count=\\$((0x1b8)) conv=notrunc"
912
make_raw_command = make_raw_command .. " && dd if=" .. raw_mbr .. " of=kolibri.raw bs=1 count=1 skip=\\$((0x5a)) seek=\\$((0x1be)) conv=notrunc"
914
make_raw_command = make_raw_command .. " && dd if=" .. raw_mbr .. " of=kolibri.raw bs=1 count=1 skip=\\$((0x5a)) seek=\\$((0x1be)) conv=notrunc"
913
make_raw_command = make_raw_command .. " && mformat -i kolibri.raw@@1M -v KOLIBRIOS -T \\$(((128-1-1)*1024*1024/512)) -h 16 -s 32 -H 2048 -c 1 -F -B " .. raw_bootsector .. " ::"
915
make_raw_command = make_raw_command .. " && mformat -i kolibri.raw@@1M -v KOLIBRIOS -T \\$(((128-1-1)*1024*1024/512)) -h 16 -s 32 -H 2048 -c 1 -F -B " .. raw_bootsector .. " ::"
914
 
916
 
915
-- generate list of directories to be created inside kolibri.raw
917
-- generate list of directories to be created inside kolibri.raw
916
raw_dirs = {}
918
raw_dirs = {}
917
input_deps = {raw_mbr, raw_bootsector}
919
input_deps = {raw_mbr, raw_bootsector}
918
for i,v in ipairs(raw_files) do
920
for i,v in ipairs(raw_files) do
919
  raw_file = v[1]
921
  raw_file = v[1]
920
  local_file = v[2]
922
  local_file = v[2]
921
 
923
 
922
  if raw_file ~= "/" then
924
  if raw_file ~= "/" then
923
    slash_pos = 0
925
    slash_pos = 0
924
    while true do
926
    while true do
925
      slash_pos = string.find(raw_file, '/', slash_pos + 1)
927
      slash_pos = string.find(raw_file, '/', slash_pos + 1)
926
      if not slash_pos then break end
928
      if not slash_pos then break end
927
      table.insert(raw_dirs, string.sub(raw_file, 1, slash_pos - 1))
929
      table.insert(raw_dirs, string.sub(raw_file, 1, slash_pos - 1))
928
    end
930
    end
929
  end
931
  end
930
 
932
 
931
  -- tup does not want to see hidden files as dependencies
933
  -- tup does not want to see hidden files as dependencies
932
  if not string.match(local_file, "/%.") then
934
  if not string.match(local_file, "/%.") then
933
    table.insert(input_deps, v.group or local_file)
935
    table.insert(input_deps, v.group or local_file)
934
  end
936
  end
935
end
937
end
936
 
938
 
937
-- img_files and extra_files have some common dirs with different case
939
-- img_files and extra_files have some common dirs with different case
938
for i,d in ipairs(raw_dirs) do
940
for i,d in ipairs(raw_dirs) do
939
  raw_dirs[i] = string.upper(raw_dirs[i])
941
  raw_dirs[i] = string.upper(raw_dirs[i])
940
end
942
end
941
 
943
 
942
-- make folders
944
-- make folders
943
table.sort(raw_dirs)
945
table.sort(raw_dirs)
944
for i,v in ipairs(raw_dirs) do
946
for i,v in ipairs(raw_dirs) do
945
  if v ~= raw_dirs[i-1] then
947
  if v ~= raw_dirs[i-1] then
946
    make_raw_command = make_raw_command .. ' && mmd -i kolibri.raw@@1M "::' .. v .. '"'
948
    make_raw_command = make_raw_command .. ' && mmd -i kolibri.raw@@1M "::' .. v .. '"'
947
  end
949
  end
948
end
950
end
949
 
951
 
950
-- copy files
952
-- copy files
951
for i,v in ipairs(raw_files) do
953
for i,v in ipairs(raw_files) do
952
  local_file = v[2]
954
  local_file = v[2]
953
  make_raw_command = make_raw_command .. ' && mcopy -moi kolibri.raw@@1M "' .. local_file .. '" "::' .. v[1] .. '"'
955
  make_raw_command = make_raw_command .. ' && mcopy -moi kolibri.raw@@1M "' .. local_file .. '" "::' .. v[1] .. '"'
954
end
956
end
955
 
957
 
956
-- generate tup rule for kolibri.raw
958
-- generate tup rule for kolibri.raw
957
tup.definerule{inputs = input_deps, command = make_raw_command, outputs = {"kolibri.raw"}}
959
tup.definerule{inputs = input_deps, command = make_raw_command, outputs = {"kolibri.raw"}}