Trying to fix packaging of SDK
[LibreOffice.git] / vcl / Library_vcl.mk
blob012833875bed0a1f7e69f74ee784e638712078b4
1 # -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
2 #*************************************************************************
4 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6 # Copyright 2000, 2010 Oracle and/or its affiliates.
8 # OpenOffice.org - a multi-platform office productivity suite
10 # This file is part of OpenOffice.org.
12 # OpenOffice.org is free software: you can redistribute it and/or modify
13 # it under the terms of the GNU Lesser General Public License version 3
14 # only, as published by the Free Software Foundation.
16 # OpenOffice.org is distributed in the hope that it will be useful,
17 # but WITHOUT ANY WARRANTY; without even the implied warranty of
18 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 # GNU Lesser General Public License version 3 for more details
20 # (a copy is included in the LICENSE file that accompanied this code).
22 # You should have received a copy of the GNU Lesser General Public License
23 # version 3 along with OpenOffice.org. If not, see
24 # <http://www.openoffice.org/license.html>
25 # for a copy of the LGPLv3 License.
27 #*************************************************************************
29 $(eval $(call gb_Library_Library,vcl))
31 ifeq ($(OS),MACOSX)
32 $(eval $(call gb_Library_set_componentfile,vcl,vcl/vcl.macosx))
33 else ifeq ($(OS),WNT)
34 $(eval $(call gb_Library_set_componentfile,vcl,vcl/vcl.windows))
35 else ifeq ($(GUIBASE),android)
36 $(eval $(call gb_Library_set_componentfile,vcl,vcl/vcl.android))
37 else ifeq ($(OS),IOS)
38 $(eval $(call gb_Library_set_componentfile,vcl,vcl/vcl.ios))
39 else
40 $(eval $(call gb_Library_set_componentfile,vcl,vcl/vcl.unx))
41 endif
43 $(eval $(call gb_Library_add_package_headers,vcl,vcl_inc))
44 $(eval $(call gb_Library_add_package_headers,vcl,vcl_afmhash))
46 $(eval $(call gb_Library_set_include,vcl,\
47 $$(INCLUDE) \
48 -I$(realpath $(SRCDIR)/vcl/inc) \
49 -I$(realpath $(SRCDIR)/vcl/inc/pch) \
50 -I$(SRCDIR)/solenv/inc \
51 -I$(OUTDIR)/inc \
52 $(if $(filter WNTGCC,$(OS)$(COM)),-I$(OUTDIR)/inc/external/wine) \
53 -I$(WORKDIR)/CustomTarget/vcl/generic/fontmanager \
56 $(eval $(call gb_Library_add_defs,vcl,\
57 -DVCL_DLLIMPLEMENTATION \
58 -DCUI_DLL_NAME=\"$(call gb_Library_get_runtime_filename,cui)\" \
59 -DDLLPOSTFIX=$(gb_Library_DLLPOSTFIX) \
62 $(eval $(call gb_Library_add_api,vcl,\
63 offapi \
64 udkapi \
67 $(eval $(call gb_Library_add_linked_libs,vcl,\
68 tl \
69 utl \
70 sot \
71 ucbhelper \
72 basegfx \
73 comphelper \
74 cppuhelper \
75 i18nisolang1 \
76 i18npaper \
77 i18nutil \
78 jvmaccess \
79 cppu \
80 sal \
81 $(gb_STDLIBS) \
84 $(eval $(call gb_Library_use_externals,vcl,\
85 icule \
86 icuuc \
89 $(eval $(call gb_Library_add_cobjects,vcl,\
90 vcl/source/fontsubset/list \
92 $(eval $(call gb_Library_add_exception_objects,vcl,\
93 vcl/source/app/brand \
94 vcl/source/app/dbggui \
95 vcl/source/app/dndhelp \
96 vcl/source/app/help \
97 vcl/source/app/i18nhelp \
98 vcl/source/app/idlemgr \
99 vcl/source/app/salvtables \
100 vcl/source/app/session \
101 vcl/source/app/settings \
102 vcl/source/app/solarmutex \
103 vcl/source/app/sound \
104 vcl/source/app/stdtext \
105 vcl/source/app/svapp \
106 vcl/source/app/svdata \
107 vcl/source/app/svmain \
108 vcl/source/app/svmainhook \
109 vcl/source/app/timer \
110 vcl/source/app/unohelp2 \
111 vcl/source/app/unohelp \
112 vcl/source/app/vclevent \
113 vcl/source/components/display \
114 vcl/source/components/dtranscomp \
115 vcl/source/components/factory \
116 vcl/source/components/fontident \
117 vcl/source/components/stringmirror \
118 vcl/source/control/button \
119 vcl/source/control/combobox \
120 vcl/source/control/ctrl \
121 vcl/source/control/edit \
122 vcl/source/control/field2 \
123 vcl/source/control/field \
124 vcl/source/control/fixbrd \
125 vcl/source/control/fixed \
126 vcl/source/control/group \
127 vcl/source/control/ilstbox \
128 vcl/source/control/imgctrl \
129 vcl/source/control/longcurr \
130 vcl/source/control/lstbox \
131 vcl/source/control/menubtn \
132 vcl/source/control/morebtn \
133 vcl/source/control/quickselectionengine \
134 vcl/source/control/scrbar \
135 vcl/source/control/slider \
136 vcl/source/control/spinbtn \
137 vcl/source/control/spinfld \
138 vcl/source/control/tabctrl \
139 vcl/source/control/throbber \
140 vcl/source/fontsubset/cff \
141 vcl/source/fontsubset/fontsubset \
142 vcl/source/fontsubset/gsub \
143 vcl/source/fontsubset/sft \
144 vcl/source/fontsubset/ttcr \
145 vcl/source/fontsubset/xlat \
146 vcl/source/gdi/alpha \
147 vcl/source/gdi/animate \
148 vcl/source/gdi/base14 \
149 vcl/source/gdi/bitmap2 \
150 vcl/source/gdi/bitmap3 \
151 vcl/source/gdi/bitmap4 \
152 vcl/source/gdi/bitmap \
153 vcl/source/gdi/bitmapex \
154 vcl/source/gdi/bmpacc2 \
155 vcl/source/gdi/bmpacc3 \
156 vcl/source/gdi/bmpacc \
157 vcl/source/gdi/bmpconv \
158 vcl/source/gdi/bmpfast \
159 vcl/source/gdi/configsettings \
160 vcl/source/gdi/cvtgrf \
161 vcl/source/gdi/cvtsvm \
162 vcl/source/gdi/extoutdevdata \
163 vcl/source/gdi/font \
164 vcl/source/gdi/gdimtf \
165 vcl/source/gdi/gfxlink \
166 vcl/source/gdi/gradient \
167 vcl/source/gdi/graph \
168 vcl/source/gdi/graphictools \
169 vcl/source/gdi/hatch \
170 vcl/source/gdi/image \
171 vcl/source/gdi/imagerepository \
172 vcl/source/gdi/impanmvw \
173 vcl/source/gdi/impbmp \
174 vcl/source/gdi/impgraph \
175 vcl/source/gdi/impimage \
176 vcl/source/gdi/impimagetree \
177 vcl/source/gdi/impvect \
178 vcl/source/gdi/jobset \
179 vcl/source/gdi/lineinfo \
180 vcl/source/gdi/mapmod \
181 vcl/source/gdi/metaact \
182 vcl/source/gdi/metric \
183 vcl/source/gdi/octree \
184 vcl/source/gdi/oldprintadaptor \
185 vcl/source/gdi/outdev2 \
186 vcl/source/gdi/outdev3 \
187 vcl/source/gdi/outdev4 \
188 vcl/source/gdi/outdev5 \
189 vcl/source/gdi/outdev6 \
190 vcl/source/gdi/outdev \
191 vcl/source/gdi/outdevnative \
192 vcl/source/gdi/outmap \
193 vcl/source/gdi/pdfextoutdevdata \
194 vcl/source/gdi/pdffontcache \
195 vcl/source/gdi/pdfwriter \
196 vcl/source/gdi/pdfwriter_impl2 \
197 vcl/source/gdi/pdfwriter_impl \
198 vcl/source/gdi/pngread \
199 vcl/source/gdi/pngwrite \
200 vcl/source/gdi/print2 \
201 vcl/source/gdi/print3 \
202 vcl/source/gdi/print \
203 vcl/source/gdi/regband \
204 vcl/source/gdi/region \
205 vcl/source/gdi/rendergraphic \
206 vcl/source/gdi/rendergraphicrasterizer \
207 vcl/source/gdi/salgdilayout \
208 vcl/source/gdi/sallayout \
209 vcl/source/gdi/salmisc \
210 vcl/source/gdi/salnativewidgets-none \
211 vcl/source/gdi/svgread \
212 vcl/source/gdi/textlayout \
213 vcl/source/gdi/virdev \
214 vcl/source/gdi/wall \
215 vcl/source/helper/canvasbitmap \
216 vcl/source/helper/canvastools \
217 vcl/source/helper/evntpost \
218 vcl/source/helper/lazydelete \
219 vcl/source/helper/strhelper \
220 vcl/source/helper/threadex \
221 vcl/source/helper/xconnection \
222 vcl/source/window/abstdlg \
223 vcl/source/window/accel \
224 vcl/source/window/accmgr \
225 vcl/source/window/arrange \
226 vcl/source/window/brdwin \
227 vcl/source/window/btndlg \
228 vcl/source/window/cmdevt \
229 vcl/source/window/cursor \
230 vcl/source/window/decoview \
231 vcl/source/window/dialog \
232 vcl/source/window/dlgctrl \
233 vcl/source/window/dndevdis \
234 vcl/source/window/dndlcon \
235 vcl/source/window/dockingarea \
236 vcl/source/window/dockmgr \
237 vcl/source/window/dockwin \
238 vcl/source/window/floatwin \
239 vcl/source/window/introwin \
240 vcl/source/window/keycod \
241 vcl/source/window/keyevent \
242 vcl/source/window/menu \
243 vcl/source/window/mnemonic \
244 vcl/source/window/mnemonicengine \
245 vcl/source/window/mouseevent \
246 vcl/source/window/msgbox \
247 vcl/source/window/popupmenuwindow \
248 vcl/source/window/printdlg \
249 vcl/source/window/scrwnd \
250 vcl/source/window/seleng \
251 vcl/source/window/split \
252 vcl/source/window/splitwin \
253 vcl/source/window/status \
254 vcl/source/window/syschild \
255 vcl/source/window/syswin \
256 vcl/source/window/tabdlg \
257 vcl/source/window/tabpage \
258 vcl/source/window/taskpanelist \
259 vcl/source/window/toolbox2 \
260 vcl/source/window/toolbox \
261 vcl/source/window/window2 \
262 vcl/source/window/window3 \
263 vcl/source/window/window4 \
264 vcl/source/window/window \
265 vcl/source/window/winproc \
266 vcl/source/window/wrkwin \
269 # optional parts
271 ## handle Graphite
272 ifneq ($(ENABLE_GRAPHITE),)
273 # add defines, graphite sources for all platforms
274 $(eval $(call gb_Library_add_defs,vcl,\
275 -DENABLE_GRAPHITE \
277 $(eval $(call gb_Library_add_exception_objects,vcl,\
278 vcl/source/glyphs/graphite_features \
279 vcl/source/glyphs/graphite_layout \
282 # handle X11 platforms, which have additional files and possibly system graphite
283 ifeq ($(GUIBASE),unx)
284 $(eval $(call gb_Library_add_exception_objects,vcl,\
285 vcl/generic/glyphs/graphite_serverfont \
287 else
288 $(eval $(call gb_Library_add_linked_libs,vcl,\
289 version \
291 endif
293 $(eval $(call gb_Library_use_external,vcl,graphite))
295 endif
297 ifneq ($(ENABLE_LIBRSVG),NO)
298 $(eval $(call gb_Library_add_exception_objects,vcl,\
299 vcl/source/components/rasterizer_rsvg \
302 $(eval $(call gb_Library_add_defs,vcl,\
303 -DENABLE_LIBRSVG \
306 $(eval $(call gb_Library_use_external,vcl,cairo))
308 endif
310 # GUIBASE specific stuff
312 ifeq ($(GUIBASE),aqua)
313 $(eval $(call gb_Library_add_cxxflags,vcl,\
314 $(gb_OBJCXXFLAGS) \
316 $(eval $(call gb_Library_add_objcxxobjects,vcl,\
317 vcl/aqua/source/a11y/aqua11yactionwrapper \
318 vcl/aqua/source/a11y/aqua11ycomponentwrapper \
319 vcl/aqua/source/a11y/aqua11yfactory \
320 vcl/aqua/source/a11y/aqua11yrolehelper \
321 vcl/aqua/source/a11y/aqua11yselectionwrapper \
322 vcl/aqua/source/a11y/aqua11ytablewrapper \
323 vcl/aqua/source/a11y/aqua11ytextattributeswrapper \
324 vcl/aqua/source/a11y/aqua11ytextwrapper \
325 vcl/aqua/source/a11y/aqua11yutil \
326 vcl/aqua/source/a11y/aqua11yvaluewrapper \
327 vcl/aqua/source/a11y/aqua11ywrapper \
328 vcl/aqua/source/a11y/aqua11ywrapperbutton \
329 vcl/aqua/source/a11y/aqua11ywrappercheckbox \
330 vcl/aqua/source/a11y/aqua11ywrappercombobox \
331 vcl/aqua/source/a11y/aqua11ywrappergroup \
332 vcl/aqua/source/a11y/aqua11ywrapperlist \
333 vcl/aqua/source/a11y/aqua11ywrapperradiobutton \
334 vcl/aqua/source/a11y/aqua11ywrapperradiogroup \
335 vcl/aqua/source/a11y/aqua11ywrapperrow \
336 vcl/aqua/source/a11y/aqua11ywrapperscrollarea \
337 vcl/aqua/source/a11y/aqua11ywrapperscrollbar \
338 vcl/aqua/source/a11y/aqua11ywrappersplitter \
339 vcl/aqua/source/a11y/aqua11ywrapperstatictext \
340 vcl/aqua/source/a11y/aqua11ywrappertabgroup \
341 vcl/aqua/source/a11y/aqua11ywrappertextarea \
342 vcl/aqua/source/a11y/aqua11ywrappertoolbar \
343 vcl/aqua/source/app/salnstimer \
344 vcl/aqua/source/app/vclnsapp \
345 vcl/aqua/source/gdi/aquaprintaccessoryview \
346 vcl/aqua/source/gdi/aquaprintview \
347 vcl/aqua/source/window/salframeview \
348 vcl/aqua/source/window/salnsmenu \
350 $(eval $(call gb_Library_add_exception_objects,vcl,\
351 vcl/aqua/source/a11y/aqua11yfocuslistener \
352 vcl/aqua/source/a11y/aqua11yfocustracker \
353 vcl/aqua/source/a11y/aqua11ylistener \
354 vcl/aqua/source/a11y/documentfocuslistener \
355 vcl/aqua/source/app/saldata \
356 vcl/aqua/source/app/salinst \
357 vcl/aqua/source/app/salsys \
358 vcl/aqua/source/app/saltimer \
359 vcl/aqua/source/dtrans/DataFlavorMapping \
360 vcl/aqua/source/dtrans/DragActionConversion \
361 vcl/aqua/source/dtrans/DragSource \
362 vcl/aqua/source/dtrans/DragSourceContext \
363 vcl/aqua/source/dtrans/DropTarget \
364 vcl/aqua/source/dtrans/HtmlFmtFlt \
365 vcl/aqua/source/dtrans/OSXTransferable \
366 vcl/aqua/source/dtrans/PictToBmpFlt \
367 vcl/aqua/source/dtrans/aqua_clipboard \
368 vcl/aqua/source/dtrans/service_entry \
369 vcl/aqua/source/gdi/salatslayout \
370 vcl/aqua/source/gdi/salatsuifontutils \
371 vcl/aqua/source/gdi/salbmp \
372 vcl/aqua/source/gdi/salcolorutils \
373 vcl/aqua/source/gdi/salgdi \
374 vcl/aqua/source/gdi/salgdiutils \
375 vcl/aqua/source/gdi/salmathutils \
376 vcl/aqua/source/gdi/salnativewidgets \
377 vcl/aqua/source/gdi/salprn \
378 vcl/aqua/source/gdi/salvd \
379 vcl/aqua/source/window/salframe \
380 vcl/aqua/source/window/salmenu \
381 vcl/aqua/source/window/salobj \
383 $(eval $(call gb_Library_add_linked_libs,vcl,\
384 AppleRemote \
386 $(eval $(call gb_Library_use_externals,vcl,\
387 quicktime \
388 cocoa \
389 carbon \
390 corefoundation \
392 endif
394 ifeq ($(GUIBASE),unx)
395 $(eval $(call gb_Library_add_defs,vcl,\
396 -DSAL_DLLPREFIX=\"$(gb_Library_SYSPRE)\" \
397 -DSAL_DLLPOSTFIX=\"$(gb_Library_OOOEXT)\" \
398 -D_XSALSET_LIBNAME=\"$(call gb_Library_get_runtime_filename,spa)\" \
400 $(eval $(call gb_Library_add_exception_objects,vcl,\
401 vcl/generic/app/gensys \
402 vcl/generic/app/geninst \
403 vcl/generic/app/gendisp \
404 vcl/generic/print/bitmap_gfx \
405 vcl/generic/print/common_gfx \
406 vcl/generic/print/glyphset \
407 vcl/generic/print/printerjob \
408 vcl/generic/print/psputil \
409 vcl/generic/print/genpspgraphics \
410 vcl/generic/print/genprnpsp \
411 vcl/generic/print/text_gfx \
412 vcl/generic/fontmanager/fontsubst \
413 vcl/generic/glyphs/gcach_ftyp \
414 vcl/generic/glyphs/gcach_layout \
415 vcl/generic/glyphs/gcach_rbmp \
416 vcl/generic/glyphs/glyphcache \
417 vcl/generic/fontmanager/fontcache \
418 vcl/generic/fontmanager/fontconfig \
419 vcl/generic/fontmanager/fontmanager \
420 vcl/generic/fontmanager/helper \
421 vcl/generic/fontmanager/parseAFM \
422 vcl/unx/generic/plugadapt/salplug \
423 vcl/unx/generic/printer/cupsmgr \
424 vcl/unx/generic/printer/jobdata \
425 vcl/unx/generic/printer/ppdparser \
426 vcl/unx/generic/printer/printerinfomanager \
428 $(eval $(call gb_Library_use_externals,vcl,\
429 fontconfig \
430 freetype \
432 endif
434 ifeq ($(GUIBASE),android)
435 $(eval $(call gb_Library_add_defs,vcl,\
436 -DSAL_DLLPREFIX=\"$(gb_Library_SYSPRE)\" \
437 -DSAL_DLLPOSTFIX=\"$(gb_Library_OOOEXT)\" \
438 -D_XSALSET_LIBNAME=\"$(call gb_Library_get_runtime_filename,spa)\" \
440 $(eval $(call gb_Library_add_exception_objects,vcl,\
441 vcl/unx/generic/plugadapt/salplug \
442 vcl/null/printerinfomanager \
444 endif
446 ifeq ($(GUIBASE),cocoatouch)
447 $(eval $(call gb_Library_add_cxxflags,vcl,\
448 $(gb_OBJCXXFLAGS) \
450 $(eval $(call gb_Library_add_objcxxobjects,vcl,\
451 vcl/ios/source/app/salnstimer \
452 vcl/ios/source/app/vcluiapp \
454 $(eval $(call gb_Library_add_exception_objects,vcl,\
455 vcl/ios/source/app/saldata \
456 vcl/ios/source/app/salinst \
457 vcl/ios/source/app/salsys \
458 vcl/ios/source/app/saltimer \
459 vcl/ios/source/dtrans/iOSTransferable \
460 vcl/ios/source/dtrans/ios_clipboard \
461 vcl/ios/source/dtrans/service_entry \
462 vcl/ios/source/gdi/salbmp \
463 vcl/ios/source/gdi/salgdi \
464 vcl/ios/source/gdi/salvd \
465 vcl/ios/source/window/salframe \
466 vcl/ios/source/window/salmenu \
467 vcl/ios/source/window/salobj \
469 $(eval $(call gb_Library_use_externals,vcl,\
470 uikit \
471 corefoundation \
473 endif
475 # OS-specific stuff
477 ifeq ($(OS),WNT)
478 $(eval $(call gb_Library_add_exception_objects,vcl,\
479 vcl/win/source/app/saldata \
480 vcl/win/source/app/salinfo \
481 vcl/win/source/app/salinst \
482 vcl/win/source/app/salshl \
483 vcl/win/source/app/saltimer \
484 vcl/win/source/gdi/salbmp \
485 vcl/win/source/gdi/salgdi \
486 vcl/win/source/gdi/salgdi2 \
487 vcl/win/source/gdi/salgdi3 \
488 vcl/win/source/gdi/salgdi_gdiplus \
489 vcl/win/source/gdi/salnativewidgets-luna \
490 vcl/win/source/gdi/salprn \
491 vcl/win/source/gdi/salvd \
492 vcl/win/source/gdi/winlayout \
493 vcl/win/source/gdi/wntgdi \
494 vcl/win/source/window/salframe \
495 vcl/win/source/window/salmenu \
496 vcl/win/source/window/salobj \
499 $(eval $(call gb_Library_add_linked_libs,vcl,\
500 advapi32 \
501 gdi32 \
502 gdiplus \
503 imm32 \
504 mpr \
505 msimg32 \
506 $(gb_Library_win32_OLDNAMES) \
507 ole32 \
508 shell32 \
509 uuid \
510 uwinapi \
511 winspool \
512 version \
515 $(eval $(call gb_Library_add_nativeres,vcl,vcl/src))
516 ifeq ($(COM),MSC)
517 $(eval $(call gb_Library_add_ldflags,vcl,\
518 /ENTRY:LibMain@12 \
520 endif
521 endif
523 ifeq ($(OS),LINUX)
524 $(eval $(call gb_Library_add_linked_libs,vcl,\
525 dl \
527 pthread \
529 endif
531 ifeq ($(OS),SOLARIS)
532 ifeq ($(CPUNAME)$(CPU),SPARCU)
533 $(eval $(call gb_Library_add_ldflags,vcl,\
534 -R/usr/sfw/lib/64 \
536 else
537 $(eval $(call gb_Library_add_ldflags,vcl,\
538 -R/usr/sfw/lib \
540 endif
541 endif
543 ifneq ($(OS),IOS)
544 $(eval $(call gb_Library_add_exception_objects,vcl,\
545 vcl/source/salmain/salmain \
547 endif
549 # vim: set noet sw=4 ts=4: