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/dev/toolkit452/h \ 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)) 513# ??? what about this 514ifneq ($(MACOSX_DEPLOYMENT_TARGET),10.7) 515$(eval $(call gb_Library_add_ldflags,vcl, $$(LDFLAGS) -framework QuickTime )) 516endif 517endif 518 519ifeq ($(OS),WNT) 520ifeq ($(USE_MINGW),) 521$(eval $(call gb_Library_add_ldflags,vcl,\ 522 /ENTRY:LibMain@12 \ 523)) 524endif 525$(eval $(call gb_Library_add_linked_libs,vcl,\ 526 advapi32 \ 527 gdi32 \ 528 gdiplus \ 529 imm32 \ 530 mpr \ 531 msimg32 \ 532 ole32 \ 533 shell32 \ 534 user32 \ 535 uuid \ 536 winspool \ 537 $(gb_STDLIBS) \ 538)) 539endif 540# vim: set noet sw=4 ts=4: 541