Subversion Repositories Kolibri OS

Rev

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

Rev 5479 Rev 5495
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
 {"DEVELOP/TE_ICON.PNG", PROGS .. "/other/t_edit/te_icon.png"},
18
 {"DEVELOP/TE_ICON.PNG", PROGS .. "/other/t_edit/te_icon.png"},
19
 {"DEVELOP/TL_NOD_16.PNG", PROGS .. "/other/t_edit/tl_nod_16.png"},
19
 {"DEVELOP/TL_NOD_16.PNG", PROGS .. "/other/t_edit/tl_nod_16.png"},
20
 {"DEVELOP/TL_SYS_16.PNG", PROGS .. "/media/log_el/trunk/tl_sys_16.png"},
20
 {"DEVELOP/TL_SYS_16.PNG", PROGS .. "/media/log_el/trunk/tl_sys_16.png"},
21
 {"DEVELOP/T_EDIT.INI", PROGS .. "/other/t_edit/t_edit.ini"},
21
 {"DEVELOP/T_EDIT.INI", PROGS .. "/other/t_edit/t_edit.ini"},
22
 {"File Managers/Z_ICONS.PNG", PROGS .. "/fs/opendial/z_icons.png"},
22
 {"File Managers/Z_ICONS.PNG", PROGS .. "/fs/opendial/z_icons.png"},
23
 {"File Managers/BUTTONS.BMP", PROGS .. "/fs/kfm/trunk/buttons.bmp"},
23
 {"File Managers/BUTTONS.BMP", PROGS .. "/fs/kfm/trunk/buttons.bmp"},
24
 {"File Managers/ICONS.BMP", PROGS .. "/fs/kfm/trunk/icons.bmp"},
24
 {"File Managers/ICONS.BMP", PROGS .. "/fs/kfm/trunk/icons.bmp"},
25
 {"FONTS/LITT.CHR", PROGS .. "/demos/bgitest/trunk/FONTS/LITT.CHR"},
25
 {"FONTS/LITT.CHR", PROGS .. "/demos/bgitest/trunk/FONTS/LITT.CHR"},
26
 {"GAMES/SNAKE.INI", PROGS .. "/games/snake/trunk/snake.ini"},
26
 {"GAMES/SNAKE.INI", PROGS .. "/games/snake/trunk/snake.ini"},
27
 {"MEDIA/KIV.INI", PROGS .. "/media/kiv/trunk/kiv.ini"},
27
 {"MEDIA/KIV.INI", PROGS .. "/media/kiv/trunk/kiv.ini"},
28
 {"MEDIA/PIXIE/PIXIE.INI", PROGS .. "/cmm/pixie/pixie.ini"},
28
 {"MEDIA/PIXIE/PIXIE.INI", PROGS .. "/cmm/pixie/pixie.ini"},
29
 {"MEDIA/PIXIE/S_DARK.PNG", PROGS .. "/cmm/pixie/s_dark.png"},
29
 {"MEDIA/PIXIE/S_DARK.PNG", PROGS .. "/cmm/pixie/s_dark.png"},
30
 {"MEDIA/PIXIE/S_LIGHT.PNG", PROGS .. "/cmm/pixie/s_light.png"},
30
 {"MEDIA/PIXIE/S_LIGHT.PNG", PROGS .. "/cmm/pixie/s_light.png"},
31
 {"MEDIA/PIXIE/MINIMP3", PROGS .. "/cmm/pixie/minimp3"},
31
 {"MEDIA/PIXIE/MINIMP3", PROGS .. "/cmm/pixie/minimp3"},
32
 {"NETWORK/WV_SKIN.PNG", PROGS .. "/cmm/browser/wv_skin.png"},
32
 {"NETWORK/WV_SKIN.PNG", PROGS .. "/cmm/browser/wv_skin.png"},
33
 {"SETTINGS/AUTORUN.DAT", build_type .. "/settings/autorun.dat"},
33
 {"SETTINGS/AUTORUN.DAT", build_type .. "/settings/autorun.dat"},
34
 {"DEFAULT.SKN", build_type .. "/default.skn"},
34
 {"DEFAULT.SKN", build_type .. "/default.skn"},
35
 {"SETTINGS/ICON.INI", build_type .. "/settings/icon.ini"},
35
 {"SETTINGS/ICON.INI", build_type .. "/settings/icon.ini"},
36
 {"ICONS32.PNG", "common/icons32.png"},
36
 {"ICONS32.PNG", "common/icons32.png"},
37
 {"INDEX.HTM", build_type .. "/index_htm"},
37
 {"INDEX.HTM", build_type .. "/index_htm"},
38
 {"KERPACK", "common/kerpack"},
38
 {"KERPACK", "common/kerpack"},
39
 {"SETTINGS/KEYMAP.KEY", build_type .. "/settings/keymap.key"},
39
 {"SETTINGS/KEYMAP.KEY", build_type .. "/settings/keymap.key"},
40
 {"SETTINGS/LANG.INI", build_type .. "/settings/lang.ini"},
40
 {"SETTINGS/LANG.INI", build_type .. "/settings/lang.ini"},
41
 {"KUZKINA.MID", "common/kuzkina.mid"},
41
 {"KUZKINA.MID", "common/kuzkina.mid"},
42
 {"LANG.INC", build_type .. "/lang.inc"},
42
 {"LANG.INC", build_type .. "/lang.inc"},
43
 {"SETTINGS/MENU.DAT", build_type .. "/settings/menu.dat"},
43
 {"SETTINGS/MENU.DAT", build_type .. "/settings/menu.dat"},
44
 {"SETTINGS/KOLIBRI.LBL", build_type .. "/settings/kolibri.lbl"},
44
 {"SETTINGS/KOLIBRI.LBL", build_type .. "/settings/kolibri.lbl"},
45
 {"SETTINGS/TASKBAR.INI", build_type .. "/settings/taskbar.ini"},
45
 {"SETTINGS/TASKBAR.INI", build_type .. "/settings/taskbar.ini"},
46
 {"SETTINGS/DOCKY.INI", "common/settings/docky.ini"},
46
 {"SETTINGS/DOCKY.INI", "common/settings/docky.ini"},
47
 {"SETTINGS/ASSOC.INI", "common/settings/assoc.ini"},
47
 {"SETTINGS/ASSOC.INI", "common/settings/assoc.ini"},
48
 {"SETTINGS/GAME_CENTER.INI", "common/settings/game_center.ini"},
48
 {"SETTINGS/GAME_CENTER.INI", "common/settings/game_center.ini"},
49
 {"SETTINGS/SYSTEM_PANEL.INI", "common/settings/system_panel.ini"},
49
 {"SETTINGS/SYSTEM_PANEL.INI", "common/settings/system_panel.ini"},
50
 {"NOTIFY3.PNG", "common/notify3.png"},
50
 {"NOTIFY3.PNG", "common/notify3.png"},
51
 {"SETTINGS/SETUP.DAT", build_type .. "/settings/setup.dat"},
51
 {"SETTINGS/SETUP.DAT", build_type .. "/settings/setup.dat"},
52
 {"VMODE", "common/vmode"},
52
 {"VMODE", "common/vmode"},
53
 {"3D/HOUSE.3DS", "common/3d/house.3ds"},
53
 {"3D/HOUSE.3DS", "common/3d/house.3ds"},
54
 {"DEMOS/AK47.LIF", "common/demos/ak47.lif"},
54
 {"DEMOS/AK47.LIF", "common/demos/ak47.lif"},
55
 {"DEMOS/LIFE2", "common/demos/life2"},
55
 {"DEMOS/LIFE2", "common/demos/life2"},
56
 {"DEMOS/RELAY.LIF", "common/demos/relay.lif"},
56
 {"DEMOS/RELAY.LIF", "common/demos/relay.lif"},
57
 {"DEMOS/RPENTO.LIF", "common/demos/rpento.lif"},
57
 {"DEMOS/RPENTO.LIF", "common/demos/rpento.lif"},
58
 {"File Managers/EOLITE.INI", "common/File Managers/eolite.ini"},
58
 {"File Managers/EOLITE.INI", "common/File Managers/eolite.ini"},
59
 {"File Managers/ICONS.INI", "common/File Managers/icons.ini"},
59
 {"File Managers/ICONS.INI", "common/File Managers/icons.ini"},
60
 {"File Managers/KFM.INI", "common/File Managers/kfm.ini"},
60
 {"File Managers/KFM.INI", "common/File Managers/kfm.ini"},
61
 {"GAMES/MEGAMAZE", build_type .. "/games/megamaze"},
61
 {"GAMES/MEGAMAZE", build_type .. "/games/megamaze"},
62
 {"LIB/PIXLIB.OBJ", "common/lib/pixlib.obj"},
62
 {"LIB/PIXLIB.OBJ", "common/lib/pixlib.obj"},
63
 {"LIB/ICONV.OBJ", "common/lib/iconv.obj"},
63
 {"LIB/ICONV.OBJ", "common/lib/iconv.obj"},
64
 {"LIB/NETCODE.OBJ", "common/lib/netcode.obj"},
64
 {"LIB/NETCODE.OBJ", "common/lib/netcode.obj"},
65
 {"MEDIA/ImgF/ImgF", "common/media/ImgF/ImgF"},
65
 {"MEDIA/ImgF/ImgF", "common/media/ImgF/ImgF"},
66
 {"MEDIA/ImgF/cEdg.obj", "common/media/ImgF/cEdg.obj"},
66
 {"MEDIA/ImgF/cEdg.obj", "common/media/ImgF/cEdg.obj"},
67
 {"MEDIA/ImgF/dither.obj", "common/media/ImgF/dither.obj"},
67
 {"MEDIA/ImgF/dither.obj", "common/media/ImgF/dither.obj"},
68
 {"MEDIA/ImgF/invSol.obj", "common/media/ImgF/invSol.obj"},
68
 {"MEDIA/ImgF/invSol.obj", "common/media/ImgF/invSol.obj"},
69
 {"SETTINGS/NETWORK.INI", build_type .. "/settings/network.ini"},
69
 {"SETTINGS/NETWORK.INI", build_type .. "/settings/network.ini"},
70
 {"NETWORK/FTPD.INI", "common/network/ftpd.ini"},
70
 {"NETWORK/FTPD.INI", "common/network/ftpd.ini"},
71
 {"NETWORK/USERS.INI", "common/network/users.ini"},
71
 {"NETWORK/USERS.INI", "common/network/users.ini"},
