vs2012 express support.
[LibreOffice.git] / scp2 / inc / macros.inc
blob8ea47d98e6abe5fe8ac464c04f23a360e4415239
1 /*
2  * This file is part of the LibreOffice project.
3  *
4  * This Source Code Form is subject to the terms of the Mozilla Public
5  * License, v. 2.0. If a copy of the MPL was not distributed with this
6  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
7  *
8  * This file incorporates work covered by the following license notice:
9  *
10  *   Licensed to the Apache Software Foundation (ASF) under one or more
11  *   contributor license agreements. See the NOTICE file distributed
12  *   with this work for additional information regarding copyright
13  *   ownership. The ASF licenses this file to you under the Apache
14  *   License, Version 2.0 (the "License"); you may not use this file
15  *   except in compliance with the License. You may obtain a copy of
16  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
17  */
19 #ifndef MACROS_INC
20 #define MACROS_INC
21 /* =====================================================
22  * global helper macros
23  * =====================================================*/
25 #define DOSTRING( x )                           #x
26 #define STRING( x )                             DOSTRING( x )
27 #define DOCONCAT2( x, y )                       x##y
28 #define CONCAT2( x, y)                          DOCONCAT2(x,y)
29 #define DOCONCAT3( x, y, z )                    x##y##z
30 #define CONCAT3( x, y, z )                      DOCONCAT3(x,y,z)
31 #define DOCONCAT4( x, y, z, a )                 x##y##z##a
32 #define CONCAT4( x, y, z, a )                   DOCONCAT4(x,y,z,a)
33 #define DOCONCAT5( x, y, z, a, b )              x##y##z##a##b
34 #define CONCAT5( x, y, z, a, b )                DOCONCAT5(x,y,z,a,b)
35 #define DOCONCAT6( x, y, z, a, b, c )           x##y##z##a##b##c
36 #define CONCAT6( x, y, z, a, b, c )             DOCONCAT6(x,y,z,a,b,c)
37 #define DOCONCAT7( x, y, z, a, b, c, u)         x##y##z##a##b##c##u
38 #define CONCAT7( x, y, z, a, b, c, u)           DOCONCAT7(x,y,z,a,b,c,u)
39 #define DOCONCAT8( x, y, z, a, b, c, u, v)      x##y##z##a##b##c##u##v
40 #define CONCAT8( x, y, z, a, b, c, u, v)        DOCONCAT8(x,y,z,a,b,c,u,v)
41 #define DOCONCAT9( x, y, z, a, b, c, u, v, w)   x##y##z##a##b##c##u##v##w
42 #define CONCAT9( x, y, z, a, b, c, u, v, w)     DOCONCAT9(x,y,z,a,b,c,u,v,w)
44 #define MOD_NAME_DESC(id) \
45         ALL_LANG(Name,STR_NAME_##id); \
46         ALL_LANG(Description,STR_DESC_##id)
48 #define REG_VALUE_LNG(id) \
49         ALL_LANG(Value,STR_REG_VAL_##id);
51 #ifdef UNX
52     #ifdef MACOSX
53         #define UNXSUFFIX .dylib
54     #else
55         #define UNXSUFFIX .so
56     #endif
57 #endif
59 #ifdef UNX
60     #define EXENAME(name)                     STRING(name)
61     #define PROFILENAME(name)                 STRING(CONCAT2(name,rc))
62 #else
63     #define EXENAME(name)                     STRING(CONCAT2(name,.exe))
64     #define PROFILENAME(name)                 STRING(CONCAT2(name,.ini))
65 #endif
67 #ifdef MACOSX
68     #define GID_BRAND_DIR_ETC gid_Brand_Dir_Share
69     #define GID_DIR_PY gid_Brand_Dir_Share
70     #define GID_DIR_URE gid_Dir_Bundle_Contents
71     #define GID_DIR_URE_BIN gid_Brand_Dir_Program
72     #define GID_DIR_URE_JAVA gid_Dir_Classes
73     #define GID_DIR_URE_LIB gid_Dir_Frameworks
74     #define GID_DIR_URE_SHARE gid_Brand_Dir_Share_Ure
75 #else
76     #define GID_BRAND_DIR_ETC gid_Brand_Dir_Program
77     #define GID_DIR_PY gid_Brand_Dir_Program
78     #define GID_DIR_URE gid_Dir_Common_Ure
79     #define GID_DIR_URE_BIN gid_Dir_Ure_Bin
80     #define GID_DIR_URE_JAVA gid_Dir_Ure_Java
81     #define GID_DIR_URE_LIB gid_Dir_Ure_Lib
82     #define GID_DIR_URE_SHARE gid_Dir_Ure_Share
83 #endif
85 #define RESFILENAME(name,lang)                STRING(CONCAT3(name,lang,.res))
86 #define READMETXTFILENAME(name,lang,ext)      STRING(CONCAT4(name,lang,.,ext))
87 #define READMEFILENAME(name,lang)             STRING(CONCAT2(name,lang))
88 #define EXTRAFILENAME(name,lang)              STRING(CONCAT3(name,lang,.zip))
89 #define EXTRAFILELISTNAME(prefix,name,lang)   STRING(CONCAT4(prefix,name,lang,.filelist))
90 #define CONFIGLANGFILENAME(name,lang,ext)     STRING(CONCAT4(name,lang,.,ext))
92 #define SCP2_OOO_BIN_DIR gid_Brand_Dir_Program
94 #ifdef MACOSX
95     #define SCP2_OOO_LIB_DIR gid_Dir_Frameworks
96 #else
97     #define SCP2_OOO_LIB_DIR SCP2_OOO_BIN_DIR
98 #endif
100 #define BIN_FILE_BODY \
101         UnixRights   = 755
103 #define LIB_FILE_BODY \
104         UnixRights   = 755
106 #define TXT_FILE_BODY \
107         UnixRights   = 644
109 #define USER_FILE_BODY \
110         UnixRights   = 644
112 #define PACKED_TXT_FILE_BODY \
113         TXT_FILE_BODY; \
114         Styles = (PACKED)
116 #define ARCHIVE_TXT_FILE_BODY \
117         TXT_FILE_BODY; \
118         Styles = (ARCHIVE)
120 #ifdef WITH_HELPPACK_INTEGRATION
121 #define FILELIST_TXT_FILE_BODY_HELPPACK \
122         TXT_FILE_BODY; \
123         Styles = (FILELIST,FORCEHELPPACK,LANGUAGEMODULE)
124 #else
125 #define FILELIST_TXT_FILE_BODY_HELPPACK \
126         TXT_FILE_BODY; \
127         Styles = (FILELIST,HELPPACK,LANGUAGEMODULE)
128 #endif
130 #define PACKAGE_FILELIST(id,name) \
131 File id \
132     Dir = FILELIST_DIR; \
133     Name = name; \
134     Styles = (FILELIST, USE_INTERNAL_RIGHTS, PACKED); \
137 #define PACKED_LIB_FILE_BODY \
138         LIB_FILE_BODY; \
139         Styles = (PACKED); \
140         Dir    = SCP2_OOO_LIB_DIR
142 #define LIBO_LIB_FILE(id,name) \
143     File id \
144         Name = name; \
145         PACKED_LIB_FILE_BODY; \
146     End
148 #define LIBO_LIB_FILE_BINARYTABLE(id,name) \
149     File id \
150         Name = name; \
151         PACKED_LIB_FILE_BODY; \
152         Styles = (PACKED, BINARYTABLE, BINARYTABLE_ONLY); \
153     End
155 #define LIBO_LIB_FILE_COMPONENTCONDITION(id,name,cond) \
156     File id \
157         Name = name; \
158         PACKED_LIB_FILE_BODY; \
159         ComponentCondition = cond; \
160     End
162 #define SHLXTHDL_LIB_FILE(id,name) \
163     File id \
164         Name = name; \
165         LIB_FILE_BODY; \
166         Styles = (PACKED); \
167         Dir    = gid_Dir_Shlxthdl; \
168     End
170 #define SHLXTHDL_LIB_FILE_COMPONENTCONDITION(id,name,cond) \
171     File id \
172         Name = name; \
173         LIB_FILE_BODY; \
174         Styles = (PACKED); \
175         Dir    = gid_Dir_Shlxthdl; \
176         ComponentCondition = cond; \
177     End
179 #ifdef MACOSX
180 // links are craeted at configure time by odk/config/setsdkenv_unix.sh.in
181 #define SDK_LIBRARY_LINK(id,name,target)
182 #elif defined(WNT)
183 #define SDK_LIBRARY_LINK(id,name,target) \
184     File id \
185         TXT_FILE_BODY; \
186         Styles = (PACKED); \
187         Dir = gid_Dir_Lib_Sdk; \
188         Name = name; \
189     End
190 #else
191 #define SDK_LIBRARY_LINK(id,name,target) \
192     Unixlink id \
193      BIN_FILE_BODY; \
194      Styles = (); \
195      Dir = gid_Dir_Lib_Sdk; \
196      Name = name; \
197      Target = target; \
198     End
199 #endif
201 #define STD_RES_FILE(id,name) \
202     File id \
203         TXT_FILE_BODY; \
204         RESFILE_ALL_LANG(name); \
205         Dir     = gid_Dir_Resource; \
206         Styles  = (PACKED); \
207     End
209 #define STD_FONTWIN_FILE(id,name,fontname) \
210     File id \
211         TXT_FILE_BODY; \
212         Dir      = gid_Dir_Fonts_Truetype; \
213         Styles   = (PACKED,FONT,DONT_DELETE,FONT_WARN_IF_EXISTS); \
214         Name     = STRING(name) ; \
215         NetDir   = gid_Dir_Winfonts; \
216     End
218 #ifdef UNX
219 #define STD_FONT_FILELIST(id,name) \
220     File id \
221         TXT_FILE_BODY; \
222         Dir       = FILELIST_DIR; \
223         Styles    = (FILELIST, PACKED, FONT_WARN_IF_EXISTS); \
224         Name      = name; \
225     End
226 #endif
228 #ifdef WNT
229 #define STD_FONT_FILELIST(id,name) \
230     File id \
231         TXT_FILE_BODY; \
232         Dir       = FILELIST_DIR; \
233         Styles   = (FILELIST,PACKED,FONT,DONT_DELETE,FONT_WARN_IF_EXISTS); \
234         Name      = name; \
235     End
236 #endif
238 #define LIBO_JAR_FILE(id,name) \
239     File id \
240         TXT_FILE_BODY; \
241         Name = name; \
242         Dir = gid_Dir_Classes; \
243         Styles = (PACKED); \
244     End
246 #define URE_JAR_FILE(id,name) \
247     File id \
248         TXT_FILE_BODY; \
249         Name = name; \
250         Dir = GID_DIR_URE_JAVA; \
251         Styles = (PACKED); \
252     End
254 #define STD_PY_FILE(id,name) \
255     File id \
256         PACKED_TXT_FILE_BODY; \
257         Dir = GID_DIR_PY; \
258         Name = name; \
259     End
262 #define CONDITIONAL_MODULE_ENTRY(name,modid) \
263     Module gid_Module_Root_Reg_##name \
264         ParentID = modid; \
265         Name = STRING(CONCAT2(gid_Module_Root_,name)); \
266         Description = STRING(CONCAT2(gid_Module_Root_,name)); \
267         Default = YES; \
268         Styles = (HIDDEN_ROOT); \
271 #define REGISTRY_ENTRY_OPEN_WITH(name,cond,doc_type,modid,key) \
272     RegistryItem gid_Regitem_OpenOffice_##cond##_OpenWith_##doc_type \
273         ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \
274         ModuleID = modid; \
275         Subkey = STRING(CONCAT3(.,key,\OpenWithProgIDs)); \
276         Name = STRING(CONCAT2(LibreOffice.,name)); \
277         Value = " "; \
278     End
280 #define REGISTRY_ENTRY_OPEN_WITH_TMPL(name,cond,doc_type,modid,key) \
281     RegistryItem gid_Regitem_OpenOffice_##cond##_OpenWith_##doc_type \
282         ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \
283         ModuleID = modid; \
284         Subkey = STRING(CONCAT3(.,key,\OpenWithProgIDs)); \
285         Name = STRING(CONCAT2(LibreOffice.,name)); \
286         Value = " "; \
287     End
289 #define CONDITIONAL_REGISTRY_ENTRY_EXT(name,cond,key) \
290     RegistryItem gid_Regitem__##name \
291         ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \
292         ModuleID = gid_Module_Root_Reg_##name; \
293         Subkey = STRING(CONCAT2(.,key)); \
294         Value = STRING(CONCAT2(LibreOffice.,name)); \
295         ComponentCondition = STRING(CONCAT3(REGISTER_,cond,=1)); \
296     End
298 #define REGISTRY_ENTRY_DOC(name,modid,disp_name) \
299     RegistryItem CONCAT2(gid_Regitem_Openoffice_,name) \
300         ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \
301         ModuleID = modid; \
302         Subkey = STRING(CONCAT2(LibreOffice.,name)); \
303         REG_VALUE_LNG(disp_name) \
304     End
306 #define REGISTRY_ENTRY_APPUSERMODELID(name,modid,doc_type) \
307     RegistryItem CONCAT3(gid_Regitem_Openoffice_,name,_AppUserModelID) \
308         ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \
309         ModuleID = modid; \
310         ComponentCondition = STRING(VersionNT >= 601); \
311         Subkey = STRING(CONCAT2(LibreOffice.,name)); \
312         Name = STRING(AppUserModelID); \
313         Value = STRING(CONCAT2(TheDocumentFoundation.LibreOffice.,doc_type)); \
314     End
316 #define REGISTRY_ENTRY_ICON(name,modid,icon_id) \
317     RegistryItem CONCAT3(gid_Regitem_Openoffice_,name,_Defaulticon) \
318         ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \
319         ModuleID = modid; \
320         Subkey = STRING(CONCAT3(LibreOffice.,name,\DefaultIcon)); \
321         Value = "<progpath>\program\soffice.bin," STRING(icon_id); \
322     End
324 #define REGISTRY_ENTRY_SHELL(name,default,modid) \
325     RegistryItem CONCAT3(gid_Regitem_Openoffice_,name,_Shell) \
326         ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \
327         ModuleID = modid; \
328         Subkey = STRING(CONCAT3(LibreOffice.,name,\shell)); \
329         Value = STRING(default); \
330     End
332 #define REGISTRY_ENTRY_NEW_CMD(name,modid,app) \
333     RegistryItem CONCAT3(gid_Regitem_Openoffice_,name,_Shell_New) \
334         ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \
335         ModuleID = modid; \
336         Subkey = STRING(CONCAT3(LibreOffice.,name,\shell\new)); \
337         REG_VALUE_LNG(NEW) \
338     End \
339     RegistryItem CONCAT3(gid_Regitem_Openoffice_,name,_Shell_New_Command) \
340         ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \
341         ModuleID = modid; \
342         Subkey = STRING(CONCAT3(LibreOffice.,name,\shell\new\command)); \
343         Value = "\"<progpath>\program\\" STRING(app) "\" -n \"%1\""; \
344     End
346 #define REGISTRY_ENTRY_OPEN_CMD(name,modid,app) \
347     RegistryItem CONCAT3(gid_Regitem_Openoffice_,name,_Shell_Open_Command) \
348         ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \
349         ModuleID = modid; \
350         Subkey = STRING(CONCAT3(LibreOffice.,name,\shell\open\command)); \
351         Value = "\"<progpath>\program\\" STRING(app) "\" -o \"%1\""; \
352     End
354 #define REGISTRY_ENTRY_PRINT_CMD(name,modid,app) \
355     RegistryItem CONCAT3(gid_Regitem_Openoffice_,name,_Shell_Print_Command) \
356         ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \
357         ModuleID = modid; \
358         Subkey = STRING(CONCAT3(LibreOffice.,name,\shell\print\command)); \
359         Value = "\"<progpath>\program\\" STRING(app) "\" -p \"%1\""; \
360     End
362 #define REGISTRY_ENTRY_PRINTTO_CMD(name,modid,app) \
363     RegistryItem CONCAT3(gid_Regitem_Openoffice_,name,_Shell_Printto_Command) \
364         ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \
365         ModuleID = modid; \
366         Subkey = STRING(CONCAT3(LibreOffice.,name,\shell\printto\command)); \
367         Value = "\"<progpath>\program\\" STRING(app) "\" -pt \"%2\" \"%1\""; \
368     End
370 #define REGISTRY_ENTRY_CAPABILITIES(name,modid,key,doc_type) \
371     RegistryItem CONCAT2(gid_Regitem_Software_Manufacturer_Productname_Productversion_Capabilities_FileAssociations_,name) \
372         ParentID = PREDEFINED_HKEY_LOCAL_MACHINE; \
373         ModuleID = modid; \
374         Subkey = STRING(Software\%MANUFACTURER\%PRODUCTNAME%PRODUCTADDON\%PRODUCTVERSION\Capabilities\FileAssociations); \
375         Name = STRING(CONCAT2(.,key)); \
376         Value = STRING(CONCAT2(LibreOffice.,name)); \
377         Styles = (); \
378     End
380 #define REGISTRY_ENTRY_TEMPLATE_CAPABILITIES(name,modid,key,doc_type) \
381     RegistryItem CONCAT2(gid_Regitem_Software_Manufacturer_Productname_Productversion_Capabilities_FileAssociations_,name) \
382         ParentID = PREDEFINED_HKEY_LOCAL_MACHINE; \
383         ModuleID = modid; \
384         Subkey = STRING(Software\%MANUFACTURER\%PRODUCTNAME%PRODUCTADDON\%PRODUCTVERSION\Capabilities\FileAssociations); \
385         Name = STRING(CONCAT2(.,key)); \
386         Value = STRING(CONCAT2(LibreOffice.,name)); \
387         Styles = (); \
388     End
390 #define REGISTRY_ENTRY_KINDMAP(name, modid, key) \
391     RegistryItem CONCAT2(gid_Regitem_Software_Manufacturer_Productname_Productversion_Explorer_KindMap_,name) \
392         ParentID = PREDEFINED_HKEY_LOCAL_MACHINE; \
393         ModuleID = modid; \
394         ComponentCondition = STRING(VersionNT >= 600); \
395         Subkey = STRING(SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\KindMap); \
396         Name = STRING(CONCAT2(.,key)); \
397         Value = STRING(document); \
398     End
400 #define CONDITIONAL_REGISTER_DOC_EXTENSION(name,modid,key,cond,disp_name,icon_id,app,default,doc_type) \
401     CONDITIONAL_MODULE_ENTRY(name,modid) \
402     REGISTRY_ENTRY_OPEN_WITH(name,cond,doc_type,modid,key) \
403     CONDITIONAL_REGISTRY_ENTRY_EXT(name,cond,key) \
404     REGISTRY_ENTRY_DOC(name,modid,disp_name) \
405     REGISTRY_ENTRY_APPUSERMODELID(name,modid,doc_type) \
406     REGISTRY_ENTRY_ICON(name,modid,icon_id) \
407     REGISTRY_ENTRY_SHELL(name,default,modid) \
408     REGISTRY_ENTRY_NEW_CMD(name,modid,app) \
409     REGISTRY_ENTRY_OPEN_CMD(name,modid,app) \
410     REGISTRY_ENTRY_PRINT_CMD(name,modid,app) \
411     REGISTRY_ENTRY_PRINTTO_CMD(name,modid,app) \
412     REGISTRY_ENTRY_CAPABILITIES(name,modid,key,doc_type) \
414 #define CONDITIONAL_REGISTER_DOCTEMPLATE_EXTENSION(name,modid,key,cond,disp_name,icon_id,app,default,doc_type) \
415     CONDITIONAL_MODULE_ENTRY(name,modid) \
416     REGISTRY_ENTRY_OPEN_WITH_TMPL(name,cond,doc_type,modid,key) \
417     CONDITIONAL_REGISTRY_ENTRY_EXT(name,cond,key) \
418     REGISTRY_ENTRY_DOC(name,modid,disp_name) \
419     REGISTRY_ENTRY_APPUSERMODELID(name,modid,doc_type) \
420     REGISTRY_ENTRY_ICON(name,modid,icon_id) \
421     REGISTRY_ENTRY_SHELL(name,default,modid) \
422     REGISTRY_ENTRY_NEW_CMD(name,modid,app) \
423     REGISTRY_ENTRY_OPEN_CMD(name,modid,app) \
424     REGISTRY_ENTRY_PRINT_CMD(name,modid,app) \
425     REGISTRY_ENTRY_PRINTTO_CMD(name,modid,app) \
426     REGISTRY_ENTRY_TEMPLATE_CAPABILITIES(name,modid,key,doc_type) \
428 #ifdef _MSC_VER
430 #ifdef BUILD_X64
432 #define REGISTER_PROPERTY_HANDLER_FOR_EXTENSION(extension) \
433     RegistryItem CONCAT2(gid_Regitem_Software_Microsoft_Windows_CurrentVersion_PropertySystem_PropertyHandlers_,extension) \
434         ParentID = PREDEFINED_HKEY_LOCAL_MACHINE; \
435         ModuleID = gid_Module_Optional_Winexplorerext; \
436         ComponentCondition = "VersionNT >= 600"; \
437         Subkey = STRING(CONCAT2(SOFTWARE\Microsoft\Windows\CurrentVersion\PropertySystem\PropertyHandlers\.,extension)); \
438         Value = "{AE424E85-F6DF-4910-A6A9-438797986431}"; \
439     End \
441     RegistryItem CONCAT3(gid_Regitem_Software_Microsoft_Windows_CurrentVersion_PropertySystem_PropertyHandlers_,extension,_x64) \
442         ParentID = PREDEFINED_HKEY_LOCAL_MACHINE; \
443         ModuleID = gid_Module_Optional_Winexplorerext_x64; \
444         ComponentCondition = "VersionNT64 >= 600"; \
445         Subkey = STRING(CONCAT2(SOFTWARE\Microsoft\Windows\CurrentVersion\PropertySystem\PropertyHandlers\.,extension)); \
446         Value = "{AE424E85-F6DF-4910-A6A9-438797986431}"; \
447     End
449 #else
450 #endif
452 #define REGISTER_PROPERTY_HANDLER_FOR_EXTENSION(extension) \
453     RegistryItem CONCAT2(gid_Regitem_Software_Microsoft_Windows_CurrentVersion_PropertySystem_PropertyHandlers_,extension) \
454         ParentID = PREDEFINED_HKEY_LOCAL_MACHINE; \
455         ModuleID = gid_Module_Optional_Winexplorerext; \
456         ComponentCondition = "VersionNT >= 600"; \
457         Subkey = STRING(CONCAT2(SOFTWARE\Microsoft\Windows\CurrentVersion\PropertySystem\PropertyHandlers\.,extension)); \
458         Value = "{AE424E85-F6DF-4910-A6A9-438797986431}"; \
459     End
461 #else
462 #define REGISTER_PROPERTY_HANDLER_FOR_EXTENSION(extension) // empty
463 #endif
467 #if defined WNT
468 #define SCP2_URE_DL_DIR gid_Dir_Ure_Bin
469 #define SCP2_URE_DL_NORMAL(n) n ".dll"
470 #define SCP2_URE_DL_BARE(n) n ".dll"
471 #define SCP2_URE_DL_VER(n, v) n v ".dll"
472 #define SCP2_URE_DL_COMID_VER(n, v) n v STRING(COMID) ".dll"
473 #define SCP2_URE_DL_COMID_NORMAL(n) n STRING(COMID) ".dll"
474 #define SCP2_URE_DL_UNO_VER(n, v) n v ".dll"
475 #define SCP2_URE_DL_UNO_COMID_VER(n, v) n v STRING(COMID) ".dll"
476 #define SCP2_URE_SHARE_DIR gid_Dir_Common_Ure
477 #else
478 #define SCP2_URE_DL_DIR GID_DIR_URE_LIB
479 #define SCP2_URE_DL_NORMAL(n) "lib" n STRING(UNXSUFFIX)
480 #define SCP2_URE_DL_BARE(n) n STRING(UNXSUFFIX)
481 #define SCP2_URE_DL_VER(n, v) "lib" n STRING(UNXSUFFIX) "." v
482 #define SCP2_URE_DL_COMID_VER(n, v) \
483     "lib" n STRING(COMID) STRING(UNXSUFFIX) "." v
484 #define SCP2_URE_DL_COMID_NORMAL(n) \
485     "lib" n STRING(COMID) STRING(UNXSUFFIX)
486 #define SCP2_URE_DL_UNO_VER(n, v) "libuno_" n STRING(UNXSUFFIX) "." v
487 #define SCP2_URE_DL_UNO_NORMAL(n) "libuno_" n STRING(UNXSUFFIX)
488 #define SCP2_URE_DL_UNO_COMID_VER(n, v) \
489     "libuno_" n STRING(COMID) STRING(UNXSUFFIX) "." v
490 #define SCP2_URE_DL_UNO_COMID_NORMAL(n) \
491     "libuno_" n STRING(COMID) STRING(UNXSUFFIX)
492 #define SCP2_URE_SHARE_DIR GID_DIR_URE_SHARE
493 #endif
494 #if defined MACOSX
495 #define SCP2_URE_JDL_NORMAL(n) "lib" n ".jnilib"
496 #else
497 #define SCP2_URE_JDL_NORMAL(n) SCP2_URE_DL_NORMAL(n)
498 #endif
500 #if defined MACOSX
501 #define FILELIST_DIR PREDEFINED_PROGDIR
502 #define FILELIST_SDK_DIR PREDEFINED_PROGDIR
503 #else
504 #define FILELIST_DIR gid_Dir_Brand_Root
505 #if defined WNT
506 #define FILELIST_SDK_DIR gid_Dir_Sdkoo_Root
507 #else
508 #define FILELIST_SDK_DIR PREDEFINED_PROGDIR
509 #endif
510 #endif
512 #define UI_FILELIST(name, file) \
513     File CONCAT2(gid_File_Share_Config_Sofficecfg_uiconfig_, name) \
514         TXT_FILE_BODY; \
515         Styles = (FILELIST); \
516         Dir = FILELIST_DIR; \
517         Name = file; \
518     End
520 #include <langmacros.inc>
522 #define UI_FILELIST_ALL_LANG(name, file) \
523     File CONCAT3(gid_File_Share_Config_Sofficecfg_uiconfig_, name, _Lang) \
524         TXT_FILE_BODY; \
525         Styles = (PACKED); \
526         Dir = gid_Dir_Share_Config_Sofficecfg; \
527         UI_ALL_LANG_BUT_EN_US(file); \
528     End
530 #define URE_PRIVATE_LIB(id,name) \
531     File id \
532         LIB_FILE_BODY; \
533         Dir = SCP2_URE_DL_DIR; \
534         Name = name; \
535         Styles = (PACKED); \
536     End
538 #define URE_EXECUTABLE(id,name) \
539     File id \
540         BIN_FILE_BODY; \
541         Dir = GID_DIR_URE_BIN; \
542         Name = name; \
543         Styles = (PACKED); \
544     End
546 #define LIBO_EXECUTABLE(id,name) \
547     File id \
548         BIN_FILE_BODY; \
549         Dir = gid_Brand_Dir_Program; \
550         Name = name; \
551         Styles = (PACKED); \
552     End
554 #define SDK_EXECUTABLE(id,name) \
555     File id \
556         BIN_FILE_BODY; \
557         Dir = gid_Dir_Sdkoo_Bin; \
558         Name = name; \
559         Styles = (PACKED); \
560     End
562 #define GALLERY_NAME(id) \
564 #define GALLERY_FILELIST(id) \
565 File gid_File_Extra_Gall##id \
566     Dir = FILELIST_DIR; \
567     TXT_FILE_BODY; \
568     Styles = (FILELIST, WORKSTATION); \
569     Name = STRING(CONCAT3(Gallery/,id,.filelist)); \
570 End \
571 File gid_File_Extra_GallFiles##id \
572     Dir = FILELIST_DIR; \
573     TXT_FILE_BODY; \
574     Styles = (FILELIST, WORKSTATION); \
575     Name = STRING(CONCAT3(Gallery/Files/,id,.filelist)); \
579 #endif // MACROS_INC