Subversion Repositories Kolibri OS

Rev

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

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