Subversion Repositories Kolibri OS

Rev

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

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