Convert uses of XKeycodeToKeysym (deprecated) to XkbKeycodeToKeysym
[oweals/cde.git] / cde / config / cf / DtInfo.tmpl
1 XCOMM $TOG: DtInfo.tmpl /main/37 1997/09/05 11:31:26 samborn $
2 XCOMM OLIAS project common makefile
3
4 /* Chain project template files. */
5 #include <cde.tmpl>
6
7 #define CdeDesktop
8 XCOMM #define BuildOutsideCde
9
10 #ifdef  BuildOutsideCde
11 XCOMM These are set by default when building outside of the CDE source
12 XCOMM tree. Some use-installed support needs to be implemented for all
13 XCOMM cases, however, once CDE build integration and revamped CDE Imake
14 XCOMM config based on X11R6 is complete.
15 # ifndef UseInstalledCde
16 XCOMM      build using installed Motif and CDE libs and headers
17 #  define UseInstalledCde
18 # endif
19 # ifndef UseInstalled
20 XCOMM      build using installed X11 libs and headers
21 #  define UseInstalled
22 # endif
23 # ifndef BuildLocalInfolibs
24 XCOMM      infolib(s) built from local subtree
25 #  define BuildLocalInfolibs
26 # endif
27 # ifndef BuildStandalonePackaging
28 XCOMM      provide for independent (non-cde) packaging
29 #  define BuildStandalonePackaging
30 # endif
31 # ifndef InstallMultiPlatform
32 XCOMM      have multiple platforms run out of the same install tree,
33 XCOMM      sharing everything except binary parts
34 #  define InstallMultiPlatform
35 # endif
36 #endif
37
38
39 #ifdef CdeDesktop
40 XCOMM Provide flags for CDE desktop facilities explicitly if CDE context.
41 XCOMM (Note, these will assume a post-CDE 1.0 functional revision level.)
42 # define DtinfoClient
43 # define UseMotifXpm
44 # define UseTooltalk
45 XCOMM      X11 R6 session management
46 # define UseSessionMgmt
47 #endif
48
49 #ifdef DtinfoClient
50 XCOMM Turn off all flags not applicable to CDE dtinfo client,
51 XCOMM and turn on those that are:
52 XCOMM     -- search engine
53 # define UseDtSearch
54 # ifdef UseQSearch
55 #  undef UseQSearch
56 # endif
57 # ifdef UseFulcrum
58 #  undef UseFulcrum
59 # endif
60 XCOMM     -- canvas and/or rendering engine
61 # define UseDtCanvas
62 # ifdef UseTmlRenderer
63 #  undef UseTmlRenderer
64 # endif
65 XCOMM     -- remote connections
66 # ifdef UsePython
67 #  undef UsePython
68 # endif
69 XCOMM     -- specific license managers
70 # ifdef DoLicenseManagement
71 #  undef DoLicenseManagement
72 # endif
73 XCOMM     -- special libraries
74 # ifdef UseRWClasses
75 #  undef UseRWClasses
76 # endif
77 #endif
78
79 #define WideCharSupport
80 #define UseWideChars
81 #define Internationalize
82 #define JapaneseLocal
83
84
85 #ifdef DtinfoClient
86 DTINFO_DEFINES=-DDtinfoClient -DUseMotifXpm -DUseTooltalk -DUseSessionMgmt
87 #elif defined(CdeDesktop)
88 DTINFO_DEFINES=-DUseMotifXpm -DUseTooltalk -DUseSessionMgmt
89 #else
90 DTINFO_DEFINES=
91 #endif
92
93 #ifdef UseWideChars
94 WIDEC_DEFINES=-DUseWideChars
95 #else
96 WIDEC_DEFINES=
97 #endif
98
99 #ifdef Internationalize
100 I18N_DEFINES=-DInternationalize
101 #else
102 I18N_DEFINES=
103 #endif
104
105 #ifdef UseQSearch
106 XCOMM  The QSearch Japanese-language search engine is available only on
107 XCOMM  Solaris, so only enable it there.
108 SEARCH_DEFINES=-DUseQSearch
109 #elif defined(UseDtSearch)
110 SEARCH_DEFINES=-DDTSEARCH
111 #else
112 SEARCH_DEFINES=-DFULCRUM
113 #endif
114
115 #ifdef UseDlOpen
116 DLOPEN_DEFINES=-DUseDlOpen
117 #else
118 DLOPEN_DEFINES=
119 #endif
120
121 #ifdef DoLicenseManagement
122 LM_DEFINES=
123 LM_INCLUDES=
124 #else
125 LM_DEFINES=
126 LM_INCLUDES=
127 #endif
128
129 #ifdef Purify
130 XCOMM if Purify is defined then set the variable PURIFY - cso 941215
131 PURIFY=PurifyCmd
132 #endif
133
134 #ifdef SunArchitecture
135 STATIC=-Bstatic
136 DYNAMIC=-Bdynamic
137 # if (OSMajorVersion == 5)
138 EXTRA_LIBRARIES=$(DYNAMIC) ExtraLibraries -lresolv
139 # endif
140 # if (OSMajorVersion == 4)
141 #  define BuildPython
142 # endif
143 #endif
144
145 #ifdef HPArchitecture
146 STATIC=-Wl,-a,archive
147 DYNAMIC=-Wl,-a,shared
148 # define NeedLocalAlloca
149 #endif
150
151
152 XCOMM set platform subdir finder
153 #ifdef  HAL32V7Architecture
154 PLATFORM=halos
155 # define DoLicenseManagement
156 #elif defined(HPArchitecture)
157 PLATFORM=hpux
158 #elif defined(AIXArchitecture)
159 PLATFORM=aix
160 #elif defined(SystemV4) && defined(i386)
161 PLATFORM=solaris-386
162 #elif defined(SystemV4)
163 PLATFORM=solaris
164 #else
165 PLATFORM=sunos
166 #endif
167 XCOMM end set platform subdir finder
168
169
170 OLIAS = $(PROGRAMSRC)/dtinfo
171 CONTROL=$(OLIAS)/control
172 LIBRARY = $(OLIAS)/library
173 #ifdef UseTmlRenderer
174 TML = $(OLIAS)/tml
175 #endif
176 WWL = $(OLIAS)/dtinfo/wwl
177 MMDB = $(CDELIBSRC)/DtMmdb
178 EXCEPTIONS = $(MMDB)/dti_excs
179 TOOLS = $(OLIAS)/tools
180 UAS = $(OLIAS)/dtinfo/src/UAS
181 LIBCHECK = $(SHELL) $(CURRENT_DIR)/libcheck $(PLATFORM)
182
183 #ifdef UsePython
184 XCOMM
185 XCOMM  Python-related definitions
186 XCOMM
187 PYTHON_ROOT = $(LIBRARY)/python/unix
188 PYTHON = $(PYTHON_ROOT)/python
189 PYTHON_INCLUDES = -I$(PYTHON_ROOT) -I$(PYTHON_ROOT)/Include
190 PYTHON_LIB_PATH = -L$(PYTHON_ROOT)/Modules -L$(PYTHON_ROOT)/Python -L$(PYTHON_ROOT)/Objects \
191                   -L$(PYTHON_ROOT)/Parser -L$(PYTHON_ROOT)/readline
192 PYTHON_LIBS = $(PYTHON_ROOT)/Modules/config.nomain.o -lModules -lPython -lObjects -lParser -lreadline
193 PYTHON_SYS_LIBS =$(DYNAMIC) -ltermcap -lm
194 #endif
195
196 #ifdef UseTmlRenderer
197 TML_INCLUDES = -I$(TML)/include
198 TML_LIBS=-L$(TML)/src -ltml
199 #endif
200 WWL_INCLUDES = -I$(WWL)/include
201 WWL_LIBS=$(STATIC) -L$(WWL)/src -lWWL
202 EXCEPTIONS_INCLUDES = -I$(EXCEPTIONS)
203 MMDB_INCLUDES = -I$(MMDB)
204 UAS_INCLUDES = -I$(UAS)/Base
205
206 #ifdef UseFulcrum
207 FULCRUM_INCLUDES = FulcrumIncludes
208 FULCRUM_DEFINES = FulcrumDefines
209 FULCRUM_LIBDIR = FulcrumLibDir
210 #endif
211 #ifdef UseQSearch
212 QSEARCH_LIBDIR = QSearchLibDir
213 #endif
214 #ifdef UseDtSearch
215 # ifdef UseInstalledCde
216 DTSEARCH_INCLUDES = $(CDEINCLUDES)
217 DTSEARCH_LIBDIR = /usr/dt/lib
218 # elif defined(BuildOutsideCde)
219 DTSEARCH_INCLUDES = -I$(OLIAS)/../../lib/DtSearch
220 DTSEARCH_LIBDIR = $(OLIAS)/../../lib/DtSearch
221 # else
222 DTSEARCH_INCLUDES = -I$(TOP)/exports/include/Dt
223 DTSEARCH_LIBDIR = $(TOP)/exports/lib
224 # endif
225 #endif
226
227 XCOMM BuildTools Include macros
228 GLOBAL_INCLUDES=-I$(OLIAS)/dtinfogen/global/
229
230 #ifdef UseFulcrum
231 # if defined(AIXArchitecture) || defined(RsArchitecture)
232 XCOMM -- Need to add something here to circumvent lack of
233 XCOMM -- LD_LIBRARY_PATH on aix - SWM
234 FULCRUMLIBS=$(LIBRARY)/fulcrum/aix/lib/libftft.010.1.o
235 # else
236 FULCRUMLIBS=$(DYNAMIC) -L$(FULCRUM_LIBDIR) -lftfT
237 # endif
238 #else
239 # ifdef UseQSearch
240 QSEARCHLIBS=$(DYNAMIC) -L$(QSEARCH_LIBDIR) -lftxcall
241 # elif defined(UseDtSearch)
242 DTSEARCHLIBS=$(DYNAMIC) -L$(DTSEARCH_LIBDIR) -lDtSearch
243 # endif
244 #endif
245
246 MISC_INCLUDES = -I$(MMDB)/misc
247
248 DTSVC_LIBRARY=$(DYNAMIC) $(CDE_LIBS) -lDtSvc
249 DTSVCLIB=$(DYNAMIC) $(CDE_LIBS) -lDtSvc
250
251 #ifdef  BuildOutsideCde
252 DTHELP_LIBRARY=$(DYNAMIC) -L$(OLIAS)/../../exports/lib -lDtHelp
253 DTHELP_INCLUDES=$(OLIAS)/../../exports/include
254 TREE_INCLUDES=-I$(OLIAS)/../../exports/include -I$(OLIAS)/../../exports/include/Misc
255 #else
256 DTHELP_LIBRARY=$(DYNAMIC) $(CDE_LIBS) -lDtHelp
257 DTHELP_INCLUDES=$(TOP)/exports/include
258 DTPRINTLIB=$(DYNAMIC) $(CDE_LIBS) -lDtPrint
259
260 TREE_INCLUDES=$(CDEINCLUDES) $(CDEINCLUDES)/Misc
261 #endif
262 #ifdef UseInstalledCde
263 CDEINCLUDES = -I/usr/dt/include
264 CDE_LIBS = -L/usr/dt/lib
265 #else
266 CDEINCLUDES = -I$(TOP)/exports/include
267 CDE_LIBS = -L$(TOP)/exports/lib
268 #endif
269 MTFLIBDIR = $(TOP)/imports/motif/lib
270
271
272 BROWSER_INCLUDES=-I.. $(UAS_INCLUDES) $(EXCEPTIONS_INCLUDES) $(WWL_INCLUDES) $(TREE_INCLUDES) $(CDEINCLUDES)
273
274 #ifdef UseRWClasses
275 RW_LIBDIR=-L$(LIBRARY)/rogue/$(PLATFORM)
276 RW_LIB=-lrwtool
277 RW_INCLUDES=-I$(LIBRARY)/rogue/$(PLATFORM)
278 #endif
279
280 COMMON_CLASS_LIBDIR=$(STATIC) -L$(MMDB)/dti_cc
281 COMMON_CLASS_LIB=-lcommon_class
282 COMMON_CLASS_INCLUDES=-I$(MMDB)/dti_cc -I$(MMDB)
283
284 DBUG_INCLUDES=
285 DBUG_LIBS=
286
287 STYLE_SHEET_INCLUDES=-I$(MMDB)/StyleSheet $(COMMON_CLASS_INCLUDES)
288
289
290 TREERES=$(TOOLS)/misc/treeres
291
292 XCOMM exceptions library
293 EXCLIB =$(STATIC) -L$(EXCEPTIONS) -lexc
294 EXCLIB_C_API =$(STATIC) -L$(EXCEPTIONS) -lC_APIexc
295
296 MMDB_LIBS=$(STATIC) -L$(OLIAS)/mmdb -lMMDB
297 MMDB_LIBS_C_API=$(DYNAMIC) -L$(MMDB)/lib -lDtMmdb
298
299 #ifdef UseFulcrum
300 UAS_LIBS = \
301 $(UAS)/Base/libBase.a \
302 $(UAS)/MMDB/libMMDB.a \
303 $(UAS)/Fulcrum/libFulcrum.a
304 #endif
305
306 MATH_LIB=$(DYNAMIC) -lm
307 MISC_LIB=$(STATIC) -L$(TOOLS)/src -lmisc
308
309 #ifdef DoLicenseManagement
310 XCOMM Licensing libraries and Include macros
311 XCOMM LICENSE_LROOT is the root of local libraries
312 XCOMM LICENSE_FROOT is the root of the FlexLM (foreign) libraries
313
314 LICENSE_LROOT=LicenseLocalLibDir
315 LICENSE_FROOT=LicenseForeignLibDir
316
317 XCOMM Force-load the Mech*.o files so their static initializers get called,
318 XCOMM tying the mechanisms into the licensing system
319 LICENSE_Mechanisms=$(LICENSE_LROOT)/cryptlib/MechFLEXlm.o
320
321 LICENSE_L_LIBS=$(LICENSE_Mechanisms) -L$(LICENSE_LROOT)/cryptlib -loliascrypt \
322 -L$(LICENSE_LROOT)/libdes -loliasdes
323 LICENSE_L_INCLUDES=-I$(LICENSE_LROOT)
324 LICENSE_F_INCLUDES=-I$(LICENSE_FROOT)/h
325 #endif
326
327 XCOMM
328 XCOMM project specific includes go into EXTRA_INCLUDES
329 XCOMM
330
331 CEXT = c
332
333 XCOMM
334 XCOMM Installation stuff
335 XCOMM
336 XCOMM
337
338 PLATFORM_BIN_DIR=$(PLATFORM)
339 PLATFORM_TOOLS_DIR=$(TOOLS)/$(PLATFORM_BIN_DIR)
340
341 INSTALL_BIN_DIR=$(INSTALL_ROOT)/bin
342 XCOMM the browser binary uses the following, and must not install to
343 XCOMM same place as script by same name, which goes to INSTALL_BIN_DIR.
344 INSTALL_PLATFORM_BIN_DIR=$(INSTALL_BIN_DIR)/$(PLATFORM_BIN_DIR)
345 INSTALL_LIB_DIR=$(INSTALL_ROOT)/lib
346 INSTALL_APPCONFIG_DIR=$(INSTALL_ROOT)/appconfig
347 INSTALL_ETC_DIR=$(INSTALL_INFOLIB_DIR)/etc
348 INSTALL_GPL_LIB_DIR=$(INSTALL_ETC_DIR)/gpl/$(GPL_PRODUCT)/lib
349 #ifdef InstallMultiPlatform
350 INSTALL_PLATFORM_ETC_DIR=$(INSTALL_ETC_DIR)/$(PLATFORM)
351 INSTALL_PLATFORM_LIB_DIR=$(INSTALL_LIB_DIR)/$(PLATFORM)
352 INSTALL_GPL_PLATFORM_BIN_DIR=$(INSTALL_ETC_DIR)/gpl/$(GPL_PRODUCT)/bin/$(PLATFORM)
353 #else
354 INSTALL_PLATFORM_ETC_DIR=$(INSTALL_INFOLIB_DIR)/etc
355 INSTALL_PLATFORM_LIB_DIR=$(INSTALL_LIB_DIR)
356 INSTALL_GPL_PLATFORM_BIN_DIR=$(INSTALL_ETC_DIR)/gpl/$(GPL_PRODUCT)/bin
357 #endif
358 INSTALL_FONTS_DIR=$(INSTALL_ETC_DIR)/fonts
359 INSTALL_STYLES_DIR=$(INSTALL_LIB_DIR)/Styles.
360
361 XCOMM When installing into the following, the lang value must be inserted
362 XCOMM as the next directory level, due to language-specific content.
363 INSTALL_INFOLIB_DIR=$(INSTALL_ROOT)/infolib
364 INSTALL_BITMAPS_DIR=$(INSTALL_APPCONFIG_DIR)/icons
365 INSTALL_HELP_DIR=$(INSTALL_APPCONFIG_DIR)/help
366 INSTALL_XRESOURCES_DIR=$(INSTALL_ROOT)/app-defaults
367 #ifdef InstallMultiPlatform
368 XCOMM message catalogs as binaries
369 INSTALL_MSG_CAT_DIR=$(INSTALL_LIB_DIR)/nls/msg/$(PLATFORM)
370 #else
371 INSTALL_MSG_CAT_DIR=$(INSTALL_LIB_DIR)/nls/msg
372 #endif
373
374 #define BigEndianDefines -DOLIAS_BIG_ENDIAN
375 #define LittleEndianDefines -DOLIAS_LITTLE_ENDIAN
376 #define DefaultEndianDefines -DOLIAS_DEFAULT_ENDIAN
377
378 #ifndef TemplateDB
379 #define TemplateDB      Templates.DB
380 #endif
381
382 XCOMM      Following X11 and Mtf defines should be replaced w/ std config
383 #ifndef X11Includes
384 # define X11Includes -I$(TOP)/imports/x11/include
385 #endif
386 #ifndef MtfIncludes
387 # define MtfIncludes -I$(TOP)/imports/motif/include
388 #endif
389 #ifndef MtfLibraries
390 # define MtfLibraries   $(DYNAMIC) $(XMLIB)
391 #endif
392 #ifndef X11Libraries
393 # define X11Libraries    $(DYNAMIC) $(XTOOLLIB) $(XMULIB) $(XLIB)
394 #endif
395
396 X11_INCLUDES=X11Includes
397 X11_LIBRARIES=X11Libraries
398 MTF_INCLUDES=MtfIncludes
399 MTF_LIBRARIES=MtfLibraries
400 XMLIB = -L$(MTFLIBDIR) -lXm
401 XTOOLLIB = -L$(TOP)/imports/x11/lib $(XTOOLONLYLIB) $(SMLIB) $(ICELIB)
402
403 #if defined(SunArchitecture) && CplusplusCompilerMajorVersion > 3
404 NO_EXC=-noex
405 TEMPLATE_OBJS=*.o.ptrep/TemplateDB//**/*.o
406 TEMPLATE_DB=*.o.ptrep
407 #elif defined(SunArchitecture) && CplusplusCompilerMajorVersion > 2
408 NO_EXC=-noex
409 TEMPLATE_DB=TemplateDB
410 TEMPLATE_OBJS=TemplateDB//**/*.o
411 #endif
412
413 #define TemplateObjs $(TEMPLATE_OBJS)
414
415 #if defined(i386Architecture) || defined(AMD64Architecture) || defined(AlphaArchitecture) || defined(ARMArchitecture) || defined(AArch64Architecture)
416 # define ByteOrderDefines LittleEndianDefines
417 #elif defined(HAL32V7Architecture) || defined(SunArchitecture) || defined(AIXArchitecture) || defined(HPArchitecture)
418 # define ByteOrderDefines BigEndianDefines
419 #else
420 # define ByteOrderDefines DefaultEndianDefines
421 #endif
422
423 BYTE_ORDER_DEFINES=ByteOrderDefines
424
425 /*
426  *  The following stuffs are default rules required by build_tools
427  *
428  */
429
430 install_buildtools::