Subversion Repositories Kolibri OS

Rev

Rev 7647 | Rev 7650 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

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