xref: /trunk/main/vcl/Library_vcl.mk (revision 845e2aae)
1#**************************************************************
2#
3#  Licensed to the Apache Software Foundation (ASF) under one
4#  or more contributor license agreements.  See the NOTICE file
5#  distributed with this work for additional information
6#  regarding copyright ownership.  The ASF licenses this file
7#  to you under the Apache License, Version 2.0 (the
8#  "License"); you may not use this file except in compliance
9#  with the License.  You may obtain a copy of the License at
10#
11#    http://www.apache.org/licenses/LICENSE-2.0
12#
13#  Unless required by applicable law or agreed to in writing,
14#  software distributed under the License is distributed on an
15#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16#  KIND, either express or implied.  See the License for the
17#  specific language governing permissions and limitations
18#  under the License.
19#
20#**************************************************************
21
22
23
24$(eval $(call gb_Library_Library,vcl))
25
26ifeq ($(OS),MACOSX)
27$(eval $(call gb_Library_set_componentfile,vcl,vcl/vcl.macosx))
28else ifeq ($(OS),WNT)
29$(eval $(call gb_Library_set_componentfile,vcl,vcl/vcl.windows))
30else ifeq ($(OS),OS2)
31$(eval $(call gb_Library_set_componentfile,vcl,vcl/vcl.windows))
32else
33$(eval $(call gb_Library_set_componentfile,vcl,vcl/vcl.unx))
34endif
35
36$(eval $(call gb_Library_add_package_headers,vcl,vcl_inc))
37
38$(eval $(call gb_Library_add_api,vcl,\
39	udkapi \
40	offapi \
41))
42
43$(eval $(call gb_Library_set_include,vcl,\
44	$$(INCLUDE) \
45	-I$(SRCDIR)/vcl/inc \
46	-I$(SRCDIR)/vcl/inc/pch \
47	-I$(SRCDIR)/solenv/inc \
48	-I$(OUTDIR)/inc/stl \
49	-I$(OUTDIR)/inc \
50))
51ifeq ($(GUIBASE),os2)
52$(eval $(call gb_Library_set_include,vcl,\
53	$$(INCLUDE) \
54	-idirafter /@unixroot/usr/include/os2tk45 \
55))
56endif
57ifeq ($(GUIBASE),unx)
58$(eval $(call gb_Library_set_include,vcl,\
59	$$(INCLUDE) \
60	$$(FREETYPE_CFLAGS) \
61))
62endif
63
64$(eval $(call gb_Library_add_defs,vcl,\
65	-DVCL_DLLIMPLEMENTATION \
66	-DCUI_DLL_NAME=\"$(call gb_Library_get_runtime_filename,cui)\" \
67	-DDLLPOSTFIX=$(subst $(or $(gb_Library_DLLEXT),$(gb_Library_PLAINEXT)),,$(gb_Library_OOOEXT)) \
68))
69
70$(eval $(call gb_Library_add_linked_libs,vcl,\
71	tl \
72	utl \
73	sot \
74	ucbhelper \
75	basegfx \
76	comphelper \
77	cppuhelper \
78	i18nisolang1 \
79	i18npaper \
80	i18nutil \
81	jvmaccess \
82	stl \
83	cppu \
84	sal \
85	vos3 \
86	$(gb_STDLIBS) \
87))
88
89$(call gb_Library_use_externals,vcl,\
90	icule \
91	icuuc \
92)
93
94ifeq ($(GUIBASE),unx)
95$(eval $(call gb_Library_add_linked_libs,vcl,\
96	freetype \
97))
98endif
99
100ifeq ($(GUIBASE),os2)
101# YD FIXME this is not working... needs ldflags hack...
102$(eval $(call gb_Library_add_libs,vcl,\
103	-lft2lib \
104))
105
106endif
107
108ifeq ($(OS),MACOSX)
109$(eval $(call gb_Library_add_ldflags,vcl,\
110	$$(LDFLAGS) \
111))
112endif
113
114ifeq ($(GUIBASE),aqua)
115$(eval $(call gb_Library_add_cxxflags,vcl,\
116	$$(CXXFLAGS) \
117	$$(OBJCXXFLAGS) \
118	$(gb_OBJCXXFLAGS) \
119))
120ifeq ($(ENABLE_CAIRO),TRUE)
121$(eval $(call gb_Library_add_defs,vcl,\
122	-DCAIRO \
123))
124endif
125$(eval $(call gb_Library_add_objcxxobjects,vcl,\
126	vcl/aqua/source/a11y/aqua11yactionwrapper \
127	vcl/aqua/source/a11y/aqua11ycomponentwrapper \
128	vcl/aqua/source/a11y/aqua11yfactory \
129	vcl/aqua/source/a11y/aqua11yrolehelper \
130	vcl/aqua/source/a11y/aqua11yselectionwrapper \
131	vcl/aqua/source/a11y/aqua11ytablewrapper \
132	vcl/aqua/source/a11y/aqua11ytextattributeswrapper \
133	vcl/aqua/source/a11y/aqua11ytextwrapper \
134	vcl/aqua/source/a11y/aqua11yutil \
135	vcl/aqua/source/a11y/aqua11yvaluewrapper \
136	vcl/aqua/source/a11y/aqua11ywrapper \
137	vcl/aqua/source/a11y/aqua11ywrapperbutton \
138	vcl/aqua/source/a11y/aqua11ywrappercheckbox \
139	vcl/aqua/source/a11y/aqua11ywrappercombobox \
140	vcl/aqua/source/a11y/aqua11ywrappergroup \
141	vcl/aqua/source/a11y/aqua11ywrapperlist \
142	vcl/aqua/source/a11y/aqua11ywrapperradiobutton \
143	vcl/aqua/source/a11y/aqua11ywrapperradiogroup \
144	vcl/aqua/source/a11y/aqua11ywrapperrow \
145	vcl/aqua/source/a11y/aqua11ywrapperscrollarea \
146	vcl/aqua/source/a11y/aqua11ywrapperscrollbar \
147	vcl/aqua/source/a11y/aqua11ywrappersplitter \
148	vcl/aqua/source/a11y/aqua11ywrapperstatictext \
149	vcl/aqua/source/a11y/aqua11ywrappertabgroup \
150	vcl/aqua/source/a11y/aqua11ywrappertextarea \
151	vcl/aqua/source/a11y/aqua11ywrappertoolbar \
152	vcl/aqua/source/app/salnstimer \
153	vcl/aqua/source/app/vclnsapp \
154	vcl/aqua/source/gdi/aquaprintaccessoryview \
155	vcl/aqua/source/gdi/aquaprintview \
156	vcl/aqua/source/window/salframeview \
157	vcl/aqua/source/window/salnsmenu \
158))
159$(eval $(call gb_Library_add_exception_objects,vcl,\
160	vcl/aqua/source/a11y/aqua11yfocuslistener \
161	vcl/aqua/source/a11y/aqua11yfocustracker \
162	vcl/aqua/source/a11y/aqua11ylistener \
163	vcl/aqua/source/a11y/documentfocuslistener \
164	vcl/aqua/source/app/saldata \
165	vcl/aqua/source/app/salinst \
166	vcl/aqua/source/app/salsys \
167	vcl/aqua/source/app/saltimer \
168	vcl/aqua/source/dtrans/DataFlavorMapping \
169	vcl/aqua/source/dtrans/DragActionConversion \
170	vcl/aqua/source/dtrans/DragSource \
171	vcl/aqua/source/dtrans/DragSourceContext \
172	vcl/aqua/source/dtrans/DropTarget \
173	vcl/aqua/source/dtrans/HtmlFmtFlt \
174	vcl/aqua/source/dtrans/OSXTransferable \
175	vcl/aqua/source/dtrans/PictToBmpFlt \
176	vcl/aqua/source/dtrans/aqua_clipboard \
177	vcl/aqua/source/dtrans/service_entry \
178	vcl/aqua/source/gdi/ctfonts \
179	vcl/aqua/source/gdi/ctlayout \
180	vcl/aqua/source/gdi/salbmp \
181	vcl/aqua/source/gdi/salcolorutils \
182	vcl/aqua/source/gdi/salgdi \
183	vcl/aqua/source/gdi/salgdiutils \
184	vcl/aqua/source/gdi/salmathutils \
185	vcl/aqua/source/gdi/salnativewidgets \
186	vcl/aqua/source/gdi/salprn \
187	vcl/aqua/source/gdi/salvd \
188	vcl/aqua/source/window/salframe \
189	vcl/aqua/source/window/salmenu \
190	vcl/aqua/source/window/salobj \
191))
192endif
193
194ifeq ($(GUIBASE),unx)
195$(eval $(call gb_Library_add_defs,vcl,\
196	-DSAL_DLLPREFIX=\"$(gb_Library_SYSPRE)\" \
197	-DSAL_DLLPOSTFIX=\"\" \
198	-D_XSALSET_LIBNAME=\"$(call gb_Library_get_runtime_filename,spa)\" \
199))
200## handle fontconfig
201ifeq ($(ENABLE_FONTCONFIG),TRUE)
202$(eval $(call gb_Library_add_defs,vcl,\
203	-DENABLE_FONTCONFIG \
204))
205## handle CUPS
206ifeq ($(ENABLE_CUPS),TRUE)
207$(eval $(call gb_Library_add_defs,vcl,\
208	-DENABLE_CUPS \
209))
210endif
211endif
212$(eval $(call gb_Library_add_exception_objects,vcl,\
213	vcl/source/glyphs/gcach_ftyp \
214	vcl/source/glyphs/gcach_layout \
215	vcl/source/glyphs/gcach_rbmp \
216	vcl/source/glyphs/glyphcache \
217	vcl/unx/generic/fontmanager/fontcache \
218	vcl/unx/generic/fontmanager/fontconfig \
219	vcl/unx/generic/fontmanager/fontmanager \
220	vcl/unx/generic/fontmanager/helper \
221	vcl/unx/generic/fontmanager/parseAFM \
222	vcl/unx/generic/plugadapt/salplug \
223	vcl/unx/generic/printer/cupsmgr \
224	vcl/unx/generic/printer/jobdata \
225	vcl/unx/generic/printer/ppdparser \
226	vcl/unx/generic/printer/printerinfomanager \
227))
228endif
229
230ifeq ($(OS),WNT)
231$(eval $(call gb_Library_add_exception_objects,vcl,\
232	vcl/win/source/app/saldata \
233	vcl/win/source/app/salinfo \
234	vcl/win/source/app/salinst \
235	vcl/win/source/app/salshl \
236	vcl/win/source/app/saltimer \
237	vcl/win/source/gdi/salbmp \
238	vcl/win/source/gdi/salgdi \
239	vcl/win/source/gdi/salgdi2 \
240	vcl/win/source/gdi/salgdi3 \
241	vcl/win/source/gdi/salgdi_gdiplus \
242	vcl/win/source/gdi/salnativewidgets-luna \
243	vcl/win/source/gdi/salprn \
244	vcl/win/source/gdi/salvd \
245	vcl/win/source/gdi/winlayout \
246	vcl/win/source/gdi/wntgdi \
247	vcl/win/source/window/salframe \
248	vcl/win/source/window/salmenu \
249	vcl/win/source/window/salobj \
250))
251
252$(eval $(call gb_Library_add_nativeres,vcl,src))
253
254endif
255
256ifeq ($(OS),OS2)
257$(eval $(call gb_Library_add_exception_objects,vcl,\
258	vcl/os2/source/app/salinfo \
259	vcl/os2/source/app/salinst \
260	vcl/os2/source/app/sallang \
261	vcl/os2/source/app/salshl \
262	vcl/os2/source/app/saltimer \
263	vcl/os2/source/gdi/salbmp \
264	vcl/os2/source/gdi/salgdi \
265	vcl/os2/source/gdi/salgdi2 \
266	vcl/os2/source/gdi/salgdi3 \
267	vcl/os2/source/gdi/salprn \
268	vcl/os2/source/gdi/salvd \
269	vcl/os2/source/gdi/os2layout \
270	vcl/os2/source/window/salframe \
271	vcl/os2/source/window/salmenu \
272	vcl/os2/source/window/salobj \
273))
274
275$(eval $(call gb_Library_add_nativeres,vcl,src))
276
277endif
278
279$(eval $(call gb_Library_add_exception_objects,vcl,\
280	vcl/source/app/dbggui \
281	vcl/source/app/dndhelp \
282	vcl/source/app/help \
283	vcl/source/app/i18nhelp \
284	vcl/source/app/idlemgr \
285	vcl/source/app/salvtables \
286	vcl/source/app/session \
287	vcl/source/app/settings \
288	vcl/source/app/sound \
289	vcl/source/app/stdtext \
290	vcl/source/app/svapp \
291	vcl/source/app/svdata \
292	vcl/source/app/svmain \
293	vcl/source/app/svmainhook \
294	vcl/source/app/timer \
295	vcl/source/app/unohelp2 \
296	vcl/source/app/unohelp \
297	vcl/source/app/vclevent \
298	vcl/source/components/display \
299	vcl/source/components/dtranscomp \
300	vcl/source/components/factory \
301	vcl/source/components/fontident \
302	vcl/source/components/stringmirror \
303	vcl/source/control/button \
304	vcl/source/control/combobox \
305	vcl/source/control/ctrl \
306	vcl/source/control/edit \
307	vcl/source/control/field2 \
308	vcl/source/control/field \
309	vcl/source/control/fixbrd \
310	vcl/source/control/fixed \
311	vcl/source/control/group \
312	vcl/source/control/ilstbox \
313	vcl/source/control/imgctrl \
314	vcl/source/control/longcurr \
315	vcl/source/control/lstbox \
316	vcl/source/control/menubtn \
317	vcl/source/control/morebtn \
318	vcl/source/control/quickselectionengine \
319	vcl/source/control/scrbar \
320	vcl/source/control/slider \
321	vcl/source/control/spinbtn \
322	vcl/source/control/spinfld \
323	vcl/source/control/tabctrl \
324	vcl/source/control/throbber \
325	vcl/source/fontsubset/cff \
326	vcl/source/fontsubset/fontsubset \
327	vcl/source/fontsubset/gsub \
328	vcl/source/fontsubset/list \
329	vcl/source/fontsubset/sft \
330	vcl/source/fontsubset/ttcr \
331	vcl/source/fontsubset/xlat \
332	vcl/source/gdi/alpha \
333	vcl/source/gdi/animate \
334	vcl/source/gdi/base14 \
335	vcl/source/gdi/bitmap3 \
336	vcl/source/gdi/bitmap4 \
337	vcl/source/gdi/bitmap \
338	vcl/source/gdi/bitmapex \
339	vcl/source/gdi/bmpacc2 \
340	vcl/source/gdi/bmpacc3 \
341	vcl/source/gdi/bmpacc \
342	vcl/source/gdi/bmpconv \
343	vcl/source/gdi/bmpfast \
344	vcl/source/gdi/configsettings \
345	vcl/source/gdi/cvtgrf \
346	vcl/source/gdi/cvtsvm \
347	vcl/source/gdi/dibtools \
348	vcl/source/gdi/extoutdevdata \
349	vcl/source/gdi/font \
350	vcl/source/gdi/gdimtf \
351	vcl/source/gdi/gdimetafiletools \
352	vcl/source/gdi/gfxlink \
353	vcl/source/gdi/gradient \
354	vcl/source/gdi/graph \
355	vcl/source/gdi/graphictools \
356	vcl/source/gdi/hatch \
357	vcl/source/gdi/image \
358	vcl/source/gdi/imagerepository \
359	vcl/source/gdi/impanmvw \
360	vcl/source/gdi/impbmp \
361	vcl/source/gdi/impfont \
362	vcl/source/gdi/impgraph \
363	vcl/source/gdi/impimage \
364	vcl/source/gdi/impimagetree \
365	vcl/source/gdi/impvect \
366	vcl/source/gdi/jobset \
367	vcl/source/gdi/lineinfo \
368	vcl/source/gdi/mapmod \
369	vcl/source/gdi/metaact \
370	vcl/source/gdi/metric \
371	vcl/source/gdi/octree \
372	vcl/source/gdi/oldprintadaptor \
373	vcl/source/gdi/outdev2 \
374	vcl/source/gdi/outdev3 \
375	vcl/source/gdi/outdev4 \
376	vcl/source/gdi/outdev5 \
377	vcl/source/gdi/outdev6 \
378	vcl/source/gdi/outdev \
379	vcl/source/gdi/outdevnative \
380	vcl/source/gdi/outmap \
381	vcl/source/gdi/pdfextoutdevdata \
382	vcl/source/gdi/pdffontcache \
383	vcl/source/gdi/pdfwriter \
384	vcl/source/gdi/pdfwriter_impl2 \
385	vcl/source/gdi/pdfwriter_impl \
386	vcl/source/gdi/pngread \
387	vcl/source/gdi/pngwrite \
388	vcl/source/gdi/print2 \
389	vcl/source/gdi/print3 \
390	vcl/source/gdi/print \
391	vcl/source/gdi/regband \
392	vcl/source/gdi/region \
393	vcl/source/gdi/regionband \
394	vcl/source/gdi/salgdilayout \
395	vcl/source/gdi/sallayout \
396	vcl/source/gdi/salmisc \
397	vcl/source/gdi/salnativewidgets-none \
398	vcl/source/gdi/svgdata \
399	vcl/source/gdi/textlayout \
400	vcl/source/gdi/virdev \
401	vcl/source/gdi/wall \
402	vcl/source/helper/canvasbitmap \
403	vcl/source/helper/canvastools \
404	vcl/source/helper/evntpost \
405	vcl/source/helper/lazydelete \
406	vcl/source/helper/strhelper \
407	vcl/source/helper/threadex \
408	vcl/source/helper/xconnection \
409	vcl/source/salmain/salmain \
410	vcl/source/window/abstdlg \
411	vcl/source/window/accel \
412	vcl/source/window/accmgr \
413	vcl/source/window/arrange \
414	vcl/source/window/brdwin \
415	vcl/source/window/btndlg \
416	vcl/source/window/cmdevt \
417	vcl/source/window/cursor \
418	vcl/source/window/decoview \
419	vcl/source/window/dialog \
420	vcl/source/window/dlgctrl \
421	vcl/source/window/dndevdis \
422	vcl/source/window/dndlcon \
423	vcl/source/window/dockingarea \
424	vcl/source/window/dockmgr \
425	vcl/source/window/dockwin \
426	vcl/source/window/floatwin \
427	vcl/source/window/introwin \
428	vcl/source/window/javachild \
429	vcl/source/window/keycod \
430	vcl/source/window/keyevent \
431	vcl/source/window/menu \
432	vcl/source/window/mnemonic \
433	vcl/source/window/mnemonicengine \
434	vcl/source/window/mouseevent \
435	vcl/source/window/msgbox \
436	vcl/source/window/popupmenuwindow \
437	vcl/source/window/printdlg \
438	vcl/source/window/scrwnd \
439	vcl/source/window/seleng \
440	vcl/source/window/split \
441	vcl/source/window/splitwin \
442	vcl/source/window/status \
443	vcl/source/window/syschild \
444	vcl/source/window/syswin \
445	vcl/source/window/tabdlg \
446	vcl/source/window/tabpage \
447	vcl/source/window/taskpanelist \
448	vcl/source/window/toolbox2 \
449	vcl/source/window/toolbox \
450	vcl/source/window/window2 \
451	vcl/source/window/window3 \
452	vcl/source/window/window4 \
453	vcl/source/window/window \
454	vcl/source/window/winproc \
455	vcl/source/window/wpropset \
456	vcl/source/window/wrkwin \
457))
458
459## handle Graphite
460ifeq ($(ENABLE_GRAPHITE),TRUE)
461# add defines, graphite sources for all platforms
462$(eval $(call gb_Library_add_defs,vcl,\
463	-DENABLE_GRAPHITE \
464))
465$(eval $(call gb_Library_add_exception_objects,vcl,\
466	vcl/source/glyphs/graphite_cache \
467	vcl/source/glyphs/graphite_features \
468	vcl/source/glyphs/graphite_layout \
469	vcl/source/glyphs/graphite_textsrc \
470))
471
472# handle X11 platforms, which have additional files and possibly system graphite
473ifeq ($(GUIBASE),unx)
474$(eval $(call gb_Library_add_exception_objects,vcl,\
475	vcl/source/glyphs/graphite_adaptors \
476	vcl/source/glyphs/graphite_serverfont \
477))
478endif
479
480$(call gb_Library_use_external,vcl,graphite)
481endif
482
483ifeq ($(OS),LINUX)
484$(eval $(call gb_Library_add_linked_libs,vcl,\
485	dl \
486	m \
487	pthread \
488))
489endif
490
491ifeq ($(OS),SOLARIS)
492ifeq ($(CPUNAME)$(CPU),SPARCU)
493$(eval $(call gb_Library_add_ldflags,vcl,\
494	-R/usr/sfw/lib/64 \
495))
496else
497$(eval $(call gb_Library_add_ldflags,vcl,\
498	-R/usr/sfw/lib \
499))
500endif
501endif
502
503ifeq ($(GUIBASE),aqua)
504$(eval $(call gb_Library_add_linked_libs,vcl,\
505	AppleRemote \
506))
507$(eval $(call gb_Library_add_libs,vcl,\
508	$$(LDFLAGS) \
509	-framework Cocoa \
510	-framework Carbon \
511	-framework CoreFoundation \
512))
513endif
514
515ifeq ($(OS),WNT)
516ifeq ($(USE_MINGW),)
517$(eval $(call gb_Library_add_ldflags,vcl,\
518	/ENTRY:LibMain@12 \
519))
520endif
521$(eval $(call gb_Library_add_linked_libs,vcl,\
522	advapi32 \
523	gdi32 \
524	gdiplus \
525	imm32 \
526	mpr \
527	msimg32 \
528	ole32 \
529	shell32 \
530	user32 \
531	uuid \
532	winspool \
533	$(gb_STDLIBS) \
534))
535endif
536
537# vim: set noet sw=4 ts=4:
538