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