72
}
72
}
73
-- For russian build, add russian-only files.
73
-- For russian build, add russian-only files.
74
if build_type == "rus" then tup.append_table(img_files, {
74
if build_type == "rus" then tup.append_table(img_files, {
75
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/russian/dos_kolibri/kfm_keys.txt"},
75
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/russian/dos_kolibri/kfm_keys.txt"},
76
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/rus/.shell"},
76
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/rus/.shell"},
77
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey.ini"},
77
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey.ini"},
78
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/rus/example.asm"},
78
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/rus/example.asm"},
79
 {"PIPETKA", build_type .. "/pipetka"},
79
 {"PIPETKA", build_type .. "/pipetka"},
80
 {"File Managers/KFAR.INI", build_type .. "/File Managers/kfar.ini"},
80
 {"File Managers/KFAR.INI", build_type .. "/File Managers/kfar.ini"},
81
 {"GAMES/APPDATA.DAT", build_type .. "/games/appdata.dat"},
81
 {"GAMES/APPDATA.DAT", build_type .. "/games/appdata.dat"},
82
 {"GAMES/ATAKA", build_type .. "/games/ataka"},
82
 {"GAMES/ATAKA", build_type .. "/games/ataka"},
83
 {"GAMES/BASEKURS.KLA", build_type .. "/games/basekurs.kla"},
83
 {"GAMES/BASEKURS.KLA", build_type .. "/games/basekurs.kla"},
84
 {"GAMES/PADENIE", build_type .. "/games/padenie"},
84
 {"GAMES/PADENIE", build_type .. "/games/padenie"},
85
 {"GAMES/WHOWTBAM", build_type .. "/games/whowtbam"},
85
 {"GAMES/WHOWTBAM", build_type .. "/games/whowtbam"},
86
}) else tup.append_table(img_files, {
86
}) else tup.append_table(img_files, {
87
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/english/kfm_keys.txt"},
87
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/english/kfm_keys.txt"},
88
 {"GAMES/SKIN.RAW", PROGS .. "/games/soko/trunk/SKIN.RAW"},
88
 {"GAMES/SKIN.RAW", PROGS .. "/games/soko/trunk/SKIN.RAW"},
89
 {"GAMES/SOKO-4.LEV", PROGS .. "/games/soko/trunk/SOKO-4.LEV"},
89
 {"GAMES/SOKO-4.LEV", PROGS .. "/games/soko/trunk/SOKO-4.LEV"},
90
 {"GAMES/SOKO-5.LEV", PROGS .. "/games/soko/trunk/SOKO-5.LEV"},
90
 {"GAMES/SOKO-5.LEV", PROGS .. "/games/soko/trunk/SOKO-5.LEV"},
91
 {"GAMES/SOKO-6.LEV", PROGS .. "/games/soko/trunk/SOKO-6.LEV"},
91
 {"GAMES/SOKO-6.LEV", PROGS .. "/games/soko/trunk/SOKO-6.LEV"},
92
 {"GAMES/SOKO-7.LEV", PROGS .. "/games/soko/trunk/SOKO-7.LEV"},
92
 {"GAMES/SOKO-7.LEV", PROGS .. "/games/soko/trunk/SOKO-7.LEV"},
93
 {"GAMES/SOKO-8.LEV", PROGS .. "/games/soko/trunk/SOKO-8.LEV"},
93
 {"GAMES/SOKO-8.LEV", PROGS .. "/games/soko/trunk/SOKO-8.LEV"},
94
 {"GAMES/SOKO-9.LEV", PROGS .. "/games/soko/trunk/SOKO-9.LEV"},
94
 {"GAMES/SOKO-9.LEV", PROGS .. "/games/soko/trunk/SOKO-9.LEV"},
95
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/eng/.shell"},
95
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/eng/.shell"},
96
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/example.asm"},
96
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/example.asm"},
97
 {"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
97
 {"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
98
}) end
98
}) end
99
if build_type == "it" then tup.append_table(img_files, {
99
if build_type == "it" then tup.append_table(img_files, {
100
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey_it.ini"},
100
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey_it.ini"},
101
}) else tup.append_table(img_files, {
101
}) else tup.append_table(img_files, {
102
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey.ini"},
102
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey.ini"},
103
}) end
103
}) end
104
 
104
 
105
--[[
105
--[[
106
Files to be included in kolibri.iso and distribution kit outside of kolibri.img.
106
Files to be included in kolibri.iso and distribution kit outside of kolibri.img.
107
 
107
 
108
The first subitem of every item is name relative to the root of ISO or distribution kit,
108
The first subitem of every item is name relative to the root of ISO or distribution kit,
109
the second is name of local file.
109
the second is name of local file.
110
 
110
 
111
If the first subitem ends in /, the last component of local file name is appended.
111
If the first subitem ends in /, the last component of local file name is appended.
112
The last component of the second subitem may contain '*'; if so, it will be expanded
112
The last component of the second subitem may contain '*'; if so, it will be expanded
113
according to usual rules, but without matching directories.
113
according to usual rules, but without matching directories.
114
 
114
 
115
Tup does not allow a direct dependency on a file that is generated in a directory
115
Tup does not allow a direct dependency on a file that is generated in a directory
116
other than where Tupfile.lua is and its children. Most files are generated
116
other than where Tupfile.lua is and its children. Most files are generated
117
in the directory with Tupfile.lua; for other files, the item should contain
117
in the directory with Tupfile.lua; for other files, the item should contain
118
a named subitem "group=path/" and the file should be put in .
118
a named subitem "group=path/" and the file should be put in .
119
--]]
119
--]]
120
extra_files = {
120
extra_files = {
121
 {"/", build_type .. "/distr_data/autorun.inf"},
121
 {"/", build_type .. "/distr_data/autorun.inf"},
122
 {"/", build_type .. "/distr_data/KolibriOS_icon.ico"},
122
 {"/", build_type .. "/distr_data/KolibriOS_icon.ico"},
123
 {"/", build_type .. "/settings/kolibri.lbl"},
123
 {"/", build_type .. "/settings/kolibri.lbl"},
124
 {"Skins/", "../skins/authors.txt"},
124
 {"Skins/", "../skins/authors.txt"},
125
 {"Docs/stack.txt", build_type .. "/docs/STACK.TXT"},
125
 {"Docs/stack.txt", build_type .. "/docs/STACK.TXT"},
126
 {"HD_Load/9x2klbr/", "common/HD_load/9x2klbr/LDKLBR.VXD"},
126
 {"HD_Load/9x2klbr/", "common/HD_load/9x2klbr/LDKLBR.VXD"},
127
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/AUTOEXEC.BAT"},
127
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/AUTOEXEC.BAT"},
128
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/CONFIG.SYS"},
128
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/CONFIG.SYS"},
129
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/L_readme.txt"},
129
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/L_readme.txt"},
130
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/L_readme_Win.txt"},
130
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/L_readme_Win.txt"},
131
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/vista_install.bat"},
131
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/vista_install.bat"},
132
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/vista_remove.bat"},
132
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/vista_remove.bat"},
133
 {"HD_Load/", "common/HD_load/memdisk"},
133
 {"HD_Load/", "common/HD_load/memdisk"},
134
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/usb_boot.rtf"},
134
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/usb_boot.rtf"},
135
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/usb_boot_866.txt"},
135
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/usb_boot_866.txt"},
136
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/usb_boot_1251.txt"},
136
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/usb_boot_1251.txt"},
137
 {"games/pig/", "common/games/pig/*"},
137
 {"games/pig/", "common/games/pig/*"},
138
 {"games/soko/soko", build_type .. "/games/soko"},
138
 {"games/soko/soko", build_type .. "/games/soko"},
139
 {"games/soko/", "common/games/soko/*"},
139
 {"games/soko/", "common/games/soko/*"},
140
 {"kolibrios/emul/dosbox/", "common/emul/DosBox/*"},
140
 {"kolibrios/emul/dosbox/", "common/emul/DosBox/*"},
141
 {"kolibrios/emul/fceu/", "common/emul/fceu/*"},
141
 {"kolibrios/emul/fceu/", "common/emul/fceu/*"},
142
 {"kolibrios/emul/", "common/emul/gameboy"},
142
 {"kolibrios/emul/", "common/emul/gameboy"},
143
 {"kolibrios/emul/", "common/emul/scummvm"},
143
 {"kolibrios/emul/", "common/emul/scummvm"},
144
 {"kolibrios/emul/", "common/emul/zsnes"},
144
 {"kolibrios/emul/", "common/emul/zsnes"},
145
 {"kolibrios/games/doom/", "common/games/doom/*"},
145
 {"kolibrios/games/doom/", "common/games/doom/*"},
146
 {"kolibrios/games/fara/fara.gfx", "common/games/fara.gfx"},
146
 {"kolibrios/games/fara/fara.gfx", "common/games/fara.gfx"},
147
 {"kolibrios/games/LaserTank/", "common/games/LaserTank/*"},
147
 {"kolibrios/games/LaserTank/", "common/games/LaserTank/*"},
148
 {"kolibrios/games/jumpbump/", "common/games/jumpbump/*"},
148
 {"kolibrios/games/jumpbump/", "common/games/jumpbump/*"},
149
 {"kolibrios/games/lrl/", "common/games/lrl/*"},
149
 {"kolibrios/games/lrl/", "common/games/lrl/*"},
150
 {"kolibrios/drivers/", "common/drivers/*"},
150
 {"kolibrios/drivers/", "common/drivers/*"},
151
 {"kolibrios/lib/avcodec-55.dll", "common/lib/avcodec-55.dll"},
151
 {"kolibrios/lib/avcodec-55.dll", "common/lib/avcodec-55.dll"},
152
 {"kolibrios/lib/avdevice-55.dll", "common/lib/avdevice-55.dll"},
152
 {"kolibrios/lib/avdevice-55.dll", "common/lib/avdevice-55.dll"},
153
 {"kolibrios/lib/avformat-55.dll", "common/lib/avformat-55.dll"},
153
 {"kolibrios/lib/avformat-55.dll", "common/lib/avformat-55.dll"},
154
 {"kolibrios/lib/avutil-52.dll", "common/lib/avutil-52.dll"},
154
 {"kolibrios/lib/avutil-52.dll", "common/lib/avutil-52.dll"},
155
 {"kolibrios/lib/freetype.dll", "common/lib/freetype.dll"},
155
 {"kolibrios/lib/freetype.dll", "common/lib/freetype.dll"},
156
 {"kolibrios/lib/i965-video.dll", "common/lib/i965-video.dll"},
156
 {"kolibrios/lib/i965-video.dll", "common/lib/i965-video.dll"},
157
 {"kolibrios/lib/libdrm.dll", "common/lib/libdrm.dll"},
157
 {"kolibrios/lib/libdrm.dll", "common/lib/libdrm.dll"},
158
 {"kolibrios/lib/libegl.dll", "common/lib/libegl.dll"},
158
 {"kolibrios/lib/libegl.dll", "common/lib/libegl.dll"},
159
 {"kolibrios/lib/libGL.dll", "common/lib/libGL.dll"},
159
 {"kolibrios/lib/libGL.dll", "common/lib/libGL.dll"},
160
 {"kolibrios/lib/libva.dll", "common/lib/libva.dll"},
160
 {"kolibrios/lib/libva.dll", "common/lib/libva.dll"},
161
 {"kolibrios/lib/libz.dll", "common/lib/libz.dll"},
161
 {"kolibrios/lib/libz.dll", "common/lib/libz.dll"},
162
 {"kolibrios/lib/libc.dll", "../contrib/sdk/bin/libc.dll", group = "../contrib/sdk/lib/"},
162
 {"kolibrios/lib/libc.dll", "../contrib/sdk/bin/libc.dll", group = "../contrib/sdk/lib/"},
163
 {"kolibrios/lib/pixlib-gl.dll", "common/lib/pixlib-gl.dll"},
163
 {"kolibrios/lib/pixlib-gl.dll", "common/lib/pixlib-gl.dll"},
164
 {"kolibrios/lib/swresample-0.dll", "common/lib/swresample-0.dll"},
164
 {"kolibrios/lib/swresample-0.dll", "common/lib/swresample-0.dll"},
165
 {"kolibrios/lib/i915_dri.drv", "common/lib/i915_dri.drv"},
165
 {"kolibrios/lib/i915_dri.drv", "common/lib/i915_dri.drv"},
166
 {"kolibrios/lib/i965_dri.drv", "common/lib/i965_dri.drv"},
166
 {"kolibrios/lib/i965_dri.drv", "common/lib/i965_dri.drv"},
167
 {"kolibrios/media/fplay", "common/media/fplay"},
167
 {"kolibrios/media/fplay", "common/media/fplay"},
168
 {"kolibrios/media/zsea/zsea.ini", PROGS .. "/media/zsea/zSea.ini"},
168
 {"kolibrios/media/zsea/zsea.ini", PROGS .. "/media/zsea/zSea.ini"},
169
 {"kolibrios/media/zsea/buttons/buttons.png", PROGS .. "/media/zsea/buttons.png"},
169
 {"kolibrios/media/zsea/buttons/buttons.png", PROGS .. "/media/zsea/buttons.png"},
170
}
170
}
171
if build_type == "rus" then tup.append_table(extra_files, {
171
if build_type == "rus" then tup.append_table(extra_files, {
172
 {"Docs/cp866/config.txt", build_type .. "/docs/CONFIG.TXT"},
172
 {"Docs/cp866/config.txt", build_type .. "/docs/CONFIG.TXT"},
173
 {"Docs/cp866/gnu.txt", build_type .. "/docs/GNU.TXT"},
173
 {"Docs/cp866/gnu.txt", build_type .. "/docs/GNU.TXT"},
174
 {"Docs/cp866/history.txt", build_type .. "/docs/HISTORY.TXT"},
174
 {"Docs/cp866/history.txt", build_type .. "/docs/HISTORY.TXT"},
175
 {"Docs/cp866/hot_keys.txt", build_type .. "/docs/HOT_KEYS.TXT"},
175
 {"Docs/cp866/hot_keys.txt", build_type .. "/docs/HOT_KEYS.TXT"},
176
 {"Docs/cp866/install.txt", build_type .. "/docs/INSTALL.TXT"},
176
 {"Docs/cp866/install.txt", build_type .. "/docs/INSTALL.TXT"},
177
 {"Docs/cp866/readme.txt", build_type .. "/docs/README.TXT"},
177
 {"Docs/cp866/readme.txt", build_type .. "/docs/README.TXT"},
178
 {"Docs/cp866/sysfuncr.txt", PROGS .. "/system/docpack/trunk/SYSFUNCR.TXT"},
178
 {"Docs/cp866/sysfuncr.txt", PROGS .. "/system/docpack/trunk/SYSFUNCR.TXT"},
179
 {"Docs/cp1251/config.txt", build_type .. "/docs/CONFIG.WIN.TXT", cp1251_from = build_type .. "/docs/CONFIG.TXT"},
179
 {"Docs/cp1251/config.txt", build_type .. "/docs/CONFIG.WIN.TXT", cp1251_from = build_type .. "/docs/CONFIG.TXT"},
180
 {"Docs/cp1251/gnu.txt", build_type .. "/docs/GNU.WIN.TXT", cp1251_from = build_type .. "/docs/GNU.TXT"},
180
 {"Docs/cp1251/gnu.txt", build_type .. "/docs/GNU.WIN.TXT", cp1251_from = build_type .. "/docs/GNU.TXT"},
181
 {"Docs/cp1251/history.txt", build_type .. "/docs/HISTORY.WIN.TXT", cp1251_from = build_type .. "/docs/HISTORY.TXT"},
181
 {"Docs/cp1251/history.txt", build_type .. "/docs/HISTORY.WIN.TXT", cp1251_from = build_type .. "/docs/HISTORY.TXT"},
182
 {"Docs/cp1251/hot_keys.txt", build_type .. "/docs/HOT_KEYS.WIN.TXT", cp1251_from = build_type .. "/docs/HOT_KEYS.TXT"},
182
 {"Docs/cp1251/hot_keys.txt", build_type .. "/docs/HOT_KEYS.WIN.TXT", cp1251_from = build_type .. "/docs/HOT_KEYS.TXT"},
183
 {"Docs/cp1251/install.txt", build_type .. "/docs/INSTALL.WIN.TXT", cp1251_from = build_type .. "/docs/INSTALL.TXT"},
183
 {"Docs/cp1251/install.txt", build_type .. "/docs/INSTALL.WIN.TXT", cp1251_from = build_type .. "/docs/INSTALL.TXT"},
184
 {"Docs/cp1251/readme.txt", build_type .. "/docs/README.WIN.TXT", cp1251_from = build_type .. "/docs/README.TXT"},
184
 {"Docs/cp1251/readme.txt", build_type .. "/docs/README.WIN.TXT", cp1251_from = build_type .. "/docs/README.TXT"},
185
 {"Docs/cp1251/sysfuncr.txt", build_type .. "/docs/SYSFUNCR.WIN.TXT", cp1251_from = PROGS .. "/system/docpack/trunk/SYSFUNCR.TXT"},
185
 {"Docs/cp1251/sysfuncr.txt", build_type .. "/docs/SYSFUNCR.WIN.TXT", cp1251_from = PROGS .. "/system/docpack/trunk/SYSFUNCR.TXT"},
186
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme_dos.txt"},
186
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme_dos.txt"},
187
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme_win.txt"},
187
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme_win.txt"},
188
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/install.txt"},
188
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/install.txt"},
189
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/readme.txt"},
189
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/readme.txt"},
190
 {"kolibrios/media/zsea/zsea_keys.txt", PROGS .. "/media/zsea/Docs/zSea_keys_rus.txt"},
190
 {"kolibrios/media/zsea/zsea_keys.txt", PROGS .. "/media/zsea/Docs/zSea_keys_rus.txt"},
191
 {"kolibrios/games/Dungeons/Resources/Textures/Environment/", PROGS .. "/games/Dungeons/Resources/Textures/Environment/*"},
191
 {"kolibrios/games/Dungeons/Resources/Textures/Environment/", PROGS .. "/games/Dungeons/Resources/Textures/Environment/*"},
192
 {"kolibrios/games/Dungeons/Resources/Textures/Objects/", PROGS .. "/games/Dungeons/Resources/Textures/Objects/*"},
192
 {"kolibrios/games/Dungeons/Resources/Textures/Objects/", PROGS .. "/games/Dungeons/Resources/Textures/Objects/*"},
193
 {"kolibrios/games/Dungeons/Resources/Textures/HUD/", PROGS .. "/games/Dungeons/Resources/Textures/HUD/*"},
193
 {"kolibrios/games/Dungeons/Resources/Textures/HUD/", PROGS .. "/games/Dungeons/Resources/Textures/HUD/*"},
194
 {"kolibrios/games/Dungeons/Resources/Textures/", PROGS .. "/games/Dungeons/Resources/Textures/Licenses.txt"},
194
 {"kolibrios/games/Dungeons/Resources/Textures/", PROGS .. "/games/Dungeons/Resources/Textures/Licenses.txt"},
195
 {"kolibrios/games/Dungeons/", PROGS .. "/games/Dungeons/readme_ru.txt"},
195
 {"kolibrios/games/Dungeons/", PROGS .. "/games/Dungeons/readme_ru.txt"},
196
}) else tup.append_table(extra_files, {
196
}) else tup.append_table(extra_files, {
197
 {"Docs/config.txt", build_type .. "/docs/CONFIG.TXT"},
197
 {"Docs/config.txt", build_type .. "/docs/CONFIG.TXT"},
198
 {"Docs/copying.txt", build_type .. "/docs/COPYING.TXT"},
198
 {"Docs/copying.txt", build_type .. "/docs/COPYING.TXT"},
199
 {"Docs/hot_keys.txt", build_type .. "/docs/HOT_KEYS.TXT"},
199
 {"Docs/hot_keys.txt", build_type .. "/docs/HOT_KEYS.TXT"},
200
 {"Docs/install.txt", build_type .. "/docs/INSTALL.TXT"},
200
 {"Docs/install.txt", build_type .. "/docs/INSTALL.TXT"},
201
 {"Docs/readme.txt", build_type .. "/docs/README.TXT"},
201
 {"Docs/readme.txt", build_type .. "/docs/README.TXT"},
202
 {"Docs/sysfuncs.txt", PROGS .. "/system/docpack/trunk/SYSFUNCS.TXT"},
202
 {"Docs/sysfuncs.txt", PROGS .. "/system/docpack/trunk/SYSFUNCS.TXT"},
203
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme.txt"},
203
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme.txt"},
204
 {"HD_Load/mtldr/install.txt", PROGS .. "/hd_load/mtldr/install_eng.txt"},
204
 {"HD_Load/mtldr/install.txt", PROGS .. "/hd_load/mtldr/install_eng.txt"},
205
 {"HD_Load/USB_Boot/readme.txt", PROGS .. "/hd_load/usb_boot/readme_eng.txt"},
205
 {"HD_Load/USB_Boot/readme.txt", PROGS .. "/hd_load/usb_boot/readme_eng.txt"},
206
 {"kolibrios/media/zsea/zsea_keys.txt", PROGS .. "/media/zsea/Docs/zSea_keys_eng.txt"},
206
 {"kolibrios/media/zsea/zsea_keys.txt", PROGS .. "/media/zsea/Docs/zSea_keys_eng.txt"},
207
}) end
207
}) end
208
--[[
208
--[[
209
Files to be included in distribution kit outside of kolibri.img, but not kolibri.iso.
209
Files to be included in distribution kit outside of kolibri.img, but not kolibri.iso.
210
Same syntax as extra_files.
210
Same syntax as extra_files.
211
]]--
211
]]--
212
if build_type == "rus" then
212
if build_type == "rus" then
213
distr_extra_files = {
213
distr_extra_files = {
214
 {"/readme_dos.txt", build_type .. "/distr_data/readme_dos_distr.txt"},
214
 {"/readme_dos.txt", build_type .. "/distr_data/readme_dos_distr.txt"},
215
 {"/readme.txt", build_type .. "/distr_data/readme_distr.txt", cp1251_from = build_type .. "/distr_data/readme_dos_distr.txt"},
215
 {"/readme.txt", build_type .. "/distr_data/readme_distr.txt", cp1251_from = build_type .. "/distr_data/readme_dos_distr.txt"},
216
}
216
}
217
else
217
else
218
distr_extra_files = {
218
distr_extra_files = {
219
 {"/readme.txt", build_type .. "/distr_data/readme_distr.txt"},
219
 {"/readme.txt", build_type .. "/distr_data/readme_distr.txt"},
220
}
220
}
221
end
221
end
222
--[[
222
--[[
223
Files to be included in kolibri.iso outside of kolibri.img, but not distribution kit.
223
Files to be included in kolibri.iso outside of kolibri.img, but not distribution kit.
224
Same syntax as extra_files.
224
Same syntax as extra_files.
225
]]--
225
]]--
226
if build_type == "rus" then
226
if build_type == "rus" then
227
iso_extra_files = {
227
iso_extra_files = {
228
 {"/readme_dos.txt", build_type .. "/distr_data/readme_dos.txt"},
228
 {"/readme_dos.txt", build_type .. "/distr_data/readme_dos.txt"},
229
 {"/readme.txt", build_type .. "/distr_data/readme.txt", cp1251_from = build_type .. "/distr_data/readme_dos.txt"},
229
 {"/readme.txt", build_type .. "/distr_data/readme.txt", cp1251_from = build_type .. "/distr_data/readme_dos.txt"},
230
}
230
}
231
else
231
else
232
iso_extra_files = {
232
iso_extra_files = {
233
 {"/readme.txt", build_type .. "/distr_data/readme.txt"},
233
 {"/readme.txt", build_type .. "/distr_data/readme.txt"},
234
}
234
}
235
end
235
end
236
 
236
 
237
-- Programs that require FASM to compile.
237
-- Programs that require FASM to compile.
238
if tup.getconfig('NO_FASM') ~= 'full' then
238
if tup.getconfig('NO_FASM') ~= 'full' then
239
tup.append_table(img_files, {
239
tup.append_table(img_files, {
240
 {"KERNEL.MNT", "../kernel/trunk/kernel.mnt"},
240
 {"KERNEL.MNT", "../kernel/trunk/kernel.mnt"},
241
 {"@MENU", PROGS .. "/system/menu/trunk/menu"},
241
 {"@MENU", PROGS .. "/system/menu/trunk/menu"},
242
 {"@VOLUME", PROGS .. "/media/volume/volume"},
242
 {"@VOLUME", PROGS .. "/media/volume/volume"},
243
 {"@TASKBAR", PROGS .. "/system/taskbar/trunk/TASKBAR"},
243
 {"@TASKBAR", PROGS .. "/system/taskbar/trunk/TASKBAR"},
244
 {"@DOCKY", PROGS .. "/system/docky/trunk/docky"},
244
 {"@DOCKY", PROGS .. "/system/docky/trunk/docky"},
245
 {"@OPEN", PROGS .. "/system/open/open"},
245
 {"@OPEN", PROGS .. "/system/open/open"},
246
 {"@NOTIFY", PROGS .. "/system/notify3/notify"},
246
 {"@NOTIFY", PROGS .. "/system/notify3/notify"},
247
 {"@SS", PROGS .. "/system/ss/trunk/@ss"},
247
 {"@SS", PROGS .. "/system/ss/trunk/@ss"},
248
 {"REFRSCRN", PROGS .. "/system/refrscrn/refrscrn"},
248
 {"REFRSCRN", PROGS .. "/system/refrscrn/refrscrn"},
249
 {"ASCIIVJU", PROGS .. "/develop/asciivju/trunk/asciivju"},
249
 {"ASCIIVJU", PROGS .. "/develop/asciivju/trunk/asciivju"},
250
 {"CALC", PROGS .. "/other/calc/trunk/calc"},
250
 {"CALC", PROGS .. "/other/calc/trunk/calc"},
251
 {"CALENDAR", PROGS .. "/system/calendar/trunk/calendar"},
251
 {"CALENDAR", PROGS .. "/system/calendar/trunk/calendar"},
252
 {"COLRDIAL", PROGS .. "/system/colrdial/color_dialog"},
252
 {"COLRDIAL", PROGS .. "/system/colrdial/color_dialog"},
253
 {"LOADDRV", PROGS .. "/system/loaddrv/loaddrv"},
253
 {"LOADDRV", PROGS .. "/system/loaddrv/loaddrv"},
254
 {"CPU", PROGS .. "/system/cpu/trunk/cpu"},
254
 {"CPU", PROGS .. "/system/cpu/trunk/cpu"},
255
 {"CPUID", PROGS .. "/system/cpuid/trunk/CPUID"},
255
 {"CPUID", PROGS .. "/system/cpuid/trunk/CPUID"},
256
 {"DESKTOP", PROGS .. "/system/desktop/trunk/desktop"},
256
 {"DESKTOP", PROGS .. "/system/desktop/trunk/desktop"},
257
 {"DISPTEST", PROGS .. "/system/disptest/trunk/disptest"},
257
 {"DISPTEST", PROGS .. "/system/disptest/trunk/disptest"},
258
 {"DOCPACK", PROGS .. "/system/docpack/trunk/docpack"},
258
 {"DOCPACK", PROGS .. "/system/docpack/trunk/docpack"},
259
 {"END", PROGS .. "/system/end/light/end"},
259
 {"END", PROGS .. "/system/end/light/end"},
260
 {"FSPEED", PROGS .. "/fs/fspeed/fspeed"},
260
 {"FSPEED", PROGS .. "/fs/fspeed/fspeed"},
261
 {"GMON", PROGS .. "/system/gmon/gmon"},
261
 {"GMON", PROGS .. "/system/gmon/gmon"},
262
 {"HDD_INFO", PROGS .. "/system/hdd_info/trunk/hdd_info"},
262
 {"HDD_INFO", PROGS .. "/system/hdd_info/trunk/hdd_info"},
263
 {"@ICON", PROGS .. "/system/icon_new/@icon"},
263
 {"@ICON", PROGS .. "/system/icon_new/@icon"},
264
 {"CROPFLAT", PROGS .. "/system/cropflat/cropflat"},
264
 {"CROPFLAT", PROGS .. "/system/cropflat/cropflat"},
265
 {"KBD", PROGS .. "/system/kbd/trunk/kbd"},
265
 {"KBD", PROGS .. "/system/kbd/trunk/kbd"},
266
 {"KPACK", PROGS .. "/other/kpack/trunk/kpack"},
266
 {"KPACK", PROGS .. "/other/kpack/trunk/kpack"},
267
 {"LAUNCHER", PROGS .. "/system/launcher/trunk/launcher"},
267
 {"LAUNCHER", PROGS .. "/system/launcher/trunk/launcher"},
268
 {"MAGNIFY", PROGS .. "/demos/magnify/trunk/magnify"},
268
 {"MAGNIFY", PROGS .. "/demos/magnify/trunk/magnify"},
269
 {"MGB", PROGS .. "/system/mgb/trunk/mgb"},
269
 {"MGB", PROGS .. "/system/mgb/trunk/mgb"},
270
 {"MOUSEMUL", PROGS .. "/system/mousemul/trunk/mousemul"},
270
 {"MOUSEMUL", PROGS .. "/system/mousemul/trunk/mousemul"},
271
 {"MADMOUSE", PROGS .. "/other/madmouse/madmouse"},
271
 {"MADMOUSE", PROGS .. "/other/madmouse/madmouse"},
272
 {"MYKEY", PROGS .. "/system/MyKey/trunk/MyKey"},
272
 {"MYKEY", PROGS .. "/system/MyKey/trunk/MyKey"},
273
 {"PCIDEV", PROGS .. "/system/pcidev/trunk/PCIDEV"},
273
 {"PCIDEV", PROGS .. "/system/pcidev/trunk/PCIDEV"},
274
 {"RDSAVE", PROGS .. "/system/rdsave/trunk/rdsave"},
274
 {"RDSAVE", PROGS .. "/system/rdsave/trunk/rdsave"},
275
 {"RTFREAD", PROGS .. "/other/rtfread/trunk/rtfread"},
275
 {"RTFREAD", PROGS .. "/other/rtfread/trunk/rtfread"},
276
 {"RUN", PROGS .. "/system/run/trunk/run"},
276
 {"RUN", PROGS .. "/system/run/trunk/run"},
277
 {"SEARCHAP", PROGS .. "/system/searchap/searchap"},
277
 {"SEARCHAP", PROGS .. "/system/searchap/searchap"},
278
 {"SCRSHOOT", PROGS .. "/media/scrshoot/scrshoot"},
278
 {"SCRSHOOT", PROGS .. "/media/scrshoot/scrshoot"},
279
 {"SETUP", PROGS .. "/system/setup/trunk/setup"},
279
 {"SETUP", PROGS .. "/system/setup/trunk/setup"},
280
 {"TEST", PROGS .. "/system/test/trunk/test"},
280
 {"TEST", PROGS .. "/system/test/trunk/test"},
281
 {"TINYPAD", PROGS .. "/develop/tinypad/trunk/tinypad"},
281
 {"TINYPAD", PROGS .. "/develop/tinypad/trunk/tinypad"},
282
 {"ZKEY", PROGS .. "/system/zkey/trunk/ZKEY"},
282
 {"ZKEY", PROGS .. "/system/zkey/trunk/ZKEY"},
283
 {"TERMINAL", PROGS .. "/system/terminal/terminal"},
283
 {"TERMINAL", PROGS .. "/system/terminal/terminal"},
284
 {"3D/3DSHEART", PROGS .. "/demos/3dsheart/trunk/3dsheart"},
284
 {"3D/3DSHEART", PROGS .. "/demos/3dsheart/trunk/3dsheart"},
285
 {"3D/3DWAV", PROGS .. "/demos/3dwav/trunk/3dwav"},
285
 {"3D/3DWAV", PROGS .. "/demos/3dwav/trunk/3dwav"},
286
 {"3D/CROWNSCR", PROGS .. "/demos/crownscr/trunk/crownscr"},
286
 {"3D/CROWNSCR", PROGS .. "/demos/crownscr/trunk/crownscr"},
287
 {"3D/FREE3D04", PROGS .. "/demos/free3d04/trunk/free3d04"},
287
 {"3D/FREE3D04", PROGS .. "/demos/free3d04/trunk/free3d04"},
288
 {"3D/VIEW3DS", PROGS .. "/demos/3DS/VIEW3DS"},
288
 {"3D/VIEW3DS", PROGS .. "/demos/3DS/VIEW3DS"},
289
 {"DEMOS/BCDCLK", PROGS .. "/demos/bcdclk/trunk/bcdclk"},
289
 {"DEMOS/BCDCLK", PROGS .. "/demos/bcdclk/trunk/bcdclk"},
290
 {"DEMOS/CIRCLE", PROGS .. "/develop/examples/circle/trunk/circle"},
290
 {"DEMOS/CIRCLE", PROGS .. "/develop/examples/circle/trunk/circle"},
291
 {"DEMOS/COLORREF", PROGS .. "/demos/colorref/trunk/colorref"},
291
 {"DEMOS/COLORREF", PROGS .. "/demos/colorref/trunk/colorref"},
292
 {"DEMOS/CSLIDE", PROGS .. "/demos/cslide/trunk/cslide"},
292
 {"DEMOS/CSLIDE", PROGS .. "/demos/cslide/trunk/cslide"},
293
 {"DEMOS/EYES", PROGS .. "/demos/eyes/trunk/eyes"},
293
 {"DEMOS/EYES", PROGS .. "/demos/eyes/trunk/eyes"},
294
 {"DEMOS/FIREWORK", PROGS .. "/demos/firework/trunk/firework"},
294
 {"DEMOS/FIREWORK", PROGS .. "/demos/firework/trunk/firework"},
295
 {"DEMOS/MOVBACK", PROGS .. "/demos/movback/trunk/movback"},
295
 {"DEMOS/MOVBACK", PROGS .. "/demos/movback/trunk/movback"},
296
 {"DEMOS/PLASMA", PROGS .. "/demos/plasma/trunk/plasma"},
296
 {"DEMOS/PLASMA", PROGS .. "/demos/plasma/trunk/plasma"},
297
 {"DEMOS/TINYFRAC", PROGS .. "/demos/tinyfrac/trunk/tinyfrac"},
297
 {"DEMOS/TINYFRAC", PROGS .. "/demos/tinyfrac/trunk/tinyfrac"},
298
 {"DEMOS/TRANTEST", PROGS .. "/demos/trantest/trunk/trantest"},
298
 {"DEMOS/TRANTEST", PROGS .. "/demos/trantest/trunk/trantest"},
299
 {"DEMOS/TUBE", PROGS .. "/demos/tube/trunk/tube"},
299
 {"DEMOS/TUBE", PROGS .. "/demos/tube/trunk/tube"},
300
 {"DEMOS/UNVWATER", PROGS .. "/demos/unvwater/trunk/unvwater"},
300
 {"DEMOS/UNVWATER", PROGS .. "/demos/unvwater/trunk/unvwater"},
301
 {"DEMOS/USE_MB", PROGS .. "/demos/use_mb/use_mb"},
301
 {"DEMOS/USE_MB", PROGS .. "/demos/use_mb/use_mb"},
302
 {"DEMOS/WEB", PROGS .. "/demos/web/trunk/web"},
302
 {"DEMOS/WEB", PROGS .. "/demos/web/trunk/web"},
303
 {"DEVELOP/BOARD", PROGS .. "/system/board/trunk/board"},
303
 {"DEVELOP/BOARD", PROGS .. "/system/board/trunk/board"},
304
 {"DEVELOP/cObj", PROGS .. "/develop/cObj/trunk/cObj"},
304
 {"DEVELOP/cObj", PROGS .. "/develop/cObj/trunk/cObj"},
305
 {"DEVELOP/FASM", PROGS .. "/develop/fasm/trunk/fasm"},
305
 {"DEVELOP/FASM", PROGS .. "/develop/fasm/trunk/fasm"},
306
 {"DEVELOP/H2D2B", PROGS .. "/develop/h2d2b/trunk/h2d2b"},
306
 {"DEVELOP/H2D2B", PROGS .. "/develop/h2d2b/trunk/h2d2b"},
307
 {"DEVELOP/HEED", PROGS .. "/develop/heed/trunk/heed"},
307
 {"DEVELOP/HEED", PROGS .. "/develop/heed/trunk/heed"},
308
 {"DEVELOP/KEYASCII", PROGS .. "/develop/keyascii/trunk/keyascii"},
308
 {"DEVELOP/KEYASCII", PROGS .. "/develop/keyascii/trunk/keyascii"},
309
 {"DEVELOP/MTDBG", PROGS .. "/develop/mtdbg/mtdbg"},
309
 {"DEVELOP/MTDBG", PROGS .. "/develop/mtdbg/mtdbg"},
310
 {"DEVELOP/SCANCODE", PROGS .. "/develop/scancode/trunk/scancode"},
310
 {"DEVELOP/SCANCODE", PROGS .. "/develop/scancode/trunk/scancode"},
311
 {"DEVELOP/T_EDIT", PROGS .. "/other/t_edit/t_edit"},
311
 {"DEVELOP/T_EDIT", PROGS .. "/other/t_edit/t_edit"},
312
 {"DEVELOP/test_gets", PROGS .. "/develop/libraries/console/examples/test_gets"},
312
 {"DEVELOP/test_gets", PROGS .. "/develop/libraries/console/examples/test_gets"},
313
 {"DEVELOP/THREAD", PROGS .. "/develop/examples/thread/trunk/thread"},
313
 {"DEVELOP/THREAD", PROGS .. "/develop/examples/thread/trunk/thread"},
314
 {"DEVELOP/INFO/ASM.SYN", PROGS .. "/other/t_edit/info/asm.syn"},
314
 {"DEVELOP/INFO/ASM.SYN", PROGS .. "/other/t_edit/info/asm.syn"},
315
 {"DEVELOP/INFO/CPP_KOL_CLA.SYN", PROGS .. "/other/t_edit/info/cpp_kol_cla.syn"},
315
 {"DEVELOP/INFO/CPP_KOL_CLA.SYN", PROGS .. "/other/t_edit/info/cpp_kol_cla.syn"},
316
 {"DEVELOP/INFO/CPP_KOL_DAR.SYN", PROGS .. "/other/t_edit/info/cpp_kol_dar.syn"},
316
 {"DEVELOP/INFO/CPP_KOL_DAR.SYN", PROGS .. "/other/t_edit/info/cpp_kol_dar.syn"},
317
 {"DEVELOP/INFO/CPP_KOL_DEF.SYN", PROGS .. "/other/t_edit/info/cpp_kol_def.syn"},
317
 {"DEVELOP/INFO/CPP_KOL_DEF.SYN", PROGS .. "/other/t_edit/info/cpp_kol_def.syn"},
318
 {"DEVELOP/INFO/DEFAULT.SYN", PROGS .. "/other/t_edit/info/default.syn"},
318
 {"DEVELOP/INFO/DEFAULT.SYN", PROGS .. "/other/t_edit/info/default.syn"},
319
 {"DEVELOP/INFO/HTML.SYN", PROGS .. "/other/t_edit/info/html.syn"},
319
 {"DEVELOP/INFO/HTML.SYN", PROGS .. "/other/t_edit/info/html.syn"},
320
 {"DEVELOP/INFO/INI_FILES.SYN", PROGS .. "/other/t_edit/info/ini_files.syn"},
320
 {"DEVELOP/INFO/INI_FILES.SYN", PROGS .. "/other/t_edit/info/ini_files.syn"},
321
 {"DEVELOP/INFO/WIN_CONST.SYN", PROGS .. "/other/t_edit/info/win_const.syn"},
321
 {"DEVELOP/INFO/WIN_CONST.SYN", PROGS .. "/other/t_edit/info/win_const.syn"},
322
 {"File Managers/KFAR", PROGS .. "/fs/kfar/trunk/kfar"},
322
 {"File Managers/KFAR", PROGS .. "/fs/kfar/trunk/kfar"},
323
 {"File Managers/KFM", PROGS .. "/fs/kfm/trunk/kfm"},
323
 {"File Managers/KFM", PROGS .. "/fs/kfm/trunk/kfm"},
324
 {"File Managers/OPENDIAL", PROGS .. "/fs/opendial/opendial"},
324
 {"File Managers/OPENDIAL", PROGS .. "/fs/opendial/opendial"},
325
 {"GAMES/15", PROGS .. "/games/15/trunk/15"},
325
 {"GAMES/15", PROGS .. "/games/15/trunk/15"},
326
 {"GAMES/ARCANII", PROGS .. "/games/arcanii/trunk/arcanii"},
326
 {"GAMES/ARCANII", PROGS .. "/games/arcanii/trunk/arcanii"},
327
 {"GAMES/FREECELL", PROGS .. "/games/freecell/freecell"},
327
 {"GAMES/FREECELL", PROGS .. "/games/freecell/freecell"},
328
 {"GAMES/GOMOKU", PROGS .. "/games/gomoku/trunk/gomoku"},
328
 {"GAMES/GOMOKU", PROGS .. "/games/gomoku/trunk/gomoku"},
329
 {"GAMES/KLAVISHA", PROGS .. "/games/klavisha/trunk/klavisha"},
329
 {"GAMES/KLAVISHA", PROGS .. "/games/klavisha/trunk/klavisha"},
330
 {"GAMES/LINES", PROGS .. "/games/lines/lines"},
330
 {"GAMES/LINES", PROGS .. "/games/lines/lines"},
331
 {"GAMES/MBLOCKS", PROGS .. "/games/mblocks/trunk/mblocks"},
331
 {"GAMES/MBLOCKS", PROGS .. "/games/mblocks/trunk/mblocks"},
332
 {"GAMES/MSQUARE", PROGS .. "/games/MSquare/trunk/MSquare"},
332
 {"GAMES/MSQUARE", PROGS .. "/games/MSquare/trunk/MSquare"},
333
 {"GAMES/PHENIX", PROGS .. "/games/phenix/trunk/phenix"},
333
 {"GAMES/PHENIX", PROGS .. "/games/phenix/trunk/phenix"},
334
 {"GAMES/PIPES", PROGS .. "/games/pipes/pipes"},
334
 {"GAMES/PIPES", PROGS .. "/games/pipes/pipes"},
335
 {"GAMES/PONG", PROGS .. "/games/pong/trunk/pong"},
335
 {"GAMES/PONG", PROGS .. "/games/pong/trunk/pong"},
336
 {"GAMES/PONG3", PROGS .. "/games/pong3/trunk/pong3"},
336
 {"GAMES/PONG3", PROGS .. "/games/pong3/trunk/pong3"},
337
 {"GAMES/RSQUARE", PROGS .. "/games/rsquare/trunk/rsquare"},
337
 {"GAMES/RSQUARE", PROGS .. "/games/rsquare/trunk/rsquare"},
338
 {"GAMES/SNAKE", PROGS .. "/games/snake/trunk/snake"},
338
 {"GAMES/SNAKE", PROGS .. "/games/snake/trunk/snake"},
339
 {"GAMES/SQ_GAME", PROGS .. "/games/sq_game/trunk/SQ_GAME"},
339
 {"GAMES/SQ_GAME", PROGS .. "/games/sq_game/trunk/SQ_GAME"},
340
 {"GAMES/SUDOKU", PROGS .. "/games/sudoku/trunk/sudoku"},
340
 {"GAMES/SUDOKU", PROGS .. "/games/sudoku/trunk/sudoku"},
341
 {"GAMES/SW", PROGS .. "/games/sw/trunk/sw"},
341
 {"GAMES/SW", PROGS .. "/games/sw/trunk/sw"},
342
 {"GAMES/TANKS", PROGS .. "/games/tanks/trunk/tanks"},
342
 {"GAMES/TANKS", PROGS .. "/games/tanks/trunk/tanks"},
343
 {"GAMES/TETRIS", PROGS .. "/games/tetris/trunk/tetris"},
343
 {"GAMES/TETRIS", PROGS .. "/games/tetris/trunk/tetris"},
344
 {"LIB/ARCHIVER.OBJ", PROGS .. "/fs/kfar/trunk/kfar_arc/kfar_arc.obj"},
344
 {"LIB/ARCHIVER.OBJ", PROGS .. "/fs/kfar/trunk/kfar_arc/kfar_arc.obj"},
345
 {"LIB/BOX_LIB.OBJ", PROGS .. "/develop/libraries/box_lib/trunk/box_lib.obj"},
345
 {"LIB/BOX_LIB.OBJ", PROGS .. "/develop/libraries/box_lib/trunk/box_lib.obj"},
346
 {"LIB/BUF2D.OBJ", PROGS .. "/develop/libraries/buf2d/trunk/buf2d.obj"},
346
 {"LIB/BUF2D.OBJ", PROGS .. "/develop/libraries/buf2d/trunk/buf2d.obj"},
347
 {"LIB/CONSOLE.OBJ", PROGS .. "/develop/libraries/console/console.obj"},
347
 {"LIB/CONSOLE.OBJ", PROGS .. "/develop/libraries/console/console.obj"},
348
 {"LIB/LIBGFX.OBJ", PROGS .. "/develop/libraries/libs-dev/libgfx/libgfx.obj"},
348
 {"LIB/LIBGFX.OBJ", PROGS .. "/develop/libraries/libs-dev/libgfx/libgfx.obj"},
349
 {"LIB/LIBIMG.OBJ", PROGS .. "/develop/libraries/libs-dev/libimg/libimg.obj"},
349
 {"LIB/LIBIMG.OBJ", PROGS .. "/develop/libraries/libs-dev/libimg/libimg.obj"},
350
 {"LIB/LIBINI.OBJ", PROGS .. "/develop/libraries/libs-dev/libini/libini.obj"},
350
 {"LIB/LIBINI.OBJ", PROGS .. "/develop/libraries/libs-dev/libini/libini.obj"},
351
 {"LIB/LIBIO.OBJ", PROGS .. "/develop/libraries/libs-dev/libio/libio.obj"},
351
 {"LIB/LIBIO.OBJ", PROGS .. "/develop/libraries/libs-dev/libio/libio.obj"},
352
 {"LIB/MSGBOX.OBJ", PROGS .. "/develop/libraries/msgbox/msgbox.obj"},
352
 {"LIB/MSGBOX.OBJ", PROGS .. "/develop/libraries/msgbox/msgbox.obj"},
353
 {"LIB/NETWORK.OBJ", PROGS .. "/develop/libraries/network/network.obj"},
353
 {"LIB/NETWORK.OBJ", PROGS .. "/develop/libraries/network/network.obj"},
354
 {"LIB/SORT.OBJ", PROGS .. "/develop/libraries/sorter/sort.obj"},
354
 {"LIB/SORT.OBJ", PROGS .. "/develop/libraries/sorter/sort.obj"},
355
 {"LIB/HTTP.OBJ", PROGS .. "/develop/libraries/http/http.obj"},
355
 {"LIB/HTTP.OBJ", PROGS .. "/develop/libraries/http/http.obj"},
356
 {"LIB/PROC_LIB.OBJ", PROGS .. "/develop/libraries/proc_lib/trunk/proc_lib.obj"},
356
 {"LIB/PROC_LIB.OBJ", PROGS .. "/develop/libraries/proc_lib/trunk/proc_lib.obj"},
357
 {"LIB/CNV_PNG.OBJ", PROGS .. "/media/zsea/plugins/png/cnv_png.obj"},
357
 {"LIB/CNV_PNG.OBJ", PROGS .. "/media/zsea/plugins/png/cnv_png.obj"},
358
 {"MEDIA/ANIMAGE", PROGS .. "/media/animage/trunk/animage"},
358
 {"MEDIA/ANIMAGE", PROGS .. "/media/animage/trunk/animage"},
359
 {"MEDIA/KIV", PROGS .. "/media/kiv/trunk/kiv"},
359
 {"MEDIA/KIV", PROGS .. "/media/kiv/trunk/kiv"},
360
 {"MEDIA/LISTPLAY", PROGS .. "/media/listplay/trunk/listplay"},
360
 {"MEDIA/LISTPLAY", PROGS .. "/media/listplay/trunk/listplay"},
361
 {"MEDIA/MIDAMP", PROGS .. "/media/midamp/trunk/midamp"},
361
 {"MEDIA/MIDAMP", PROGS .. "/media/midamp/trunk/midamp"},
362
 {"MEDIA/PALITRA", PROGS .. "/media/palitra/trunk/palitra"},
362
 {"MEDIA/PALITRA", PROGS .. "/media/palitra/trunk/palitra"},
363
 {"MEDIA/STARTMUS", PROGS .. "/media/startmus/trunk/STARTMUS"},
363
 {"MEDIA/STARTMUS", PROGS .. "/media/startmus/trunk/STARTMUS"},
364
 {"NETWORK/PING", PROGS .. "/network/icmp/ping"},
364
 {"NETWORK/PING", PROGS .. "/network/icmp/ping"},
365
 {"NETWORK/NETCFG", PROGS .. "/network/netcfg/netcfg"},
365
 {"NETWORK/NETCFG", PROGS .. "/network/netcfg/netcfg"},
366
 {"NETWORK/NETSTAT", PROGS .. "/network/netstat/netstat"},
366
 {"NETWORK/NETSTAT", PROGS .. "/network/netstat/netstat"},
367
 {"NETWORK/NSLOOKUP", PROGS .. "/network/nslookup/nslookup"},
367
 {"NETWORK/NSLOOKUP", PROGS .. "/network/nslookup/nslookup"},
368
 {"NETWORK/PASTA", PROGS .. "/network/pasta/pasta"},
368
 {"NETWORK/PASTA", PROGS .. "/network/pasta/pasta"},
369
 {"NETWORK/SYNERGYC", PROGS .. "/network/synergyc/synergyc"},
369
 {"NETWORK/SYNERGYC", PROGS .. "/network/synergyc/synergyc"},
370
 {"NETWORK/TCPSERV", PROGS .. "/network/tcpserv/tcpserv"},
370
 {"NETWORK/TCPSERV", PROGS .. "/network/tcpserv/tcpserv"},
371
 {"NETWORK/TELNET", PROGS .. "/network/telnet/telnet"},
371
 {"NETWORK/TELNET", PROGS .. "/network/telnet/telnet"},
372
 {"NETWORK/ZEROCONF", PROGS .. "/network/zeroconf/zeroconf"},
372
 {"NETWORK/@ZEROCONF", PROGS .. "/network/zeroconf/zeroconf"},
373
 {"NETWORK/FTPC", PROGS .. "/network/ftpc/ftpc"},
373
 {"NETWORK/FTPC", PROGS .. "/network/ftpc/ftpc"},
374
 {"NETWORK/FTPD", PROGS .. "/network/ftpd/ftpd"},
374
 {"NETWORK/FTPD", PROGS .. "/network/ftpd/ftpd"},
375
 {"NETWORK/TFTPC", PROGS .. "/network/tftpc/tftpc"},
375
 {"NETWORK/TFTPC", PROGS .. "/network/tftpc/tftpc"},
376
 {"NETWORK/IRCC", PROGS .. "/network/ircc/ircc"},
376
 {"NETWORK/IRCC", PROGS .. "/network/ircc/ircc"},
377
 {"NETWORK/DOWNLOADER", PROGS .. "/network/downloader/downloader"},
377
 {"NETWORK/DOWNLOADER", PROGS .. "/network/downloader/downloader"},
378
 {"DRIVERS/VIDINTEL.SYS", "../drivers/video/vidintel.sys"},
378
 {"DRIVERS/VIDINTEL.SYS", "../drivers/video/vidintel.sys"},
379
 {"DRIVERS/3C59X.SYS", "../drivers/ethernet/3c59x.sys"},
379
 {"DRIVERS/3C59X.SYS", "../drivers/ethernet/3c59x.sys"},
380
 {"DRIVERS/DEC21X4X.SYS", "../drivers/ethernet/dec21x4x.sys"},
380
 {"DRIVERS/DEC21X4X.SYS", "../drivers/ethernet/dec21x4x.sys"},
381
 {"DRIVERS/FORCEDETH.SYS", "../drivers/ethernet/forcedeth.sys"},
381
 {"DRIVERS/FORCEDETH.SYS", "../drivers/ethernet/forcedeth.sys"},
382
 {"DRIVERS/I8254X.SYS", "../drivers/ethernet/i8254x.sys"},
382
 {"DRIVERS/I8254X.SYS", "../drivers/ethernet/i8254x.sys"},
383
 {"DRIVERS/I8255X.SYS", "../drivers/ethernet/i8255x.sys"},
383
 {"DRIVERS/I8255X.SYS", "../drivers/ethernet/i8255x.sys"},
384
 {"DRIVERS/MTD80X.SYS", "../drivers/ethernet/mtd80x.sys"},
384
 {"DRIVERS/MTD80X.SYS", "../drivers/ethernet/mtd80x.sys"},
385
 {"DRIVERS/PCNET32.SYS", "../drivers/ethernet/pcnet32.sys"},
385
 {"DRIVERS/PCNET32.SYS", "../drivers/ethernet/pcnet32.sys"},
386
 {"DRIVERS/R6040.SYS", "../drivers/ethernet/R6040.sys"},
386
 {"DRIVERS/R6040.SYS", "../drivers/ethernet/R6040.sys"},
387
 {"DRIVERS/RHINE.SYS", "../drivers/ethernet/rhine.sys"},
387
 {"DRIVERS/RHINE.SYS", "../drivers/ethernet/rhine.sys"},
388
 {"DRIVERS/RTL8029.SYS", "../drivers/ethernet/RTL8029.sys"},
388
 {"DRIVERS/RTL8029.SYS", "../drivers/ethernet/RTL8029.sys"},
389
 {"DRIVERS/RTL8139.SYS", "../drivers/ethernet/RTL8139.sys"},
389
 {"DRIVERS/RTL8139.SYS", "../drivers/ethernet/RTL8139.sys"},
390
 {"DRIVERS/RTL8169.SYS", "../drivers/ethernet/RTL8169.sys"},
390
 {"DRIVERS/RTL8169.SYS", "../drivers/ethernet/RTL8169.sys"},
391
 {"DRIVERS/SIS900.SYS", "../drivers/ethernet/sis900.sys"},
391
 {"DRIVERS/SIS900.SYS", "../drivers/ethernet/sis900.sys"},
392
 {"DRIVERS/UHCI.SYS", "../drivers/usb/uhci.sys"},
392
 {"DRIVERS/UHCI.SYS", "../drivers/usb/uhci.sys"},
393
 {"DRIVERS/OHCI.SYS", "../drivers/usb/ohci.sys"},
393
 {"DRIVERS/OHCI.SYS", "../drivers/usb/ohci.sys"},
394
 {"DRIVERS/EHCI.SYS", "../drivers/usb/ehci.sys"},
394
 {"DRIVERS/EHCI.SYS", "../drivers/usb/ehci.sys"},
395
 {"DRIVERS/USBHID.SYS", "../drivers/usb/usbhid/usbhid.sys"},
395
 {"DRIVERS/USBHID.SYS", "../drivers/usb/usbhid/usbhid.sys"},
396
 {"DRIVERS/USBSTOR.SYS", "../drivers/usb/usbstor.sys"},
396
 {"DRIVERS/USBSTOR.SYS", "../drivers/usb/usbstor.sys"},
397
 {"DRIVERS/RDC.SYS", "../drivers/video/rdc.sys"},
397
 {"DRIVERS/RDC.SYS", "../drivers/video/rdc.sys"},
398
 {"DRIVERS/COMMOUSE.SYS", "../drivers/mouse/commouse.sys"},
398
 {"DRIVERS/COMMOUSE.SYS", "../drivers/mouse/commouse.sys"},
399
 {"DRIVERS/PS2MOUSE.SYS", "../drivers/mouse/ps2mouse4d/trunk/ps2mouse.sys"},
399
 {"DRIVERS/PS2MOUSE.SYS", "../drivers/mouse/ps2mouse4d/trunk/ps2mouse.sys"},
400
 {"DRIVERS/TMPDISK.SYS", "../drivers/disk/tmpdisk.sys"},
400
 {"DRIVERS/TMPDISK.SYS", "../drivers/disk/tmpdisk.sys"},
401
 {"DRIVERS/intel_hda.sys", "../drivers/audio/intel_hda/intel_hda.sys"},
401
 {"DRIVERS/intel_hda.sys", "../drivers/audio/intel_hda/intel_hda.sys"},
402
 {"DRIVERS/SB16.SYS", "../drivers/audio/sb16/sb16.sys"},
402
 {"DRIVERS/SB16.SYS", "../drivers/audio/sb16/sb16.sys"},
403
 {"DRIVERS/SOUND.SYS", "../drivers/audio/sound.sys"},
403
 {"DRIVERS/SOUND.SYS", "../drivers/audio/sound.sys"},
404
 {"DRIVERS/INFINITY.SYS", "../drivers/audio/infinity/infinity.sys"},
404
 {"DRIVERS/INFINITY.SYS", "../drivers/audio/infinity/infinity.sys"},
405
 {"DRIVERS/INTELAC97.SYS", "../drivers/audio/intelac97.sys"},
405
 {"DRIVERS/INTELAC97.SYS", "../drivers/audio/intelac97.sys"},
406
 {"DRIVERS/EMU10K1X.SYS", "../drivers/audio/emu10k1x.sys"},
406
 {"DRIVERS/EMU10K1X.SYS", "../drivers/audio/emu10k1x.sys"},
407
 {"DRIVERS/FM801.SYS", "../drivers/audio/fm801.sys"},
407
 {"DRIVERS/FM801.SYS", "../drivers/audio/fm801.sys"},
408
 {"DRIVERS/VT823X.SYS", "../drivers/audio/vt823x.sys"},
408
 {"DRIVERS/VT823X.SYS", "../drivers/audio/vt823x.sys"},
409
 {"DRIVERS/SIS.SYS", "../drivers/audio/sis.sys"},
409
 {"DRIVERS/SIS.SYS", "../drivers/audio/sis.sys"},
410
})
410
})
411
tup.append_table(extra_files, {
411
tup.append_table(extra_files, {
412
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/9x2klbr.exe"},
412
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/9x2klbr.exe"},
413
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/MeOSload.com"},
413
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/MeOSload.com"},
414
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/mtldr"},
414
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/mtldr"},
415
 {"HD_Load/", PROGS .. "/hd_load/mtldr_install/mtldr_install.exe"},
415
 {"HD_Load/", PROGS .. "/hd_load/mtldr_install/mtldr_install.exe"},
416
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/BOOT_F32.BIN"},
416
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/BOOT_F32.BIN"},
417
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/MTLD_F32"},
417
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/MTLD_F32"},
418
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/inst.exe"},
418
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/inst.exe"},
419
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/setmbr.exe"},
419
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/setmbr.exe"},
420
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/MeOSload.com"},
420
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/MeOSload.com"},
421
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/enable.exe"},
421
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/enable.exe"},
422
 {"kolibrios/games/codemaster/binary_master", PROGS .. "/games/codemaster/binary_master"},
422
 {"kolibrios/games/codemaster/binary_master", PROGS .. "/games/codemaster/binary_master"},
423
 {"kolibrios/games/codemaster/hang_programmer", PROGS .. "/games/codemaster/hang_programmer"},
423
 {"kolibrios/games/codemaster/hang_programmer", PROGS .. "/games/codemaster/hang_programmer"},
424
 {"kolibrios/games/codemaster/kolibri_puzzle", PROGS .. "/games/codemaster/kolibri_puzzle"},
424
 {"kolibrios/games/codemaster/kolibri_puzzle", PROGS .. "/games/codemaster/kolibri_puzzle"},
425
 {"kolibrios/games/invaders", PROGS .. "/games/invaders/invaders"},
425
 {"kolibrios/games/invaders", PROGS .. "/games/invaders/invaders"},
426
 {"kolibrios/media/zsea/zsea", PROGS .. "/media/zsea/zSea"},
426
 {"kolibrios/media/zsea/zsea", PROGS .. "/media/zsea/zSea"},
427
 {"kolibrios/media/zsea/plugins/cnv_bmp.obj", PROGS .. "/media/zsea/plugins/bmp/cnv_bmp.obj"},
427
 {"kolibrios/media/zsea/plugins/cnv_bmp.obj", PROGS .. "/media/zsea/plugins/bmp/cnv_bmp.obj"},
428
 {"kolibrios/media/zsea/plugins/cnv_gif.obj", PROGS .. "/media/zsea/plugins/gif/cnv_gif.obj"},
428
 {"kolibrios/media/zsea/plugins/cnv_gif.obj", PROGS .. "/media/zsea/plugins/gif/cnv_gif.obj"},
429
 {"kolibrios/media/zsea/plugins/cnv_jpeg.obj", PROGS .. "/media/zsea/plugins/jpeg/cnv_jpeg.obj"},
429
 {"kolibrios/media/zsea/plugins/cnv_jpeg.obj", PROGS .. "/media/zsea/plugins/jpeg/cnv_jpeg.obj"},
430
 {"kolibrios/media/zsea/plugins/convert.obj", PROGS .. "/media/zsea/plugins/convert/convert.obj"},
430
 {"kolibrios/media/zsea/plugins/convert.obj", PROGS .. "/media/zsea/plugins/convert/convert.obj"},
431
 {"kolibrios/media/zsea/plugins/rotate.obj", PROGS .. "/media/zsea/plugins/rotate/rotate.obj"},
431
 {"kolibrios/media/zsea/plugins/rotate.obj", PROGS .. "/media/zsea/plugins/rotate/rotate.obj"},
432
 {"kolibrios/media/zsea/plugins/scaling.obj", PROGS .. "/media/zsea/plugins/scaling/scaling.obj"},
432
 {"kolibrios/media/zsea/plugins/scaling.obj", PROGS .. "/media/zsea/plugins/scaling/scaling.obj"},
433
})
433
})
434
-- For russian build, add russian-only programs.
434
-- For russian build, add russian-only programs.
435
if build_type == "rus" then tup.append_table(img_files, {
435
if build_type == "rus" then tup.append_table(img_files, {
436
 {"PERIOD", PROGS .. "/other/period/trunk/period"},
436
 {"PERIOD", PROGS .. "/other/period/trunk/period"},
437
 {"DEVELOP/TESTCON2", PROGS .. "/develop/libraries/console/examples/testcon2_rus"},
437
 {"DEVELOP/TESTCON2", PROGS .. "/develop/libraries/console/examples/testcon2_rus"},
438
}) else tup.append_table(img_files, {
438
}) else tup.append_table(img_files, {
439
 {"DEVELOP/TESTCON2", PROGS .. "/develop/libraries/console/examples/testcon2_eng"},
439
 {"DEVELOP/TESTCON2", PROGS .. "/develop/libraries/console/examples/testcon2_eng"},
440
 {"GAMES/SOKO", PROGS .. "/games/soko/trunk/SOKO"},
440
 {"GAMES/SOKO", PROGS .. "/games/soko/trunk/SOKO"},
441
}) end
441
}) end
442
 
442
 
443
if build_type == "rus" then tup.append_table(extra_files, {
443
if build_type == "rus" then tup.append_table(extra_files, {
444
 {"kolibrios/games/Dungeons/Dungeons", PROGS .. "/games/Dungeons/Dungeons"},
444
 {"kolibrios/games/Dungeons/Dungeons", PROGS .. "/games/Dungeons/Dungeons"},
445
}) end
445
}) end
446
 
446
 
447
end -- tup.getconfig('NO_FASM') ~= 'full'
447
end -- tup.getconfig('NO_FASM') ~= 'full'
448
 
448
 
449
-- Programs that require NASM to compile.
449
-- Programs that require NASM to compile.
450
if tup.getconfig('NO_NASM') ~= 'full' then
450
if tup.getconfig('NO_NASM') ~= 'full' then
451
tup.append_table(img_files, {
451
tup.append_table(img_files, {
452
 {"DEMOS/ACLOCK", PROGS .. "/demos/aclock/trunk/aclock"},
452
 {"DEMOS/ACLOCK", PROGS .. "/demos/aclock/trunk/aclock"},
453
 {"DEMOS/TIMER", PROGS .. "/other/Timer/timer"},
453
 {"DEMOS/TIMER", PROGS .. "/other/Timer/timer"},
454
 {"GAMES/C4", PROGS .. "/games/c4/trunk/c4"},
454
 {"GAMES/C4", PROGS .. "/games/c4/trunk/c4"},
455
 {"TINFO", PROGS .. "/system/tinfo/tinfo"},
455
 {"TINFO", PROGS .. "/system/tinfo/tinfo"},
456
 {"DEVELOP/MSTATE", PROGS .. "/develop/mstate/mstate"},
456
 {"DEVELOP/MSTATE", PROGS .. "/develop/mstate/mstate"},
457
})
457
})
458
end -- tup.getconfig('NO_NASM') ~= 'full'
458
end -- tup.getconfig('NO_NASM') ~= 'full'
459
 
459
 
460
-- Programs that require C-- to compile.
460
-- Programs that require C-- to compile.
461
if tup.getconfig('NO_CMM') ~= 'full' then
461
if tup.getconfig('NO_CMM') ~= 'full' then
462
tup.append_table(img_files, {
462
tup.append_table(img_files, {
463
 {"File Managers/EOLITE", PROGS .. "/cmm/eolite/Eolite.com"},
463
 {"File Managers/EOLITE", PROGS .. "/cmm/eolite/Eolite.com"},
464
 {"GAMES/CLICKS", PROGS .. "/games/clicks/trunk/clicks.com"},
464
 {"GAMES/CLICKS", PROGS .. "/games/clicks/trunk/clicks.com"},
465
 {"GAMES/FindNumbers", PROGS .. "/games/FindNumbers/trunk/FindNumbers"},
465
 {"GAMES/FindNumbers", PROGS .. "/games/FindNumbers/trunk/FindNumbers"},
466
 {"GAMES/flood-it", PROGS .. "/games/flood-it/trunk/flood-it.com"},
466
 {"GAMES/flood-it", PROGS .. "/games/flood-it/trunk/flood-it.com"},
467
 {"GAMES/MINE", PROGS .. "/games/mine/trunk/mine"},
467
 {"GAMES/MINE", PROGS .. "/games/mine/trunk/mine"},
468
 {"NETWORK/WebView", PROGS .. "/cmm/browser/WebView.com"},
468
 {"NETWORK/WebView", PROGS .. "/cmm/browser/WebView.com"},
469
 {"MEDIA/PIXIE/PIXIE", PROGS .. "/cmm/pixie/pixie.com"},
469
 {"MEDIA/PIXIE/PIXIE", PROGS .. "/cmm/pixie/pixie.com"},
470
 {"PANELS_CFG", PROGS .. "/cmm/panels_cfg/panels_cfg.com"},
470
 {"PANELS_CFG", PROGS .. "/cmm/panels_cfg/panels_cfg.com"},
471
 {"TMPDISK", PROGS .. "/cmm/tmpdisk/tmpdisk.com"},
471
 {"TMPDISK", PROGS .. "/cmm/tmpdisk/tmpdisk.com"},
472
 {"GAME_CENTER", PROGS .. "/cmm/software_widget/software_widget.com"},
472
 {"GAME_CENTER", PROGS .. "/cmm/software_widget/software_widget.com"},
473
 {"SYSTEM_PANEL", PROGS .. "/cmm/software_widget/software_widget.com"},
473
 {"SYSTEM_PANEL", PROGS .. "/cmm/software_widget/software_widget.com"},
474
})
474
})
475
end -- tup.getconfig('NO_CMM') ~= 'full'
475
end -- tup.getconfig('NO_CMM') ~= 'full'
476
 
476
 
477
-- Programs that require MSVC to compile.
477
-- Programs that require MSVC to compile.
478
if tup.getconfig('NO_MSVC') ~= 'full' then
478
if tup.getconfig('NO_MSVC') ~= 'full' then
479
tup.append_table(img_files, {
479
tup.append_table(img_files, {
480
 {"GRAPH", PROGS .. "/other/graph/graph"},
480
 {"GRAPH", PROGS .. "/other/graph/graph"},
481
 {"TABLE", PROGS .. "/other/table/table"},
481
 {"TABLE", PROGS .. "/other/table/table"},
482
 {"MEDIA/AC97SND", PROGS .. "/media/ac97snd/ac97snd.bin"},
482
 {"MEDIA/AC97SND", PROGS .. "/media/ac97snd/ac97snd.bin"},
483
 {"GAMES/KOSILKA", PROGS .. "/games/kosilka/kosilka"},
483
 {"GAMES/KOSILKA", PROGS .. "/games/kosilka/kosilka"},
484
 {"GAMES/RFORCES", PROGS .. "/games/rforces/trunk/rforces"},
484
 {"GAMES/RFORCES", PROGS .. "/games/rforces/trunk/rforces"},
485
 {"GAMES/XONIX", PROGS .. "/games/xonix/trunk/xonix"},
485
 {"GAMES/XONIX", PROGS .. "/games/xonix/trunk/xonix"},
486
})
486
})
487
tup.append_table(extra_files, {
487
tup.append_table(extra_files, {
488
 {"kolibrios/games/fara/fara", PROGS .. "/games/fara/trunk/fara"},
488
 {"kolibrios/games/fara/fara", PROGS .. "/games/fara/trunk/fara"},
489
 {"kolibrios/games/LaserTank/LaserTank", PROGS .. "/games/LaserTank/trunk/LaserTank"},
489
 {"kolibrios/games/LaserTank/LaserTank", PROGS .. "/games/LaserTank/trunk/LaserTank"},
490
})
490
})
491
end -- tup.getconfig('NO_MSVC') ~= 'full'
491
end -- tup.getconfig('NO_MSVC') ~= 'full'
492
 
492
 
493
-- Programs that require GCC to compile.
493
-- Programs that require GCC to compile.
494
if tup.getconfig('NO_GCC') ~= 'full' then
494
if tup.getconfig('NO_GCC') ~= 'full' then
495
tup.append_table(img_files, {
495
tup.append_table(img_files, {
496
 {"3D/CUBELINE", PROGS .. "/demos/cubeline/trunk/cubeline"},
496
 {"3D/CUBELINE", PROGS .. "/demos/cubeline/trunk/cubeline"},
497
 {"3D/GEARS", PROGS .. "/demos/gears/trunk/gears"},
497
 {"3D/GEARS", PROGS .. "/demos/gears/trunk/gears"},
498
 {"GAMES/CHECKERS", PROGS .. "/games/checkers/trunk/checkers"},
498
 {"GAMES/CHECKERS", PROGS .. "/games/checkers/trunk/checkers"},
499
 {"GAMES/REVERSI", PROGS .. "/games/reversi/trunk/reversi"},
499
 {"GAMES/REVERSI", PROGS .. "/games/reversi/trunk/reversi"},
500
 {"SHELL", PROGS .. "/system/shell/shell"},
500
 {"SHELL", PROGS .. "/system/shell/shell"},
501
})
501
})
502
tup.append_table(extra_files, {
502
tup.append_table(extra_files, {
503
 {"kolibrios/emul/e80/e80", PROGS .. "/emulator/e80/trunk/e80"},
503
 {"kolibrios/emul/e80/e80", PROGS .. "/emulator/e80/trunk/e80"},
504
 {"kolibrios/games/heliothryx/", PROGS .. "/games/heliothryx/heliothryx"},
504
 {"kolibrios/games/heliothryx/", PROGS .. "/games/heliothryx/heliothryx"},
505
 {"kolibrios/games/2048/", PROGS .. "/games/2048/2048"},
505
 {"kolibrios/games/2048/", PROGS .. "/games/2048/2048"},
506
 {"kolibrios/games/marblematch3/", PROGS .. "/games/marblematch3/marblematch3"},
506
 {"kolibrios/games/marblematch3/", PROGS .. "/games/marblematch3/marblematch3"},
507
 {"kolibrios/games/nsider/", PROGS .. "/games/nsider/nsider"},
507
 {"kolibrios/games/nsider/", PROGS .. "/games/nsider/nsider"},
508
 {"kolibrios/games/quake/", "common/games/quake/*"}, -- not really gcc, but no sense without sdlquake
508
 {"kolibrios/games/quake/", "common/games/quake/*"}, -- not really gcc, but no sense without sdlquake
509
 {"kolibrios/games/quake/", "../contrib/other/sdlquake-1.0.9/sdlquake"},
509
 {"kolibrios/games/quake/", "../contrib/other/sdlquake-1.0.9/sdlquake"},
510
})
510
})
511
-- For russian build, add russian-only programs.
511
-- For russian build, add russian-only programs.
512
if build_type == "rus" then tup.append_table(extra_files, {
512
if build_type == "rus" then tup.append_table(extra_files, {
513
 {"kolibrios/games/21days/", PROGS .. "/games/21days/21days"},
513
 {"kolibrios/games/21days/", PROGS .. "/games/21days/21days"},
514
}) end
514
}) end
515
end -- tup.getconfig('NO_GCC') ~= 'full'
515
end -- tup.getconfig('NO_GCC') ~= 'full'
516
 
516
 
517
-- Skins.
517
-- Skins.
518
tup.include("../skins/skinlist.lua")
518
tup.include("../skins/skinlist.lua")
519
 
519
 
520
--[================================[ CODE ]================================]--
520
--[================================[ CODE ]================================]--
521
-- expand extra_files and similar
521
-- expand extra_files and similar
522
function expand_extra_files(files)
522
function expand_extra_files(files)
523
  local result = {}
523
  local result = {}
524
  for i,v in ipairs(files) do
524
  for i,v in ipairs(files) do
525
    if string.match(v[2], "%*")
525
    if string.match(v[2], "%*")
526
    then
526
    then
527
      local g = tup.glob(v[2])
527
      local g = tup.glob(v[2])
528
      for j,x in ipairs(g) do
528
      for j,x in ipairs(g) do
529
        table.insert(result, {v[1], x, group=v.group})
529
        table.insert(result, {v[1], x, group=v.group})
530
      end
530
      end
531
    else
531
    else
532
      if v.cp1251_from then
532
      if v.cp1251_from then
533
        tup.definerule{inputs = {v.cp1251_from}, command = 'iconv -f cp866 -t cp1251 "%f" > "%o"', outputs = {v[2]}}
533
        tup.definerule{inputs = {v.cp1251_from}, command = 'iconv -f cp866 -t cp1251 "%f" > "%o"', outputs = {v[2]}}
534
      end
534
      end
535
      table.insert(result, {v[1], v[2], group=v.group})
535
      table.insert(result, {v[1], v[2], group=v.group})
536
    end
536
    end
537
  end
537
  end
538
  return result
538
  return result
539
end
539
end
540
 
540
 
541
-- append skins to extra_files
541
-- append skins to extra_files
542
for i,v in ipairs(skinlist) do
542
for i,v in ipairs(skinlist) do
543
  table.insert(extra_files, {"Skins/", "../skins/" .. v})
543
  table.insert(extra_files, {"Skins/", "../skins/" .. v})
544
end
544
end
545
 
545
 
546
-- prepare distr_extra_files and iso_extra_files: expand and append common part
546
-- prepare distr_extra_files and iso_extra_files: expand and append common part
547
extra_files = expand_extra_files(extra_files)
547
extra_files = expand_extra_files(extra_files)
548
distr_extra_files = expand_extra_files(distr_extra_files)
548
distr_extra_files = expand_extra_files(distr_extra_files)
549
iso_extra_files = expand_extra_files(iso_extra_files)
549
iso_extra_files = expand_extra_files(iso_extra_files)
550
tup.append_table(distr_extra_files, extra_files)
550
tup.append_table(distr_extra_files, extra_files)
551
tup.append_table(iso_extra_files, extra_files)
551
tup.append_table(iso_extra_files, extra_files)
552
 
552
 
553
-- generate list of directories to be created inside kolibri.img
553
-- generate list of directories to be created inside kolibri.img
554
img_dirs = {}
554
img_dirs = {}
555
input_deps = {}
555
input_deps = {}
556
for i,v in ipairs(img_files) do
556
for i,v in ipairs(img_files) do
557
  img_file = v[1]
557
  img_file = v[1]
558
  local_file = v[2]
558
  local_file = v[2]
559
 
559
 
560
  slash_pos = 0
560
  slash_pos = 0
561
  while true do
561
  while true do
562
    slash_pos = string.find(img_file, '/', slash_pos + 1)
562
    slash_pos = string.find(img_file, '/', slash_pos + 1)
563
    if not slash_pos then break end
563
    if not slash_pos then break end
564
    table.insert(img_dirs, string.sub(img_file, 1, slash_pos - 1))
564
    table.insert(img_dirs, string.sub(img_file, 1, slash_pos - 1))
565
  end
565
  end
566
 
566
 
567
  -- tup does not want to see hidden files as dependencies
567
  -- tup does not want to see hidden files as dependencies
568
  if not string.match(local_file, "/%.") then
568
  if not string.match(local_file, "/%.") then
569
    table.insert(input_deps, v.group or local_file)
569
    table.insert(input_deps, v.group or local_file)
570
  end
570
  end
571
end
571
end
572
 
572
 
573
-- create empty 1.44M file
573
-- create empty 1.44M file
574
make_img_command = '^ MKIMG kolibri.img^ ' -- for tup: don't write full command to logs
574
make_img_command = '^ MKIMG kolibri.img^ ' -- for tup: don't write full command to logs
575
make_img_command = make_img_command .. "dd if=/dev/zero of=kolibri.img count=2880 bs=512 2>&1"
575
make_img_command = make_img_command .. "dd if=/dev/zero of=kolibri.img count=2880 bs=512 2>&1"
576
-- format it as a standard 1.44M floppy
576
-- format it as a standard 1.44M floppy
577
make_img_command = make_img_command .. " && mformat -f 1440 -i kolibri.img ::"
577
make_img_command = make_img_command .. " && mformat -f 1440 -i kolibri.img ::"
578
-- copy bootloader
578
-- copy bootloader
579
if tup.getconfig("NO_FASM") ~= "full" then
579
if tup.getconfig("NO_FASM") ~= "full" then
580
bootloader = "../kernel/trunk/bootloader/boot_fat12.bin"
580
bootloader = "../kernel/trunk/bootloader/boot_fat12.bin"
581
make_img_command = make_img_command .. " && dd if=" .. bootloader .. " of=kolibri.img count=1 bs=512 conv=notrunc 2>&1"
581
make_img_command = make_img_command .. " && dd if=" .. bootloader .. " of=kolibri.img count=1 bs=512 conv=notrunc 2>&1"
582
table.insert(input_deps, bootloader)
582
table.insert(input_deps, bootloader)
583
end
583
end
584
-- make folders
584
-- make folders
585
table.sort(img_dirs)
585
table.sort(img_dirs)
586
for i,v in ipairs(img_dirs) do
586
for i,v in ipairs(img_dirs) do
587
  if v ~= img_dirs[i-1] then
587
  if v ~= img_dirs[i-1] then
588
    make_img_command = make_img_command .. ' && mmd -i kolibri.img "::' .. v .. '"'
588
    make_img_command = make_img_command .. ' && mmd -i kolibri.img "::' .. v .. '"'
589
  end
589
  end
590
end
590
end
591
-- copy files
591
-- copy files
592
for i,v in ipairs(img_files) do
592
for i,v in ipairs(img_files) do
593
  local_file = v[2]
593
  local_file = v[2]
594
  if v[1] == "KERNEL.MNT" and tup.getconfig("INSERT_REVISION_ID") ~= ""
594
  if v[1] == "KERNEL.MNT" and tup.getconfig("INSERT_REVISION_ID") ~= ""
595
  then
595
  then
596
    -- for kernel.mnt, insert autobuild revision identifier
596
    -- for kernel.mnt, insert autobuild revision identifier
597
    -- from .revision to .kernel.mnt
597
    -- from .revision to .kernel.mnt
598
    -- note that .revision and .kernel.mnt must begin with .
598
    -- note that .revision and .kernel.mnt must begin with .
599
    -- to prevent tup from tracking them
599
    -- to prevent tup from tracking them
600
    if build_type == "rus"
600
    if build_type == "rus"
601
    then str='$(LANG=ru_RU.utf8 date -u +"[автосборка %d %b %Y %R, r$(cat .revision)]"|iconv -f utf8 -t cp866)'
601
    then str='$(LANG=ru_RU.utf8 date -u +"[автосборка %d %b %Y %R, r$(cat .revision)]"|iconv -f utf8 -t cp866)'
602
    else str='$(date -u +"[auto-build %d %b %Y %R, r$(cat .revision)]")'
602
    else str='$(date -u +"[auto-build %d %b %Y %R, r$(cat .revision)]")'
603
    end
603
    end
604
    str = string.gsub(str, "%$", "\\$") -- escape $ as \$
604
    str = string.gsub(str, "%$", "\\$") -- escape $ as \$
605
    str = string.gsub(str, "%%", "%%%%") -- escape % as %%
605
    str = string.gsub(str, "%%", "%%%%") -- escape % as %%
606
    make_img_command = make_img_command .. " && cp " .. local_file .. " .kernel.mnt"
606
    make_img_command = make_img_command .. " && cp " .. local_file .. " .kernel.mnt"
607
    make_img_command = make_img_command .. " && str=" .. str
607
    make_img_command = make_img_command .. " && str=" .. str
608
    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'
608
    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'
609
    local_file = ".kernel.mnt"
609
    local_file = ".kernel.mnt"
610
  end
610
  end
611
  make_img_command = make_img_command .. ' && mcopy -moi kolibri.img "' .. local_file .. '" "::' .. v[1] .. '"'
611
  make_img_command = make_img_command .. ' && mcopy -moi kolibri.img "' .. local_file .. '" "::' .. v[1] .. '"'
612
end
612
end
613
 
613
 
614
-- generate tup rule for kolibri.img
614
-- generate tup rule for kolibri.img
615
tup.definerule{inputs = input_deps, command = make_img_command, outputs = {"kolibri.img"}}
615
tup.definerule{inputs = input_deps, command = make_img_command, outputs = {"kolibri.img"}}
616
 
616
 
617
-- generate command and dependencies for mkisofs
617
-- generate command and dependencies for mkisofs
618
input_deps = {"kolibri.img"}
618
input_deps = {"kolibri.img"}
619
iso_files_list = ""
619
iso_files_list = ""
620
for i,v in ipairs(iso_extra_files) do
620
for i,v in ipairs(iso_extra_files) do
621
  iso_files_list = iso_files_list .. ' "' .. v[1] .. '=' .. v[2] .. '"'
621
  iso_files_list = iso_files_list .. ' "' .. v[1] .. '=' .. v[2] .. '"'
622
  table.insert(input_deps, v.group or v[2])
622
  table.insert(input_deps, v.group or v[2])
623
end
623
end
624
 
624
 
625
-- generate tup rule for kolibri.iso
625
-- generate tup rule for kolibri.iso
626
if tup.getconfig("INSERT_REVISION_ID") ~= ""
626
if tup.getconfig("INSERT_REVISION_ID") ~= ""
627
then volume_id = "KolibriOS r`cat .revision`"
627
then volume_id = "KolibriOS r`cat .revision`"
628
else volume_id = "KolibriOS"
628
else volume_id = "KolibriOS"
629
end
629
end
630
tup.definerule{inputs = input_deps, command =
630
tup.definerule{inputs = input_deps, command =
631
  '^ MKISOFS kolibri.iso^ ' .. -- for tup: don't write full command to logs
631
  '^ MKISOFS kolibri.iso^ ' .. -- for tup: don't write full command to logs
632
  'mkisofs -U -J -pad -b kolibri.img -c boot.catalog -hide-joliet boot.catalog -graft-points ' ..
632
  'mkisofs -U -J -pad -b kolibri.img -c boot.catalog -hide-joliet boot.catalog -graft-points ' ..
633
  '-A "KolibriOS AutoBuilder" -p "CleverMouse" -publisher "KolibriOS Team" -V "' .. volume_id .. '" -sysid "KOLIBRI" ' ..
633
  '-A "KolibriOS AutoBuilder" -p "CleverMouse" -publisher "KolibriOS Team" -V "' .. volume_id .. '" -sysid "KOLIBRI" ' ..
634
  '-iso-level 3 -o kolibri.iso kolibri.img' .. iso_files_list .. ' 2>&1',
634
  '-iso-level 3 -o kolibri.iso kolibri.img' .. iso_files_list .. ' 2>&1',
635
  outputs = {"kolibri.iso"}}
635
  outputs = {"kolibri.iso"}}
636
 
636
 
637
-- generate command and dependencies for distribution kit
637
-- generate command and dependencies for distribution kit
638
cp = 'cp "%f" "%o"'
638
cp = 'cp "%f" "%o"'
639
tup.definerule{inputs = {"kolibri.img"}, command = cp, outputs = {"distribution_kit/kolibri.img"}}
639
tup.definerule{inputs = {"kolibri.img"}, command = cp, outputs = {"distribution_kit/kolibri.img"}}
640
for i,v in ipairs(distr_extra_files) do
640
for i,v in ipairs(distr_extra_files) do
641
  cmd = cp:gsub("%%f", v[2]) -- input can be a group, we can't rely on tup's expansion of %f in this case
641
  cmd = cp:gsub("%%f", v[2]) -- input can be a group, we can't rely on tup's expansion of %f in this case
642
  if string.sub(v[1], -1) == "/"
642
  if string.sub(v[1], -1) == "/"
643
  then tup.definerule{inputs = {v.group or v[2]}, command = cmd, outputs = {"distribution_kit/" .. v[1] .. tup.file(v[2])}}
643
  then tup.definerule{inputs = {v.group or v[2]}, command = cmd, outputs = {"distribution_kit/" .. v[1] .. tup.file(v[2])}}
644
  else tup.definerule{inputs = {v.group or v[2]}, command = cmd, outputs = {"distribution_kit/" .. v[1]}}
644
  else tup.definerule{inputs = {v.group or v[2]}, command = cmd, outputs = {"distribution_kit/" .. v[1]}}
645
  end
645
  end
646
end
646
end